You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

15 lines
586 KiB

function BigInteger(e,t,n){null!=e&&("number"==typeof e?this.fromNumber(e,t,n):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function nbi(){return new BigInteger(null)}function am1(e,t,n,i,r,a){for(;--a>=0;){var o=t*this[e++]+n[i]+r;r=Math.floor(o/67108864),n[i++]=67108863&o}return r}function am2(e,t,n,i,r,a){for(var o=32767&t,s=t>>15;--a>=0;){var c=32767&this[e],l=this[e++]>>15,p=s*c+l*o;c=o*c+((32767&p)<<15)+n[i]+(1073741823&r),r=(c>>>30)+(p>>>15)+s*l+(r>>>30),n[i++]=1073741823&c}return r}function am3(e,t,n,i,r,a){for(var o=16383&t,s=t>>14;--a>=0;){var c=16383&this[e],l=this[e++]>>14,p=s*c+l*o;c=o*c+((16383&p)<<14)+n[i]+r,r=(c>>28)+(p>>14)+s*l,n[i++]=268435455&c}return r}function int2char(e){return BI_RM.charAt(e)}function intAt(e,t){var n=BI_RC[e.charCodeAt(t)];return null==n?-1:n}function bnpCopyTo(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s}function bnpFromInt(e){this.t=1,this.s=0>e?-1:0,e>0?this[0]=e:-1>e?this[0]=e+this.DV:this.t=0}function nbv(e){var t=nbi();return t.fromInt(e),t}function bnpFromString(e,t,n){var i;if(16==t)i=4;else if(8==t)i=3;else if(256==t)i=8;else if(2==t)i=1;else if(32==t)i=5;else{if(4!=t)return void this.fromRadix(e,t);i=2}this.t=0,this.s=0;for(var r=e.length,a=!1,o=0;--r>=0;){var s=8==i?255&e[r]:intAt(e,r);0>s?"-"==e.charAt(r)&&(a=!0):(a=!1,0==o?this[this.t++]=s:o+i>this.DB?(this[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this[this.t++]=s>>this.DB-o):this[this.t-1]|=s<<o,o+=i,o>=this.DB&&(o-=this.DB))}8==i&&0!=(128&e[0])&&n&&(this.s=-1,o>0&&(this[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),a&&BigInteger.ZERO.subTo(this,this)}function bnpClamp(){for(var e=this.s&this.DM;this.t>0&&this[this.t-1]==e;)--this.t}function bnToString(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var n,i=(1<<t)-1,r=!1,a="",o=this.t,s=this.DB-o*this.DB%t;if(o-->0)for(s<this.DB&&(n=this[o]>>s)>0&&(r=!0,a=int2char(n));o>=0;)t>s?(n=(this[o]&(1<<s)-1)<<t-s,n|=this[--o]>>(s+=this.DB-t)):(n=this[o]>>(s-=t)&i,0>=s&&(s+=this.DB,--o)),n>0&&(r=!0),r&&(a+=int2char(n));return r?a:"0"}function bnNegate(){var e=nbi();return BigInteger.ZERO.subTo(this,e),e}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(t=n-e.t,0!=t)return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0}function nbits(e){var t,n=1;return 0!=(t=e>>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}function bnBitLength(){return this.t<=0?0:this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s}function bnpDRShiftTo(e,t){for(var n=e;n<this.t;++n)t[n-e]=this[n];t.t=Math.max(this.t-e,0),t.s=this.s}function bnpLShiftTo(e,t){var n,i=e%this.DB,r=this.DB-i,a=(1<<r)-1,o=Math.floor(e/this.DB),s=this.s<<i&this.DM;for(n=this.t-1;n>=0;--n)t[n+o+1]=this[n]>>r|s,s=(this[n]&a)<<i;for(n=o-1;n>=0;--n)t[n]=0;t[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function bnpRShiftTo(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)return void(t.t=0);var i=e%this.DB,r=this.DB-i,a=(1<<i)-1;t[0]=this[n]>>i;for(var o=n+1;o<this.t;++o)t[o-n-1]|=(this[o]&a)<<r,t[o-n]=this[o]>>i;i>0&&(t[this.t-n-1]|=(this.s&a)<<r),t.t=this.t-n,t.clamp()}function bnpSubTo(e,t){for(var n=0,i=0,r=Math.min(e.t,this.t);r>n;)i+=this[n]-e[n],t[n++]=i&this.DM,i>>=this.DB;if(e.t<this.t){for(i-=e.s;n<this.t;)i+=this[n],t[n++]=i&this.DM,i>>=this.DB;i+=this.s}else{for(i+=this.s;n<e.t;)i-=e[n],t[n++]=i&this.DM,i>>=this.DB;i-=e.s}t.s=0>i?-1:0,-1>i?t[n++]=this.DV+i:i>0&&(t[n++]=i),t.t=n,t.clamp()}function bnpMultiplyTo(e,t){var n=this.abs(),i=e.abs(),r=n.t;for(t.t=r+i.t;--r>=0;)t[r]=0;for(r=0;r<i.t;++r)t[r+n.t]=n.am(0,i[r],t,r,0,n.t);t.s=0,t.clamp(),this.s!=e.s&&BigInteger.ZERO.subTo(t,t)}function bnpSquareTo(e){for(var t=this.abs(),n=e.t=2*t.t;--n>=0;)e[n]=0;for(n=0;n<t.t-1;++n){var i=t.am(n,t[n],e,2*n,0,1);(e[n+t.t]+=t.am(n+1,2*t[n],e,2*n+1,i,t.t-n-1))>=t.DV&&(e[n+t.t]-=t.DV,e[n+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(n,t[n],e,2*n,0,1)),e.s=0,e.clamp()}function bnpDivRemTo(e,t,n){var i=e.abs();if(!(i.t<=0)){var r=this.abs();if(r.t<i.t)return null!=t&&t.fromInt(0),void(null!=n&&this.copyTo(n));null==n&&(n=nbi());var a=nbi(),o=this.s,s=e.s,c=this.DB-nbits(i[i.t-1]);c>0?(i.lShiftTo(c,a),r.lShiftTo(c,n)):(i.copyTo(a),r.copyTo(n));var l=a.t,p=a[l-1];if(0!=p){var u=p*(1<<this.F1)+(l>1?a[l-2]>>this.F2:0),d=this.FV/u,f=(1<<this.F1)/u,h=1<<this.F2,m=n.t,g=m-l,y=null==t?nbi():t;for(a.dlShiftTo(g,y),n.compareTo(y)>=0&&(n[n.t++]=1,n.subTo(y,n)),BigInteger.ONE.dlShiftTo(l,y),y.subTo(a,a);a.t<l;)a[a.t++]=0;for(;--g>=0;){var v=n[--m]==p?this.DM:Math.floor(n[m]*d+(n[m-1]+h)*f);if((n[m]+=a.am(0,v,n,g,0,l))<v)for(a.dlShiftTo(g,y),n.subTo(y,n);n[m]<--v;)n.subTo(y,n)}null!=t&&(n.drShiftTo(l,t),o!=s&&BigInteger.ZERO.subTo(t,t)),n.t=l,n.clamp(),c>0&&n.rShiftTo(c,n),0>o&&BigInteger.ZERO.subTo(n,n)}}}function bnMod(e){var t=nbi();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(BigInteger.ZERO)>0&&e.subTo(t,t),t}function Classic(e){this.m=e}function cConvert(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function cRevert(e){return e}function cReduce(e){e.divRemTo(this.m,null,e)}function cMulTo(e,t,n){e.multiplyTo(t,n),this.reduce(n)}function cSqrTo(e,t){e.squareTo(t),this.reduce(t)}function bnpInvDigit(){if(this.t<1)return 0;var e=this[0];if(0==(1&e))return 0;var t=3&e;return t=t*(2-(15&e)*t)&15,t=t*(2-(255&e)*t)&255,t=t*(2-((65535&e)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Montgomery(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function montConvert(e){var t=nbi();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(BigInteger.ZERO)>0&&this.m.subTo(t,t),t}function montRevert(e){var t=nbi();return e.copyTo(t),this.reduce(t),t}function montReduce(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t<this.m.t;++t){var n=32767&e[t],i=n*this.mpl+((n*this.mph+(e[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(n=t+this.m.t,e[n]+=this.m.am(0,i,e,t,0,this.m.t);e[n]>=e.DV;)e[n]-=e.DV,e[++n]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function montSqrTo(e,t){e.squareTo(t),this.reduce(t)}function montMulTo(e,t,n){e.multiplyTo(t,n),this.reduce(n)}function bnpIsEven(){return 0==(this.t>0?1&this[0]:this.s)}function bnpExp(e,t){if(e>4294967295||1>e)return BigInteger.ONE;var n=nbi(),i=nbi(),r=t.convert(this),a=nbits(e)-1;for(r.copyTo(n);--a>=0;)if(t.sqrTo(n,i),(e&1<<a)>0)t.mulTo(i,r,n);else{var o=n;n=i,i=o}return t.revert(n)}function bnModPowInt(e,t){var n;return n=256>e||t.isEven()?new Classic(t):new Montgomery(t),this.exp(e,n)}function bnClone(){var e=nbi();return this.copyTo(e),e}function bnIntValue(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function bnByteValue(){return 0==this.t?this.s:this[0]<<24>>24}function bnShortValue(){return 0==this.t?this.s:this[0]<<16>>16}function bnpChunkSize(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function bnSigNum(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1}function bnpToRadix(e){if(null==e&&(e=10),0==this.signum()||2>e||e>36)return"0";var t=this.chunkSize(e),n=Math.pow(e,t),i=nbv(n),r=nbi(),a=nbi(),o="";for(this.divRemTo(i,r,a);r.signum()>0;)o=(n+a.intValue()).toString(e).substr(1)+o,r.divRemTo(i,r,a);return a.intValue().toString(e)+o}function bnpFromRadix(e,t){this.fromInt(0),null==t&&(t=10);for(var n=this.chunkSize(t),i=Math.pow(t,n),r=!1,a=0,o=0,s=0;s<e.length;++s){var c=intAt(e,s);0>c?"-"==e.charAt(s)&&0==this.signum()&&(r=!0):(o=t*o+c,++a>=n&&(this.dMultiply(i),this.dAddOffset(o,0),a=0,o=0))}a>0&&(this.dMultiply(Math.pow(t,a)),this.dAddOffset(o,0)),r&&BigInteger.ZERO.subTo(this,this)}function bnpFromNumber(e,t,n){if("number"==typeof t)if(2>e)this.fromInt(1);else for(this.fromNumber(e,n),this.testBit(e-1)||this.bitwiseTo(BigInteger.ONE.shiftLeft(e-1),op_or,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(BigInteger.ONE.shiftLeft(e-1),this);else{var i=new Array,r=7&e;i.length=(e>>3)+1,t.nextBytes(i),r>0?i[0]&=(1<<r)-1:i[0]=0,this.fromString(i,256)}}function bnToByteArray(e){var t=this.t,n=new Array;n[0]=this.s;var i,r=this.DB-t*this.DB%8,a=0;if(t-->0)for(r<this.DB&&(i=this[t]>>r)!=(this.s&this.DM)>>r&&(n[a++]=i|this.s<<this.DB-r);t>=0;)8>r?(i=(this[t]&(1<<r)-1)<<8-r,i|=this[--t]>>(r+=this.DB-8)):(i=this[t]>>(r-=8)&255,0>=r&&(r+=this.DB,--t)),e&&0!=(128&i)&&(i|=-256),0==a&&(128&this.s)!=(128&i)&&++a,(a>0||i!=this.s)&&(n[a++]=i);return n}function bnEquals(e){return 0==this.compareTo(e)}function bnMin(e){return this.compareTo(e)<0?this:e}function bnMax(e){return this.compareTo(e)>0?this:e}function bnpBitwiseTo(e,t,n){var i,r,a=Math.min(e.t,this.t);for(i=0;a>i;++i)n[i]=t(this[i],e[i]);if(e.t<this.t){for(r=e.s&this.DM,i=a;i<this.t;++i)n[i]=t(this[i],r);n.t=this.t}else{for(r=this.s&this.DM,i=a;i<e.t;++i)n[i]=t(r,e[i]);n.t=e.t}n.s=t(this.s,e.s),n.clamp()}function op_and(e,t){return e&t}function bnAnd(e){var t=nbi();return this.bitwiseTo(e,op_and,t),t}function op_or(e,t){return e|t}function bnOr(e){var t=nbi();return this.bitwiseTo(e,op_or,t),t}function op_xor(e,t){return e^t}function bnXor(e){var t=nbi();return this.bitwiseTo(e,op_xor,t),t}function op_andnot(e,t){return e&~t}function bnAndNot(e){var t=nbi();return this.bitwiseTo(e,op_andnot,t),t}function bnNot(){for(var e=nbi(),t=0;t<this.t;++t)e[t]=this.DM&~this[t];return e.t=this.t,e.s=~this.s,e}function bnShiftLeft(e){var t=nbi();return 0>e?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function bnShiftRight(e){var t=nbi();return 0>e?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function lbit(e){if(0==e)return-1;var t=0;return 0==(65535&e)&&(e>>=16,t+=16),0==(255&e)&&(e>>=8,t+=8),0==(15&e)&&(e>>=4,t+=4),0==(3&e)&&(e>>=2,t+=2),0==(1&e)&&++t,t}function bnGetLowestSetBit(){for(var e=0;e<this.t;++e)if(0!=this[e])return e*this.DB+lbit(this[e]);return this.s<0?this.t*this.DB:-1}function cbit(e){for(var t=0;0!=e;)e&=e-1,++t;return t}function bnBitCount(){for(var e=0,t=this.s&this.DM,n=0;n<this.t;++n)e+=cbit(this[n]^t);return e}function bnTestBit(e){var t=Math.floor(e/this.DB);return t>=this.t?0!=this.s:0!=(this[t]&1<<e%this.DB)}function bnpChangeBit(e,t){var n=BigInteger.ONE.shiftLeft(e);return this.bitwiseTo(n,t,n),n}function bnSetBit(e){return this.changeBit(e,op_or)}function bnClearBit(e){return this.changeBit(e,op_andnot)}function bnFlipBit(e){return this.changeBit(e,op_xor)}function bnpAddTo(e,t){for(var n=0,i=0,r=Math.min(e.t,this.t);r>n;)i+=this[n]+e[n],t[n++]=i&this.DM,i>>=this.DB;if(e.t<this.t){for(i+=e.s;n<this.t;)i+=this[n],t[n++]=i&this.DM,i>>=this.DB;i+=this.s}else{for(i+=this.s;n<e.t;)i+=e[n],t[n++]=i&this.DM,i>>=this.DB;i+=e.s}t.s=0>i?-1:0,i>0?t[n++]=i:-1>i&&(t[n++]=this.DV+i),t.t=n,t.clamp()}function bnAdd(e){var t=nbi();return this.addTo(e,t),t}function bnSubtract(e){var t=nbi();return this.subTo(e,t),t}function bnMultiply(e){var t=nbi();return this.multiplyTo(e,t),t}function bnSquare(){var e=nbi();return this.squareTo(e),e}function bnDivide(e){var t=nbi();return this.divRemTo(e,t,null),t}function bnRemainder(e){var t=nbi();return this.divRemTo(e,null,t),t}function bnDivideAndRemainder(e){var t=nbi(),n=nbi();return this.divRemTo(e,t,n),new Array(t,n)}function bnpDMultiply(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function bnpDAddOffset(e,t){if(0!=e){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}}function NullExp(){}function nNop(e){return e}function nMulTo(e,t,n){e.multiplyTo(t,n)}function nSqrTo(e,t){e.squareTo(t)}function bnPow(e){return this.exp(e,new NullExp)}function bnpMultiplyLowerTo(e,t,n){var i=Math.min(this.t+e.t,t);for(n.s=0,n.t=i;i>0;)n[--i]=0;var r;for(r=n.t-this.t;r>i;++i)n[i+this.t]=this.am(0,e[i],n,i,0,this.t);for(r=Math.min(e.t,t);r>i;++i)this.am(0,e[i],n,i,0,t-i);n.clamp()}function bnpMultiplyUpperTo(e,t,n){--t;var i=n.t=this.t+e.t-t;for(n.s=0;--i>=0;)n[i]=0;for(i=Math.max(t-this.t,0);i<e.t;++i)n[this.t+i-t]=this.am(t-i,e[i],n,0,0,this.t+i-t);n.clamp(),n.drShiftTo(1,n)}function Barrett(e){this.r2=nbi(),this.q3=nbi(),BigInteger.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function barrettConvert(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=nbi();return e.copyTo(t),this.reduce(t),t}function barrettRevert(e){return e}function barrettReduce(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function barrettSqrTo(e,t){e.squareTo(t),this.reduce(t)}function barrettMulTo(e,t,n){e.multiplyTo(t,n),this.reduce(n)}function bnModPow(e,t){var n,i,r=e.bitLength(),a=nbv(1);if(0>=r)return a;n=18>r?1:48>r?3:144>r?4:768>r?5:6,i=8>r?new Classic(t):t.isEven()?new Barrett(t):new Montgomery(t);var o=new Array,s=3,c=n-1,l=(1<<n)-1;if(o[1]=i.convert(this),n>1){var p=nbi();for(i.sqrTo(o[1],p);l>=s;)o[s]=nbi(),i.mulTo(p,o[s-2],o[s]),s+=2}var u,d,f=e.t-1,h=!0,m=nbi();for(r=nbits(e[f])-1;f>=0;){for(r>=c?u=e[f]>>r-c&l:(u=(e[f]&(1<<r+1)-1)<<c-r,f>0&&(u|=e[f-1]>>this.DB+r-c)),s=n;0==(1&u);)u>>=1,--s;if((r-=s)<0&&(r+=this.DB,--f),h)o[u].copyTo(a),h=!1;else{for(;s>1;)i.sqrTo(a,m),i.sqrTo(m,a),s-=2;s>0?i.sqrTo(a,m):(d=a,a=m,m=d),i.mulTo(m,o[u],a)}for(;f>=0&&0==(e[f]&1<<r);)i.sqrTo(a,m),d=a,a=m,m=d,--r<0&&(r=this.DB-1,--f)}return i.revert(a)}function bnGCD(e){var t=this.s<0?this.negate():this.clone(),n=e.s<0?e.negate():e.clone();if(t.compareTo(n)<0){var i=t;t=n,n=i}var r=t.getLowestSetBit(),a=n.getLowestSetBit();if(0>a)return t;for(a>r&&(a=r),a>0&&(t.rShiftTo(a,t),n.rShiftTo(a,n));t.signum()>0;)(r=t.getLowestSetBit())>0&&t.rShiftTo(r,t),(r=n.getLowestSetBit())>0&&n.rShiftTo(r,n),t.compareTo(n)>=0?(t.subTo(n,t),t.rShiftTo(1,t)):(n.subTo(t,n),n.rShiftTo(1,n));return a>0&&n.lShiftTo(a,n),n}function bnpModInt(e){if(0>=e)return 0;var t=this.DV%e,n=this.s<0?e-1:0;if(this.t>0)if(0==t)n=this[0]%e;else for(var i=this.t-1;i>=0;--i)n=(t*n+this[i])%e;return n}function bnModInverse(e){var t=e.isEven();if(this.isEven()&&t||0==e.signum())return BigInteger.ZERO;for(var n=e.clone(),i=this.clone(),r=nbv(1),a=nbv(0),o=nbv(0),s=nbv(1);0!=n.signum();){for(;n.isEven();)n.rShiftTo(1,n),t?(r.isEven()&&a.isEven()||(r.addTo(this,r),a.subTo(e,a)),r.rShiftTo(1,r)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);for(;i.isEven();)i.rShiftTo(1,i),t?(o.isEven()&&s.isEven()||(o.addTo(this,o),s.subTo(e,s)),o.rShiftTo(1,o)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);n.compareTo(i)>=0?(n.subTo(i,n),t&&r.subTo(o,r),a.subTo(s,a)):(i.subTo(n,i),t&&o.subTo(r,o),s.subTo(a,s))}return 0!=i.compareTo(BigInteger.ONE)?BigInteger.ZERO:s.compareTo(e)>=0?s.subtract(e):s.signum()<0?(s.addTo(e,s),s.signum()<0?s.add(e):s):s}function bnIsProbablePrime(e){var t,n=this.abs();if(1==n.t&&n[0]<=lowprimes[lowprimes.length-1]){for(t=0;t<lowprimes.length;++t)if(n[0]==lowprimes[t])return!0;return!1}if(n.isEven())return!1;for(t=1;t<lowprimes.length;){for(var i=lowprimes[t],r=t+1;r<lowprimes.length&&lplim>i;)i*=lowprimes[r++];for(i=n.modInt(i);r>t;)if(i%lowprimes[t++]==0)return!1}return n.millerRabin(e)}function bnpMillerRabin(e){var t=this.subtract(BigInteger.ONE),n=t.getLowestSetBit();if(0>=n)return!1;var i=t.shiftRight(n);e=e+1>>1,e>lowprimes.length&&(e=lowprimes.length);for(var r=nbi(),a=0;e>a;++a){r.fromInt(lowprimes[Math.floor(Math.random()*lowprimes.length)]);var o=r.modPow(i,this);if(0!=o.compareTo(BigInteger.ONE)&&0!=o.compareTo(t)){for(var s=1;s++<n&&0!=o.compareTo(t);)if(o=o.modPowInt(2,this),0==o.compareTo(BigInteger.ONE))return!1;if(0!=o.compareTo(t))return!1}}return!0}function rng_seed_int(e){rng_pool[rng_pptr++]^=255&e,rng_pool[rng_pptr++]^=e>>8&255,rng_pool[rng_pptr++]^=e>>16&255,rng_pool[rng_pptr++]^=e>>24&255,rng_pptr>=rng_psize&&(rng_pptr-=rng_psize)}function rng_seed_time(){rng_seed_int((new Date).getTime())}function rng_get_byte(){if(null==rng_state){for(rng_seed_time(),rng_state=prng_newstate(),rng_state.init(rng_pool),rng_pptr=0;rng_pptr<rng_pool.length;++rng_pptr)rng_pool[rng_pptr]=0;rng_pptr=0}return rng_state.next()}function rng_get_bytes(e){var t;for(t=0;t<e.length;++t)e[t]=rng_get_byte()}function SecureRandom(){}function Arcfour(){this.i=0,this.j=0,this.S=new Array}function ARC4init(e){var t,n,i;for(t=0;256>t;++t)this.S[t]=t;for(n=0,t=0;256>t;++t)n=n+this.S[t]+e[t%e.length]&255,i=this.S[t],this.S[t]=this.S[n],this.S[n]=i;this.i=0,this.j=0}function ARC4next(){var e;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,e=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=e,this.S[e+this.S[this.i]&255]}function prng_newstate(){return new Arcfour}function bigint(e){return new BigInteger(e.toString(16),16)}function bigStringInt(e){return new BigInteger(e,10)}function dHexDump(e){for(var t=[],n=0;n<e.length;n++)!n||n%2||t.push(n%16?n%4?" ":" ":"\n"),t.push((e[n]<16?"0":"")+e[n].toString(16));console.log(t.join(""))}function bytesToHex(e){for(var t=[],n=0;n<e.length;n++)t.push((e[n]<16?"0":"")+e[n].toString(16));return t.join("")}function bytesFromHex(e){var t,n=e.length,i=[];for(t=0;n>t;t+=2)i.push(parseInt(e.substr(t,2),16));return i}function bytesToBase64(e){for(var t,n="",i=e.length,r=0,a=0;i>a;a++)t=a%3,r|=e[a]<<(16>>>t&24),(2===t||i-a===1)&&(n+=String.fromCharCode(uint6ToBase64(r>>>18&63),uint6ToBase64(r>>>12&63),uint6ToBase64(r>>>6&63),uint6ToBase64(63&r)),r=0);return n.replace(/A(?=A$|$)/g,"=")}function uint6ToBase64(e){return 26>e?e+65:52>e?e+71:62>e?e-4:62===e?43:63===e?47:65}function bytesCmp(e,t){var n=e.length;if(n!=t.length)return!1;for(var i=0;n>i;i++)if(e[i]!=t[i])return!1;return!0}function bytesXor(e,t){for(var n=e.length,i=[],r=0;n>r;++r)i[r]=e[r]^t[r];return i}function bytesToWords(e){for(var t=e.length,n=[],i=0;t>i;i++)n[i>>>2]|=e[i]<<24-i%4*8;return new CryptoJS.lib.WordArray.init(n,t)}function bytesFromWords(e){for(var t=e.words,n=e.sigBytes,i=[],r=0;n>r;r++)i.push(t[r>>>2]>>>24-r%4*8&255);return i}function bytesFromBigInt(e,t){for(var n=e.toByteArray();!n[0]&&(!t||n.length>t);)n=n.slice(1);return n}function bytesToArrayBuffer(e){return new Uint8Array(e).buffer}function bytesFromArrayBuffer(e){for(var t=e.byteLength,n=new Uint8Array(e),i=[],r=0;t>r;++r)i[r]=n[r];return i}function longToInts(e){var t=bigStringInt(e).divideAndRemainder(bigint(4294967296));return[t[0].intValue(),t[1].intValue()]}function longToBytes(e){return bytesFromWords({words:longToInts(e),sigBytes:8}).reverse()}function longFromInts(e,t){return bigint(e).shiftLeft(32).add(bigint(t)).toString(10)}function intToUint(e){return e=parseInt(e),0>e&&(e+=4294967296),e}function uintToInt(e){return e>2147483647&&(e-=4294967296),e}function sha1Hash(e){var t=sha1.hash(e,!0);return t}function rsaEncrypt(e,t){var n=255-t.length;if(n>0){var i=new Array(n);(new SecureRandom).nextBytes(i),t=t.concat(i)}var r=new BigInteger(e.modulus,16),a=new BigInteger(e.exponent,16),o=new BigInteger(t),s=o.modPowInt(a,r),c=bytesFromBigInt(s,256);return c}function aesEncrypt(e,t,n){var i=16-e.length%16;if(i>0&&16>i){var r=new Array(i);(new SecureRandom).nextBytes(r),e=e.concat(r)}var a=CryptoJS.AES.encrypt(bytesToWords(e),bytesToWords(t),{iv:bytesToWords(n),padding:CryptoJS.pad.NoPadding,mode:CryptoJS.mode.IGE}).ciphertext,o=bytesFromWords(a);return o}function aesDecrypt(e,t,n){var i=CryptoJS.AES.decrypt({ciphertext:bytesToWords(e)},bytesToWords(t),{iv:bytesToWords(n),padding:CryptoJS.pad.NoPadding,mode:CryptoJS.mode.IGE}),r=bytesFromWords(i);return r}function gzipUncompress(e){var t=new Zlib.Gunzip(e).decompress();return t}function nextRandomInt(e){return Math.floor(Math.random()*e)}function pqPrimeFactorization(e){var t=new BigInteger(e),n=!1;if(console.log("PQ start",e,t.bitLength()),t.bitLength()<=64)try{n=pqPrimeLong(goog.math.Long.fromString(t.toString(16),16))}catch(i){console.error("Pq long Exception",i)}return n===!1&&(n=pqPrimeBigInteger(t)),console.log("PQ finish"),n}function pqPrimeBigInteger(e){for(var t,n=0,i=0;3>i;i++){for(var r=(15&nextRandomInt(128))+17,a=bigint(nextRandomInt(1e9)+1),o=a.clone(),s=1<<i+18,c=1;s>c;c++){++n;for(var l=a.clone(),p=a.clone(),u=bigint(r);!p.equals(BigInteger.ZERO);)p.and(BigInteger.ONE).equals(BigInteger.ZERO)||(u=u.add(l),u.compareTo(e)>0&&(u=u.subtract(e))),l=l.add(l),l.compareTo(e)>0&&(l=l.subtract(e)),p=p.shiftRight(1);a=u.clone();var d=a.compareTo(o)<0?o.subtract(a):a.subtract(o);if(t=d.gcd(e),!t.equals(BigInteger.ONE))break;0==(c&c-1)&&(o=a.clone())}if(t.compareTo(BigInteger.ONE)>0)break}var f,h,m=e.divide(t);return t.compareTo(m)>0?(f=m,h=t):(f=t,h=m),[bytesFromBigInt(f),bytesFromBigInt(h)]}function gcdLong(e,t){for(;e.notEquals(goog.math.Long.ZERO)&&t.notEquals(goog.math.Long.ZERO);){for(;t.and(goog.math.Long.ONE).equals(goog.math.Long.ZERO);)t=t.shiftRight(1);for(;e.and(goog.math.Long.ONE).equals(goog.math.Long.ZERO);)e=e.shiftRight(1);e.compare(t)>0?e=e.subtract(t):t=t.subtract(e)}return t.equals(goog.math.Long.ZERO)?e:t}function pqPrimeLong(e){for(var t,n=0,i=0;3>i;i++){for(var r=goog.math.Long.fromInt((15&nextRandomInt(128))+17),a=goog.math.Long.fromInt(nextRandomInt(1e9)+1),o=a,s=1<<i+18,c=1;s>c;c++){++n;for(var l=a,p=a,u=r;p.notEquals(goog.math.Long.ZERO);)p.and(goog.math.Long.ONE).notEquals(goog.math.Long.ZERO)&&(u=u.add(l),u.compare(e)>0&&(u=u.subtract(e))),l=l.add(l),l.compare(e)>0&&(l=l.subtract(e)),p=p.shiftRight(1);a=u;var d=a.compare(o)<0?o.subtract(a):a.subtract(o);if(t=gcdLong(d,e),t.notEquals(goog.math.Long.ONE))break;0==(c&c-1)&&(o=a)}if(t.compare(goog.math.Long.ONE)>0)break}var f,h,m=e.div(t);return t.compare(m)>0?(f=m,h=t):(f=t,h=m),[bytesFromHex(f.toString(16)),bytesFromHex(h.toString(16))]}function TLSerialization(e){return e=e||{},this.maxLength=e.startMaxLength||2048,this.offset=0,this.createBuffer(),this.mtproto=e.mtproto||!1,this}function TLDeserialization(e,t){return t=t||{},this.offset=0,this.override=t.override||{},this.buffer=e,this.intView=new Uint32Array(this.buffer),this.byteView=new Uint8Array(this.buffer),this.mtproto=t.mtproto||!1,this}function dT(){return"["+(((new Date).getTime()-_logTimer)/1e3).toFixed(3)+"]"}function checkClick(e,t){return 1==e.which&&(e.ctrlKey||e.metaKey)||2==e.which?!0:(t||e.preventDefault(),!1)}function checkDragEvent(e){if(!e||e.target&&("IMG"==e.target.tagName||"A"==e.target.tagName))return!1;if(!e.dataTransfer||!e.dataTransfer.types)return!0;for(var t=0;t<e.dataTransfer.types.length;t++)if("Files"==e.dataTransfer.types[t])return!0;return!1}function cancelEvent(e){return e=e||window.event,e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault(),!1}function onCtrlEnter(e,t){$(e).on("keydown",function(e){return 13==e.keyCode&&(e.ctrlKey||e.metaKey)?(t(),cancelEvent(e)):void 0})}function onContentLoaded(e){setTimeout(e,0)}function tsNow(e){var t=+new Date;return e?Math.floor(t/1e3):t}function safeReplaceObject(e,t){for(var n in e)t.hasOwnProperty(n)||"$"==n.charAt(0)||delete e[n];for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])}!function(e){"use strict";for(var t,n,i={},r=function(){},a="memory".split(","),o="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,markTimeline,profile,profileEnd,time,timeEnd,trace,warn".split(",");t=a.pop();)e[t]=e[t]||i;for(;n=o.pop();)e[n]=e[n]||r}(this.console=this.console||{}),function(e,t){function n(e){var t=e.length,n=pt.type(e);return pt.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}function i(e){var t=Mt[e]={};return pt.each(e.match(dt)||[],function(e,n){t[n]=!0}),t}function r(e,n,i,r){if(pt.acceptData(e)){var a,o,s=pt.expando,c=e.nodeType,l=c?pt.cache:e,p=c?e[s]:e[s]&&s;if(p&&l[p]&&(r||l[p].data)||i!==t||"string"!=typeof n)return p||(p=c?e[s]=tt.pop()||pt.guid++:s),l[p]||(l[p]=c?{}:{toJSON:pt.noop}),("object"==typeof n||"function"==typeof n)&&(r?l[p]=pt.extend(l[p],n):l[p].data=pt.extend(l[p].data,n)),o=l[p],r||(o.data||(o.data={}),o=o.data),i!==t&&(o[pt.camelCase(n)]=i),"string"==typeof n?(a=o[n],null==a&&(a=o[pt.camelCase(n)])):a=o,a}}function a(e,t,n){if(pt.acceptData(e)){var i,r,a=e.nodeType,o=a?pt.cache:e,c=a?e[pt.expando]:pt.expando;if(o[c]){if(t&&(i=n?o[c]:o[c].data)){pt.isArray(t)?t=t.concat(pt.map(t,pt.camelCase)):t in i?t=[t]:(t=pt.camelCase(t),t=t in i?[t]:t.split(" ")),r=t.length;for(;r--;)delete i[t[r]];if(n?!s(i):!pt.isEmptyObject(i))return}(n||(delete o[c].data,s(o[c])))&&(a?pt.cleanData([e],!0):pt.support.deleteExpando||o!=o.window?delete o[c]:o[c]=null)}}}function o(e,n,i){if(i===t&&1===e.nodeType){var r="data-"+n.replace(kt,"-$1").toLowerCase();if(i=e.getAttribute(r),"string"==typeof i){try{i="true"===i?!0:"false"===i?!1:"null"===i?null:+i+""===i?+i:Ct.test(i)?pt.parseJSON(i):i}catch(a){}pt.data(e,n,i)}else i=t}return i}function s(e){var t;for(t in e)if(("data"!==t||!pt.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function c(){return!0}function l(){return!1}function p(){try{return K.activeElement}catch(e){}}function u(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function d(e,t,n){if(pt.isFunction(t))return pt.grep(e,function(e,i){return!!t.call(e,i,e)!==n});if(t.nodeType)return pt.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(jt.test(t))return pt.filter(t,e,n);t=pt.filter(t,e)}return pt.grep(e,function(e){return pt.inArray(e,t)>=0!==n})}function f(e){var t=Wt.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function h(e,t){return pt.nodeName(e,"table")&&pt.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function m(e){return e.type=(null!==pt.find.attr(e,"type"))+"/"+e.type,e}function g(e){var t=an.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function y(e,t){for(var n,i=0;null!=(n=e[i]);i++)pt._data(n,"globalEval",!t||pt._data(t[i],"globalEval"))}function v(e,t){if(1===t.nodeType&&pt.hasData(e)){var n,i,r,a=pt._data(e),o=pt._data(t,a),s=a.events;if(s){delete o.handle,o.events={};for(n in s)for(i=0,r=s[n].length;r>i;i++)pt.event.add(t,n,s[n][i])}o.data&&(o.data=pt.extend({},o.data))}}function _(e,t){var n,i,r;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!pt.support.noCloneEvent&&t[pt.expando]){r=pt._data(t);for(i in r.events)pt.removeEvent(t,i,r.handle);t.removeAttribute(pt.expando)}"script"===n&&t.text!==e.text?(m(t).text=e.text,g(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),pt.support.html5Clone&&e.innerHTML&&!pt.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&tn.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}function b(e,n){var i,r,a=0,o=typeof e.getElementsByTagName!==X?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==X?e.querySelectorAll(n||"*"):t;if(!o)for(o=[],i=e.childNodes||e;null!=(r=i[a]);a++)!n||pt.nodeName(r,n)?o.push(r):pt.merge(o,b(r,n));return n===t||n&&pt.nodeName(e,n)?pt.merge([e],o):o}function w(e){tn.test(e.type)&&(e.defaultChecked=e.checked)}function $(e,t){if(t in e)return t;for(var n=t.charAt(0).toUpperCase()+t.slice(1),i=t,r=Mn.length;r--;)if(t=Mn[r]+n,t in e)return t;return i}function S(e,t){return e=t||e,"none"===pt.css(e,"display")||!pt.contains(e.ownerDocument,e)}function x(e,t){for(var n,i,r,a=[],o=0,s=e.length;s>o;o++)i=e[o],i.style&&(a[o]=pt._data(i,"olddisplay"),n=i.style.display,t?(a[o]||"none"!==n||(i.style.display=""),""===i.style.display&&S(i)&&(a[o]=pt._data(i,"olddisplay",T(i.nodeName)))):a[o]||(r=S(i),(n&&"none"!==n||!r)&&pt._data(i,"olddisplay",r?n:pt.css(i,"display"))));for(o=0;s>o;o++)i=e[o],i.style&&(t&&"none"!==i.style.display&&""!==i.style.display||(i.style.display=t?a[o]||"":"none"));return e}function M(e,t,n){var i=vn.exec(t);return i?Math.max(0,i[1]-(n||0))+(i[2]||"px"):t}function C(e,t,n,i,r){for(var a=n===(i?"border":"content")?4:"width"===t?1:0,o=0;4>a;a+=2)"margin"===n&&(o+=pt.css(e,n+xn[a],!0,r)),i?("content"===n&&(o-=pt.css(e,"padding"+xn[a],!0,r)),"margin"!==n&&(o-=pt.css(e,"border"+xn[a]+"Width",!0,r))):(o+=pt.css(e,"padding"+xn[a],!0,r),"padding"!==n&&(o+=pt.css(e,"border"+xn[a]+"Width",!0,r)));return o}function k(e,t,n){var i=!0,r="width"===t?e.offsetWidth:e.offsetHeight,a=un(e),o=pt.support.boxSizing&&"border-box"===pt.css(e,"boxSizing",!1,a);if(0>=r||null==r){if(r=dn(e,t,a),(0>r||null==r)&&(r=e.style[t]),_n.test(r))return r;i=o&&(pt.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+C(e,t,n||(o?"border":"content"),i,a)+"px"}function T(e){var t=K,n=wn[e];return n||(n=A(e,t),"none"!==n&&n||(pn=(pn||pt("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(pn[0].contentWindow||pn[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=A(e,t),pn.detach()),wn[e]=n),n}function A(e,t){var n=pt(t.createElement(e)).appendTo(t.body),i=pt.css(n[0],"display");return n.remove(),i}function E(e,t,n,i){var r;if(pt.isArray(t))pt.each(t,function(t,r){n||kn.test(e)?i(e,r):E(e+"["+("object"==typeof r?t:"")+"]",r,n,i)});else if(n||"object"!==pt.type(t))i(e,t);else for(r in t)E(e+"["+r+"]",t[r],n,i)}function D(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var i,r=0,a=t.toLowerCase().match(dt)||[];if(pt.isFunction(n))for(;i=a[r++];)"+"===i[0]?(i=i.slice(1)||"*",(e[i]=e[i]||[]).unshift(n)):(e[i]=e[i]||[]).push(n)}}function I(e,n,i,r){function a(c){var l;return o[c]=!0,pt.each(e[c]||[],function(e,c){var p=c(n,i,r);return"string"!=typeof p||s||o[p]?s?!(l=p):t:(n.dataTypes.unshift(p),a(p),!1)}),l}var o={},s=e===zn;return a(n.dataTypes[0])||!o["*"]&&a("*")}function P(e,n){var i,r,a=pt.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((a[r]?e:i||(i={}))[r]=n[r]);return i&&pt.extend(!0,e,i),e}function N(e,n,i){for(var r,a,o,s,c=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),a===t&&(a=e.mimeType||n.getResponseHeader("Content-Type"));if(a)for(s in c)if(c[s]&&c[s].test(a)){l.unshift(s);break}if(l[0]in i)o=l[0];else{for(s in i){if(!l[0]||e.converters[s+" "+l[0]]){o=s;break}r||(r=s)}o=o||r}return o?(o!==l[0]&&l.unshift(o),i[o]):t}function L(e,t,n,i){var r,a,o,s,c,l={},p=e.dataTypes.slice();if(p[1])for(o in e.converters)l[o.toLowerCase()]=e.converters[o];for(a=p.shift();a;)if(e.responseFields[a]&&(n[e.responseFields[a]]=t),!c&&i&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),c=a,a=p.shift())if("*"===a)a=c;else if("*"!==c&&c!==a){if(o=l[c+" "+a]||l["* "+a],!o)for(r in l)if(s=r.split(" "),s[1]===a&&(o=l[c+" "+s[0]]||l["* "+s[0]])){o===!0?o=l[r]:l[r]!==!0&&(a=s[0],p.unshift(s[1]));break}if(o!==!0)if(o&&e["throws"])t=o(t);else try{t=o(t)}catch(u){return{state:"parsererror",error:o?u:"No conversion from "+c+" to "+a}}}return{state:"success",data:t}}function B(){try{return new e.XMLHttpRequest}catch(t){}}function U(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function O(){return setTimeout(function(){Jn=t}),Jn=pt.now()}function F(e,t,n){for(var i,r=(ai[t]||[]).concat(ai["*"]),a=0,o=r.length;o>a;a++)if(i=r[a].call(n,t,e))return i}function R(e,t,n){var i,r,a=0,o=ri.length,s=pt.Deferred().always(function(){delete c.elem}),c=function(){if(r)return!1;for(var t=Jn||O(),n=Math.max(0,l.startTime+l.duration-t),i=n/l.duration||0,a=1-i,o=0,c=l.tweens.length;c>o;o++)l.tweens[o].run(a);return s.notifyWith(e,[l,a,n]),1>a&&c?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:pt.extend({},t),opts:pt.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Jn||O(),duration:n.duration,tweens:[],createTween:function(t,n){var i=pt.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);
return l.tweens.push(i),i},stop:function(t){var n=0,i=t?l.tweens.length:0;if(r)return this;for(r=!0;i>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),p=l.props;for(q(p,l.opts.specialEasing);o>a;a++)if(i=ri[a].call(l,e,p,l.opts))return i;return pt.map(p,F,l),pt.isFunction(l.opts.start)&&l.opts.start.call(e,l),pt.fx.timer(pt.extend(c,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function q(e,t){var n,i,r,a,o;for(n in e)if(i=pt.camelCase(n),r=t[i],a=e[n],pt.isArray(a)&&(r=a[1],a=e[n]=a[0]),n!==i&&(e[i]=a,delete e[n]),o=pt.cssHooks[i],o&&"expand"in o){a=o.expand(a),delete e[i];for(n in a)n in e||(e[n]=a[n],t[n]=r)}else t[i]=r}function j(e,t,n){var i,r,a,o,s,c,l=this,p={},u=e.style,d=e.nodeType&&S(e),f=pt._data(e,"fxshow");n.queue||(s=pt._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,c=s.empty.fire,s.empty.fire=function(){s.unqueued||c()}),s.unqueued++,l.always(function(){l.always(function(){s.unqueued--,pt.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[u.overflow,u.overflowX,u.overflowY],"inline"===pt.css(e,"display")&&"none"===pt.css(e,"float")&&(pt.support.inlineBlockNeedsLayout&&"inline"!==T(e.nodeName)?u.zoom=1:u.display="inline-block")),n.overflow&&(u.overflow="hidden",pt.support.shrinkWrapBlocks||l.always(function(){u.overflow=n.overflow[0],u.overflowX=n.overflow[1],u.overflowY=n.overflow[2]}));for(i in t)if(r=t[i],ti.exec(r)){if(delete t[i],a=a||"toggle"===r,r===(d?"hide":"show"))continue;p[i]=f&&f[i]||pt.style(e,i)}if(!pt.isEmptyObject(p)){f?"hidden"in f&&(d=f.hidden):f=pt._data(e,"fxshow",{}),a&&(f.hidden=!d),d?pt(e).show():l.done(function(){pt(e).hide()}),l.done(function(){var t;pt._removeData(e,"fxshow");for(t in p)pt.style(e,t,p[t])});for(i in p)o=F(d?f[i]:0,i,l),i in f||(f[i]=o.start,d&&(o.end=o.start,o.start="width"===i||"height"===i?1:0))}}function H(e,t,n,i,r){return new H.prototype.init(e,t,n,i,r)}function z(e,t){var n,i={height:e},r=0;for(t=t?1:0;4>r;r+=2-t)n=xn[r],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function V(e){return pt.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}var W,G,X=typeof t,Z=e.location,K=e.document,Y=K.documentElement,Q=e.jQuery,J=e.$,et={},tt=[],nt="1.10.2",it=tt.concat,rt=tt.push,at=tt.slice,ot=tt.indexOf,st=et.toString,ct=et.hasOwnProperty,lt=nt.trim,pt=function(e,t){return new pt.fn.init(e,t,G)},ut=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,dt=/\S+/g,ft=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,ht=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,mt=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,gt=/^[\],:{}\s]*$/,yt=/(?:^|:|,)(?:\s*\[)+/g,vt=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,_t=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,bt=/^-ms-/,wt=/-([\da-z])/gi,$t=function(e,t){return t.toUpperCase()},St=function(e){(K.addEventListener||"load"===e.type||"complete"===K.readyState)&&(xt(),pt.ready())},xt=function(){K.addEventListener?(K.removeEventListener("DOMContentLoaded",St,!1),e.removeEventListener("load",St,!1)):(K.detachEvent("onreadystatechange",St),e.detachEvent("onload",St))};pt.fn=pt.prototype={jquery:nt,constructor:pt,init:function(e,n,i){var r,a;if(!e)return this;if("string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:ht.exec(e),!r||!r[1]&&n)return!n||n.jquery?(n||i).find(e):this.constructor(n).find(e);if(r[1]){if(n=n instanceof pt?n[0]:n,pt.merge(this,pt.parseHTML(r[1],n&&n.nodeType?n.ownerDocument||n:K,!0)),mt.test(r[1])&&pt.isPlainObject(n))for(r in n)pt.isFunction(this[r])?this[r](n[r]):this.attr(r,n[r]);return this}if(a=K.getElementById(r[2]),a&&a.parentNode){if(a.id!==r[2])return i.find(e);this.length=1,this[0]=a}return this.context=K,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):pt.isFunction(e)?i.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),pt.makeArray(e,this))},selector:"",length:0,toArray:function(){return at.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=pt.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return pt.each(this,e,t)},ready:function(e){return pt.ready.promise().done(e),this},slice:function(){return this.pushStack(at.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(pt.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:rt,sort:[].sort,splice:[].splice},pt.fn.init.prototype=pt.fn,pt.extend=pt.fn.extend=function(){var e,n,i,r,a,o,s=arguments[0]||{},c=1,l=arguments.length,p=!1;for("boolean"==typeof s&&(p=s,s=arguments[1]||{},c=2),"object"==typeof s||pt.isFunction(s)||(s={}),l===c&&(s=this,--c);l>c;c++)if(null!=(a=arguments[c]))for(r in a)e=s[r],i=a[r],s!==i&&(p&&i&&(pt.isPlainObject(i)||(n=pt.isArray(i)))?(n?(n=!1,o=e&&pt.isArray(e)?e:[]):o=e&&pt.isPlainObject(e)?e:{},s[r]=pt.extend(p,o,i)):i!==t&&(s[r]=i));return s},pt.extend({expando:"jQuery"+(nt+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===pt&&(e.$=J),t&&e.jQuery===pt&&(e.jQuery=Q),pt},isReady:!1,readyWait:1,holdReady:function(e){e?pt.readyWait++:pt.ready(!0)},ready:function(e){if(e===!0?!--pt.readyWait:!pt.isReady){if(!K.body)return setTimeout(pt.ready);pt.isReady=!0,e!==!0&&--pt.readyWait>0||(W.resolveWith(K,[pt]),pt.fn.trigger&&pt(K).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===pt.type(e)},isArray:Array.isArray||function(e){return"array"===pt.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?et[st.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==pt.type(e)||e.nodeType||pt.isWindow(e))return!1;try{if(e.constructor&&!ct.call(e,"constructor")&&!ct.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(i){return!1}if(pt.support.ownLast)for(n in e)return ct.call(e,n);for(n in e);return n===t||ct.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||K;var i=mt.exec(e),r=!n&&[];return i?[t.createElement(i[1])]:(i=pt.buildFragment([e],t,r),r&&pt(r).remove(),pt.merge([],i.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=pt.trim(n),n&&gt.test(n.replace(vt,"@").replace(_t,"]").replace(yt,"")))?Function("return "+n)():(pt.error("Invalid JSON: "+n),t)},parseXML:function(n){var i,r;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(r=new DOMParser,i=r.parseFromString(n,"text/xml")):(i=new ActiveXObject("Microsoft.XMLDOM"),i.async="false",i.loadXML(n))}catch(a){i=t}return i&&i.documentElement&&!i.getElementsByTagName("parsererror").length||pt.error("Invalid XML: "+n),i},noop:function(){},globalEval:function(t){t&&pt.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(bt,"ms-").replace(wt,$t)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,i){var r,a=0,o=e.length,s=n(e);if(i){if(s)for(;o>a&&(r=t.apply(e[a],i),r!==!1);a++);else for(a in e)if(r=t.apply(e[a],i),r===!1)break}else if(s)for(;o>a&&(r=t.call(e[a],a,e[a]),r!==!1);a++);else for(a in e)if(r=t.call(e[a],a,e[a]),r===!1)break;return e},trim:lt&&!lt.call(" ")?function(e){return null==e?"":lt.call(e)}:function(e){return null==e?"":(e+"").replace(ft,"")},makeArray:function(e,t){var i=t||[];return null!=e&&(n(Object(e))?pt.merge(i,"string"==typeof e?[e]:e):rt.call(i,e)),i},inArray:function(e,t,n){var i;if(t){if(ot)return ot.call(t,e,n);for(i=t.length,n=n?0>n?Math.max(0,i+n):n:0;i>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var i=n.length,r=e.length,a=0;if("number"==typeof i)for(;i>a;a++)e[r++]=n[a];else for(;n[a]!==t;)e[r++]=n[a++];return e.length=r,e},grep:function(e,t,n){var i,r=[],a=0,o=e.length;for(n=!!n;o>a;a++)i=!!t(e[a],a),n!==i&&r.push(e[a]);return r},map:function(e,t,i){var r,a=0,o=e.length,s=n(e),c=[];if(s)for(;o>a;a++)r=t(e[a],a,i),null!=r&&(c[c.length]=r);else for(a in e)r=t(e[a],a,i),null!=r&&(c[c.length]=r);return it.apply([],c)},guid:1,proxy:function(e,n){var i,r,a;return"string"==typeof n&&(a=e[n],n=e,e=a),pt.isFunction(e)?(i=at.call(arguments,2),r=function(){return e.apply(n||this,i.concat(at.call(arguments)))},r.guid=e.guid=e.guid||pt.guid++,r):t},access:function(e,n,i,r,a,o,s){var c=0,l=e.length,p=null==i;if("object"===pt.type(i)){a=!0;for(c in i)pt.access(e,n,c,i[c],!0,o,s)}else if(r!==t&&(a=!0,pt.isFunction(r)||(s=!0),p&&(s?(n.call(e,r),n=null):(p=n,n=function(e,t,n){return p.call(pt(e),n)})),n))for(;l>c;c++)n(e[c],i,s?r:r.call(e[c],c,n(e[c],i)));return a?e:p?n.call(e):l?n(e[0],i):o},now:function(){return(new Date).getTime()},swap:function(e,t,n,i){var r,a,o={};for(a in t)o[a]=e.style[a],e.style[a]=t[a];r=n.apply(e,i||[]);for(a in t)e.style[a]=o[a];return r}}),pt.ready.promise=function(t){if(!W)if(W=pt.Deferred(),"complete"===K.readyState)setTimeout(pt.ready);else if(K.addEventListener)K.addEventListener("DOMContentLoaded",St,!1),e.addEventListener("load",St,!1);else{K.attachEvent("onreadystatechange",St),e.attachEvent("onload",St);var n=!1;try{n=null==e.frameElement&&K.documentElement}catch(i){}n&&n.doScroll&&function r(){if(!pt.isReady){try{n.doScroll("left")}catch(e){return setTimeout(r,50)}xt(),pt.ready()}}()}return W.promise(t)},pt.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){et["[object "+t+"]"]=t.toLowerCase()}),G=pt(K),function(e,t){function n(e,t,n,i){var r,a,o,s,c,l,p,u,h,m;if((t?t.ownerDocument||t:R)!==I&&D(t),t=t||I,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(N&&!i){if(r=_t.exec(e))if(o=r[1]){if(9===s){if(a=t.getElementById(o),!a||!a.parentNode)return n;if(a.id===o)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(o))&&O(t,a)&&a.id===o)return n.push(a),n}else{if(r[2])return et.apply(n,t.getElementsByTagName(e)),n;if((o=r[3])&&S.getElementsByClassName&&t.getElementsByClassName)return et.apply(n,t.getElementsByClassName(o)),n}if(S.qsa&&(!L||!L.test(e))){if(u=p=F,h=t,m=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(l=d(e),(p=t.getAttribute("id"))?u=p.replace($t,"\\$&"):t.setAttribute("id",u),u="[id='"+u+"'] ",c=l.length;c--;)l[c]=u+f(l[c]);h=ft.test(e)&&t.parentNode||t,m=l.join(",")}if(m)try{return et.apply(n,h.querySelectorAll(m)),n}catch(g){}finally{p||t.removeAttribute("id")}}}return w(e.replace(lt,"$1"),t,n,i)}function i(){function e(n,i){return t.push(n+=" ")>M.cacheLength&&delete e[t.shift()],e[n]=i}var t=[];return e}function r(e){return e[F]=!0,e}function a(e){var t=I.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),i=e.length;i--;)M.attrHandle[n[i]]=t}function s(e,t){var n=t&&e,i=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||Z)-(~e.sourceIndex||Z);if(i)return i;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function c(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function p(e){return r(function(t){return t=+t,r(function(n,i){for(var r,a=e([],n.length,t),o=a.length;o--;)n[r=a[o]]&&(n[r]=!(i[r]=n[r]))})})}function u(){}function d(e,t){var i,r,a,o,s,c,l,p=z[e+" "];if(p)return t?0:p.slice(0);for(s=e,c=[],l=M.preFilter;s;){(!i||(r=ut.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),c.push(a=[])),i=!1,(r=dt.exec(s))&&(i=r.shift(),a.push({value:i,type:r[0].replace(lt," ")}),s=s.slice(i.length));for(o in M.filter)!(r=yt[o].exec(s))||l[o]&&!(r=l[o](r))||(i=r.shift(),a.push({value:i,type:o,matches:r}),s=s.slice(i.length));if(!i)break}return t?s.length:s?n.error(e):z(e,c).slice(0)}function f(e){for(var t=0,n=e.length,i="";n>t;t++)i+=e[t].value;return i}function h(e,t,n){var i=t.dir,r=n&&"parentNode"===i,a=j++;return t.first?function(t,n,a){for(;t=t[i];)if(1===t.nodeType||r)return e(t,n,a)}:function(t,n,o){var s,c,l,p=q+" "+a;if(o){for(;t=t[i];)if((1===t.nodeType||r)&&e(t,n,o))return!0}else for(;t=t[i];)if(1===t.nodeType||r)if(l=t[F]||(t[F]={}),(c=l[i])&&c[0]===p){if((s=c[1])===!0||s===x)return s===!0}else if(c=l[i]=[p],c[1]=e(t,n,o)||x,c[1]===!0)return!0}}function m(e){return e.length>1?function(t,n,i){for(var r=e.length;r--;)if(!e[r](t,n,i))return!1;return!0}:e[0]}function g(e,t,n,i,r){for(var a,o=[],s=0,c=e.length,l=null!=t;c>s;s++)(a=e[s])&&(!n||n(a,i,r))&&(o.push(a),l&&t.push(s));return o}function y(e,t,n,i,a,o){return i&&!i[F]&&(i=y(i)),a&&!a[F]&&(a=y(a,o)),r(function(r,o,s,c){var l,p,u,d=[],f=[],h=o.length,m=r||b(t||"*",s.nodeType?[s]:s,[]),y=!e||!r&&t?m:g(m,d,e,s,c),v=n?a||(r?e:h||i)?[]:o:y;if(n&&n(y,v,s,c),i)for(l=g(v,f),i(l,[],s,c),p=l.length;p--;)(u=l[p])&&(v[f[p]]=!(y[f[p]]=u));if(r){if(a||e){if(a){for(l=[],p=v.length;p--;)(u=v[p])&&l.push(y[p]=u);a(null,v=[],l,c)}for(p=v.length;p--;)(u=v[p])&&(l=a?nt.call(r,u):d[p])>-1&&(r[l]=!(o[l]=u))}}else v=g(v===o?v.splice(h,v.length):v),a?a(null,o,v,c):et.apply(o,v)})}function v(e){for(var t,n,i,r=e.length,a=M.relative[e[0].type],o=a||M.relative[" "],s=a?1:0,c=h(function(e){return e===t},o,!0),l=h(function(e){return nt.call(t,e)>-1},o,!0),p=[function(e,n,i){return!a&&(i||n!==A)||((t=n).nodeType?c(e,n,i):l(e,n,i))}];r>s;s++)if(n=M.relative[e[s].type])p=[h(m(p),n)];else{if(n=M.filter[e[s].type].apply(null,e[s].matches),n[F]){for(i=++s;r>i&&!M.relative[e[i].type];i++);return y(s>1&&m(p),s>1&&f(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(lt,"$1"),n,i>s&&v(e.slice(s,i)),r>i&&v(e=e.slice(i)),r>i&&f(e))}p.push(n)}return m(p)}function _(e,t){var i=0,a=t.length>0,o=e.length>0,s=function(r,s,c,l,p){var u,d,f,h=[],m=0,y="0",v=r&&[],_=null!=p,b=A,w=r||o&&M.find.TAG("*",p&&s.parentNode||s),$=q+=null==b?1:Math.random()||.1;for(_&&(A=s!==I&&s,x=i);null!=(u=w[y]);y++){if(o&&u){for(d=0;f=e[d++];)if(f(u,s,c)){l.push(u);break}_&&(q=$,x=++i)}a&&((u=!f&&u)&&m--,r&&v.push(u))}if(m+=y,a&&y!==m){for(d=0;f=t[d++];)f(v,h,s,c);if(r){if(m>0)for(;y--;)v[y]||h[y]||(h[y]=Q.call(l));h=g(h)}et.apply(l,h),_&&!r&&h.length>0&&m+t.length>1&&n.uniqueSort(l)}return _&&(q=$,A=b),v};return a?r(s):s}function b(e,t,i){for(var r=0,a=t.length;a>r;r++)n(e,t[r],i);return i}function w(e,t,n,i){var r,a,o,s,c,l=d(e);if(!i&&1===l.length){if(a=l[0]=l[0].slice(0),a.length>2&&"ID"===(o=a[0]).type&&S.getById&&9===t.nodeType&&N&&M.relative[a[1].type]){if(t=(M.find.ID(o.matches[0].replace(St,xt),t)||[])[0],!t)return n;e=e.slice(a.shift().value.length)}for(r=yt.needsContext.test(e)?0:a.length;r--&&(o=a[r],!M.relative[s=o.type]);)if((c=M.find[s])&&(i=c(o.matches[0].replace(St,xt),ft.test(a[0].type)&&t.parentNode||t))){if(a.splice(r,1),e=i.length&&f(a),!e)return et.apply(n,i),n;break}}return T(e,l)(i,t,!N,n,ft.test(e)),n}var $,S,x,M,C,k,T,A,E,D,I,P,N,L,B,U,O,F="sizzle"+-new Date,R=e.document,q=0,j=0,H=i(),z=i(),V=i(),W=!1,G=function(e,t){return e===t?(W=!0,0):0},X=typeof t,Z=1<<31,K={}.hasOwnProperty,Y=[],Q=Y.pop,J=Y.push,et=Y.push,tt=Y.slice,nt=Y.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1},it="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",rt="[\\x20\\t\\r\\n\\f]",at="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ot=at.replace("w","w#"),st="\\["+rt+"*("+at+")"+rt+"*(?:([*^$|!~]?=)"+rt+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+ot+")|)|)"+rt+"*\\]",ct=":("+at+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+st.replace(3,8)+")*)|.*)\\)|)",lt=RegExp("^"+rt+"+|((?:^|[^\\\\])(?:\\\\.)*)"+rt+"+$","g"),ut=RegExp("^"+rt+"*,"+rt+"*"),dt=RegExp("^"+rt+"*([>+~]|"+rt+")"+rt+"*"),ft=RegExp(rt+"*[+~]"),ht=RegExp("="+rt+"*([^\\]'\"]*)"+rt+"*\\]","g"),mt=RegExp(ct),gt=RegExp("^"+ot+"$"),yt={ID:RegExp("^#("+at+")"),CLASS:RegExp("^\\.("+at+")"),TAG:RegExp("^("+at.replace("w","w*")+")"),ATTR:RegExp("^"+st),PSEUDO:RegExp("^"+ct),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+rt+"*(even|odd|(([+-]|)(\\d*)n|)"+rt+"*(?:([+-]|)"+rt+"*(\\d+)|))"+rt+"*\\)|)","i"),bool:RegExp("^(?:"+it+")$","i"),needsContext:RegExp("^"+rt+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+rt+"*((?:-\\d)?\\d*)"+rt+"*\\)|)(?=[^-]|$)","i")},vt=/^[^{]+\{\s*\[native \w/,_t=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,bt=/^(?:input|select|textarea|button)$/i,wt=/^h\d$/i,$t=/'|\\/g,St=RegExp("\\\\([\\da-f]{1,6}"+rt+"?|("+rt+")|.)","ig"),xt=function(e,t,n){var i="0x"+t-65536;return i!==i||n?t:0>i?String.fromCharCode(i+65536):String.fromCharCode(55296|i>>10,56320|1023&i)};try{et.apply(Y=tt.call(R.childNodes),R.childNodes),Y[R.childNodes.length].nodeType}catch(Mt){et={apply:Y.length?function(e,t){J.apply(e,tt.call(t))}:function(e,t){for(var n=e.length,i=0;e[n++]=t[i++];);e.length=n-1}}}k=n.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},S=n.support={},D=n.setDocument=function(e){var n=e?e.ownerDocument||e:R,i=n.defaultView;return n!==I&&9===n.nodeType&&n.documentElement?(I=n,P=n.documentElement,N=!k(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){D()}),S.attributes=a(function(e){return e.className="i",!e.getAttribute("className")}),S.getElementsByTagName=a(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),S.getElementsByClassName=a(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),S.getById=a(function(e){return P.appendChild(e).id=F,!n.getElementsByName||!n.getElementsByName(F).length}),S.getById?(M.find.ID=function(e,t){if(typeof t.getElementById!==X&&N){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},M.filter.ID=function(e){var t=e.replace(St,xt);return function(e){return e.getAttribute("id")===t}}):(delete M.find.ID,M.filter.ID=function(e){var t=e.replace(St,xt);return function(e){var n=typeof e.getAttributeNode!==X&&e.getAttributeNode("id");return n&&n.value===t}}),M.find.TAG=S.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==X?n.getElementsByTagName(e):t}:function(e,t){var n,i=[],r=0,a=t.getElementsByTagName(e);if("*"===e){for(;n=a[r++];)1===n.nodeType&&i.push(n);return i}return a},M.find.CLASS=S.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==X&&N?n.getElementsByClassName(e):t},B=[],L=[],(S.qsa=vt.test(n.querySelectorAll))&&(a(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||L.push("\\["+rt+"*(?:value|"+it+")"),e.querySelectorAll(":checked").length||L.push(":checked")}),a(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&L.push("[*^$]="+rt+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||L.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),L.push(",.*:")})),(S.matchesSelector=vt.test(U=P.webkitMatchesSelector||P.mozMatchesSelector||P.oMatchesSelector||P.msMatchesSelector))&&a(function(e){S.disconnectedMatch=U.call(e,"div"),U.call(e,"[s!='']:x"),B.push("!=",ct)}),L=L.length&&RegExp(L.join("|")),B=B.length&&RegExp(B.join("|")),O=vt.test(P.contains)||P.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},G=P.compareDocumentPosition?function(e,t){if(e===t)return W=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!S.sortDetached&&t.compareDocumentPosition(e)===i?e===n||O(R,e)?-1:t===n||O(R,t)?1:E?nt.call(E,e)-nt.call(E,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var i,r=0,a=e.parentNode,o=t.parentNode,c=[e],l=[t];if(e===t)return W=!0,0;if(!a||!o)return e===n?-1:t===n?1:a?-1:o?1:E?nt.call(E,e)-nt.call(E,t):0;if(a===o)return s(e,t);for(i=e;i=i.parentNode;)c.unshift(i);for(i=t;i=i.parentNode;)l.unshift(i);for(;c[r]===l[r];)r++;return r?s(c[r],l[r]):c[r]===R?-1:l[r]===R?1:0},n):I},n.matches=function(e,t){return n(e,null,null,t)},n.matchesSelector=function(e,t){if((e.ownerDocument||e)!==I&&D(e),t=t.replace(ht,"='$1']"),!(!S.matchesSelector||!N||B&&B.test(t)||L&&L.test(t)))try{var i=U.call(e,t);if(i||S.disconnectedMatch||e.document&&11!==e.document.nodeType)return i}catch(r){}return n(t,I,null,[e]).length>0},n.contains=function(e,t){return(e.ownerDocument||e)!==I&&D(e),O(e,t)},n.attr=function(e,n){(e.ownerDocument||e)!==I&&D(e);var i=M.attrHandle[n.toLowerCase()],r=i&&K.call(M.attrHandle,n.toLowerCase())?i(e,n,!N):t;return r===t?S.attributes||!N?e.getAttribute(n):(r=e.getAttributeNode(n))&&r.specified?r.value:null:r},n.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},n.uniqueSort=function(e){var t,n=[],i=0,r=0;if(W=!S.detectDuplicates,E=!S.sortStable&&e.slice(0),e.sort(G),W){for(;t=e[r++];)t===e[r]&&(i=n.push(r));for(;i--;)e.splice(n[i],1)}return e},C=n.getText=function(e){var t,n="",i=0,r=e.nodeType;if(r){if(1===r||9===r||11===r){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=C(e)}else if(3===r||4===r)return e.nodeValue}else for(;t=e[i];i++)n+=C(t);return n},M=n.selectors={cacheLength:50,createPseudo:r,match:yt,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(St,xt),e[3]=(e[4]||e[5]||"").replace(St,xt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||n.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&n.error(e[0]),e},PSEUDO:function(e){var n,i=!e[5]&&e[2];return yt.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:i&&mt.test(i)&&(n=d(i,!0))&&(n=i.indexOf(")",i.length-n)-i.length)&&(e[0]=e[0].slice(0,n),e[2]=i.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(St,xt).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=H[e+" "];return t||(t=RegExp("(^|"+rt+")"+e+"("+rt+"|$)"))&&H(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==X&&e.getAttribute("class")||"")})},ATTR:function(e,t,i){return function(r){var a=n.attr(r,e);return null==a?"!="===t:t?(a+="","="===t?a===i:"!="===t?a!==i:"^="===t?i&&0===a.indexOf(i):"*="===t?i&&a.indexOf(i)>-1:"$="===t?i&&a.slice(-i.length)===i:"~="===t?(" "+a+" ").indexOf(i)>-1:"|="===t?a===i||a.slice(0,i.length+1)===i+"-":!1):!0}},CHILD:function(e,t,n,i,r){var a="nth"!==e.slice(0,3),o="last"!==e.slice(-4),s="of-type"===t;return 1===i&&0===r?function(e){return!!e.parentNode}:function(t,n,c){var l,p,u,d,f,h,m=a!==o?"nextSibling":"previousSibling",g=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!c&&!s;if(g){if(a){for(;m;){for(u=t;u=u[m];)if(s?u.nodeName.toLowerCase()===y:1===u.nodeType)return!1;h=m="only"===e&&!h&&"nextSibling"}return!0}if(h=[o?g.firstChild:g.lastChild],o&&v){for(p=g[F]||(g[F]={}),l=p[e]||[],f=l[0]===q&&l[1],d=l[0]===q&&l[2],u=f&&g.childNodes[f];u=++f&&u&&u[m]||(d=f=0)||h.pop();)if(1===u.nodeType&&++d&&u===t){p[e]=[q,f,d];break}}else if(v&&(l=(t[F]||(t[F]={}))[e])&&l[0]===q)d=l[1];else for(;(u=++f&&u&&u[m]||(d=f=0)||h.pop())&&((s?u.nodeName.toLowerCase()!==y:1!==u.nodeType)||!++d||(v&&((u[F]||(u[F]={}))[e]=[q,d]),u!==t)););return d-=r,d===i||0===d%i&&d/i>=0}}},PSEUDO:function(e,t){var i,a=M.pseudos[e]||M.setFilters[e.toLowerCase()]||n.error("unsupported pseudo: "+e);return a[F]?a(t):a.length>1?(i=[e,e,"",t],M.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,n){for(var i,r=a(e,t),o=r.length;o--;)i=nt.call(e,r[o]),e[i]=!(n[i]=r[o])}):function(e){return a(e,0,i)}):a}},pseudos:{not:r(function(e){var t=[],n=[],i=T(e.replace(lt,"$1"));return i[F]?r(function(e,t,n,r){for(var a,o=i(e,null,r,[]),s=e.length;s--;)(a=o[s])&&(e[s]=!(t[s]=a))}):function(e,r,a){return t[0]=e,i(t,null,a,n),!n.pop()}}),has:r(function(e){return function(t){return n(e,t).length>0}}),contains:r(function(e){return function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:r(function(e){return gt.test(e||"")||n.error("unsupported lang: "+e),e=e.replace(St,xt).toLowerCase(),function(t){var n;do if(n=N?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===P},focus:function(e){return e===I.activeElement&&(!I.hasFocus||I.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!M.pseudos.empty(e)},header:function(e){return wt.test(e.nodeName)},input:function(e){return bt.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:p(function(){return[0]}),last:p(function(e,t){return[t-1]}),eq:p(function(e,t,n){return[0>n?n+t:n]}),even:p(function(e,t){for(var n=0;t>n;n+=2)e.push(n);return e}),odd:p(function(e,t){for(var n=1;t>n;n+=2)e.push(n);return e}),lt:p(function(e,t,n){for(var i=0>n?n+t:n;--i>=0;)e.push(i);return e}),gt:p(function(e,t,n){for(var i=0>n?n+t:n;t>++i;)e.push(i);return e})}},M.pseudos.nth=M.pseudos.eq;for($ in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})M.pseudos[$]=c($);for($ in{submit:!0,reset:!0})M.pseudos[$]=l($);u.prototype=M.filters=M.pseudos,M.setFilters=new u,T=n.compile=function(e,t){var n,i=[],r=[],a=V[e+" "];if(!a){for(t||(t=d(e)),n=t.length;n--;)a=v(t[n]),a[F]?i.push(a):r.push(a);a=V(e,_(r,i))}return a},S.sortStable=F.split("").sort(G).join("")===F,S.detectDuplicates=W,D(),S.sortDetached=a(function(e){return 1&e.compareDocumentPosition(I.createElement("div"))}),a(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,n,i){return i?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),S.attributes&&a(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,n,i){return i||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),a(function(e){return null==e.getAttribute("disabled")})||o(it,function(e,n,i){var r;return i?t:(r=e.getAttributeNode(n))&&r.specified?r.value:e[n]===!0?n.toLowerCase():null}),pt.find=n,pt.expr=n.selectors,pt.expr[":"]=pt.expr.pseudos,pt.unique=n.uniqueSort,pt.text=n.getText,pt.isXMLDoc=n.isXML,pt.contains=n.contains}(e);var Mt={};pt.Callbacks=function(e){e="string"==typeof e?Mt[e]||i(e):pt.extend({},e);var n,r,a,o,s,c,l=[],p=!e.once&&[],u=function(t){for(r=e.memory&&t,a=!0,s=c||0,c=0,o=l.length,n=!0;l&&o>s;s++)if(l[s].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(p?p.length&&u(p.shift()):r?l=[]:d.disable())},d={add:function(){if(l){var t=l.length;!function i(t){pt.each(t,function(t,n){var r=pt.type(n);"function"===r?e.unique&&d.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})}(arguments),n?o=l.length:r&&(c=t,u(r))}return this},remove:function(){return l&&pt.each(arguments,function(e,t){for(var i;(i=pt.inArray(t,l,i))>-1;)l.splice(i,1),n&&(o>=i&&o--,s>=i&&s--)}),this},has:function(e){return e?pt.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=p=r=t,this},disabled:function(){return!l},lock:function(){return p=t,r||d.disable(),this},locked:function(){return!p},fireWith:function(e,t){return!l||a&&!p||(t=t||[],t=[e,t.slice?t.slice():t],n?p.push(t):u(t)),this},fire:function(){return d.fireWith(this,arguments),this},fired:function(){return!!a}};return d},pt.extend({Deferred:function(e){var t=[["resolve","done",pt.Callbacks("once memory"),"resolved"],["reject","fail",pt.Callbacks("once memory"),"rejected"],["notify","progress",pt.Callbacks("memory")]],n="pending",i={state:function(){return n},always:function(){return r.done(arguments).fail(arguments),this},then:function(){var e=arguments;return pt.Deferred(function(n){pt.each(t,function(t,a){var o=a[0],s=pt.isFunction(e[t])&&e[t];r[a[1]](function(){var e=s&&s.apply(this,arguments);e&&pt.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[o+"With"](this===i?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?pt.extend(e,i):i}},r={};return i.pipe=i.then,pt.each(t,function(e,a){var o=a[2],s=a[3];i[a[1]]=o.add,s&&o.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),r[a[0]]=function(){return r[a[0]+"With"](this===r?i:this,arguments),this},r[a[0]+"With"]=o.fireWith}),i.promise(r),e&&e.call(r,r),r},when:function(e){var t,n,i,r=0,a=at.call(arguments),o=a.length,s=1!==o||e&&pt.isFunction(e.promise)?o:0,c=1===s?e:pt.Deferred(),l=function(e,n,i){return function(r){n[e]=this,i[e]=arguments.length>1?at.call(arguments):r,i===t?c.notifyWith(n,i):--s||c.resolveWith(n,i)}};if(o>1)for(t=Array(o),n=Array(o),i=Array(o);o>r;r++)a[r]&&pt.isFunction(a[r].promise)?a[r].promise().done(l(r,i,a)).fail(c.reject).progress(l(r,n,t)):--s;return s||c.resolveWith(i,a),c.promise()}}),pt.support=function(t){var n,i,r,a,o,s,c,l,p,u=K.createElement("div");if(u.setAttribute("className","t"),u.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=u.getElementsByTagName("*")||[],i=u.getElementsByTagName("a")[0],!i||!i.style||!n.length)return t;a=K.createElement("select"),s=a.appendChild(K.createElement("option")),r=u.getElementsByTagName("input")[0],i.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==u.className,t.leadingWhitespace=3===u.firstChild.nodeType,t.tbody=!u.getElementsByTagName("tbody").length,t.htmlSerialize=!!u.getElementsByTagName("link").length,t.style=/top/.test(i.getAttribute("style")),t.hrefNormalized="/a"===i.getAttribute("href"),t.opacity=/^0.5/.test(i.style.opacity),t.cssFloat=!!i.style.cssFloat,t.checkOn=!!r.value,t.optSelected=s.selected,t.enctype=!!K.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==K.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,r.checked=!0,t.noCloneChecked=r.cloneNode(!0).checked,a.disabled=!0,t.optDisabled=!s.disabled;try{delete u.test}catch(d){t.deleteExpando=!1}r=K.createElement("input"),r.setAttribute("value",""),t.input=""===r.getAttribute("value"),r.value="t",r.setAttribute("type","radio"),t.radioValue="t"===r.value,r.setAttribute("checked","t"),r.setAttribute("name","t"),o=K.createDocumentFragment(),o.appendChild(r),t.appendChecked=r.checked,t.checkClone=o.cloneNode(!0).cloneNode(!0).lastChild.checked,u.attachEvent&&(u.attachEvent("onclick",function(){t.noCloneEvent=!1
}),u.cloneNode(!0).click());for(p in{submit:!0,change:!0,focusin:!0})u.setAttribute(c="on"+p,"t"),t[p+"Bubbles"]=c in e||u.attributes[c].expando===!1;u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===u.style.backgroundClip;for(p in pt(t))break;return t.ownLast="0"!==p,pt(function(){var n,i,r,a="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",o=K.getElementsByTagName("body")[0];o&&(n=K.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",o.appendChild(n).appendChild(u),u.innerHTML="<table><tr><td></td><td>t</td></tr></table>",r=u.getElementsByTagName("td"),r[0].style.cssText="padding:0;margin:0;border:0;display:none",l=0===r[0].offsetHeight,r[0].style.display="",r[1].style.display="none",t.reliableHiddenOffsets=l&&0===r[0].offsetHeight,u.innerHTML="",u.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",pt.swap(o,null!=o.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===u.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(u,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(u,null)||{width:"4px"}).width,i=u.appendChild(K.createElement("div")),i.style.cssText=u.style.cssText=a,i.style.marginRight=i.style.width="0",u.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(i,null)||{}).marginRight)),typeof u.style.zoom!==X&&(u.innerHTML="",u.style.cssText=a+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===u.offsetWidth,u.style.display="block",u.innerHTML="<div></div>",u.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==u.offsetWidth,t.inlineBlockNeedsLayout&&(o.style.zoom=1)),o.removeChild(n),n=u=r=i=null)}),n=a=o=s=i=r=null,t}({});var Ct=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,kt=/([A-Z])/g;pt.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?pt.cache[e[pt.expando]]:e[pt.expando],!!e&&!s(e)},data:function(e,t,n){return r(e,t,n)},removeData:function(e,t){return a(e,t)},_data:function(e,t,n){return r(e,t,n,!0)},_removeData:function(e,t){return a(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&pt.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),pt.fn.extend({data:function(e,n){var i,r,a=null,s=0,c=this[0];if(e===t){if(this.length&&(a=pt.data(c),1===c.nodeType&&!pt._data(c,"parsedAttrs"))){for(i=c.attributes;i.length>s;s++)r=i[s].name,0===r.indexOf("data-")&&(r=pt.camelCase(r.slice(5)),o(c,r,a[r]));pt._data(c,"parsedAttrs",!0)}return a}return"object"==typeof e?this.each(function(){pt.data(this,e)}):arguments.length>1?this.each(function(){pt.data(this,e,n)}):c?o(c,e,pt.data(c,e)):null},removeData:function(e){return this.each(function(){pt.removeData(this,e)})}}),pt.extend({queue:function(e,n,i){var r;return e?(n=(n||"fx")+"queue",r=pt._data(e,n),i&&(!r||pt.isArray(i)?r=pt._data(e,n,pt.makeArray(i)):r.push(i)),r||[]):t},dequeue:function(e,t){t=t||"fx";var n=pt.queue(e,t),i=n.length,r=n.shift(),a=pt._queueHooks(e,t),o=function(){pt.dequeue(e,t)};"inprogress"===r&&(r=n.shift(),i--),r&&("fx"===t&&n.unshift("inprogress"),delete a.stop,r.call(e,o,a)),!i&&a&&a.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return pt._data(e,n)||pt._data(e,n,{empty:pt.Callbacks("once memory").add(function(){pt._removeData(e,t+"queue"),pt._removeData(e,n)})})}}),pt.fn.extend({queue:function(e,n){var i=2;return"string"!=typeof e&&(n=e,e="fx",i--),i>arguments.length?pt.queue(this[0],e):n===t?this:this.each(function(){var t=pt.queue(this,e,n);pt._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&pt.dequeue(this,e)})},dequeue:function(e){return this.each(function(){pt.dequeue(this,e)})},delay:function(e,t){return e=pt.fx?pt.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var i=setTimeout(t,e);n.stop=function(){clearTimeout(i)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var i,r=1,a=pt.Deferred(),o=this,s=this.length,c=function(){--r||a.resolveWith(o,[o])};for("string"!=typeof e&&(n=e,e=t),e=e||"fx";s--;)i=pt._data(o[s],e+"queueHooks"),i&&i.empty&&(r++,i.empty.add(c));return c(),a.promise(n)}});var Tt,At,Et=/[\t\r\n\f]/g,Dt=/\r/g,It=/^(?:input|select|textarea|button|object)$/i,Pt=/^(?:a|area)$/i,Nt=/^(?:checked|selected)$/i,Lt=pt.support.getSetAttribute,Bt=pt.support.input;pt.fn.extend({attr:function(e,t){return pt.access(this,pt.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){pt.removeAttr(this,e)})},prop:function(e,t){return pt.access(this,pt.prop,e,t,arguments.length>1)},removeProp:function(e){return e=pt.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,i,r,a,o=0,s=this.length,c="string"==typeof e&&e;if(pt.isFunction(e))return this.each(function(t){pt(this).addClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(dt)||[];s>o;o++)if(n=this[o],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(Et," "):" ")){for(a=0;r=t[a++];)0>i.indexOf(" "+r+" ")&&(i+=r+" ");n.className=pt.trim(i)}return this},removeClass:function(e){var t,n,i,r,a,o=0,s=this.length,c=0===arguments.length||"string"==typeof e&&e;if(pt.isFunction(e))return this.each(function(t){pt(this).removeClass(e.call(this,t,this.className))});if(c)for(t=(e||"").match(dt)||[];s>o;o++)if(n=this[o],i=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(Et," "):"")){for(a=0;r=t[a++];)for(;i.indexOf(" "+r+" ")>=0;)i=i.replace(" "+r+" "," ");n.className=e?pt.trim(i):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):this.each(pt.isFunction(e)?function(n){pt(this).toggleClass(e.call(this,n,this.className,t),t)}:function(){if("string"===n)for(var t,i=0,r=pt(this),a=e.match(dt)||[];t=a[i++];)r.hasClass(t)?r.removeClass(t):r.addClass(t);else(n===X||"boolean"===n)&&(this.className&&pt._data(this,"__className__",this.className),this.className=this.className||e===!1?"":pt._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",n=0,i=this.length;i>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(Et," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,i,r,a=this[0];return arguments.length?(r=pt.isFunction(e),this.each(function(n){var a;1===this.nodeType&&(a=r?e.call(this,n,pt(this).val()):e,null==a?a="":"number"==typeof a?a+="":pt.isArray(a)&&(a=pt.map(a,function(e){return null==e?"":e+""})),i=pt.valHooks[this.type]||pt.valHooks[this.nodeName.toLowerCase()],i&&"set"in i&&i.set(this,a,"value")!==t||(this.value=a))})):a?(i=pt.valHooks[a.type]||pt.valHooks[a.nodeName.toLowerCase()],i&&"get"in i&&(n=i.get(a,"value"))!==t?n:(n=a.value,"string"==typeof n?n.replace(Dt,""):null==n?"":n)):void 0}}),pt.extend({valHooks:{option:{get:function(e){var t=pt.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){for(var t,n,i=e.options,r=e.selectedIndex,a="select-one"===e.type||0>r,o=a?null:[],s=a?r+1:i.length,c=0>r?s:a?r:0;s>c;c++)if(n=i[c],!(!n.selected&&c!==r||(pt.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&pt.nodeName(n.parentNode,"optgroup"))){if(t=pt(n).val(),a)return t;o.push(t)}return o},set:function(e,t){for(var n,i,r=e.options,a=pt.makeArray(t),o=r.length;o--;)i=r[o],(i.selected=pt.inArray(pt(i).val(),a)>=0)&&(n=!0);return n||(e.selectedIndex=-1),a}}},attr:function(e,n,i){var r,a,o=e.nodeType;return e&&3!==o&&8!==o&&2!==o?typeof e.getAttribute===X?pt.prop(e,n,i):(1===o&&pt.isXMLDoc(e)||(n=n.toLowerCase(),r=pt.attrHooks[n]||(pt.expr.match.bool.test(n)?At:Tt)),i===t?r&&"get"in r&&null!==(a=r.get(e,n))?a:(a=pt.find.attr(e,n),null==a?t:a):null!==i?r&&"set"in r&&(a=r.set(e,i,n))!==t?a:(e.setAttribute(n,i+""),i):(pt.removeAttr(e,n),t)):void 0},removeAttr:function(e,t){var n,i,r=0,a=t&&t.match(dt);if(a&&1===e.nodeType)for(;n=a[r++];)i=pt.propFix[n]||n,pt.expr.match.bool.test(n)?Bt&&Lt||!Nt.test(n)?e[i]=!1:e[pt.camelCase("default-"+n)]=e[i]=!1:pt.attr(e,n,""),e.removeAttribute(Lt?n:i)},attrHooks:{type:{set:function(e,t){if(!pt.support.radioValue&&"radio"===t&&pt.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,i){var r,a,o,s=e.nodeType;return e&&3!==s&&8!==s&&2!==s?(o=1!==s||!pt.isXMLDoc(e),o&&(n=pt.propFix[n]||n,a=pt.propHooks[n]),i!==t?a&&"set"in a&&(r=a.set(e,i,n))!==t?r:e[n]=i:a&&"get"in a&&null!==(r=a.get(e,n))?r:e[n]):void 0},propHooks:{tabIndex:{get:function(e){var t=pt.find.attr(e,"tabindex");return t?parseInt(t,10):It.test(e.nodeName)||Pt.test(e.nodeName)&&e.href?0:-1}}}}),At={set:function(e,t,n){return t===!1?pt.removeAttr(e,n):Bt&&Lt||!Nt.test(n)?e.setAttribute(!Lt&&pt.propFix[n]||n,n):e[pt.camelCase("default-"+n)]=e[n]=!0,n}},pt.each(pt.expr.match.bool.source.match(/\w+/g),function(e,n){var i=pt.expr.attrHandle[n]||pt.find.attr;pt.expr.attrHandle[n]=Bt&&Lt||!Nt.test(n)?function(e,n,r){var a=pt.expr.attrHandle[n],o=r?t:(pt.expr.attrHandle[n]=t)!=i(e,n,r)?n.toLowerCase():null;return pt.expr.attrHandle[n]=a,o}:function(e,n,i){return i?t:e[pt.camelCase("default-"+n)]?n.toLowerCase():null}}),Bt&&Lt||(pt.attrHooks.value={set:function(e,n,i){return pt.nodeName(e,"input")?(e.defaultValue=n,t):Tt&&Tt.set(e,n,i)}}),Lt||(Tt={set:function(e,n,i){var r=e.getAttributeNode(i);return r||e.setAttributeNode(r=e.ownerDocument.createAttribute(i)),r.value=n+="","value"===i||n===e.getAttribute(i)?n:t}},pt.expr.attrHandle.id=pt.expr.attrHandle.name=pt.expr.attrHandle.coords=function(e,n,i){var r;return i?t:(r=e.getAttributeNode(n))&&""!==r.value?r.value:null},pt.valHooks.button={get:function(e,n){var i=e.getAttributeNode(n);return i&&i.specified?i.value:t},set:Tt.set},pt.attrHooks.contenteditable={set:function(e,t,n){Tt.set(e,""===t?!1:t,n)}},pt.each(["width","height"],function(e,n){pt.attrHooks[n]={set:function(e,i){return""===i?(e.setAttribute(n,"auto"),i):t}}})),pt.support.hrefNormalized||pt.each(["href","src"],function(e,t){pt.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),pt.support.style||(pt.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),pt.support.optSelected||(pt.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),pt.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){pt.propFix[this.toLowerCase()]=this}),pt.support.enctype||(pt.propFix.enctype="encoding"),pt.each(["radio","checkbox"],function(){pt.valHooks[this]={set:function(e,n){return pt.isArray(n)?e.checked=pt.inArray(pt(e).val(),n)>=0:t}},pt.support.checkOn||(pt.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Ut=/^(?:input|select|textarea)$/i,Ot=/^key/,Ft=/^(?:mouse|contextmenu)|click/,Rt=/^(?:focusinfocus|focusoutblur)$/,qt=/^([^.]*)(?:\.(.+)|)$/;pt.event={global:{},add:function(e,n,i,r,a){var o,s,c,l,p,u,d,f,h,m,g,y=pt._data(e);if(y){for(i.handler&&(l=i,i=l.handler,a=l.selector),i.guid||(i.guid=pt.guid++),(s=y.events)||(s=y.events={}),(u=y.handle)||(u=y.handle=function(e){return typeof pt===X||e&&pt.event.triggered===e.type?t:pt.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=(n||"").match(dt)||[""],c=n.length;c--;)o=qt.exec(n[c])||[],h=g=o[1],m=(o[2]||"").split(".").sort(),h&&(p=pt.event.special[h]||{},h=(a?p.delegateType:p.bindType)||h,p=pt.event.special[h]||{},d=pt.extend({type:h,origType:g,data:r,handler:i,guid:i.guid,selector:a,needsContext:a&&pt.expr.match.needsContext.test(a),namespace:m.join(".")},l),(f=s[h])||(f=s[h]=[],f.delegateCount=0,p.setup&&p.setup.call(e,r,m,u)!==!1||(e.addEventListener?e.addEventListener(h,u,!1):e.attachEvent&&e.attachEvent("on"+h,u))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=i.guid)),a?f.splice(f.delegateCount++,0,d):f.push(d),pt.event.global[h]=!0);e=null}},remove:function(e,t,n,i,r){var a,o,s,c,l,p,u,d,f,h,m,g=pt.hasData(e)&&pt._data(e);if(g&&(p=g.events)){for(t=(t||"").match(dt)||[""],l=t.length;l--;)if(s=qt.exec(t[l])||[],f=m=s[1],h=(s[2]||"").split(".").sort(),f){for(u=pt.event.special[f]||{},f=(i?u.delegateType:u.bindType)||f,d=p[f]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),c=a=d.length;a--;)o=d[a],!r&&m!==o.origType||n&&n.guid!==o.guid||s&&!s.test(o.namespace)||i&&i!==o.selector&&("**"!==i||!o.selector)||(d.splice(a,1),o.selector&&d.delegateCount--,u.remove&&u.remove.call(e,o));c&&!d.length&&(u.teardown&&u.teardown.call(e,h,g.handle)!==!1||pt.removeEvent(e,f,g.handle),delete p[f])}else for(f in p)pt.event.remove(e,f+t[l],n,i,!0);pt.isEmptyObject(p)&&(delete g.handle,pt._removeData(e,"events"))}},trigger:function(n,i,r,a){var o,s,c,l,p,u,d,f=[r||K],h=ct.call(n,"type")?n.type:n,m=ct.call(n,"namespace")?n.namespace.split("."):[];if(c=u=r=r||K,3!==r.nodeType&&8!==r.nodeType&&!Rt.test(h+pt.event.triggered)&&(h.indexOf(".")>=0&&(m=h.split("."),h=m.shift(),m.sort()),s=0>h.indexOf(":")&&"on"+h,n=n[pt.expando]?n:new pt.Event(h,"object"==typeof n&&n),n.isTrigger=a?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=r),i=null==i?[n]:pt.makeArray(i,[n]),p=pt.event.special[h]||{},a||!p.trigger||p.trigger.apply(r,i)!==!1)){if(!a&&!p.noBubble&&!pt.isWindow(r)){for(l=p.delegateType||h,Rt.test(l+h)||(c=c.parentNode);c;c=c.parentNode)f.push(c),u=c;u===(r.ownerDocument||K)&&f.push(u.defaultView||u.parentWindow||e)}for(d=0;(c=f[d++])&&!n.isPropagationStopped();)n.type=d>1?l:p.bindType||h,o=(pt._data(c,"events")||{})[n.type]&&pt._data(c,"handle"),o&&o.apply(c,i),o=s&&c[s],o&&pt.acceptData(c)&&o.apply&&o.apply(c,i)===!1&&n.preventDefault();if(n.type=h,!a&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(f.pop(),i)===!1)&&pt.acceptData(r)&&s&&r[h]&&!pt.isWindow(r)){u=r[s],u&&(r[s]=null),pt.event.triggered=h;try{r[h]()}catch(g){}pt.event.triggered=t,u&&(r[s]=u)}return n.result}},dispatch:function(e){e=pt.event.fix(e);var n,i,r,a,o,s=[],c=at.call(arguments),l=(pt._data(this,"events")||{})[e.type]||[],p=pt.event.special[e.type]||{};if(c[0]=e,e.delegateTarget=this,!p.preDispatch||p.preDispatch.call(this,e)!==!1){for(s=pt.event.handlers.call(this,e,l),n=0;(a=s[n++])&&!e.isPropagationStopped();)for(e.currentTarget=a.elem,o=0;(r=a.handlers[o++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(r.namespace))&&(e.handleObj=r,e.data=r.data,i=((pt.event.special[r.origType]||{}).handle||r.handler).apply(a.elem,c),i!==t&&(e.result=i)===!1&&(e.preventDefault(),e.stopPropagation()));return p.postDispatch&&p.postDispatch.call(this,e),e.result}},handlers:function(e,n){var i,r,a,o,s=[],c=n.delegateCount,l=e.target;if(c&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(a=[],o=0;c>o;o++)r=n[o],i=r.selector+" ",a[i]===t&&(a[i]=r.needsContext?pt(i,this).index(l)>=0:pt.find(i,this,null,[l]).length),a[i]&&a.push(r);a.length&&s.push({elem:l,handlers:a})}return n.length>c&&s.push({elem:this,handlers:n.slice(c)}),s},fix:function(e){if(e[pt.expando])return e;var t,n,i,r=e.type,a=e,o=this.fixHooks[r];for(o||(this.fixHooks[r]=o=Ft.test(r)?this.mouseHooks:Ot.test(r)?this.keyHooks:{}),i=o.props?this.props.concat(o.props):this.props,e=new pt.Event(a),t=i.length;t--;)n=i[t],e[n]=a[n];return e.target||(e.target=a.srcElement||K),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,o.filter?o.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var i,r,a,o=n.button,s=n.fromElement;return null==e.pageX&&null!=n.clientX&&(r=e.target.ownerDocument||K,a=r.documentElement,i=r.body,e.pageX=n.clientX+(a&&a.scrollLeft||i&&i.scrollLeft||0)-(a&&a.clientLeft||i&&i.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||i&&i.scrollTop||0)-(a&&a.clientTop||i&&i.clientTop||0)),!e.relatedTarget&&s&&(e.relatedTarget=s===e.target?n.toElement:s),e.which||o===t||(e.which=1&o?1:2&o?3:4&o?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==p()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===p()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return pt.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return pt.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,i){var r=pt.extend(new pt.Event,n,{type:e,isSimulated:!0,originalEvent:{}});i?pt.event.trigger(r,null,t):pt.event.dispatch.call(t,r),r.isDefaultPrevented()&&n.preventDefault()}},pt.removeEvent=K.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var i="on"+t;e.detachEvent&&(typeof e[i]===X&&(e[i]=null),e.detachEvent(i,n))},pt.Event=function(e,n){return this instanceof pt.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?c:l):this.type=e,n&&pt.extend(this,n),this.timeStamp=e&&e.timeStamp||pt.now(),this[pt.expando]=!0,t):new pt.Event(e,n)},pt.Event.prototype={isDefaultPrevented:l,isPropagationStopped:l,isImmediatePropagationStopped:l,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=c,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=c,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=c,this.stopPropagation()}},pt.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){pt.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,i=this,r=e.relatedTarget,a=e.handleObj;return(!r||r!==i&&!pt.contains(i,r))&&(e.type=a.origType,n=a.handler.apply(this,arguments),e.type=t),n}}}),pt.support.submitBubbles||(pt.event.special.submit={setup:function(){return pt.nodeName(this,"form")?!1:(pt.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,i=pt.nodeName(n,"input")||pt.nodeName(n,"button")?n.form:t;i&&!pt._data(i,"submitBubbles")&&(pt.event.add(i,"submit._submit",function(e){e._submit_bubble=!0}),pt._data(i,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&pt.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return pt.nodeName(this,"form")?!1:(pt.event.remove(this,"._submit"),t)}}),pt.support.changeBubbles||(pt.event.special.change={setup:function(){return Ut.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(pt.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),pt.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),pt.event.simulate("change",this,e,!0)})),!1):(pt.event.add(this,"beforeactivate._change",function(e){var t=e.target;Ut.test(t.nodeName)&&!pt._data(t,"changeBubbles")&&(pt.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||pt.event.simulate("change",this.parentNode,e,!0)}),pt._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return pt.event.remove(this,"._change"),!Ut.test(this.nodeName)}}),pt.support.focusinBubbles||pt.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,i=function(e){pt.event.simulate(t,e.target,pt.event.fix(e),!0)};pt.event.special[t]={setup:function(){0===n++&&K.addEventListener(e,i,!0)},teardown:function(){0===--n&&K.removeEventListener(e,i,!0)}}}),pt.fn.extend({on:function(e,n,i,r,a){var o,s;if("object"==typeof e){"string"!=typeof n&&(i=i||n,n=t);for(o in e)this.on(o,n,i,e[o],a);return this}if(null==i&&null==r?(r=n,i=n=t):null==r&&("string"==typeof n?(r=i,i=t):(r=i,i=n,n=t)),r===!1)r=l;else if(!r)return this;return 1===a&&(s=r,r=function(e){return pt().off(e),s.apply(this,arguments)},r.guid=s.guid||(s.guid=pt.guid++)),this.each(function(){pt.event.add(this,e,r,i,n)})},one:function(e,t,n,i){return this.on(e,t,n,i,1)},off:function(e,n,i){var r,a;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,pt(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(a in e)this.off(a,n,e[a]);return this}return(n===!1||"function"==typeof n)&&(i=n,n=t),i===!1&&(i=l),this.each(function(){pt.event.remove(this,e,i,n)})},trigger:function(e,t){return this.each(function(){pt.event.trigger(e,t,this)})},triggerHandler:function(e,n){var i=this[0];return i?pt.event.trigger(e,n,i,!0):t}});var jt=/^.[^:#\[\.,]*$/,Ht=/^(?:parents|prev(?:Until|All))/,zt=pt.expr.match.needsContext,Vt={children:!0,contents:!0,next:!0,prev:!0};pt.fn.extend({find:function(e){var t,n=[],i=this,r=i.length;if("string"!=typeof e)return this.pushStack(pt(e).filter(function(){for(t=0;r>t;t++)if(pt.contains(i[t],this))return!0}));for(t=0;r>t;t++)pt.find(e,i[t],n);return n=this.pushStack(r>1?pt.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=pt(e,this),i=n.length;return this.filter(function(){for(t=0;i>t;t++)if(pt.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(d(this,e||[],!0))},filter:function(e){return this.pushStack(d(this,e||[],!1))},is:function(e){return!!d(this,"string"==typeof e&&zt.test(e)?pt(e):e||[],!1).length},closest:function(e,t){for(var n,i=0,r=this.length,a=[],o=zt.test(e)||"string"!=typeof e?pt(e,t||this.context):0;r>i;i++)for(n=this[i];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(o?o.index(n)>-1:1===n.nodeType&&pt.find.matchesSelector(n,e))){n=a.push(n);break}return this.pushStack(a.length>1?pt.unique(a):a)},index:function(e){return e?"string"==typeof e?pt.inArray(this[0],pt(e)):pt.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?pt(e,t):pt.makeArray(e&&e.nodeType?[e]:e),i=pt.merge(this.get(),n);return this.pushStack(pt.unique(i))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),pt.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return pt.dir(e,"parentNode")},parentsUntil:function(e,t,n){return pt.dir(e,"parentNode",n)},next:function(e){return u(e,"nextSibling")},prev:function(e){return u(e,"previousSibling")},nextAll:function(e){return pt.dir(e,"nextSibling")},prevAll:function(e){return pt.dir(e,"previousSibling")},nextUntil:function(e,t,n){return pt.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return pt.dir(e,"previousSibling",n)},siblings:function(e){return pt.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return pt.sibling(e.firstChild)},contents:function(e){return pt.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:pt.merge([],e.childNodes)}},function(e,t){pt.fn[e]=function(n,i){var r=pt.map(this,t,n);return"Until"!==e.slice(-5)&&(i=n),i&&"string"==typeof i&&(r=pt.filter(i,r)),this.length>1&&(Vt[e]||(r=pt.unique(r)),Ht.test(e)&&(r=r.reverse())),this.pushStack(r)}}),pt.extend({filter:function(e,t,n){var i=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===i.nodeType?pt.find.matchesSelector(i,e)?[i]:[]:pt.find.matches(e,pt.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,i){for(var r=[],a=e[n];a&&9!==a.nodeType&&(i===t||1!==a.nodeType||!pt(a).is(i));)1===a.nodeType&&r.push(a),a=a[n];return r},sibling:function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});var Wt="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Gt=/ jQuery\d+="(?:null|\d+)"/g,Xt=RegExp("<(?:"+Wt+")[\\s/>]","i"),Zt=/^\s+/,Kt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Yt=/<([\w:]+)/,Qt=/<tbody/i,Jt=/<|&#?\w+;/,en=/<(?:script|style|link)/i,tn=/^(?:checkbox|radio)$/i,nn=/checked\s*(?:[^=]|=\s*.checked.)/i,rn=/^$|\/(?:java|ecma)script/i,an=/^true\/(.*)/,on=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,sn={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:pt.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},cn=f(K),ln=cn.appendChild(K.createElement("div"));sn.optgroup=sn.option,sn.tbody=sn.tfoot=sn.colgroup=sn.caption=sn.thead,sn.th=sn.td,pt.fn.extend({text:function(e){return pt.access(this,function(e){return e===t?pt.text(this):this.empty().append((this[0]&&this[0].ownerDocument||K).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=h(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=h(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){for(var n,i=e?pt.filter(e,this):this,r=0;null!=(n=i[r]);r++)t||1!==n.nodeType||pt.cleanData(b(n)),n.parentNode&&(t&&pt.contains(n.ownerDocument,n)&&y(b(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&pt.cleanData(b(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&pt.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return pt.clone(this,e,t)})},html:function(e){return pt.access(this,function(e){var n=this[0]||{},i=0,r=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(Gt,""):t;if(!("string"!=typeof e||en.test(e)||!pt.support.htmlSerialize&&Xt.test(e)||!pt.support.leadingWhitespace&&Zt.test(e)||sn[(Yt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(Kt,"<$1></$2>");try{for(;r>i;i++)n=this[i]||{},1===n.nodeType&&(pt.cleanData(b(n,!1)),n.innerHTML=e);n=0}catch(a){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=pt.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var i=e[t++],r=e[t++];r&&(i&&i.parentNode!==r&&(i=this.nextSibling),pt(this).remove(),r.insertBefore(n,i))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=it.apply([],e);var i,r,a,o,s,c,l=0,p=this.length,u=this,d=p-1,f=e[0],h=pt.isFunction(f);if(h||!(1>=p||"string"!=typeof f||pt.support.checkClone)&&nn.test(f))return this.each(function(i){var r=u.eq(i);h&&(e[0]=f.call(this,i,r.html())),r.domManip(e,t,n)});if(p&&(c=pt.buildFragment(e,this[0].ownerDocument,!1,!n&&this),i=c.firstChild,1===c.childNodes.length&&(c=i),i)){for(o=pt.map(b(c,"script"),m),a=o.length;p>l;l++)r=c,l!==d&&(r=pt.clone(r,!0,!0),a&&pt.merge(o,b(r,"script"))),t.call(this[l],r,l);if(a)for(s=o[o.length-1].ownerDocument,pt.map(o,g),l=0;a>l;l++)r=o[l],rn.test(r.type||"")&&!pt._data(r,"globalEval")&&pt.contains(s,r)&&(r.src?pt._evalUrl(r.src):pt.globalEval((r.text||r.textContent||r.innerHTML||"").replace(on,"")));c=i=null}return this}}),pt.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){pt.fn[e]=function(e){for(var n,i=0,r=[],a=pt(e),o=a.length-1;o>=i;i++)n=i===o?this:this.clone(!0),pt(a[i])[t](n),rt.apply(r,n.get());return this.pushStack(r)}}),pt.extend({clone:function(e,t,n){var i,r,a,o,s,c=pt.contains(e.ownerDocument,e);if(pt.support.html5Clone||pt.isXMLDoc(e)||!Xt.test("<"+e.nodeName+">")?a=e.cloneNode(!0):(ln.innerHTML=e.outerHTML,ln.removeChild(a=ln.firstChild)),!(pt.support.noCloneEvent&&pt.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||pt.isXMLDoc(e)))for(i=b(a),s=b(e),o=0;null!=(r=s[o]);++o)i[o]&&_(r,i[o]);if(t)if(n)for(s=s||b(e),i=i||b(a),o=0;null!=(r=s[o]);o++)v(r,i[o]);else v(e,a);return i=b(a,"script"),i.length>0&&y(i,!c&&b(e,"script")),i=s=r=null,a},buildFragment:function(e,t,n,i){for(var r,a,o,s,c,l,p,u=e.length,d=f(t),h=[],m=0;u>m;m++)if(a=e[m],a||0===a)if("object"===pt.type(a))pt.merge(h,a.nodeType?[a]:a);else if(Jt.test(a)){for(s=s||d.appendChild(t.createElement("div")),c=(Yt.exec(a)||["",""])[1].toLowerCase(),p=sn[c]||sn._default,s.innerHTML=p[1]+a.replace(Kt,"<$1></$2>")+p[2],r=p[0];r--;)s=s.lastChild;if(!pt.support.leadingWhitespace&&Zt.test(a)&&h.push(t.createTextNode(Zt.exec(a)[0])),!pt.support.tbody)for(a="table"!==c||Qt.test(a)?"<table>"!==p[1]||Qt.test(a)?0:s:s.firstChild,r=a&&a.childNodes.length;r--;)pt.nodeName(l=a.childNodes[r],"tbody")&&!l.childNodes.length&&a.removeChild(l);for(pt.merge(h,s.childNodes),s.textContent="";s.firstChild;)s.removeChild(s.firstChild);s=d.lastChild}else h.push(t.createTextNode(a));for(s&&d.removeChild(s),pt.support.appendChecked||pt.grep(b(h,"input"),w),m=0;a=h[m++];)if((!i||-1===pt.inArray(a,i))&&(o=pt.contains(a.ownerDocument,a),s=b(d.appendChild(a),"script"),o&&y(s),n))for(r=0;a=s[r++];)rn.test(a.type||"")&&n.push(a);return s=null,d},cleanData:function(e,t){for(var n,i,r,a,o=0,s=pt.expando,c=pt.cache,l=pt.support.deleteExpando,p=pt.event.special;null!=(n=e[o]);o++)if((t||pt.acceptData(n))&&(r=n[s],a=r&&c[r])){if(a.events)for(i in a.events)p[i]?pt.event.remove(n,i):pt.removeEvent(n,i,a.handle);c[r]&&(delete c[r],l?delete n[s]:typeof n.removeAttribute!==X?n.removeAttribute(s):n[s]=null,tt.push(r))}},_evalUrl:function(e){return pt.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),pt.fn.extend({wrapAll:function(e){if(pt.isFunction(e))return this.each(function(t){pt(this).wrapAll(e.call(this,t))});if(this[0]){var t=pt(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return this.each(pt.isFunction(e)?function(t){pt(this).wrapInner(e.call(this,t))}:function(){var t=pt(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=pt.isFunction(e);return this.each(function(n){pt(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){pt.nodeName(this,"body")||pt(this).replaceWith(this.childNodes)}).end()}});var pn,un,dn,fn=/alpha\([^)]*\)/i,hn=/opacity\s*=\s*([^)]*)/,mn=/^(top|right|bottom|left)$/,gn=/^(none|table(?!-c[ea]).+)/,yn=/^margin/,vn=RegExp("^("+ut+")(.*)$","i"),_n=RegExp("^("+ut+")(?!px)[a-z%]+$","i"),bn=RegExp("^([+-])=("+ut+")","i"),wn={BODY:"block"},$n={position:"absolute",visibility:"hidden",display:"block"},Sn={letterSpacing:0,fontWeight:400},xn=["Top","Right","Bottom","Left"],Mn=["Webkit","O","Moz","ms"];
pt.fn.extend({css:function(e,n){return pt.access(this,function(e,n,i){var r,a,o={},s=0;if(pt.isArray(n)){for(a=un(e),r=n.length;r>s;s++)o[n[s]]=pt.css(e,n[s],!1,a);return o}return i!==t?pt.style(e,n,i):pt.css(e,n)},e,n,arguments.length>1)},show:function(){return x(this,!0)},hide:function(){return x(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){S(this)?pt(this).show():pt(this).hide()})}}),pt.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=dn(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":pt.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,i,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var a,o,s,c=pt.camelCase(n),l=e.style;if(n=pt.cssProps[c]||(pt.cssProps[c]=$(l,c)),s=pt.cssHooks[n]||pt.cssHooks[c],i===t)return s&&"get"in s&&(a=s.get(e,!1,r))!==t?a:l[n];if(o=typeof i,"string"===o&&(a=bn.exec(i))&&(i=(a[1]+1)*a[2]+parseFloat(pt.css(e,n)),o="number"),!(null==i||"number"===o&&isNaN(i)||("number"!==o||pt.cssNumber[c]||(i+="px"),pt.support.clearCloneStyle||""!==i||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(i=s.set(e,i,r))===t)))try{l[n]=i}catch(p){}}},css:function(e,n,i,r){var a,o,s,c=pt.camelCase(n);return n=pt.cssProps[c]||(pt.cssProps[c]=$(e.style,c)),s=pt.cssHooks[n]||pt.cssHooks[c],s&&"get"in s&&(o=s.get(e,!0,i)),o===t&&(o=dn(e,n,r)),"normal"===o&&n in Sn&&(o=Sn[n]),""===i||i?(a=parseFloat(o),i===!0||pt.isNumeric(a)?a||0:o):o}}),e.getComputedStyle?(un=function(t){return e.getComputedStyle(t,null)},dn=function(e,n,i){var r,a,o,s=i||un(e),c=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==c||pt.contains(e.ownerDocument,e)||(c=pt.style(e,n)),_n.test(c)&&yn.test(n)&&(r=l.width,a=l.minWidth,o=l.maxWidth,l.minWidth=l.maxWidth=l.width=c,c=s.width,l.width=r,l.minWidth=a,l.maxWidth=o)),c}):K.documentElement.currentStyle&&(un=function(e){return e.currentStyle},dn=function(e,n,i){var r,a,o,s=i||un(e),c=s?s[n]:t,l=e.style;return null==c&&l&&l[n]&&(c=l[n]),_n.test(c)&&!mn.test(n)&&(r=l.left,a=e.runtimeStyle,o=a&&a.left,o&&(a.left=e.currentStyle.left),l.left="fontSize"===n?"1em":c,c=l.pixelLeft+"px",l.left=r,o&&(a.left=o)),""===c?"auto":c}),pt.each(["height","width"],function(e,n){pt.cssHooks[n]={get:function(e,i,r){return i?0===e.offsetWidth&&gn.test(pt.css(e,"display"))?pt.swap(e,$n,function(){return k(e,n,r)}):k(e,n,r):t},set:function(e,t,i){var r=i&&un(e);return M(e,t,i?C(e,n,i,pt.support.boxSizing&&"border-box"===pt.css(e,"boxSizing",!1,r),r):0)}}}),pt.support.opacity||(pt.cssHooks.opacity={get:function(e,t){return hn.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,i=e.currentStyle,r=pt.isNumeric(t)?"alpha(opacity="+100*t+")":"",a=i&&i.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===pt.trim(a.replace(fn,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||i&&!i.filter)||(n.filter=fn.test(a)?a.replace(fn,r):a+" "+r)}}),pt(function(){pt.support.reliableMarginRight||(pt.cssHooks.marginRight={get:function(e,n){return n?pt.swap(e,{display:"inline-block"},dn,[e,"marginRight"]):t}}),!pt.support.pixelPosition&&pt.fn.position&&pt.each(["top","left"],function(e,n){pt.cssHooks[n]={get:function(e,i){return i?(i=dn(e,n),_n.test(i)?pt(e).position()[n]+"px":i):t}}})}),pt.expr&&pt.expr.filters&&(pt.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!pt.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||pt.css(e,"display"))},pt.expr.filters.visible=function(e){return!pt.expr.filters.hidden(e)}),pt.each({margin:"",padding:"",border:"Width"},function(e,t){pt.cssHooks[e+t]={expand:function(n){for(var i=0,r={},a="string"==typeof n?n.split(" "):[n];4>i;i++)r[e+xn[i]+t]=a[i]||a[i-2]||a[0];return r}},yn.test(e)||(pt.cssHooks[e+t].set=M)});var Cn=/%20/g,kn=/\[\]$/,Tn=/\r?\n/g,An=/^(?:submit|button|image|reset|file)$/i,En=/^(?:input|select|textarea|keygen)/i;pt.fn.extend({serialize:function(){return pt.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=pt.prop(this,"elements");return e?pt.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!pt(this).is(":disabled")&&En.test(this.nodeName)&&!An.test(e)&&(this.checked||!tn.test(e))}).map(function(e,t){var n=pt(this).val();return null==n?null:pt.isArray(n)?pt.map(n,function(e){return{name:t.name,value:e.replace(Tn,"\r\n")}}):{name:t.name,value:n.replace(Tn,"\r\n")}}).get()}}),pt.param=function(e,n){var i,r=[],a=function(e,t){t=pt.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=pt.ajaxSettings&&pt.ajaxSettings.traditional),pt.isArray(e)||e.jquery&&!pt.isPlainObject(e))pt.each(e,function(){a(this.name,this.value)});else for(i in e)E(i,e[i],n,a);return r.join("&").replace(Cn,"+")},pt.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){pt.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),pt.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,i){return this.on(t,e,n,i)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var Dn,In,Pn=pt.now(),Nn=/\?/,Ln=/#.*$/,Bn=/([?&])_=[^&]*/,Un=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,On=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Fn=/^(?:GET|HEAD)$/,Rn=/^\/\//,qn=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,jn=pt.fn.load,Hn={},zn={},Vn="*/".concat("*");try{In=Z.href}catch(Wn){In=K.createElement("a"),In.href="",In=In.href}Dn=qn.exec(In.toLowerCase())||[],pt.fn.load=function(e,n,i){if("string"!=typeof e&&jn)return jn.apply(this,arguments);var r,a,o,s=this,c=e.indexOf(" ");return c>=0&&(r=e.slice(c,e.length),e=e.slice(0,c)),pt.isFunction(n)?(i=n,n=t):n&&"object"==typeof n&&(o="POST"),s.length>0&&pt.ajax({url:e,type:o,dataType:"html",data:n}).done(function(e){a=arguments,s.html(r?pt("<div>").append(pt.parseHTML(e)).find(r):e)}).complete(i&&function(e,t){s.each(i,a||[e.responseText,t,e])}),this},pt.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){pt.fn[t]=function(e){return this.on(t,e)}}),pt.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:In,type:"GET",isLocal:On.test(Dn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Vn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":pt.parseJSON,"text xml":pt.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?P(P(e,pt.ajaxSettings),t):P(pt.ajaxSettings,e)},ajaxPrefilter:D(Hn),ajaxTransport:D(zn),ajax:function(e,n){function i(e,n,i,r){var a,u,v,_,w,S=n;2!==b&&(b=2,c&&clearTimeout(c),p=t,s=r||"",$.readyState=e>0?4:0,a=e>=200&&300>e||304===e,i&&(_=N(d,$,i)),_=L(d,_,$,a),a?(d.ifModified&&(w=$.getResponseHeader("Last-Modified"),w&&(pt.lastModified[o]=w),w=$.getResponseHeader("etag"),w&&(pt.etag[o]=w)),204===e||"HEAD"===d.type?S="nocontent":304===e?S="notmodified":(S=_.state,u=_.data,v=_.error,a=!v)):(v=S,(e||!S)&&(S="error",0>e&&(e=0))),$.status=e,$.statusText=(n||S)+"",a?m.resolveWith(f,[u,S,$]):m.rejectWith(f,[$,S,v]),$.statusCode(y),y=t,l&&h.trigger(a?"ajaxSuccess":"ajaxError",[$,d,a?u:v]),g.fireWith(f,[$,S]),l&&(h.trigger("ajaxComplete",[$,d]),--pt.active||pt.event.trigger("ajaxStop")))}"object"==typeof e&&(n=e,e=t),n=n||{};var r,a,o,s,c,l,p,u,d=pt.ajaxSetup({},n),f=d.context||d,h=d.context&&(f.nodeType||f.jquery)?pt(f):pt.event,m=pt.Deferred(),g=pt.Callbacks("once memory"),y=d.statusCode||{},v={},_={},b=0,w="canceled",$={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!u)for(u={};t=Un.exec(s);)u[t[1].toLowerCase()]=t[2];t=u[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?s:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=_[n]=_[n]||e,v[e]=t),this},overrideMimeType:function(e){return b||(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)y[t]=[y[t],e[t]];else $.always(e[$.status]);return this},abort:function(e){var t=e||w;return p&&p.abort(t),i(0,t),this}};if(m.promise($).complete=g.add,$.success=$.done,$.error=$.fail,d.url=((e||d.url||In)+"").replace(Ln,"").replace(Rn,Dn[1]+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=pt.trim(d.dataType||"*").toLowerCase().match(dt)||[""],null==d.crossDomain&&(r=qn.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]===Dn[1]&&r[2]===Dn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(Dn[3]||("http:"===Dn[1]?"80":"443")))),d.data&&d.processData&&"string"!=typeof d.data&&(d.data=pt.param(d.data,d.traditional)),I(Hn,d,n,$),2===b)return $;l=d.global,l&&0===pt.active++&&pt.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Fn.test(d.type),o=d.url,d.hasContent||(d.data&&(o=d.url+=(Nn.test(o)?"&":"?")+d.data,delete d.data),d.cache===!1&&(d.url=Bn.test(o)?o.replace(Bn,"$1_="+Pn++):o+(Nn.test(o)?"&":"?")+"_="+Pn++)),d.ifModified&&(pt.lastModified[o]&&$.setRequestHeader("If-Modified-Since",pt.lastModified[o]),pt.etag[o]&&$.setRequestHeader("If-None-Match",pt.etag[o])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&$.setRequestHeader("Content-Type",d.contentType),$.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Vn+"; q=0.01":""):d.accepts["*"]);for(a in d.headers)$.setRequestHeader(a,d.headers[a]);if(d.beforeSend&&(d.beforeSend.call(f,$,d)===!1||2===b))return $.abort();w="abort";for(a in{success:1,error:1,complete:1})$[a](d[a]);if(p=I(zn,d,n,$)){$.readyState=1,l&&h.trigger("ajaxSend",[$,d]),d.async&&d.timeout>0&&(c=setTimeout(function(){$.abort("timeout")},d.timeout));try{b=1,p.send(v,i)}catch(S){if(!(2>b))throw S;i(-1,S)}}else i(-1,"No Transport");return $},getJSON:function(e,t,n){return pt.get(e,t,n,"json")},getScript:function(e,n){return pt.get(e,t,n,"script")}}),pt.each(["get","post"],function(e,n){pt[n]=function(e,i,r,a){return pt.isFunction(i)&&(a=a||r,r=i,i=t),pt.ajax({url:e,type:n,dataType:a,data:i,success:r})}}),pt.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return pt.globalEval(e),e}}}),pt.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),pt.ajaxTransport("script",function(e){if(e.crossDomain){var n,i=K.head||pt("head")[0]||K.documentElement;return{send:function(t,r){n=K.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||r(200,"success"))},i.insertBefore(n,i.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Gn=[],Xn=/(=)\?(?=&|$)|\?\?/;pt.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gn.pop()||pt.expando+"_"+Pn++;return this[e]=!0,e}}),pt.ajaxPrefilter("json jsonp",function(n,i,r){var a,o,s,c=n.jsonp!==!1&&(Xn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Xn.test(n.data)&&"data");return c||"jsonp"===n.dataTypes[0]?(a=n.jsonpCallback=pt.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,c?n[c]=n[c].replace(Xn,"$1"+a):n.jsonp!==!1&&(n.url+=(Nn.test(n.url)?"&":"?")+n.jsonp+"="+a),n.converters["script json"]=function(){return s||pt.error(a+" was not called"),s[0]},n.dataTypes[0]="json",o=e[a],e[a]=function(){s=arguments},r.always(function(){e[a]=o,n[a]&&(n.jsonpCallback=i.jsonpCallback,Gn.push(a)),s&&pt.isFunction(o)&&o(s[0]),s=o=t}),"script"):t});var Zn,Kn,Yn=0,Qn=e.ActiveXObject&&function(){var e;for(e in Zn)Zn[e](t,!0)};pt.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&B()||U()}:B,Kn=pt.ajaxSettings.xhr(),pt.support.cors=!!Kn&&"withCredentials"in Kn,Kn=pt.support.ajax=!!Kn,Kn&&pt.ajaxTransport(function(n){if(!n.crossDomain||pt.support.cors){var i;return{send:function(r,a){var o,s,c=n.xhr();if(n.username?c.open(n.type,n.url,n.async,n.username,n.password):c.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)c[s]=n.xhrFields[s];n.mimeType&&c.overrideMimeType&&c.overrideMimeType(n.mimeType),n.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest");try{for(s in r)c.setRequestHeader(s,r[s])}catch(l){}c.send(n.hasContent&&n.data||null),i=function(e,r){var s,l,p,u;try{if(i&&(r||4===c.readyState))if(i=t,o&&(c.onreadystatechange=pt.noop,Qn&&delete Zn[o]),r)4!==c.readyState&&c.abort();else{u={},s=c.status,l=c.getAllResponseHeaders(),"string"==typeof c.responseText&&(u.text=c.responseText);try{p=c.statusText}catch(d){p=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=u.text?200:404}}catch(f){r||a(-1,f)}u&&a(s,p,u,l)},n.async?4===c.readyState?setTimeout(i):(o=++Yn,Qn&&(Zn||(Zn={},pt(e).unload(Qn)),Zn[o]=i),c.onreadystatechange=i):i()},abort:function(){i&&i(t,!0)}}}});var Jn,ei,ti=/^(?:toggle|show|hide)$/,ni=RegExp("^(?:([+-])=|)("+ut+")([a-z%]*)$","i"),ii=/queueHooks$/,ri=[j],ai={"*":[function(e,t){var n=this.createTween(e,t),i=n.cur(),r=ni.exec(t),a=r&&r[3]||(pt.cssNumber[e]?"":"px"),o=(pt.cssNumber[e]||"px"!==a&&+i)&&ni.exec(pt.css(n.elem,e)),s=1,c=20;if(o&&o[3]!==a){a=a||o[3],r=r||[],o=+i||1;do s=s||".5",o/=s,pt.style(n.elem,e,o+a);while(s!==(s=n.cur()/i)&&1!==s&&--c)}return r&&(o=n.start=+o||+i||0,n.unit=a,n.end=r[1]?o+(r[1]+1)*r[2]:+r[2]),n}]};pt.Animation=pt.extend(R,{tweener:function(e,t){pt.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var n,i=0,r=e.length;r>i;i++)n=e[i],ai[n]=ai[n]||[],ai[n].unshift(t)},prefilter:function(e,t){t?ri.unshift(e):ri.push(e)}}),pt.Tween=H,H.prototype={constructor:H,init:function(e,t,n,i,r,a){this.elem=e,this.prop=n,this.easing=r||"swing",this.options=t,this.start=this.now=this.cur(),this.end=i,this.unit=a||(pt.cssNumber[n]?"":"px")},cur:function(){var e=H.propHooks[this.prop];return e&&e.get?e.get(this):H.propHooks._default.get(this)},run:function(e){var t,n=H.propHooks[this.prop];return this.pos=t=this.options.duration?pt.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):H.propHooks._default.set(this),this}},H.prototype.init.prototype=H.prototype,H.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=pt.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){pt.fx.step[e.prop]?pt.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[pt.cssProps[e.prop]]||pt.cssHooks[e.prop])?pt.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},H.propHooks.scrollTop=H.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},pt.each(["toggle","show","hide"],function(e,t){var n=pt.fn[t];pt.fn[t]=function(e,i,r){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(z(t,!0),e,i,r)}}),pt.fn.extend({fadeTo:function(e,t,n,i){return this.filter(S).css("opacity",0).show().end().animate({opacity:t},e,n,i)},animate:function(e,t,n,i){var r=pt.isEmptyObject(e),a=pt.speed(t,n,i),o=function(){var t=R(this,pt.extend({},e),a);(r||pt._data(this,"finish"))&&t.stop(!0)};return o.finish=o,r||a.queue===!1?this.each(o):this.queue(a.queue,o)},stop:function(e,n,i){var r=function(e){var t=e.stop;delete e.stop,t(i)};return"string"!=typeof e&&(i=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",a=pt.timers,o=pt._data(this);if(n)o[n]&&o[n].stop&&r(o[n]);else for(n in o)o[n]&&o[n].stop&&ii.test(n)&&r(o[n]);for(n=a.length;n--;)a[n].elem!==this||null!=e&&a[n].queue!==e||(a[n].anim.stop(i),t=!1,a.splice(n,1));(t||!i)&&pt.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=pt._data(this),i=n[e+"queue"],r=n[e+"queueHooks"],a=pt.timers,o=i?i.length:0;for(n.finish=!0,pt.queue(this,e,[]),r&&r.stop&&r.stop.call(this,!0),t=a.length;t--;)a[t].elem===this&&a[t].queue===e&&(a[t].anim.stop(!0),a.splice(t,1));for(t=0;o>t;t++)i[t]&&i[t].finish&&i[t].finish.call(this);delete n.finish})}}),pt.each({slideDown:z("show"),slideUp:z("hide"),slideToggle:z("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){pt.fn[e]=function(e,n,i){return this.animate(t,e,n,i)}}),pt.speed=function(e,t,n){var i=e&&"object"==typeof e?pt.extend({},e):{complete:n||!n&&t||pt.isFunction(e)&&e,duration:e,easing:n&&t||t&&!pt.isFunction(t)&&t};return i.duration=pt.fx.off?0:"number"==typeof i.duration?i.duration:i.duration in pt.fx.speeds?pt.fx.speeds[i.duration]:pt.fx.speeds._default,(null==i.queue||i.queue===!0)&&(i.queue="fx"),i.old=i.complete,i.complete=function(){pt.isFunction(i.old)&&i.old.call(this),i.queue&&pt.dequeue(this,i.queue)},i},pt.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},pt.timers=[],pt.fx=H.prototype.init,pt.fx.tick=function(){var e,n=pt.timers,i=0;for(Jn=pt.now();n.length>i;i++)e=n[i],e()||n[i]!==e||n.splice(i--,1);n.length||pt.fx.stop(),Jn=t},pt.fx.timer=function(e){e()&&pt.timers.push(e)&&pt.fx.start()},pt.fx.interval=13,pt.fx.start=function(){ei||(ei=setInterval(pt.fx.tick,pt.fx.interval))},pt.fx.stop=function(){clearInterval(ei),ei=null},pt.fx.speeds={slow:600,fast:200,_default:400},pt.fx.step={},pt.expr&&pt.expr.filters&&(pt.expr.filters.animated=function(e){return pt.grep(pt.timers,function(t){return e===t.elem}).length}),pt.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){pt.offset.setOffset(this,e,t)});var n,i,r={top:0,left:0},a=this[0],o=a&&a.ownerDocument;return o?(n=o.documentElement,pt.contains(n,a)?(typeof a.getBoundingClientRect!==X&&(r=a.getBoundingClientRect()),i=V(o),{top:r.top+(i.pageYOffset||n.scrollTop)-(n.clientTop||0),left:r.left+(i.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):r):void 0},pt.offset={setOffset:function(e,t,n){var i=pt.css(e,"position");"static"===i&&(e.style.position="relative");var r,a,o=pt(e),s=o.offset(),c=pt.css(e,"top"),l=pt.css(e,"left"),p=("absolute"===i||"fixed"===i)&&pt.inArray("auto",[c,l])>-1,u={},d={};p?(d=o.position(),r=d.top,a=d.left):(r=parseFloat(c)||0,a=parseFloat(l)||0),pt.isFunction(t)&&(t=t.call(e,n,s)),null!=t.top&&(u.top=t.top-s.top+r),null!=t.left&&(u.left=t.left-s.left+a),"using"in t?t.using.call(e,u):o.css(u)}},pt.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},i=this[0];return"fixed"===pt.css(i,"position")?t=i.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),pt.nodeName(e[0],"html")||(n=e.offset()),n.top+=pt.css(e[0],"borderTopWidth",!0),n.left+=pt.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-pt.css(i,"marginTop",!0),left:t.left-n.left-pt.css(i,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||Y;e&&!pt.nodeName(e,"html")&&"static"===pt.css(e,"position");)e=e.offsetParent;return e||Y})}}),pt.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var i=/Y/.test(n);pt.fn[e]=function(r){return pt.access(this,function(e,r,a){var o=V(e);return a===t?o?n in o?o[n]:o.document.documentElement[r]:e[r]:(o?o.scrollTo(i?pt(o).scrollLeft():a,i?a:pt(o).scrollTop()):e[r]=a,t)},e,r,arguments.length,null)}}),pt.each({Height:"height",Width:"width"},function(e,n){pt.each({padding:"inner"+e,content:n,"":"outer"+e},function(i,r){pt.fn[r]=function(r,a){var o=arguments.length&&(i||"boolean"!=typeof r),s=i||(r===!0||a===!0?"margin":"border");return pt.access(this,function(n,i,r){var a;return pt.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(a=n.documentElement,Math.max(n.body["scroll"+e],a["scroll"+e],n.body["offset"+e],a["offset"+e],a["client"+e])):r===t?pt.css(n,i,s):pt.style(n,i,r,s)},n,o?r:t,o,null)}})}),pt.fn.size=function(){return this.length},pt.fn.andSelf=pt.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=pt:(e.jQuery=e.$=pt,"function"==typeof define&&define.amd&&define("jquery",[],function(){return pt}))}(window),function(e,t,n){"use strict";var i,r,a,o,s,c,l,p,u,d,f,h,m,g,y,v,_,b,w,$,S,x,M,C,k,T,A,E,D;S={paneClass:"pane",sliderClass:"slider",contentClass:"content",iOSNativeScrolling:!1,preventPageScrolling:!1,disableResize:!1,alwaysVisible:!1,flashDelay:1500,sliderMinHeight:20,sliderMaxHeight:null,documentContext:null,windowContext:null},v="scrollbar",y="scroll",p="mousedown",u="mousemove",f="mousewheel",d="mouseup",g="resize",s="drag",b="up",m="panedown",a="DOMMouseScroll",o="down",w="wheel",c="keydown",l="keyup",_="touchmove",i="Microsoft Internet Explorer"===t.navigator.appName&&/msie 7./i.test(t.navigator.appVersion)&&t.ActiveXObject,r=null,k=t.requestAnimationFrame,$=t.cancelAnimationFrame,A=n.createElement("div").style,D=function(){var e,t,n,i,r,a;for(i=["t","webkitT","MozT","msT","OT"],e=r=0,a=i.length;a>r;e=++r)if(n=i[e],t=i[e]+"ransform",t in A)return i[e].substr(0,i[e].length-1);return!1}(),E=function(e){return D===!1?!1:""===D?e:D+e.charAt(0).toUpperCase()+e.substr(1)},T=E("transform"),M=T!==!1,x=function(){var e,t,i;return e=n.createElement("div"),t=e.style,t.position="absolute",t.width="100px",t.height="100px",t.overflow=y,t.top="-9999px",n.body.appendChild(e),i=e.offsetWidth-e.clientWidth,n.body.removeChild(e),i},C=function(){var e,n,i;return n=t.navigator.userAgent,(e=/(?=.+Mac OS X)(?=.+Firefox)/.test(n))?(i=/Firefox\/\d{2}\./.exec(n),i&&(i=i[0].replace(/\D+/g,"")),e&&+i>23):!1},h=function(){function c(i,a){this.el=i,this.options=a,r||(r=x()),this.$el=e(this.el),this.doc=e(this.options.documentContext||n),this.win=e(this.options.windowContext||t),this.$content=this.$el.children("."+a.contentClass),this.$content.attr("tabindex",this.options.tabIndex||0),this.content=this.$content[0],this.options.iOSNativeScrolling&&null!=this.el.style.WebkitOverflowScrolling?this.nativeScrolling():this.generate(),this.createEvents(),this.addEvents(),this.reset()}return c.prototype.preventScrolling=function(e,t){if(this.isActive)if(e.type===a)(t===o&&e.originalEvent.detail>0||t===b&&e.originalEvent.detail<0)&&e.preventDefault();else if(e.type===f){if(!e.originalEvent||!e.originalEvent.wheelDelta)return;(t===o&&e.originalEvent.wheelDelta<0||t===b&&e.originalEvent.wheelDelta>0)&&e.preventDefault()}},c.prototype.nativeScrolling=function(){this.$content.css({WebkitOverflowScrolling:"touch"}),this.iOSNativeScrolling=!0,this.isActive=!0},c.prototype.updateScrollValues=function(){var e;e=this.content,this.maxScrollTop=e.scrollHeight-e.clientHeight,this.prevScrollTop=this.contentScrollTop||0,this.contentScrollTop=e.scrollTop,this.iOSNativeScrolling||(this.maxSliderTop=this.paneHeight-this.sliderHeight,this.sliderTop=0===this.maxScrollTop?0:this.contentScrollTop*this.maxSliderTop/this.maxScrollTop)},c.prototype.setOnScrollStyles=function(){var e,t=this;M?(e={},e[T]="translate(0, "+this.sliderTop+"px)"):e={top:this.sliderTop},k?this.scrollRAF||(this.scrollRAF=k(function(){t.scrollRAF=null,t.slider.css(e)})):this.slider.css(e)},c.prototype.createEvents=function(){var e=this;this.events={down:function(t){return e.isBeingDragged=!0,e.offsetY=t.pageY-e.slider.offset().top,e.pane.addClass("active"),e.doc.bind(u,e.events[s]).bind(d,e.events[b]),!1},drag:function(t){return e.sliderY=t.pageY-e.$el.offset().top-e.offsetY,e.scroll(),e.updateScrollValues(),e.contentScrollTop>=e.maxScrollTop&&e.prevScrollTop!==e.maxScrollTop?e.$el.trigger("scrollend"):0===e.contentScrollTop&&0!==e.prevScrollTop&&e.$el.trigger("scrolltop"),!1},up:function(){return e.isBeingDragged=!1,e.pane.removeClass("active"),e.doc.unbind(u,e.events[s]).unbind(d,e.events[b]),!1},resize:function(){e.reset()},panedown:function(t){return e.sliderY=(t.offsetY||t.originalEvent.layerY)-.5*e.sliderHeight,e.scroll(),e.events.down(t),!1},scroll:function(t){e.isBeingDragged||(e.updateScrollValues(),e.iOSNativeScrolling||(e.sliderY=e.sliderTop,e.setOnScrollStyles()),null!=t&&(e.contentScrollTop>=e.maxScrollTop?(e.options.preventPageScrolling&&e.preventScrolling(t,o),e.prevScrollTop!==e.maxScrollTop&&e.$el.trigger("scrollend")):0===e.contentScrollTop&&(e.options.preventPageScrolling&&e.preventScrolling(t,b),0!==e.prevScrollTop&&e.$el.trigger("scrolltop"))))},wheel:function(t){var n;if(null!=t)return n=t.delta||t.wheelDelta||t.originalEvent&&t.originalEvent.wheelDelta||-t.detail||t.originalEvent&&-t.originalEvent.detail,n&&(e.sliderY+=-n/3),e.scroll(),!1}}},c.prototype.addEvents=function(){var e;this.removeEvents(),e=this.events,this.options.disableResize||this.win.bind(g,e[g]),this.iOSNativeScrolling||(this.slider.bind(p,e[o]),this.pane.bind(p,e[m]).bind(""+f+" "+a,e[w])),this.$content.bind(""+y+" "+f+" "+a+" "+_,e[y])},c.prototype.removeEvents=function(){var e;e=this.events,this.win.unbind(g,e[g]),this.iOSNativeScrolling||(this.slider.unbind(),this.pane.unbind()),this.$content.unbind(""+y+" "+f+" "+a+" "+_,e[y])},c.prototype.generate=function(){var e,n,i,a,o,s;return a=this.options,o=a.paneClass,s=a.sliderClass,e=a.contentClass,this.$el.find("."+o).length||this.$el.find("."+s).length||this.$el.append('<div class="'+o+'"><div class="'+s+'" /></div>'),this.pane=this.$el.children("."+o),this.slider=this.pane.find("."+s),0===r&&C()?(i=t.getComputedStyle(this.content,null).getPropertyValue("padding-right").replace(/\D+/g,""),n={right:-14,paddingRight:+i+14}):r&&(n={right:-r},this.$el.addClass("has-scrollbar")),null!=n&&this.$content.css(n),this},c.prototype.restore=function(){this.stopped=!1,this.iOSNativeScrolling||this.pane.show(),this.addEvents()},c.prototype.reset=function(){var e,t,n,a,o,s,c,l,p,u;return this.iOSNativeScrolling?void(this.contentHeight=this.content.scrollHeight):(this.$el.find("."+this.options.paneClass).length||this.generate().stop(),this.stopped&&this.restore(),e=this.content,n=e.style,a=n.overflowY,i&&this.$content.css({height:this.$content.height()}),t=e.scrollHeight+r,p=parseInt(this.$el.css("max-height"),10),p>0&&(this.$el.height(""),this.$el.height(e.scrollHeight>p?p:e.scrollHeight)),s=this.pane.outerHeight(!1),l=parseInt(this.pane.css("top"),10),o=parseInt(this.pane.css("bottom"),10),c=s+l+o,u=Math.round(c/t*c),u<this.options.sliderMinHeight?u=this.options.sliderMinHeight:null!=this.options.sliderMaxHeight&&u>this.options.sliderMaxHeight&&(u=this.options.sliderMaxHeight),a===y&&n.overflowX!==y&&(u+=r),this.maxSliderTop=c-u,this.contentHeight=t,this.paneHeight=s,this.paneOuterHeight=c,this.sliderHeight=u,this.slider.height(u),this.events.scroll(),this.pane.show(),this.isActive=!0,e.scrollHeight===e.clientHeight||this.pane.outerHeight(!0)>=e.scrollHeight&&a!==y?(this.pane.hide(),this.isActive=!1):this.el.clientHeight===e.scrollHeight&&a===y?this.slider.hide():this.slider.show(),this.pane.css({opacity:this.options.alwaysVisible?1:"",visibility:this.options.alwaysVisible?"visible":""}),this)},c.prototype.scroll=function(){return this.isActive?(this.sliderY=Math.max(0,this.sliderY),this.sliderY=Math.min(this.maxSliderTop,this.sliderY),this.$content.scrollTop((this.paneHeight-this.contentHeight+r)*this.sliderY/this.maxSliderTop*-1),this.iOSNativeScrolling||(this.updateScrollValues(),this.setOnScrollStyles()),this):void 0},c.prototype.scrollBottom=function(e){return this.isActive?(this.reset(),this.$content.scrollTop(this.contentHeight-this.$content.height()-e).trigger(f),this):void 0},c.prototype.scrollTop=function(e){return this.isActive?(this.reset(),this.$content.scrollTop(+e).trigger(f),this):void 0},c.prototype.scrollTo=function(t){return this.isActive?(this.reset(),this.scrollTop(e(t).get(0).offsetTop),this):void 0},c.prototype.stop=function(){return $&&$(this.scrollRAF),this.stopped=!0,this.removeEvents(),this.iOSNativeScrolling||this.pane.hide(),this},c.prototype.destroy=function(){return this.stopped||this.stop(),!this.iOSNativeScrolling&&this.pane.length&&this.pane.remove(),i&&this.$content.height(""),this.$content.removeAttr("tabindex"),this.$el.hasClass("has-scrollbar")&&(this.$el.removeClass("has-scrollbar"),this.$content.css({right:""})),this},c.prototype.flash=function(){var e=this;if(!this.iOSNativeScrolling&&this.isActive)return this.reset(),this.pane.addClass("flashed"),setTimeout(function(){e.pane.removeClass("flashed")},this.options.flashDelay),this},c}(),e.fn.nanoScroller=function(t){return this.each(function(){var n,i;if((i=this.nanoscroller)||(n=e.extend({},S,t),this.nanoscroller=i=new h(this,n)),t&&"object"==typeof t){if(e.extend(i.options,t),null!=t.scrollBottom)return i.scrollBottom(t.scrollBottom);if(null!=t.scrollTop)return i.scrollTop(t.scrollTop);if(t.scrollTo)return i.scrollTo(t.scrollTo);if("bottom"===t.scroll)return i.scrollBottom(0);if("top"===t.scroll)return i.scrollTop(0);if(t.scroll&&t.scroll instanceof e)return i.scrollTo(t.scroll);if(t.stop)return i.stop();if(t.destroy)return i.destroy();if(t.flash)return i.flash()}return i.reset()})},e.fn.nanoScroller.Constructor=h}(jQuery,window,document),function(e,t,n){var i=1,r=3,a=["p","div","pre","form"],o=27,s=9;e.emojiarea={path:"",spritesheetPath:"",spritesheetDimens:[],iconSize:20,icons:{},defaults:{button:null,buttonLabel:"Emojis",buttonPosition:"after"}},e.fn.emojiarea=function(t){return t=e.extend({},e.emojiarea.defaults,t),this.each(function(){var i=e(this);"contentEditable"in n.body&&t.wysiwyg!==!1?new u(i,t):new p(i,t)})};var c={};c.restoreSelection=function(){return t.getSelection?function(e){var n=t.getSelection();n.removeAllRanges();for(var i=0,r=e.length;r>i;++i)n.addRange(e[i])}:n.selection&&n.selection.createRange?function(e){e&&e.select()}:void 0}(),c.saveSelection=function(){return t.getSelection?function(){var e=t.getSelection(),n=[];if(e.rangeCount)for(var i=0,r=e.rangeCount;r>i;++i)n.push(e.getRangeAt(i));return n}:n.selection&&n.selection.createRange?function(){var e=n.selection;return"none"!==e.type.toLowerCase()?e.createRange():null}:void 0}(),c.replaceSelection=function(){return t.getSelection?function(e){var i,r=t.getSelection(),a="string"==typeof e?n.createTextNode(e):e;r.getRangeAt&&r.rangeCount&&(i=r.getRangeAt(0),i.deleteContents(),i.insertNode(n.createTextNode(" ")),i.insertNode(a),i.setStart(a,0),t.setTimeout(function(){i=n.createRange(),i.setStartAfter(a),i.collapse(!0),r.removeAllRanges(),r.addRange(i)},0))}:n.selection&&n.selection.createRange?function(e){var t=n.selection.createRange();"string"==typeof e?t.text=e:t.pasteHTML(e.outerHTML)}:void 0}(),c.insertAtCursor=function(e,t){e=" "+e;var i,r,a,o=t.value;"undefined"!=typeof t.selectionStart&&"undefined"!=typeof t.selectionEnd?(r=t.selectionStart,i=t.selectionEnd,t.value=o.substring(0,r)+e+o.substring(t.selectionEnd),t.selectionStart=t.selectionEnd=r+e.length):"undefined"!=typeof n.selection&&"undefined"!=typeof n.selection.createRange&&(t.focus(),a=n.selection.createRange(),a.text=e,a.select())},c.extend=function(e,t){if("undefined"!=typeof e&&e||(e={}),"object"==typeof t)for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},c.escapeRegex=function(e){return(e+"").replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")},c.htmlEntities=function(e){return String(e).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")};var l=function(){};l.prototype.setup=function(){var e=this;this.$editor.on("focus",function(){e.hasFocus=!0
}),this.$editor.on("blur",function(){e.hasFocus=!1}),this.setupButton()},l.prototype.setupButton=function(){var t,n=this;this.options.button?t=e(this.options.button):this.options.button!==!1?(t=e('<a href="javascript:void(0)">'),t.html(this.options.buttonLabel),t.addClass("emoji-button"),t.attr({title:this.options.buttonLabel}),this.$editor[this.options.buttonPosition](t)):t=e(""),t.on("click",function(e){d.show(n),e.stopPropagation()}),this.$button=t},l.createIcon=function(t){var n=t[0],i=t[1],r=t[2],a=t[3],o=e.emojiarea.spritesheetPath,s=-(e.emojiarea.iconSize*r),l=-(e.emojiarea.iconSize*i),p=e.emojiarea.spritesheetDimens[n][1]*e.emojiarea.iconSize,u=e.emojiarea.spritesheetDimens[n][0]*e.emojiarea.iconSize,d="display:inline-block;";return d+="width:"+e.emojiarea.iconSize+"px;",d+="height:"+e.emojiarea.iconSize+"px;",d+="background:url('"+o.replace("!",n)+"') "+s+"px "+l+"px no-repeat;",d+="background-size:"+p+"px "+u+"px;",'<img src="img/blank.gif" class="img" style="'+d+'" alt="'+c.htmlEntities(a)+'">'};var p=function(e,t){this.options=t,this.$textarea=e,this.$editor=e,this.setup()};p.prototype.insert=function(t){e.emojiarea.icons.hasOwnProperty(t)&&(c.insertAtCursor(t,this.$textarea[0]),this.$textarea.trigger("change"))},p.prototype.val=function(){return this.$textarea.val()},c.extend(p.prototype,l.prototype);var u=function(t,i){var r=this;this.options=i||{},this.$textarea=t,this.$editor=e("<div>").addClass("emoji-wysiwyg-editor"),this.$editor.text(t.val()),this.$editor.attr({contenteditable:"true"});var a="blur change";this.options.norealTime||(a+=" keyup"),this.$editor.on(a,function(e){return r.onChange.apply(r,[e])}),this.$editor.on("paste",function(e){return r.onPaste.apply(r,[e])}),this.$editor.on("mousedown focus",function(){n.execCommand("enableObjectResizing",!1,!1)}),this.$editor.on("blur",function(){n.execCommand("enableObjectResizing",!0,!0)});var o=this.$editor.text(),s=e.emojiarea.icons;for(var p in s)s.hasOwnProperty(p)&&(o=o.replace(new RegExp(c.escapeRegex(p),"g"),l.createIcon(s[p])));this.$editor.html(o),t.hide().after(this.$editor),this.setup(),e(n.body).on("mousedown",function(){r.hasFocus&&(r.selection=c.saveSelection())})};u.prototype.onPaste=function(e){var t,i=(e.originalEvent||e).clipboardData,r=i&&i.items||[];for(t=0;t<r.length;t++)if("file"==r[t].kind)return e.preventDefault(),!0;var a=(e.originalEvent||e).clipboardData.getData("text/plain"),o=this;return setTimeout(function(){o.onChange()},0),a.length?(n.execCommand("insertText",!1,a),cancelEvent(e)):!0},u.prototype.onChange=function(){this.$textarea.val(this.val()).trigger("change")},u.prototype.insert=function(t){var n=e(l.createIcon(e.emojiarea.icons[t]));n[0].attachEvent&&n[0].attachEvent("onresizestart",function(e){e.returnValue=!1},!1),this.$editor.trigger("focus"),this.selection&&c.restoreSelection(this.selection);try{c.replaceSelection(n[0])}catch(i){}var r=this;setTimeout(function(){r.selection=c.saveSelection()},100),this.onChange()},u.prototype.val=function(){for(var e=[],t=[],n=function(){e.push(t.join("")),t=[]},o=function(e){if(e.nodeType===r)t.push(e.nodeValue);else if(e.nodeType===i){var s=e.tagName.toLowerCase(),c=-1!==a.indexOf(s);if(c&&t.length&&n(),"img"===s){var l=e.getAttribute("alt")||"";return void(l&&t.push(l))}"br"===s&&n();for(var p=e.childNodes,u=0;u<p.length;u++)o(p[u]);c&&t.length&&n()}},s=this.$editor[0].childNodes,c=0;c<s.length;c++)o(s[c]);return t.length&&n(),e.join("\n")},c.extend(u.prototype,l.prototype);var d=function(){var i=this,r=e(n.body),a=e(t);this.visible=!1,this.emojiarea=null,this.$menu=e("<div>"),this.$menu.addClass("emoji-menu"),this.$menu.hide(),this.$itemsTailWrap=e('<div class="emoji-items-wrap1"></div>').appendTo(this.$menu),this.$categoryTabs=e('<table class="emoji-menu-tabs"><tr><td><a class="emoji-menu-tab icon-smile" ></a></td><td><a class="emoji-menu-tab icon-flower"></a></td><td><a class="emoji-menu-tab icon-bell"></a></td><td><a class="emoji-menu-tab icon-car"></a></td><td><a class="emoji-menu-tab icon-grid"></a></td></tr></table>').appendTo(this.$itemsTailWrap),this.$itemsWrap=e('<div class="emoji-items-wrap nano"></div>').appendTo(this.$itemsTailWrap),this.$items=e('<div class="emoji-items content">').appendTo(this.$itemsWrap),e('<div class="emoji-menu-tail">').appendTo(this.$menu),r.append(this.$menu),this.$itemsWrap.nanoScroller({preventPageScrolling:!0,tabIndex:-1}),r.on("keydown",function(e){(e.keyCode===o||e.keyCode===s)&&i.hide()}),r.on("mouseup",function(e){e=e.originalEvent||e;for(var n=e.originalTarget||e.target||t;n&&n!=t;)if(n=n.parentNode,n==i.$menu[0]||i.emojiarea&&n==i.emojiarea.$button[0])return;i.hide()}),a.on("resize",function(){i.visible&&i.reposition()}),this.$menu.on("mouseup","a",function(e){return e.stopPropagation(),!1}),this.$menu.on("click","a",function(n){if(e(this).hasClass("emoji-menu-tab"))return i.getTabIndex(this)!==i.currentCategory&&i.selectCategory(i.getTabIndex(this)),!1;var r=e(".label",e(this)).text();return t.setTimeout(function(){i.onItemSelected(r),(n.ctrlKey||n.metaKey)&&i.hide()},0),n.stopPropagation(),!1}),this.selectCategory(0)};d.prototype.getTabIndex=function(e){return this.$categoryTabs.find(".emoji-menu-tab").index(e)},d.prototype.selectCategory=function(e){this.$categoryTabs.find(".emoji-menu-tab").each(function(t){t===e?this.className+="-selected":this.className=this.className.replace("-selected","")}),this.currentCategory=e,this.load(e),this.$itemsWrap.nanoScroller({scroll:"top"})},d.prototype.onItemSelected=function(e){this.emojiarea.insert(e)},d.prototype.load=function(t){var n=[],i=e.emojiarea.icons,r=e.emojiarea.path;r.length&&"/"!==r.charAt(r.length-1)&&(r+="/");for(var a in i)i.hasOwnProperty(a)&&i[a][0]===t&&n.push('<a href="javascript:void(0)" title="'+c.htmlEntities(a)+'">'+l.createIcon(i[a])+'<span class="label">'+c.htmlEntities(a)+"</span></a>");this.$items.html(n.join(""));var o=this;setTimeout(function(){o.$itemsWrap.nanoScroller()},100)},d.prototype.reposition=function(){var e=this.emojiarea.$button,t=e.offset();t.top+=e.outerHeight(),t.left+=Math.round(e.outerWidth()/2),this.$menu.css({top:t.top,left:t.left})},d.prototype.hide=function(){this.emojiarea&&(this.emojiarea.menu=null,this.emojiarea.$button.removeClass("on"),this.emojiarea=null),this.visible=!1,this.$menu.hide()},d.prototype.show=function(e){return this.emojiarea&&this.emojiarea===e?this.hide():(e.$button.addClass("on"),this.emojiarea=e,this.emojiarea.menu=this,this.reposition(),this.$menu.show(),void(this.visible=!0))},d.show=function(){var e=null;return function(t){e=e||new d,e.show(t)}}()}(jQuery,window,document),function(e,t,n){"use strict";function i(e){return function(){var t,n,i=arguments[0],r="["+(e?e+":":"")+i+"] ",a=arguments[1],o=arguments,s=function(e){return"function"==typeof e?e.toString().replace(/ \{[\s\S]*$/,""):"undefined"==typeof e?"undefined":"string"!=typeof e?JSON.stringify(e):e};for(t=r+a.replace(/\{\d+\}/g,function(e){var t,n=+e.slice(1,-1);return n+2<o.length?(t=o[n+2],"function"==typeof t?t.toString().replace(/ ?\{[\s\S]*$/,""):"undefined"==typeof t?"undefined":"string"!=typeof t?j(t):t):e}),t=t+"\nhttp://errors.angularjs.org/1.2.9/"+(e?e+"/":"")+i,n=2;n<arguments.length;n++)t=t+(2==n?"?":"&")+"p"+(n-2)+"="+encodeURIComponent(s(arguments[n]));return new Error(t)}}function r(e){if(null==e||C(e))return!1;var t=e.length;return 1===e.nodeType&&t?!0:b(e)||S(e)||0===t||"number"==typeof t&&t>0&&t-1 in e}function a(e,t,n){var i;if(e)if(x(e))for(i in e)"prototype"==i||"length"==i||"name"==i||e.hasOwnProperty&&!e.hasOwnProperty(i)||t.call(n,e[i],i);else if(e.forEach&&e.forEach!==a)e.forEach(t,n);else if(r(e))for(i=0;i<e.length;i++)t.call(n,e[i],i);else for(i in e)e.hasOwnProperty(i)&&t.call(n,e[i],i);return e}function o(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t.sort()}function s(e,t,n){for(var i=o(e),r=0;r<i.length;r++)t.call(n,e[i[r]],i[r]);return i}function c(e){return function(t,n){e(n,t)}}function l(){for(var e,t=bi.length;t;){if(t--,e=bi[t].charCodeAt(0),57==e)return bi[t]="A",bi.join("");if(90!=e)return bi[t]=String.fromCharCode(e+1),bi.join("");bi[t]="0"}return bi.unshift("0"),bi.join("")}function p(e,t){t?e.$$hashKey=t:delete e.$$hashKey}function u(e){var t=e.$$hashKey;return a(arguments,function(t){t!==e&&a(t,function(t,n){e[n]=t})}),p(e,t),e}function d(e){return parseInt(e,10)}function f(e,t){return u(new(u(function(){},{prototype:e})),t)}function h(){}function m(e){return e}function g(e){return function(){return e}}function y(e){return"undefined"==typeof e}function v(e){return"undefined"!=typeof e}function _(e){return null!=e&&"object"==typeof e}function b(e){return"string"==typeof e}function w(e){return"number"==typeof e}function $(e){return"[object Date]"===yi.call(e)}function S(e){return"[object Array]"===yi.call(e)}function x(e){return"function"==typeof e}function M(e){return"[object RegExp]"===yi.call(e)}function C(e){return e&&e.document&&e.location&&e.alert&&e.setInterval}function k(e){return e&&e.$evalAsync&&e.$watch}function T(e){return"[object File]"===yi.call(e)}function A(e){return!(!e||!(e.nodeName||e.on&&e.find))}function E(e,t,n){var i=[];return a(e,function(e,r,a){i.push(t.call(n,e,r,a))}),i}function D(e,t){return-1!=I(e,t)}function I(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0;n<e.length;n++)if(t===e[n])return n;return-1}function P(e,t){var n=I(e,t);return n>=0&&e.splice(n,1),t}function N(e,t){if(C(e)||k(e))throw vi("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(t){if(e===t)throw vi("cpi","Can't copy! Source and destination are identical.");if(S(e)){t.length=0;for(var n=0;n<e.length;n++)t.push(N(e[n]))}else{var i=t.$$hashKey;a(t,function(e,n){delete t[n]});for(var r in e)t[r]=N(e[r]);p(t,i)}}else t=e,e&&(S(e)?t=N(e,[]):$(e)?t=new Date(e.getTime()):M(e)?t=new RegExp(e.source):_(e)&&(t=N(e,{})));return t}function L(e,t){t=t||{};for(var n in e)e.hasOwnProperty(n)&&"$"!==n.charAt(0)&&"$"!==n.charAt(1)&&(t[n]=e[n]);return t}function B(e,t){if(e===t)return!0;if(null===e||null===t)return!1;if(e!==e&&t!==t)return!0;var i,r,a,o=typeof e,s=typeof t;if(o==s&&"object"==o){if(!S(e)){if($(e))return $(t)&&e.getTime()==t.getTime();if(M(e)&&M(t))return e.toString()==t.toString();if(k(e)||k(t)||C(e)||C(t)||S(t))return!1;a={};for(r in e)if("$"!==r.charAt(0)&&!x(e[r])){if(!B(e[r],t[r]))return!1;a[r]=!0}for(r in t)if(!a.hasOwnProperty(r)&&"$"!==r.charAt(0)&&t[r]!==n&&!x(t[r]))return!1;return!0}if(!S(t))return!1;if((i=e.length)==t.length){for(r=0;i>r;r++)if(!B(e[r],t[r]))return!1;return!0}}return!1}function U(){return t.securityPolicy&&t.securityPolicy.isActive||t.querySelector&&!(!t.querySelector("[ng-csp]")&&!t.querySelector("[data-ng-csp]"))}function O(e,t,n){return e.concat(mi.call(t,n))}function F(e,t){return mi.call(e,t||0)}function R(e,t){var n=arguments.length>2?F(arguments,2):[];return!x(t)||t instanceof RegExp?t:n.length?function(){return arguments.length?t.apply(e,n.concat(mi.call(arguments,0))):t.apply(e,n)}:function(){return arguments.length?t.apply(e,arguments):t.call(e)}}function q(e,i){var r=i;return"string"==typeof e&&"$"===e.charAt(0)?r=n:C(i)?r="$WINDOW":i&&t===i?r="$DOCUMENT":k(i)&&(r="$SCOPE"),r}function j(e,t){return"undefined"==typeof e?n:JSON.stringify(e,q,t?" ":null)}function H(e){return b(e)?JSON.parse(e):e}function z(e){if("function"==typeof e)e=!0;else if(e&&0!==e.length){var t=oi(""+e);e=!("f"==t||"0"==t||"false"==t||"no"==t||"n"==t||"[]"==t)}else e=!1;return e}function V(e){e=ui(e).clone();try{e.empty()}catch(t){}var n=3,i=ui("<div>").append(e).html();try{return e[0].nodeType===n?oi(i):i.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(e,t){return"<"+oi(t)})}catch(t){return oi(i)}}function W(e){try{return decodeURIComponent(e)}catch(t){}}function G(e){var t,n,i={};return a((e||"").split("&"),function(e){if(e&&(t=e.split("="),n=W(t[0]),v(n))){var r=v(t[1])?W(t[1]):!0;i[n]?S(i[n])?i[n].push(r):i[n]=[i[n],r]:i[n]=r}}),i}function X(e){var t=[];return a(e,function(e,n){S(e)?a(e,function(e){t.push(K(n,!0)+(e===!0?"":"="+K(e,!0)))}):t.push(K(n,!0)+(e===!0?"":"="+K(e,!0)))}),t.length?t.join("&"):""}function Z(e){return K(e,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function K(e,t){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,t?"%20":"+")}function Y(e,n){function i(e){e&&s.push(e)}var r,o,s=[e],c=["ng:app","ng-app","x-ng-app","data-ng-app"],l=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;a(c,function(n){c[n]=!0,i(t.getElementById(n)),n=n.replace(":","\\:"),e.querySelectorAll&&(a(e.querySelectorAll("."+n),i),a(e.querySelectorAll("."+n+"\\:"),i),a(e.querySelectorAll("["+n+"]"),i))}),a(s,function(e){if(!r){var t=" "+e.className+" ",n=l.exec(t);n?(r=e,o=(n[2]||"").replace(/\s+/g,",")):a(e.attributes,function(t){!r&&c[t.name]&&(r=e,o=t.value)})}}),r&&n(r,o?[o]:[])}function Q(n,i){var r=function(){if(n=ui(n),n.injector()){var e=n[0]===t?"document":V(n);throw vi("btstrpd","App Already Bootstrapped with this Element '{0}'",e)}i=i||[],i.unshift(["$provide",function(e){e.value("$rootElement",n)}]),i.unshift("ng");var r=Et(i);return r.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",function(e,t,n,i){e.$apply(function(){t.data("$injector",i),n(t)(e)})}]),r},o=/^NG_DEFER_BOOTSTRAP!/;return e&&!o.test(e.name)?r():(e.name=e.name.replace(o,""),void(_i.resumeBootstrap=function(e){a(e,function(e){i.push(e)}),r()}))}function J(e,t){return t=t||"_",e.replace($i,function(e,n){return(n?t:"")+e.toLowerCase()})}function et(){di=e.jQuery,di?(ui=di,u(di.fn,{scope:Ii.scope,isolateScope:Ii.isolateScope,controller:Ii.controller,injector:Ii.injector,inheritedData:Ii.inheritedData}),pt("remove",!0,!0,!1),pt("empty",!1,!1,!1),pt("html",!1,!1,!0)):ui=ut,_i.element=ui}function tt(e,t,n){if(!e)throw vi("areq","Argument '{0}' is {1}",t||"?",n||"required");return e}function nt(e,t,n){return n&&S(e)&&(e=e[e.length-1]),tt(x(e),t,"not a function, got "+(e&&"object"==typeof e?e.constructor.name||"Object":typeof e)),e}function it(e,t){if("hasOwnProperty"===e)throw vi("badname","hasOwnProperty is not a valid {0} name",t)}function rt(e,t,n){if(!t)return e;for(var i,r=t.split("."),a=e,o=r.length,s=0;o>s;s++)i=r[s],e&&(e=(a=e)[i]);return!n&&x(e)?R(a,e):e}function at(e){var t=e[0],n=e[e.length-1];if(t===n)return ui(t);var i=t,r=[i];do{if(i=i.nextSibling,!i)break;r.push(i)}while(i!==n);return ui(r)}function ot(e){function t(e,t,n){return e[t]||(e[t]=n())}var n=i("$injector"),r=i("ng"),a=t(e,"angular",Object);return a.$$minErr=a.$$minErr||i,t(a,"module",function(){var e={};return function(i,a,o){var s=function(e,t){if("hasOwnProperty"===e)throw r("badname","hasOwnProperty is not a valid {0} name",t)};return s(i,"module"),a&&e.hasOwnProperty(i)&&(e[i]=null),t(e,i,function(){function e(e,n,i){return function(){return t[i||"push"]([e,n,arguments]),c}}if(!a)throw n("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",i);var t=[],r=[],s=e("$injector","invoke"),c={_invokeQueue:t,_runBlocks:r,requires:a,name:i,provider:e("$provide","provider"),factory:e("$provide","factory"),service:e("$provide","service"),value:e("$provide","value"),constant:e("$provide","constant","unshift"),animation:e("$animateProvider","register"),filter:e("$filterProvider","register"),controller:e("$controllerProvider","register"),directive:e("$compileProvider","directive"),config:s,run:function(e){return r.push(e),this}};return o&&s(o),c})}})}function st(t){u(t,{bootstrap:Q,copy:N,extend:u,equals:B,element:ui,forEach:a,injector:Et,noop:h,bind:R,toJson:j,fromJson:H,identity:m,isUndefined:y,isDefined:v,isString:b,isFunction:x,isObject:_,isNumber:w,isElement:A,isArray:S,version:Si,isDate:$,lowercase:oi,uppercase:si,callbacks:{counter:0},$$minErr:i,$$csp:U}),fi=ot(e);try{fi("ngLocale")}catch(n){fi("ngLocale",[]).provider("$locale",Qt)}fi("ng",["ngLocale"],["$provide",function(e){e.provider({$$sanitizeUri:Mn}),e.provider("$compile",Bt).directive({a:dr,input:$r,textarea:$r,form:gr,script:ia,select:oa,style:ca,option:sa,ngBind:Nr,ngBindHtml:Br,ngBindTemplate:Lr,ngClass:Ur,ngClassEven:Fr,ngClassOdd:Or,ngCloak:Rr,ngController:qr,ngForm:yr,ngHide:Yr,ngIf:Hr,ngInclude:zr,ngInit:Wr,ngNonBindable:Gr,ngPluralize:Xr,ngRepeat:Zr,ngShow:Kr,ngStyle:Qr,ngSwitch:Jr,ngSwitchWhen:ea,ngSwitchDefault:ta,ngOptions:aa,ngTransclude:na,ngModel:Tr,ngList:Dr,ngChange:Ar,required:Er,ngRequired:Er,ngValue:Pr}).directive({ngInclude:Vr}).directive(fr).directive(jr),e.provider({$anchorScroll:Dt,$animate:qi,$browser:Pt,$cacheFactory:Nt,$controller:Ft,$document:Rt,$exceptionHandler:qt,$filter:Bn,$interpolate:Kt,$interval:Yt,$http:Wt,$httpBackend:Xt,$location:dn,$log:fn,$parse:wn,$rootScope:xn,$q:$n,$sce:En,$sceDelegate:An,$sniffer:Dn,$templateCache:Lt,$timeout:In,$window:Ln})}])}function ct(){return++Ci}function lt(e){return e.replace(Ai,function(e,t,n,i){return i?n.toUpperCase():n}).replace(Ei,"Moz$1")}function pt(e,t,n,i){function r(e){var r,o,s,c,l,p,u,d=n&&e?[this.filter(e)]:[this],f=t;if(!i||null!=e)for(;d.length;)for(r=d.shift(),o=0,s=r.length;s>o;o++)for(c=ui(r[o]),f?c.triggerHandler("$destroy"):f=!f,l=0,p=(u=c.children()).length;p>l;l++)d.push(di(u[l]));return a.apply(this,arguments)}var a=di.fn[e];a=a.$original||a,r.$original=a,di.fn[e]=r}function ut(e){if(e instanceof ut)return e;if(!(this instanceof ut)){if(b(e)&&"<"!=e.charAt(0))throw Di("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new ut(e)}if(b(e)){var n=t.createElement("div");n.innerHTML="<div>&#160;</div>"+e,n.removeChild(n.firstChild),wt(this,n.childNodes);var i=ui(t.createDocumentFragment());i.append(this)}else wt(this,e)}function dt(e){return e.cloneNode(!0)}function ft(e){mt(e);for(var t=0,n=e.childNodes||[];t<n.length;t++)ft(n[t])}function ht(e,t,n,i){if(v(i))throw Di("offargs","jqLite#off() does not support the `selector` argument");var r=gt(e,"events"),o=gt(e,"handle");o&&(y(t)?a(r,function(t,n){Ti(e,n,t),delete r[n]}):a(t.split(" "),function(t){y(n)?(Ti(e,t,r[t]),delete r[t]):P(r[t]||[],n)}))}function mt(e,t){var i=e[Mi],r=xi[i];if(r){if(t)return void delete xi[i].data[t];r.handle&&(r.events.$destroy&&r.handle({},"$destroy"),ht(e)),delete xi[i],e[Mi]=n}}function gt(e,t,n){var i=e[Mi],r=xi[i||-1];return v(n)?(r||(e[Mi]=i=ct(),r=xi[i]={}),void(r[t]=n)):r&&r[t]}function yt(e,t,n){var i=gt(e,"data"),r=v(n),a=!r&&v(t),o=a&&!_(t);if(i||o||gt(e,"data",i={}),r)i[t]=n;else{if(!a)return i;if(o)return i&&i[t];u(i,t)}}function vt(e,t){return e.getAttribute?(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+t+" ")>-1:!1}function _t(e,t){t&&e.setAttribute&&a(t.split(" "),function(t){e.setAttribute("class",wi((" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+wi(t)+" "," ")))})}function bt(e,t){if(t&&e.setAttribute){var n=(" "+(e.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");a(t.split(" "),function(e){e=wi(e),-1===n.indexOf(" "+e+" ")&&(n+=e+" ")}),e.setAttribute("class",wi(n))}}function wt(e,t){if(t){t=t.nodeName||!v(t.length)||C(t)?[t]:t;for(var n=0;n<t.length;n++)e.push(t[n])}}function $t(e,t){return St(e,"$"+(t||"ngController")+"Controller")}function St(e,t,i){e=ui(e),9==e[0].nodeType&&(e=e.find("html"));for(var r=S(t)?t:[t];e.length;){for(var a=0,o=r.length;o>a;a++)if((i=e.data(r[a]))!==n)return i;e=e.parent()}}function xt(e){for(var t=0,n=e.childNodes;t<n.length;t++)ft(n[t]);for(;e.firstChild;)e.removeChild(e.firstChild)}function Mt(e,t){var n=Pi[t.toLowerCase()];return n&&Ni[e.nodeName]&&n}function Ct(e,n){var i=function(i,r){if(i.preventDefault||(i.preventDefault=function(){i.returnValue=!1}),i.stopPropagation||(i.stopPropagation=function(){i.cancelBubble=!0}),i.target||(i.target=i.srcElement||t),y(i.defaultPrevented)){var o=i.preventDefault;i.preventDefault=function(){i.defaultPrevented=!0,o.call(i)},i.defaultPrevented=!1}i.isDefaultPrevented=function(){return i.defaultPrevented||i.returnValue===!1};var s=L(n[r||i.type]||[]);a(s,function(t){t.call(e,i)}),8>=pi?(i.preventDefault=null,i.stopPropagation=null,i.isDefaultPrevented=null):(delete i.preventDefault,delete i.stopPropagation,delete i.isDefaultPrevented)};return i.elem=e,i}function kt(e){var t,i=typeof e;return"object"==i&&null!==e?"function"==typeof(t=e.$$hashKey)?t=e.$$hashKey():t===n&&(t=e.$$hashKey=l()):t=e,i+":"+t}function Tt(e){a(e,this.put,this)}function At(e){var t,n,i,r;return"function"==typeof e?(t=e.$inject)||(t=[],e.length&&(n=e.toString().replace(Oi,""),i=n.match(Li),a(i[1].split(Bi),function(e){e.replace(Ui,function(e,n,i){t.push(i)})})),e.$inject=t):S(e)?(r=e.length-1,nt(e[r],"fn"),t=e.slice(0,r)):nt(e,"fn",!0),t}function Et(e){function t(e){return function(t,n){return _(t)?void a(t,c(e)):e(t,n)}}function n(e,t){if(it(e,"service"),(x(t)||S(t))&&(t=w.instantiate(t)),!t.$get)throw Fi("pget","Provider '{0}' must define $get factory method.",e);return v[e+f]=t}function i(e,t){return n(e,{$get:t})}function r(e,t){return i(e,["$injector",function(e){return e.instantiate(t)}])}function o(e,t){return i(e,g(t))}function s(e,t){it(e,"constant"),v[e]=t,$[e]=t}function l(e,t){var n=w.get(e+f),i=n.$get;n.$get=function(){var e=M.invoke(i,n);return M.invoke(t,null,{$delegate:e})}}function p(e){var t,n,i,r,o=[];return a(e,function(e){if(!y.get(e)){y.put(e,!0);try{if(b(e))for(t=fi(e),o=o.concat(p(t.requires)).concat(t._runBlocks),n=t._invokeQueue,i=0,r=n.length;r>i;i++){var a=n[i],s=w.get(a[0]);s[a[1]].apply(s,a[2])}else x(e)?o.push(w.invoke(e)):S(e)?o.push(w.invoke(e)):nt(e,"module")}catch(c){throw S(e)&&(e=e[e.length-1]),c.message&&c.stack&&-1==c.stack.indexOf(c.message)&&(c=c.message+"\n"+c.stack),Fi("modulerr","Failed to instantiate module {0} due to:\n{1}",e,c.stack||c.message||c)}}}),o}function u(e,t){function n(n){if(e.hasOwnProperty(n)){if(e[n]===d)throw Fi("cdep","Circular dependency found: {0}",m.join(" <- "));return e[n]}try{return m.unshift(n),e[n]=d,e[n]=t(n)}catch(i){throw e[n]===d&&delete e[n],i}finally{m.shift()}}function i(e,t,i){var r,a,o,s=[],c=At(e);for(a=0,r=c.length;r>a;a++){if(o=c[a],"string"!=typeof o)throw Fi("itkn","Incorrect injection token! Expected service name as string, got {0}",o);s.push(i&&i.hasOwnProperty(o)?i[o]:n(o))}return e.$inject||(e=e[r]),e.apply(t,s)}function r(e,t){var n,r,a=function(){};return a.prototype=(S(e)?e[e.length-1]:e).prototype,n=new a,r=i(e,n,t),_(r)||x(r)?r:n}return{invoke:i,instantiate:r,get:n,annotate:At,has:function(t){return v.hasOwnProperty(t+f)||e.hasOwnProperty(t)}}}var d={},f="Provider",m=[],y=new Tt,v={$provide:{provider:t(n),factory:t(i),service:t(r),value:t(o),constant:t(s),decorator:l}},w=v.$injector=u(v,function(){throw Fi("unpr","Unknown provider: {0}",m.join(" <- "))}),$={},M=$.$injector=u($,function(e){var t=w.get(e+f);return M.invoke(t.$get,t)});return a(p(e),function(e){M.invoke(e||h)}),M}function Dt(){var e=!0;this.disableAutoScrolling=function(){e=!1},this.$get=["$window","$location","$rootScope",function(t,n,i){function r(e){var t=null;return a(e,function(e){t||"a"!==oi(e.nodeName)||(t=e)}),t}function o(){var e,i=n.hash();i?(e=s.getElementById(i))?e.scrollIntoView():(e=r(s.getElementsByName(i)))?e.scrollIntoView():"top"===i&&t.scrollTo(0,0):t.scrollTo(0,0)}var s=t.document;return e&&i.$watch(function(){return n.hash()},function(){i.$evalAsync(o)}),o}]}function It(e,t,i,r){function o(e){try{e.apply(null,F(arguments,1))}finally{if(v--,0===v)for(;_.length;)try{_.pop()()}catch(t){i.error(t)}}}function s(e,t){!function n(){a($,function(e){e()}),w=t(n,e)}()}function c(){M=null,S!=l.url()&&(S=l.url(),a(C,function(e){e(l.url())}))}var l=this,p=t[0],u=e.location,d=e.history,f=e.setTimeout,m=e.clearTimeout,g={};l.isMock=!1;var v=0,_=[];l.$$completeOutstandingRequest=o,l.$$incOutstandingRequestCount=function(){v++},l.notifyWhenNoOutstandingRequests=function(e){a($,function(e){e()}),0===v?e():_.push(e)};var w,$=[];l.addPollFn=function(e){return y(w)&&s(100,f),$.push(e),e};var S=u.href,x=t.find("base"),M=null;l.url=function(t,n){if(u!==e.location&&(u=e.location),d!==e.history&&(d=e.history),t){if(S==t)return;return S=t,r.history?n?d.replaceState(null,"",t):(d.pushState(null,"",t),x.attr("href",x.attr("href"))):(M=t,n?u.replace(t):u.href=t),l}return M||u.href.replace(/%27/g,"'")};var C=[],k=!1;l.onUrlChange=function(t){return k||(r.history&&ui(e).on("popstate",c),r.hashchange?ui(e).on("hashchange",c):l.addPollFn(c),k=!0),C.push(t),t},l.baseHref=function(){var e=x.attr("href");return e?e.replace(/^(https?\:)?\/\/[^\/]*/,""):""};var T={},A="",E=l.baseHref();l.cookies=function(e,t){var r,a,o,s,c;if(!e){if(p.cookie!==A)for(A=p.cookie,a=A.split("; "),T={},s=0;s<a.length;s++)o=a[s],c=o.indexOf("="),c>0&&(e=unescape(o.substring(0,c)),T[e]===n&&(T[e]=unescape(o.substring(c+1))));return T}t===n?p.cookie=escape(e)+"=;path="+E+";expires=Thu, 01 Jan 1970 00:00:00 GMT":b(t)&&(r=(p.cookie=escape(e)+"="+escape(t)+";path="+E).length+1,r>4096&&i.warn("Cookie '"+e+"' possibly not set or overflowed because it was too large ("+r+" > 4096 bytes)!"))},l.defer=function(e,t){var n;return v++,n=f(function(){delete g[n],o(e)},t||0),g[n]=!0,n},l.defer.cancel=function(e){return g[e]?(delete g[e],m(e),o(h),!0):!1}}function Pt(){this.$get=["$window","$log","$sniffer","$document",function(e,t,n,i){return new It(e,i,t,n)}]}function Nt(){this.$get=function(){function e(e,n){function r(e){e!=d&&(f?f==e&&(f=e.n):f=e,a(e.n,e.p),a(e,d),d=e,d.n=null)}function a(e,t){e!=t&&(e&&(e.p=t),t&&(t.n=e))}if(e in t)throw i("$cacheFactory")("iid","CacheId '{0}' is already taken!",e);var o=0,s=u({},n,{id:e}),c={},l=n&&n.capacity||Number.MAX_VALUE,p={},d=null,f=null;return t[e]={put:function(e,t){var n=p[e]||(p[e]={key:e});return r(n),y(t)?void 0:(e in c||o++,c[e]=t,o>l&&this.remove(f.key),t)},get:function(e){var t=p[e];if(t)return r(t),c[e]},remove:function(e){var t=p[e];t&&(t==d&&(d=t.p),t==f&&(f=t.n),a(t.n,t.p),delete p[e],delete c[e],o--)},removeAll:function(){c={},o=0,p={},d=f=null},destroy:function(){c=null,s=null,p=null,delete t[e]},info:function(){return u({},s,{size:o})}}}var t={};return e.info=function(){var e={};return a(t,function(t,n){e[n]=t.info()}),e},e.get=function(e){return t[e]},e}}function Lt(){this.$get=["$cacheFactory",function(e){return e("templates")}]}function Bt(e,i){var r={},o="Directive",s=/^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/,l=/(([\d\w\-_]+)(?:\:([^;]+))?;?)/,p=/^(on[a-z]+|formaction)$/;this.directive=function d(t,n){return it(t,"directive"),b(t)?(tt(n,"directiveFactory"),r.hasOwnProperty(t)||(r[t]=[],e.factory(t+o,["$injector","$exceptionHandler",function(e,n){var i=[];return a(r[t],function(r,a){try{var o=e.invoke(r);x(o)?o={compile:g(o)}:!o.compile&&o.link&&(o.compile=g(o.link)),o.priority=o.priority||0,o.index=a,o.name=o.name||t,o.require=o.require||o.controller&&o.name,o.restrict=o.restrict||"A",i.push(o)}catch(s){n(s)}}),i}])),r[t].push(n)):a(t,c(d)),this},this.aHrefSanitizationWhitelist=function(e){return v(e)?(i.aHrefSanitizationWhitelist(e),this):i.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(e){return v(e)?(i.imgSrcSanitizationWhitelist(e),this):i.imgSrcSanitizationWhitelist()},this.$get=["$injector","$interpolate","$exceptionHandler","$http","$templateCache","$parse","$controller","$rootScope","$document","$sce","$animate","$$sanitizeUri",function(e,i,c,d,h,y,v,w,$,M,C,k){function T(e,t,n,i,r){e instanceof ui||(e=ui(e)),a(e,function(t,n){3==t.nodeType&&t.nodeValue.match(/\S+/)&&(e[n]=t=ui(t).wrap("<span></span>").parent()[0])});var o=E(e,t,e,n,i,r);return A(e,"ng-scope"),function(t,n,i){tt(t,"scope");var r=n?Ii.clone.call(e):e;a(i,function(e,t){r.data("$"+t+"Controller",e)});for(var s=0,c=r.length;c>s;s++){var l=r[s],p=l.nodeType;(1===p||9===p)&&r.eq(s).data("$scope",t)}return n&&n(r,t),o&&o(t,r,r),r}}function A(e,t){try{e.addClass(t)}catch(n){}}function E(e,t,i,r,a,o){function s(e,i,r,a){var o,s,c,l,p,u,d,f,m,g=i.length,y=new Array(g);for(d=0;g>d;d++)y[d]=i[d];for(d=0,m=0,f=h.length;f>d;m++)c=y[m],o=h[d++],s=h[d++],l=ui(c),o?(o.scope?(p=e.$new(),l.data("$scope",p)):p=e,u=o.transclude,u||!a&&t?o(s,p,c,r,D(e,u||t)):o(s,p,c,r,a)):s&&s(e,c.childNodes,n,a)}for(var c,l,p,u,d,f,h=[],m=0;m<e.length;m++)c=new Q,l=I(e[m],[],c,0===m?r:n,a),p=l.length?U(l,e[m],c,t,i,null,[],[],o):null,p&&p.scope&&A(ui(e[m]),"ng-scope"),d=p&&p.terminal||!(u=e[m].childNodes)||!u.length?null:E(u,p?p.transclude:t),h.push(p,d),f=f||p||d,o=null;return f?s:null}function D(e,t){return function(n,i,r){var a=!1;n||(n=e.$new(),n.$$transcluded=!0,a=!0);var o=t(n,i,r);return a&&o.on("$destroy",R(n,n.$destroy)),o}}function I(e,t,n,i,r){var a,o,c=e.nodeType,p=n.$attr;switch(c){case 1:q(t,Ut(hi(e).toLowerCase()),"E",i,r);for(var u,d,f,h,m,g=e.attributes,y=0,v=g&&g.length;v>y;y++){var _=!1,w=!1;if(u=g[y],!pi||pi>=8||u.specified){d=u.name,h=Ut(d),rt.test(h)&&(d=J(h.substr(6),"-"));var $=h.replace(/(Start|End)$/,"");h===$+"Start"&&(_=d,w=d.substr(0,d.length-5)+"end",d=d.substr(0,d.length-6)),f=Ut(d.toLowerCase()),p[f]=d,n[f]=m=wi(u.value),Mt(e,f)&&(n[f]=!0),Z(e,t,m,f),q(t,f,"A",i,r,_,w)}}if(o=e.className,b(o)&&""!==o)for(;a=l.exec(o);)f=Ut(a[2]),q(t,f,"C",i,r)&&(n[f]=wi(a[3])),o=o.substr(a.index+a[0].length);break;case 3:G(t,e.nodeValue);break;case 8:try{a=s.exec(e.nodeValue),a&&(f=Ut(a[1]),q(t,f,"M",i,r)&&(n[f]=wi(a[2])))}catch(S){}}return t.sort(z),t}function P(e,t,n){var i=[],r=0;if(t&&e.hasAttribute&&e.hasAttribute(t)){do{if(!e)throw ji("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",t,n);1==e.nodeType&&(e.hasAttribute(t)&&r++,e.hasAttribute(n)&&r--),i.push(e),e=e.nextSibling}while(r>0)}else i.push(e);return ui(i)}function N(e,t,n){return function(i,r,a,o,s){return r=P(r[0],t,n),e(i,r,a,o,s)}}function U(e,r,o,s,l,p,u,d,f){function h(e,t,n,i){e&&(n&&(e=N(e,n,i)),e.require=$.require,(R===$||$.$$isolateScope)&&(e=Y(e,{isolateScope:!0})),u.push(e)),t&&(n&&(t=N(t,n,i)),t.require=$.require,(R===$||$.$$isolateScope)&&(t=Y(t,{isolateScope:!0})),d.push(t))}function m(e,t,n){var i,r="data",o=!1;if(b(e)){for(;"^"==(i=e.charAt(0))||"?"==i;)e=e.substr(1),"^"==i&&(r="inheritedData"),o=o||"?"==i;if(i=null,n&&"data"===r&&(i=n[e]),i=i||t[r]("$"+e+"Controller"),!i&&!o)throw ji("ctreq","Controller '{0}', required by directive '{1}', can't be found!",e,M);return i}return S(e)&&(i=[],a(e,function(e){i.push(m(e,t,n))})),i}function g(e,t,s,l,p){function f(e,t){var i;return arguments.length<2&&(t=e,e=n),X&&(i=M),p(e,t,i)}var h,g,_,b,w,$,S,x,M={};if(h=r===s?o:L(o,new Q(ui(s),o.$attr)),g=h.$$element,R){var C=/^\s*([@=&])(\??)\s*(\w*)\s*$/,k=ui(s);S=t.$new(!0),q&&q===R.$$originalDirective?k.data("$isolateScope",S):k.data("$isolateScopeNoTemplate",S),A(k,"ng-isolate-scope"),a(R.scope,function(e,n){var r,a,o,s,c=e.match(C)||[],l=c[3]||n,p="?"==c[2],u=c[1];switch(S.$$isolateBindings[n]=u+l,u){case"@":h.$observe(l,function(e){S[n]=e}),h.$$observers[l].$$scope=t,h[l]&&(S[n]=i(h[l])(t));break;case"=":if(p&&!h[l])return;a=y(h[l]),s=a.literal?B:function(e,t){return e===t},o=a.assign||function(){throw r=S[n]=a(t),ji("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",h[l],R.name)},r=S[n]=a(t),S.$watch(function(){var e=a(t);return s(e,S[n])||(s(e,r)?o(t,e=S[n]):S[n]=e),r=e},null,a.literal);break;case"&":a=y(h[l]),S[n]=function(e){return a(t,e)};break;default:throw ji("iscp","Invalid isolate scope definition for directive '{0}'. Definition: {... {1}: '{2}' ...}",R.name,n,e)}})}for(x=p&&f,U&&a(U,function(e){var n,i={$scope:e===R||e.$$isolateScope?S:t,$element:g,$attrs:h,$transclude:x};$=e.controller,"@"==$&&($=h[e.name]),n=v($,i),M[e.name]=n,X||g.data("$"+e.name+"Controller",n),e.controllerAs&&(i.$scope[e.controllerAs]=n)}),_=0,b=u.length;b>_;_++)try{w=u[_],w(w.isolateScope?S:t,g,h,w.require&&m(w.require,g,M),x)}catch(T){c(T,V(g))}var E=t;for(R&&(R.template||null===R.templateUrl)&&(E=S),e&&e(E,s.childNodes,n,p),_=d.length-1;_>=0;_--)try{w=d[_],w(w.isolateScope?S:t,g,h,w.require&&m(w.require,g,M),x)
}catch(T){c(T,V(g))}}f=f||{};for(var w,$,M,C,k,E,D=-Number.MAX_VALUE,U=f.controllerDirectives,R=f.newIsolateScopeDirective,q=f.templateDirective,z=f.nonTlbTranscludeDirective,G=!1,X=!1,Z=o.$$element=ui(r),J=p,et=s,tt=0,nt=e.length;nt>tt;tt++){$=e[tt];var rt=$.$$start,at=$.$$end;if(rt&&(Z=P(r,rt,at)),C=n,D>$.priority)break;if((E=$.scope)&&(w=w||$,$.templateUrl||(W("new/isolated scope",R,$,Z),_(E)&&(R=$))),M=$.name,!$.templateUrl&&$.controller&&(E=$.controller,U=U||{},W("'"+M+"' controller",U[M],$,Z),U[M]=$),(E=$.transclude)&&(G=!0,$.$$tlb||(W("transclusion",z,$,Z),z=$),"element"==E?(X=!0,D=$.priority,C=P(r,rt,at),Z=o.$$element=ui(t.createComment(" "+M+": "+o[M]+" ")),r=Z[0],K(l,ui(F(C)),r),et=T(C,s,D,J&&J.name,{nonTlbTranscludeDirective:z})):(C=ui(dt(r)).contents(),Z.empty(),et=T(C,s))),$.template)if(W("template",q,$,Z),q=$,E=x($.template)?$.template(Z,o):$.template,E=it(E),$.replace){if(J=$,C=ui("<div>"+wi(E)+"</div>").contents(),r=C[0],1!=C.length||1!==r.nodeType)throw ji("tplrt","Template for directive '{0}' must have exactly one root element. {1}",M,"");K(l,Z,r);var ot={$attr:{}},st=I(r,[],ot),ct=e.splice(tt+1,e.length-(tt+1));R&&O(st),e=e.concat(st).concat(ct),j(o,ot),nt=e.length}else Z.html(E);if($.templateUrl)W("template",q,$,Z),q=$,$.replace&&(J=$),g=H(e.splice(tt,e.length-tt),Z,o,l,et,u,d,{controllerDirectives:U,newIsolateScopeDirective:R,templateDirective:q,nonTlbTranscludeDirective:z}),nt=e.length;else if($.compile)try{k=$.compile(Z,o,et),x(k)?h(null,k,rt,at):k&&h(k.pre,k.post,rt,at)}catch(lt){c(lt,V(Z))}$.terminal&&(g.terminal=!0,D=Math.max(D,$.priority))}return g.scope=w&&w.scope===!0,g.transclude=G&&et,g}function O(e){for(var t=0,n=e.length;n>t;t++)e[t]=f(e[t],{$$isolateScope:!0})}function q(t,i,a,s,l,p,u){if(i===l)return null;var d=null;if(r.hasOwnProperty(i))for(var h,m=e.get(i+o),g=0,y=m.length;y>g;g++)try{h=m[g],(s===n||s>h.priority)&&-1!=h.restrict.indexOf(a)&&(p&&(h=f(h,{$$start:p,$$end:u})),t.push(h),d=h)}catch(v){c(v)}return d}function j(e,t){var n=t.$attr,i=e.$attr,r=e.$$element;a(e,function(i,r){"$"!=r.charAt(0)&&(t[r]&&(i+=("style"===r?";":" ")+t[r]),e.$set(r,i,!0,n[r]))}),a(t,function(t,a){"class"==a?(A(r,t),e["class"]=(e["class"]?e["class"]+" ":"")+t):"style"==a?(r.attr("style",r.attr("style")+";"+t),e.style=(e.style?e.style+";":"")+t):"$"==a.charAt(0)||e.hasOwnProperty(a)||(e[a]=t,i[a]=n[a])})}function H(e,t,n,i,r,o,s,c){var l,p,f=[],m=t[0],g=e.shift(),y=u({},g,{templateUrl:null,transclude:null,replace:null,$$originalDirective:g}),v=x(g.templateUrl)?g.templateUrl(t,n):g.templateUrl;return t.empty(),d.get(M.getTrustedResourceUrl(v),{cache:h}).success(function(u){var d,h,b,w;if(u=it(u),g.replace){if(b=ui("<div>"+wi(u)+"</div>").contents(),d=b[0],1!=b.length||1!==d.nodeType)throw ji("tplrt","Template for directive '{0}' must have exactly one root element. {1}",g.name,v);h={$attr:{}},K(i,t,d);var $=I(d,[],h);_(g.scope)&&O($),e=$.concat(e),j(n,h)}else d=m,t.html(u);for(e.unshift(y),l=U(e,d,n,r,t,g,o,s,c),a(i,function(e,n){e==d&&(i[n]=t[0])}),p=E(t[0].childNodes,r);f.length;){var S=f.shift(),x=f.shift(),M=f.shift(),C=f.shift(),k=t[0];x!==m&&(k=dt(d),K(M,ui(x),k)),w=l.transclude?D(S,l.transclude):C,l(p,S,k,i,w)}f=null}).error(function(e,t,n,i){throw ji("tpload","Failed to load template: {0}",i.url)}),function(e,t,n,i,r){f?(f.push(t),f.push(n),f.push(i),f.push(r)):l(p,t,n,i,r)}}function z(e,t){var n=t.priority-e.priority;return 0!==n?n:e.name!==t.name?e.name<t.name?-1:1:e.index-t.index}function W(e,t,n,i){if(t)throw ji("multidir","Multiple directives [{0}, {1}] asking for {2} on: {3}",t.name,n.name,e,V(i))}function G(e,t){var n=i(t,!0);n&&e.push({priority:0,compile:g(function(e,t){var i=t.parent(),r=i.data("$binding")||[];r.push(n),A(i.data("$binding",r),"ng-binding"),e.$watch(n,function(e){t[0].nodeValue=e})})})}function X(e,t){if("srcdoc"==t)return M.HTML;var n=hi(e);return"xlinkHref"==t||"FORM"==n&&"action"==t||"IMG"!=n&&("src"==t||"ngSrc"==t)?M.RESOURCE_URL:void 0}function Z(e,t,n,r){var a=i(n,!0);if(a){if("multiple"===r&&"SELECT"===hi(e))throw ji("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",V(e));t.push({priority:100,compile:function(){return{pre:function(t,n,o){var s=o.$$observers||(o.$$observers={});if(p.test(r))throw ji("nodomevents","Interpolations for HTML DOM event attributes are disallowed. Please use the ng- versions (such as ng-click instead of onclick) instead.");a=i(o[r],!0,X(e,r)),a&&(o[r]=a(t),(s[r]||(s[r]=[])).$$inter=!0,(o.$$observers&&o.$$observers[r].$$scope||t).$watch(a,function(e,t){"class"===r&&e!=t?o.$updateClass(e,t):o.$set(r,e)}))}}}})}}function K(e,n,i){var r,a,o=n[0],s=n.length,c=o.parentNode;if(e)for(r=0,a=e.length;a>r;r++)if(e[r]==o){e[r++]=i;for(var l=r,p=l+s-1,u=e.length;u>l;l++,p++)u>p?e[l]=e[p]:delete e[l];e.length-=s-1;break}c&&c.replaceChild(i,o);var d=t.createDocumentFragment();d.appendChild(o),i[ui.expando]=o[ui.expando];for(var f=1,h=n.length;h>f;f++){var m=n[f];ui(m).remove(),d.appendChild(m),delete n[f]}n[0]=i,n.length=1}function Y(e,t){return u(function(){return e.apply(null,arguments)},e,t)}var Q=function(e,t){this.$$element=e,this.$attr=t||{}};Q.prototype={$normalize:Ut,$addClass:function(e){e&&e.length>0&&C.addClass(this.$$element,e)},$removeClass:function(e){e&&e.length>0&&C.removeClass(this.$$element,e)},$updateClass:function(e,t){this.$removeClass(Ot(t,e)),this.$addClass(Ot(e,t))},$set:function(e,t,i,r){var o,s=Mt(this.$$element[0],e);s&&(this.$$element.prop(e,t),r=s),this[e]=t,r?this.$attr[e]=r:(r=this.$attr[e],r||(this.$attr[e]=r=J(e,"-"))),o=hi(this.$$element),("A"===o&&"href"===e||"IMG"===o&&"src"===e)&&(this[e]=t=k(t,"src"===e)),i!==!1&&(null===t||t===n?this.$$element.removeAttr(r):this.$$element.attr(r,t));var l=this.$$observers;l&&a(l[e],function(e){try{e(t)}catch(n){c(n)}})},$observe:function(e,t){var n=this,i=n.$$observers||(n.$$observers={}),r=i[e]||(i[e]=[]);return r.push(t),w.$evalAsync(function(){r.$$inter||t(n[e])}),t}};var et=i.startSymbol(),nt=i.endSymbol(),it="{{"==et||"}}"==nt?m:function(e){return e.replace(/\{\{/g,et).replace(/}}/g,nt)},rt=/^ngAttr[A-Z]/;return T}]}function Ut(e){return lt(e.replace(Hi,""))}function Ot(e,t){var n="",i=e.split(/\s+/),r=t.split(/\s+/);e:for(var a=0;a<i.length;a++){for(var o=i[a],s=0;s<r.length;s++)if(o==r[s])continue e;n+=(n.length>0?" ":"")+o}return n}function Ft(){var e={},t=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(t,n){it(t,"controller"),_(t)?u(e,t):e[t]=n},this.$get=["$injector","$window",function(n,r){return function(a,o){var s,c,l,p;if(b(a)&&(c=a.match(t),l=c[1],p=c[3],a=e.hasOwnProperty(l)?e[l]:rt(o.$scope,l,!0)||rt(r,l,!0),nt(a,l,!0)),s=n.instantiate(a,o),p){if(!o||"object"!=typeof o.$scope)throw i("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",l||a.name,p);o.$scope[p]=s}return s}}]}function Rt(){this.$get=["$window",function(e){return ui(e.document)}]}function qt(){this.$get=["$log",function(e){return function(){e.error.apply(e,arguments)}}]}function jt(e){var t,n,i,r={};return e?(a(e.split("\n"),function(e){i=e.indexOf(":"),t=oi(wi(e.substr(0,i))),n=wi(e.substr(i+1)),t&&(r[t]?r[t]+=", "+n:r[t]=n)}),r):r}function Ht(e){var t=_(e)?e:n;return function(n){return t||(t=jt(e)),n?t[oi(n)]||null:t}}function zt(e,t,n){return x(n)?n(e,t):(a(n,function(n){e=n(e,t)}),e)}function Vt(e){return e>=200&&300>e}function Wt(){var e=/^\s*(\[|\{[^\{])/,t=/[\}\]]\s*$/,i=/^\)\]\}',?\n/,r={"Content-Type":"application/json;charset=utf-8"},o=this.defaults={transformResponse:[function(n){return b(n)&&(n=n.replace(i,""),e.test(n)&&t.test(n)&&(n=H(n))),n}],transformRequest:[function(e){return _(e)&&!T(e)?j(e):e}],headers:{common:{Accept:"application/json, text/plain, */*"},post:N(r),put:N(r),patch:N(r)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},c=this.interceptors=[],l=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(e,t,i,r,p,d){function f(e){function i(e){var t=u({},e,{data:zt(e.data,e.headers,s.transformResponse)});return Vt(e.status)?t:p.reject(t)}function r(e){function t(e){var t;a(e,function(n,i){x(n)&&(t=n(),null!=t?e[i]=t:delete e[i])})}var n,i,r,s=o.headers,c=u({},e.headers);s=u({},s.common,s[oi(e.method)]),t(s),t(c);e:for(n in s){i=oi(n);for(r in c)if(oi(r)===i)continue e;c[n]=s[n]}return c}var s={transformRequest:o.transformRequest,transformResponse:o.transformResponse},c=r(e);u(s,e),s.headers=c,s.method=si(s.method);var l=Nn(s.url)?t.cookies()[s.xsrfCookieName||o.xsrfCookieName]:n;l&&(c[s.xsrfHeaderName||o.xsrfHeaderName]=l);var d=function(e){c=e.headers;var t=zt(e.data,Ht(c),e.transformRequest);return y(e.data)&&a(c,function(e,t){"content-type"===oi(t)&&delete c[t]}),y(e.withCredentials)&&!y(o.withCredentials)&&(e.withCredentials=o.withCredentials),g(e,t,c).then(i,i)},f=[d,n],h=p.when(s);for(a(M,function(e){(e.request||e.requestError)&&f.unshift(e.request,e.requestError),(e.response||e.responseError)&&f.push(e.response,e.responseError)});f.length;){var m=f.shift(),v=f.shift();h=h.then(m,v)}return h.success=function(e){return h.then(function(t){e(t.data,t.status,t.headers,s)}),h},h.error=function(e){return h.then(null,function(t){e(t.data,t.status,t.headers,s)}),h},h}function h(){a(arguments,function(e){f[e]=function(t,n){return f(u(n||{},{method:e,url:t}))}})}function m(){a(arguments,function(e){f[e]=function(t,n,i){return f(u(i||{},{method:e,url:t,data:n}))}})}function g(t,n,i){function a(e,t,n){l&&(Vt(e)?l.put(m,[e,t,jt(n)]):l.remove(m)),s(t,e,n),r.$$phase||r.$apply()}function s(e,n,i){n=Math.max(n,0),(Vt(n)?d.resolve:d.reject)({data:e,status:n,headers:Ht(i),config:t})}function c(){var e=I(f.pendingRequests,t);-1!==e&&f.pendingRequests.splice(e,1)}var l,u,d=p.defer(),h=d.promise,m=w(t.url,t.params);if(f.pendingRequests.push(t),h.then(c,c),(t.cache||o.cache)&&t.cache!==!1&&"GET"==t.method&&(l=_(t.cache)?t.cache:_(o.cache)?o.cache:$),l)if(u=l.get(m),v(u)){if(u.then)return u.then(c,c),u;S(u)?s(u[1],u[0],N(u[2])):s(u,200,{})}else l.put(m,h);return y(u)&&e(t.method,m,n,a,i,t.timeout,t.withCredentials,t.responseType),h}function w(e,t){if(!t)return e;var n=[];return s(t,function(e,t){null===e||y(e)||(S(e)||(e=[e]),a(e,function(e){_(e)&&(e=j(e)),n.push(K(t)+"="+K(e))}))}),e+(-1==e.indexOf("?")?"?":"&")+n.join("&")}var $=i("$http"),M=[];return a(c,function(e){M.unshift(b(e)?d.get(e):d.invoke(e))}),a(l,function(e,t){var n=b(e)?d.get(e):d.invoke(e);M.splice(t,0,{response:function(e){return n(p.when(e))},responseError:function(e){return n(p.reject(e))}})}),f.pendingRequests=[],h("get","delete","head","jsonp"),m("post","put"),f.defaults=o,f}]}function Gt(t){return 8>=pi&&"patch"===oi(t)?new ActiveXObject("Microsoft.XMLHTTP"):new e.XMLHttpRequest}function Xt(){this.$get=["$browser","$window","$document",function(e,t,n){return Zt(e,Gt,e.defer,t.angular.callbacks,n[0])}]}function Zt(e,t,n,i,r){function o(e,t){var n=r.createElement("script"),i=function(){n.onreadystatechange=n.onload=n.onerror=null,r.body.removeChild(n),t&&t()};return n.type="text/javascript",n.src=e,pi&&8>=pi?n.onreadystatechange=function(){/loaded|complete/.test(n.readyState)&&i()}:n.onload=n.onerror=function(){i()},r.body.appendChild(n),i}var s=-1;return function(r,c,l,p,u,d,f,m){function g(){_=s,w&&w(),$&&$.abort()}function y(t,i,r,a){S&&n.cancel(S),w=$=null,i=0===i?r?200:404:i,i=1223==i?204:i,t(i,r,a),e.$$completeOutstandingRequest(h)}var _;if(e.$$incOutstandingRequestCount(),c=c||e.url(),"jsonp"==oi(r)){var b="_"+(i.counter++).toString(36);i[b]=function(e){i[b].data=e};var w=o(c.replace("JSON_CALLBACK","angular.callbacks."+b),function(){i[b].data?y(p,200,i[b].data):y(p,_||-2),i[b]=_i.noop})}else{var $=t(r);$.open(r,c,!0),a(u,function(e,t){v(e)&&$.setRequestHeader(t,e)}),$.onreadystatechange=function(){if($&&4==$.readyState){var e=null,t=null;_!==s&&(e=$.getAllResponseHeaders(),t="response"in $?$.response:$.responseText),y(p,_||$.status,t,e)}},f&&($.withCredentials=!0),m&&($.responseType=m),$.send(l||null)}if(d>0)var S=n(g,d);else d&&d.then&&d.then(g)}}function Kt(){var e="{{",t="}}";this.startSymbol=function(t){return t?(e=t,this):e},this.endSymbol=function(e){return e?(t=e,this):t},this.$get=["$parse","$exceptionHandler","$sce",function(n,i,r){function a(a,c,l){for(var p,u,d,f,h=0,m=[],g=a.length,v=!1,_=[];g>h;)-1!=(p=a.indexOf(e,h))&&-1!=(u=a.indexOf(t,p+o))?(h!=p&&m.push(a.substring(h,p)),m.push(d=n(f=a.substring(p+o,u))),d.exp=f,h=u+s,v=!0):(h!=g&&m.push(a.substring(h)),h=g);if((g=m.length)||(m.push(""),g=1),l&&m.length>1)throw zi("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",a);return!c||v?(_.length=g,d=function(e){try{for(var t,n=0,o=g;o>n;n++)"function"==typeof(t=m[n])&&(t=t(e),t=l?r.getTrusted(l,t):r.valueOf(t),null===t||y(t)?t="":"string"!=typeof t&&(t=j(t))),_[n]=t;return _.join("")}catch(s){var c=zi("interr","Can't interpolate: {0}\n{1}",a,s.toString());i(c)}},d.exp=a,d.parts=m,d):void 0}var o=e.length,s=t.length;return a.startSymbol=function(){return e},a.endSymbol=function(){return t},a}]}function Yt(){this.$get=["$rootScope","$window","$q",function(e,t,n){function i(i,a,o,s){var c=t.setInterval,l=t.clearInterval,p=n.defer(),u=p.promise,d=0,f=v(s)&&!s;return o=v(o)?o:0,u.then(null,null,i),u.$$intervalId=c(function(){p.notify(d++),o>0&&d>=o&&(p.resolve(d),l(u.$$intervalId),delete r[u.$$intervalId]),f||e.$apply()},a),r[u.$$intervalId]=p,u}var r={};return i.cancel=function(e){return e&&e.$$intervalId in r?(r[e.$$intervalId].reject("canceled"),clearInterval(e.$$intervalId),delete r[e.$$intervalId],!0):!1},i}]}function Qt(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"¤",posSuf:"",negPre:"(¤",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(e){return 1===e?"one":"other"}}}}function Jt(e){for(var t=e.split("/"),n=t.length;n--;)t[n]=Z(t[n]);return t.join("/")}function en(e,t,n){var i=Pn(e,n);t.$$protocol=i.protocol,t.$$host=i.hostname,t.$$port=d(i.port)||Wi[i.protocol]||null}function tn(e,t,n){var i="/"!==e.charAt(0);i&&(e="/"+e);var r=Pn(e,n);t.$$path=decodeURIComponent(i&&"/"===r.pathname.charAt(0)?r.pathname.substring(1):r.pathname),t.$$search=G(r.search),t.$$hash=decodeURIComponent(r.hash),t.$$path&&"/"!=t.$$path.charAt(0)&&(t.$$path="/"+t.$$path)}function nn(e,t){return 0===t.indexOf(e)?t.substr(e.length):void 0}function rn(e){var t=e.indexOf("#");return-1==t?e:e.substr(0,t)}function an(e){return e.substr(0,rn(e).lastIndexOf("/")+1)}function on(e){return e.substring(0,e.indexOf("/",e.indexOf("//")+2))}function sn(e,t){this.$$html5=!0,t=t||"";var i=an(e);en(e,this,e),this.$$parse=function(t){var n=nn(i,t);if(!b(n))throw Gi("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',t,i);tn(n,this,e),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var e=X(this.$$search),t=this.$$hash?"#"+Z(this.$$hash):"";this.$$url=Jt(this.$$path)+(e?"?"+e:"")+t,this.$$absUrl=i+this.$$url.substr(1)},this.$$rewrite=function(r){var a,o;return(a=nn(e,r))!==n?(o=a,(a=nn(t,a))!==n?i+(nn("/",a)||a):e+o):(a=nn(i,r))!==n?i+a:i==r+"/"?i:void 0}}function cn(e,t){var n=an(e);en(e,this,e),this.$$parse=function(i){function r(e,t,n){var i,r=/^\/?.*?:(\/.*)/;return 0===t.indexOf(n)&&(t=t.replace(n,"")),r.exec(t)?e:(i=r.exec(e),i?i[1]:e)}var a=nn(e,i)||nn(n,i),o="#"==a.charAt(0)?nn(t,a):this.$$html5?a:"";if(!b(o))throw Gi("ihshprfx",'Invalid url "{0}", missing hash prefix "{1}".',i,t);tn(o,this,e),this.$$path=r(this.$$path,o,e),this.$$compose()},this.$$compose=function(){var n=X(this.$$search),i=this.$$hash?"#"+Z(this.$$hash):"";this.$$url=Jt(this.$$path)+(n?"?"+n:"")+i,this.$$absUrl=e+(this.$$url?t+this.$$url:"")},this.$$rewrite=function(t){return rn(e)==rn(t)?t:void 0}}function ln(e,t){this.$$html5=!0,cn.apply(this,arguments);var n=an(e);this.$$rewrite=function(i){var r;return e==rn(i)?i:(r=nn(n,i))?e+t+r:n===i+"/"?n:void 0}}function pn(e){return function(){return this[e]}}function un(e,t){return function(n){return y(n)?this[e]:(this[e]=t(n),this.$$compose(),this)}}function dn(){var t="",n=!1;this.hashPrefix=function(e){return v(e)?(t=e,this):t},this.html5Mode=function(e){return v(e)?(n=e,this):n},this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(i,r,a,o){function s(e){i.$broadcast("$locationChangeSuccess",c.absUrl(),e)}var c,l,p,u=r.baseHref(),d=r.url();n?(p=on(d)+(u||"/"),l=a.history?sn:ln):(p=rn(d),l=cn),c=new l(p,"#"+t),c.$$parse(c.$$rewrite(d)),o.on("click",function(t){if(!t.ctrlKey&&!t.metaKey&&2!=t.which){for(var n=ui(t.target);"a"!==oi(n[0].nodeName);)if(n[0]===o[0]||!(n=n.parent())[0])return;var a=n.prop("href");_(a)&&"[object SVGAnimatedString]"===a.toString()&&(a=Pn(a.animVal).href);var s=c.$$rewrite(a);a&&!n.attr("target")&&s&&!t.isDefaultPrevented()&&(t.preventDefault(),s!=r.url()&&(c.$$parse(s),i.$apply(),e.angular["ff-684208-preventDefault"]=!0))}}),c.absUrl()!=d&&r.url(c.absUrl(),!0),r.onUrlChange(function(e){c.absUrl()!=e&&(i.$evalAsync(function(){var t=c.absUrl();c.$$parse(e),i.$broadcast("$locationChangeStart",e,t).defaultPrevented?(c.$$parse(t),r.url(t)):s(t)}),i.$$phase||i.$digest())});var f=0;return i.$watch(function(){var e=r.url(),t=c.$$replace;return f&&e==c.absUrl()||(f++,i.$evalAsync(function(){i.$broadcast("$locationChangeStart",c.absUrl(),e).defaultPrevented?c.$$parse(e):(r.url(c.absUrl(),t),s(e))})),c.$$replace=!1,f}),c}]}function fn(){var e=!0,t=this;this.debugEnabled=function(t){return v(t)?(e=t,this):e},this.$get=["$window",function(n){function i(e){return e instanceof Error&&(e.stack?e=e.message&&-1===e.stack.indexOf(e.message)?"Error: "+e.message+"\n"+e.stack:e.stack:e.sourceURL&&(e=e.message+"\n"+e.sourceURL+":"+e.line)),e}function r(e){var t=n.console||{},r=t[e]||t.log||h,o=!1;try{o=!!r.apply}catch(s){}return o?function(){var e=[];return a(arguments,function(t){e.push(i(t))}),r.apply(t,e)}:function(e,t){r(e,null==t?"":t)}}return{log:r("log"),info:r("info"),warn:r("warn"),error:r("error"),debug:function(){var n=r("debug");return function(){e&&n.apply(t,arguments)}}()}}]}function hn(e,t){if("constructor"===e)throw Zi("isecfld",'Referencing "constructor" field in Angular expressions is disallowed! Expression: {0}',t);return e}function mn(e,t){if(e){if(e.constructor===e)throw Zi("isecfn","Referencing Function in Angular expressions is disallowed! Expression: {0}",t);if(e.document&&e.location&&e.alert&&e.setInterval)throw Zi("isecwindow","Referencing the Window in Angular expressions is disallowed! Expression: {0}",t);if(e.children&&(e.nodeName||e.on&&e.find))throw Zi("isecdom","Referencing DOM nodes in Angular expressions is disallowed! Expression: {0}",t)}return e}function gn(e,t,i,r,a){a=a||{};for(var o,s=t.split("."),c=0;s.length>1;c++){o=hn(s.shift(),r);var l=e[o];l||(l={},e[o]=l),e=l,e.then&&a.unwrapPromises&&(Xi(r),"$$v"in e||!function(e){e.then(function(t){e.$$v=t})}(e),e.$$v===n&&(e.$$v={}),e=e.$$v)}return o=hn(s.shift(),r),e[o]=i,i}function yn(e,t,i,r,a,o,s){return hn(e,o),hn(t,o),hn(i,o),hn(r,o),hn(a,o),s.unwrapPromises?function(s,c){var l,p=c&&c.hasOwnProperty(e)?c:s;return null==p?p:(p=p[e],p&&p.then&&(Xi(o),"$$v"in p||(l=p,l.$$v=n,l.then(function(e){l.$$v=e})),p=p.$$v),t?null==p?n:(p=p[t],p&&p.then&&(Xi(o),"$$v"in p||(l=p,l.$$v=n,l.then(function(e){l.$$v=e})),p=p.$$v),i?null==p?n:(p=p[i],p&&p.then&&(Xi(o),"$$v"in p||(l=p,l.$$v=n,l.then(function(e){l.$$v=e})),p=p.$$v),r?null==p?n:(p=p[r],p&&p.then&&(Xi(o),"$$v"in p||(l=p,l.$$v=n,l.then(function(e){l.$$v=e})),p=p.$$v),a?null==p?n:(p=p[a],p&&p.then&&(Xi(o),"$$v"in p||(l=p,l.$$v=n,l.then(function(e){l.$$v=e})),p=p.$$v),p):p):p):p):p)}:function(o,s){var c=s&&s.hasOwnProperty(e)?s:o;return null==c?c:(c=c[e],t?null==c?n:(c=c[t],i?null==c?n:(c=c[i],r?null==c?n:(c=c[r],a?null==c?n:c=c[a]:c):c):c):c)}}function vn(e,t){return hn(e,t),function(t,i){return null==t?n:(i&&i.hasOwnProperty(e)?i:t)[e]}}function _n(e,t,i){return hn(e,i),hn(t,i),function(i,r){return null==i?n:(i=(r&&r.hasOwnProperty(e)?r:i)[e],null==i?n:i[t])}}function bn(e,t,i){if(tr.hasOwnProperty(e))return tr[e];var r,o=e.split("."),s=o.length;if(t.unwrapPromises||1!==s)if(t.unwrapPromises||2!==s)if(t.csp)r=6>s?yn(o[0],o[1],o[2],o[3],o[4],i,t):function(e,r){var a,c=0;do a=yn(o[c++],o[c++],o[c++],o[c++],o[c++],i,t)(e,r),r=n,e=a;while(s>c);return a};else{var c="var p;\n";a(o,function(e,n){hn(e,i),c+="if(s == null) return undefined;\ns="+(n?"s":'((k&&k.hasOwnProperty("'+e+'"))?k:s)')+'["'+e+'"];\n'+(t.unwrapPromises?'if (s && s.then) {\n pw("'+i.replace(/(["\r\n])/g,"\\$1")+'");\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n':"")}),c+="return s;";var l=new Function("s","k","pw",c);l.toString=g(c),r=t.unwrapPromises?function(e,t){return l(e,t,Xi)}:l}else r=_n(o[0],o[1],i);else r=vn(o[0],i);return"hasOwnProperty"!==e&&(tr[e]=r),r}function wn(){var e={},t={csp:!1,unwrapPromises:!1,logPromiseWarnings:!0};this.unwrapPromises=function(e){return v(e)?(t.unwrapPromises=!!e,this):t.unwrapPromises},this.logPromiseWarnings=function(e){return v(e)?(t.logPromiseWarnings=e,this):t.logPromiseWarnings},this.$get=["$filter","$sniffer","$log",function(n,i,r){return t.csp=i.csp,Xi=function(e){t.logPromiseWarnings&&!Ki.hasOwnProperty(e)&&(Ki[e]=!0,r.warn("[$parse] Promise found in the expression `"+e+"`. Automatic unwrapping of promises in Angular expressions is deprecated."))},function(i){var r;switch(typeof i){case"string":if(e.hasOwnProperty(i))return e[i];var a=new Ji(t),o=new er(a,n,t);return r=o.parse(i,!1),"hasOwnProperty"!==i&&(e[i]=r),r;case"function":return i;default:return h}}}]}function $n(){this.$get=["$rootScope","$exceptionHandler",function(e,t){return Sn(function(t){e.$evalAsync(t)},t)}]}function Sn(e,t){function i(e){return e}function r(e){return l(e)}function o(e){var t=s(),n=0,i=S(e)?[]:{};return a(e,function(e,r){n++,c(e).then(function(e){i.hasOwnProperty(r)||(i[r]=e,--n||t.resolve(i))},function(e){i.hasOwnProperty(r)||t.reject(e)})}),0===n&&t.resolve(i),t.promise}var s=function(){var a,o,p=[];return o={resolve:function(t){if(p){var i=p;p=n,a=c(t),i.length&&e(function(){for(var e,t=0,n=i.length;n>t;t++)e=i[t],a.then(e[0],e[1],e[2])})}},reject:function(e){o.resolve(l(e))},notify:function(t){if(p){var n=p;p.length&&e(function(){for(var e,i=0,r=n.length;r>i;i++)e=n[i],e[2](t)})}},promise:{then:function(e,n,o){var c=s(),l=function(n){try{c.resolve((x(e)?e:i)(n))}catch(r){c.reject(r),t(r)}},u=function(e){try{c.resolve((x(n)?n:r)(e))}catch(i){c.reject(i),t(i)}},d=function(e){try{c.notify((x(o)?o:i)(e))}catch(n){t(n)}};return p?p.push([l,u,d]):a.then(l,u,d),c.promise},"catch":function(e){return this.then(null,e)},"finally":function(e){function t(e,t){var n=s();return t?n.resolve(e):n.reject(e),n.promise}function n(n,r){var a=null;try{a=(e||i)()}catch(o){return t(o,!1)}return a&&x(a.then)?a.then(function(){return t(n,r)},function(e){return t(e,!1)}):t(n,r)}return this.then(function(e){return n(e,!0)},function(e){return n(e,!1)})}}}},c=function(t){return t&&x(t.then)?t:{then:function(n){var i=s();return e(function(){i.resolve(n(t))}),i.promise}}},l=function(n){return{then:function(i,a){var o=s();return e(function(){try{o.resolve((x(a)?a:r)(n))}catch(e){o.reject(e),t(e)}}),o.promise}}},p=function(n,a,o,p){var u,d=s(),f=function(e){try{return(x(a)?a:i)(e)}catch(n){return t(n),l(n)}},h=function(e){try{return(x(o)?o:r)(e)}catch(n){return t(n),l(n)}},m=function(e){try{return(x(p)?p:i)(e)}catch(n){t(n)}};return e(function(){c(n).then(function(e){u||(u=!0,d.resolve(c(e).then(f,h,m)))},function(e){u||(u=!0,d.resolve(h(e)))},function(e){u||d.notify(m(e))})}),d.promise};return{defer:s,reject:l,when:p,all:o}}function xn(){var e=10,t=i("$rootScope"),n=null;this.digestTtl=function(t){return arguments.length&&(e=t),e},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(i,o,s,c){function p(){this.$id=l(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this["this"]=this.$root=this,this.$$destroyed=!1,this.$$asyncQueue=[],this.$$postDigestQueue=[],this.$$listeners={},this.$$listenerCount={},this.$$isolateBindings={}}function u(e){if(y.$$phase)throw t("inprog","{0} already in progress",y.$$phase);y.$$phase=e}function d(){y.$$phase=null}function f(e,t){var n=s(e);return nt(n,t),n}function m(e,t,n){do e.$$listenerCount[n]-=t,0===e.$$listenerCount[n]&&delete e.$$listenerCount[n];while(e=e.$parent)}function g(){}p.prototype={constructor:p,$new:function(e){var t,n;return e?(n=new p,n.$root=this.$root,n.$$asyncQueue=this.$$asyncQueue,n.$$postDigestQueue=this.$$postDigestQueue):(t=function(){},t.prototype=this,n=new t,n.$id=l()),n["this"]=n,n.$$listeners={},n.$$listenerCount={},n.$parent=this,n.$$watchers=n.$$nextSibling=n.$$childHead=n.$$childTail=null,n.$$prevSibling=this.$$childTail,this.$$childHead?(this.$$childTail.$$nextSibling=n,this.$$childTail=n):this.$$childHead=this.$$childTail=n,n},$watch:function(e,t,i){var r=this,a=f(e,"watch"),o=r.$$watchers,s={fn:t,last:g,get:a,exp:e,eq:!!i};if(n=null,!x(t)){var c=f(t||h,"listener");s.fn=function(e,t,n){c(n)}}if("string"==typeof e&&a.constant){var l=s.fn;s.fn=function(e,t,n){l.call(this,e,t,n),P(o,s)}}return o||(o=r.$$watchers=[]),o.unshift(s),function(){P(o,s),n=null}},$watchCollection:function(e,t){function n(){o=p(c);var e,t;if(_(o))if(r(o)){a!==u&&(a=u,f=a.length=0,l++),e=o.length,f!==e&&(l++,a.length=f=e);for(var n=0;e>n;n++)a[n]!==o[n]&&(l++,a[n]=o[n])}else{a!==d&&(a=d={},f=0,l++),e=0;for(t in o)o.hasOwnProperty(t)&&(e++,a.hasOwnProperty(t)?a[t]!==o[t]&&(l++,a[t]=o[t]):(f++,a[t]=o[t],l++));if(f>e){l++;for(t in a)a.hasOwnProperty(t)&&!o.hasOwnProperty(t)&&(f--,delete a[t])}}else a!==o&&(a=o,l++);return l}function i(){t(o,a,c)}var a,o,c=this,l=0,p=s(e),u=[],d={},f=0;return this.$watch(n,i)},$digest:function(){var i,r,a,s,c,l,p,f,h,m,y,v=this.$$asyncQueue,_=this.$$postDigestQueue,b=e,w=this,$=[];u("$digest"),n=null;do{for(l=!1,f=w;v.length;){try{y=v.shift(),y.scope.$eval(y.expression)}catch(S){d(),o(S)}n=null}e:do{if(s=f.$$watchers)for(c=s.length;c--;)try{if(i=s[c])if((r=i.get(f))===(a=i.last)||(i.eq?B(r,a):"number"==typeof r&&"number"==typeof a&&isNaN(r)&&isNaN(a))){if(i===n){l=!1;break e}}else l=!0,n=i,i.last=i.eq?N(r):r,i.fn(r,a===g?r:a,f),5>b&&(h=4-b,$[h]||($[h]=[]),m=x(i.exp)?"fn: "+(i.exp.name||i.exp.toString()):i.exp,m+="; newVal: "+j(r)+"; oldVal: "+j(a),$[h].push(m))}catch(S){d(),o(S)}if(!(p=f.$$childHead||f!==w&&f.$$nextSibling))for(;f!==w&&!(p=f.$$nextSibling);)f=f.$parent}while(f=p);if((l||v.length)&&!b--)throw d(),t("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",e,j($))}while(l||v.length);for(d();_.length;)try{_.shift()()}catch(S){o(S)}},$destroy:function(){if(!this.$$destroyed){var e=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this!==y&&(a(this.$$listenerCount,R(null,m,this)),e.$$childHead==this&&(e.$$childHead=this.$$nextSibling),e.$$childTail==this&&(e.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null)}},$eval:function(e,t){return s(e)(this,t)},$evalAsync:function(e){y.$$phase||y.$$asyncQueue.length||c.defer(function(){y.$$asyncQueue.length&&y.$digest()}),this.$$asyncQueue.push({scope:this,expression:e})},$$postDigest:function(e){this.$$postDigestQueue.push(e)},$apply:function(e){try{return u("$apply"),this.$eval(e)}catch(t){o(t)}finally{d();try{y.$digest()}catch(t){throw o(t),t}}},$on:function(e,t){var n=this.$$listeners[e];n||(this.$$listeners[e]=n=[]),n.push(t);var i=this;do i.$$listenerCount[e]||(i.$$listenerCount[e]=0),i.$$listenerCount[e]++;while(i=i.$parent);var r=this;return function(){n[I(n,t)]=null,m(r,1,e)}},$emit:function(e){var t,n,i,r=[],a=this,s=!1,c={name:e,targetScope:a,stopPropagation:function(){s=!0},preventDefault:function(){c.defaultPrevented=!0},defaultPrevented:!1},l=O([c],arguments,1);do{for(t=a.$$listeners[e]||r,c.currentScope=a,n=0,i=t.length;i>n;n++)if(t[n])try{t[n].apply(null,l)}catch(p){o(p)}else t.splice(n,1),n--,i--;if(s)return c;a=a.$parent}while(a);return c},$broadcast:function(e){for(var t,n,i,r=this,a=r,s=r,c={name:e,targetScope:r,preventDefault:function(){c.defaultPrevented=!0},defaultPrevented:!1},l=O([c],arguments,1);a=s;){for(c.currentScope=a,t=a.$$listeners[e]||[],n=0,i=t.length;i>n;n++)if(t[n])try{t[n].apply(null,l)}catch(p){o(p)}else t.splice(n,1),n--,i--;if(!(s=a.$$listenerCount[e]&&a.$$childHead||a!==r&&a.$$nextSibling))for(;a!==r&&!(s=a.$$nextSibling);)a=a.$parent}return c}};var y=new p;return y}]}function Mn(){var e=/^\s*(https?|ftp|mailto|tel|file):/,t=/^\s*(https?|ftp|file):|data:image\//;this.aHrefSanitizationWhitelist=function(t){return v(t)?(e=t,this):e},this.imgSrcSanitizationWhitelist=function(e){return v(e)?(t=e,this):t},this.$get=function(){return function(n,i){var r,a=i?t:e;return pi&&!(pi>=8)||(r=Pn(n).href,""===r||r.match(a))?n:"unsafe:"+r}}}function Cn(e){return e.replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")}function kn(e){if("self"===e)return e;if(b(e)){if(e.indexOf("***")>-1)throw nr("iwcard","Illegal sequence *** in string matcher. String: {0}",e);return e=Cn(e).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+e+"$")}if(M(e))return new RegExp("^"+e.source+"$");throw nr("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function Tn(e){var t=[];return v(e)&&a(e,function(e){t.push(kn(e))}),t}function An(){this.SCE_CONTEXTS=ir;var e=["self"],t=[];this.resourceUrlWhitelist=function(t){return arguments.length&&(e=Tn(t)),e},this.resourceUrlBlacklist=function(e){return arguments.length&&(t=Tn(e)),t},this.$get=["$injector",function(i){function r(e,t){return"self"===e?Nn(t):!!e.exec(t.href)}function a(n){var i,a,o=Pn(n.toString()),s=!1;for(i=0,a=e.length;a>i;i++)if(r(e[i],o)){s=!0;break}if(s)for(i=0,a=t.length;a>i;i++)if(r(t[i],o)){s=!1;break}return s}function o(e){var t=function(e){this.$$unwrapTrustedValue=function(){return e}};return e&&(t.prototype=new e),t.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},t.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},t}function s(e,t){var i=d.hasOwnProperty(e)?d[e]:null;if(!i)throw nr("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",e,t);if(null===t||t===n||""===t)return t;if("string"!=typeof t)throw nr("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",e);return new i(t)}function c(e){return e instanceof u?e.$$unwrapTrustedValue():e}function l(e,t){if(null===t||t===n||""===t)return t;var i=d.hasOwnProperty(e)?d[e]:null;if(i&&t instanceof i)return t.$$unwrapTrustedValue();if(e===ir.RESOURCE_URL){if(a(t))return t;throw nr("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",t.toString())}if(e===ir.HTML)return p(t);throw nr("unsafe","Attempting to use an unsafe value in a safe context.")}var p=function(){throw nr("unsafe","Attempting to use an unsafe value in a safe context.")};i.has("$sanitize")&&(p=i.get("$sanitize"));
var u=o(),d={};return d[ir.HTML]=o(u),d[ir.CSS]=o(u),d[ir.URL]=o(u),d[ir.JS]=o(u),d[ir.RESOURCE_URL]=o(d[ir.URL]),{trustAs:s,getTrusted:l,valueOf:c}}]}function En(){var e=!0;this.enabled=function(t){return arguments.length&&(e=!!t),e},this.$get=["$parse","$sniffer","$sceDelegate",function(t,n,i){if(e&&n.msie&&n.msieDocumentMode<8)throw nr("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 9 in quirks mode. You can fix this by adding the text <!doctype html> to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var r=N(ir);r.isEnabled=function(){return e},r.trustAs=i.trustAs,r.getTrusted=i.getTrusted,r.valueOf=i.valueOf,e||(r.trustAs=r.getTrusted=function(e,t){return t},r.valueOf=m),r.parseAs=function(e,n){var i=t(n);return i.literal&&i.constant?i:function(t,n){return r.getTrusted(e,i(t,n))}};var o=r.parseAs,s=r.getTrusted,c=r.trustAs;return a(ir,function(e,t){var n=oi(t);r[lt("parse_as_"+n)]=function(t){return o(e,t)},r[lt("get_trusted_"+n)]=function(t){return s(e,t)},r[lt("trust_as_"+n)]=function(t){return c(e,t)}}),r}]}function Dn(){this.$get=["$window","$document",function(e,t){var n,i,r={},a=d((/android (\d+)/.exec(oi((e.navigator||{}).userAgent))||[])[1]),o=/Boxee/i.test((e.navigator||{}).userAgent),s=t[0]||{},c=s.documentMode,l=/^(Moz|webkit|O|ms)(?=[A-Z])/,p=s.body&&s.body.style,u=!1,f=!1;if(p){for(var h in p)if(i=l.exec(h)){n=i[0],n=n.substr(0,1).toUpperCase()+n.substr(1);break}n||(n="WebkitOpacity"in p&&"webkit"),u=!!("transition"in p||n+"Transition"in p),f=!!("animation"in p||n+"Animation"in p),!a||u&&f||(u=b(s.body.style.webkitTransition),f=b(s.body.style.webkitAnimation))}return{history:!(!e.history||!e.history.pushState||4>a||o),hashchange:"onhashchange"in e&&(!c||c>7),hasEvent:function(e){if("input"==e&&9==pi)return!1;if(y(r[e])){var t=s.createElement("div");r[e]="on"+e in t}return r[e]},csp:U(),vendorPrefix:n,transitions:u,animations:f,android:a,msie:pi,msieDocumentMode:c}}]}function In(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(e,t,n,i){function r(r,o,s){var c,l=n.defer(),p=l.promise,u=v(s)&&!s;return c=t.defer(function(){try{l.resolve(r())}catch(t){l.reject(t),i(t)}finally{delete a[p.$$timeoutId]}u||e.$apply()},o),p.$$timeoutId=c,a[c]=l,p}var a={};return r.cancel=function(e){return e&&e.$$timeoutId in a?(a[e.$$timeoutId].reject("canceled"),delete a[e.$$timeoutId],t.defer.cancel(e.$$timeoutId)):!1},r}]}function Pn(e){var t=e;return pi&&(rr.setAttribute("href",t),t=rr.href),rr.setAttribute("href",t),{href:rr.href,protocol:rr.protocol?rr.protocol.replace(/:$/,""):"",host:rr.host,search:rr.search?rr.search.replace(/^\?/,""):"",hash:rr.hash?rr.hash.replace(/^#/,""):"",hostname:rr.hostname,port:rr.port,pathname:"/"===rr.pathname.charAt(0)?rr.pathname:"/"+rr.pathname}}function Nn(e){var t=b(e)?Pn(e):e;return t.protocol===ar.protocol&&t.host===ar.host}function Ln(){this.$get=g(e)}function Bn(e){function t(i,r){if(_(i)){var o={};return a(i,function(e,n){o[n]=t(n,e)}),o}return e.factory(i+n,r)}var n="Filter";this.register=t,this.$get=["$injector",function(e){return function(t){return e.get(t+n)}}],t("currency",On),t("date",Wn),t("filter",Un),t("json",Gn),t("limitTo",Xn),t("lowercase",pr),t("number",Fn),t("orderBy",Zn),t("uppercase",ur)}function Un(){return function(e,t,n){if(!S(e))return e;var i=typeof n,r=[];r.check=function(e){for(var t=0;t<r.length;t++)if(!r[t](e))return!1;return!0},"function"!==i&&(n="boolean"===i&&n?function(e,t){return _i.equals(e,t)}:function(e,t){return t=(""+t).toLowerCase(),(""+e).toLowerCase().indexOf(t)>-1});var a=function(e,t){if("string"==typeof t&&"!"===t.charAt(0))return!a(e,t.substr(1));switch(typeof e){case"boolean":case"number":case"string":return n(e,t);case"object":switch(typeof t){case"object":return n(e,t);default:for(var i in e)if("$"!==i.charAt(0)&&a(e[i],t))return!0}return!1;case"array":for(var r=0;r<e.length;r++)if(a(e[r],t))return!0;return!1;default:return!1}};switch(typeof t){case"boolean":case"number":case"string":t={$:t};case"object":for(var o in t)!function(e){"undefined"!=typeof t[e]&&r.push(function(n){return a("$"==e?n:rt(n,e),t[e])})}(o);break;case"function":r.push(t);break;default:return e}for(var s=[],c=0;c<e.length;c++){var l=e[c];r.check(l)&&s.push(l)}return s}}function On(e){var t=e.NUMBER_FORMATS;return function(e,n){return y(n)&&(n=t.CURRENCY_SYM),Rn(e,t.PATTERNS[1],t.GROUP_SEP,t.DECIMAL_SEP,2).replace(/\u00A4/g,n)}}function Fn(e){var t=e.NUMBER_FORMATS;return function(e,n){return Rn(e,t.PATTERNS[0],t.GROUP_SEP,t.DECIMAL_SEP,n)}}function Rn(e,t,n,i,r){if(isNaN(e)||!isFinite(e))return"";var a=0>e;e=Math.abs(e);var o=e+"",s="",c=[],l=!1;if(-1!==o.indexOf("e")){var p=o.match(/([\d\.]+)e(-?)(\d+)/);p&&"-"==p[2]&&p[3]>r+1?o="0":(s=o,l=!0)}if(l)r>0&&e>-1&&1>e&&(s=e.toFixed(r));else{var u=(o.split(or)[1]||"").length;y(r)&&(r=Math.min(Math.max(t.minFrac,u),t.maxFrac));var d=Math.pow(10,r);e=Math.round(e*d)/d;var f=(""+e).split(or),h=f[0];f=f[1]||"";var m,g=0,v=t.lgSize,_=t.gSize;if(h.length>=v+_)for(g=h.length-v,m=0;g>m;m++)(g-m)%_===0&&0!==m&&(s+=n),s+=h.charAt(m);for(m=g;m<h.length;m++)(h.length-m)%v===0&&0!==m&&(s+=n),s+=h.charAt(m);for(;f.length<r;)f+="0";r&&"0"!==r&&(s+=i+f.substr(0,r))}return c.push(a?t.negPre:t.posPre),c.push(s),c.push(a?t.negSuf:t.posSuf),c.join("")}function qn(e,t,n){var i="";for(0>e&&(i="-",e=-e),e=""+e;e.length<t;)e="0"+e;return n&&(e=e.substr(e.length-t)),i+e}function jn(e,t,n,i){return n=n||0,function(r){var a=r["get"+e]();return(n>0||a>-n)&&(a+=n),0===a&&-12==n&&(a=12),qn(a,t,i)}}function Hn(e,t){return function(n,i){var r=n["get"+e](),a=si(t?"SHORT"+e:e);return i[a][r]}}function zn(e){var t=-1*e.getTimezoneOffset(),n=t>=0?"+":"";return n+=qn(Math[t>0?"floor":"ceil"](t/60),2)+qn(Math.abs(t%60),2)}function Vn(e,t){return e.getHours()<12?t.AMPMS[0]:t.AMPMS[1]}function Wn(e){function t(e){var t;if(t=e.match(n)){var i=new Date(0),r=0,a=0,o=t[8]?i.setUTCFullYear:i.setFullYear,s=t[8]?i.setUTCHours:i.setHours;t[9]&&(r=d(t[9]+t[10]),a=d(t[9]+t[11])),o.call(i,d(t[1]),d(t[2])-1,d(t[3]));var c=d(t[4]||0)-r,l=d(t[5]||0)-a,p=d(t[6]||0),u=Math.round(1e3*parseFloat("0."+(t[7]||0)));return s.call(i,c,l,p,u),i}return e}var n=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(n,i){var r,o,s="",c=[];if(i=i||"mediumDate",i=e.DATETIME_FORMATS[i]||i,b(n)&&(n=lr.test(n)?d(n):t(n)),w(n)&&(n=new Date(n)),!$(n))return n;for(;i;)o=cr.exec(i),o?(c=O(c,o,1),i=c.pop()):(c.push(i),i=null);return a(c,function(t){r=sr[t],s+=r?r(n,e.DATETIME_FORMATS):t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),s}}function Gn(){return function(e){return j(e,!0)}}function Xn(){return function(e,t){if(!S(e)&&!b(e))return e;if(t=d(t),b(e))return t?t>=0?e.slice(0,t):e.slice(t,e.length):"";var n,i,r=[];for(t>e.length?t=e.length:t<-e.length&&(t=-e.length),t>0?(n=0,i=t):(n=e.length+t,i=e.length);i>n;n++)r.push(e[n]);return r}}function Zn(e){return function(t,n,i){function r(e,t){for(var i=0;i<n.length;i++){var r=n[i](e,t);if(0!==r)return r}return 0}function a(e,t){return z(t)?function(t,n){return e(n,t)}:e}function o(e,t){var n=typeof e,i=typeof t;return n==i?("string"==n&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t?0:t>e?-1:1):i>n?-1:1}if(!S(t))return t;if(!n)return t;n=S(n)?n:[n],n=E(n,function(t){var n=!1,i=t||m;return b(t)&&(("+"==t.charAt(0)||"-"==t.charAt(0))&&(n="-"==t.charAt(0),t=t.substring(1)),i=e(t)),a(function(e,t){return o(i(e),i(t))},n)});for(var s=[],c=0;c<t.length;c++)s.push(t[c]);return s.sort(a(r,i))}}function Kn(e){return x(e)&&(e={link:e}),e.restrict=e.restrict||"AC",g(e)}function Yn(e,t){function n(t,n){n=n?"-"+J(n,"-"):"",e.removeClass((t?xr:Sr)+n).addClass((t?Sr:xr)+n)}var i=this,r=e.parent().controller("form")||hr,o=0,s=i.$error={},c=[];i.$name=t.name||t.ngForm,i.$dirty=!1,i.$pristine=!0,i.$valid=!0,i.$invalid=!1,r.$addControl(i),e.addClass(Mr),n(!0),i.$addControl=function(e){it(e.$name,"input"),c.push(e),e.$name&&(i[e.$name]=e)},i.$removeControl=function(e){e.$name&&i[e.$name]===e&&delete i[e.$name],a(s,function(t,n){i.$setValidity(n,!0,e)}),P(c,e)},i.$setValidity=function(e,t,a){var c=s[e];if(t)c&&(P(c,a),c.length||(o--,o||(n(t),i.$valid=!0,i.$invalid=!1),s[e]=!1,n(!0,e),r.$setValidity(e,!0,i)));else{if(o||n(t),c){if(D(c,a))return}else s[e]=c=[],o++,n(!1,e),r.$setValidity(e,!1,i);c.push(a),i.$valid=!1,i.$invalid=!0}},i.$setDirty=function(){e.removeClass(Mr).addClass(Cr),i.$dirty=!0,i.$pristine=!1,r.$setDirty()},i.$setPristine=function(){e.removeClass(Cr).addClass(Mr),i.$dirty=!1,i.$pristine=!0,a(c,function(e){e.$setPristine()})}}function Qn(e,t,i,r){return e.$setValidity(t,i),i?r:n}function Jn(e,t,n,r,a,o){if(!a.android){var s=!1;t.on("compositionstart",function(){s=!0}),t.on("compositionend",function(){s=!1})}var c=function(){if(!s){var i=t.val();z(n.ngTrim||"T")&&(i=wi(i)),r.$viewValue!==i&&(e.$$phase?r.$setViewValue(i):e.$apply(function(){r.$setViewValue(i)}))}};if(a.hasEvent("input"))t.on("input",c);else{var l,p=function(){l||(l=o.defer(function(){c(),l=null}))};t.on("keydown",function(e){var t=e.keyCode;91===t||t>15&&19>t||t>=37&&40>=t||p()}),a.hasEvent("paste")&&t.on("paste cut",p)}t.on("change",c),r.$render=function(){t.val(r.$isEmpty(r.$viewValue)?"":r.$viewValue)};var u,f,h=n.ngPattern;if(h){var m=function(e,t){return Qn(r,"pattern",r.$isEmpty(t)||e.test(t),t)};f=h.match(/^\/(.*)\/([gim]*)$/),f?(h=new RegExp(f[1],f[2]),u=function(e){return m(h,e)}):u=function(n){var r=e.$eval(h);if(!r||!r.test)throw i("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",h,r,V(t));return m(r,n)},r.$formatters.push(u),r.$parsers.push(u)}if(n.ngMinlength){var g=d(n.ngMinlength),y=function(e){return Qn(r,"minlength",r.$isEmpty(e)||e.length>=g,e)};r.$parsers.push(y),r.$formatters.push(y)}if(n.ngMaxlength){var v=d(n.ngMaxlength),_=function(e){return Qn(r,"maxlength",r.$isEmpty(e)||e.length<=v,e)};r.$parsers.push(_),r.$formatters.push(_)}}function ei(e,t,i,r,a,o){if(Jn(e,t,i,r,a,o),r.$parsers.push(function(e){var t=r.$isEmpty(e);return t||br.test(e)?(r.$setValidity("number",!0),""===e?null:t?e:parseFloat(e)):(r.$setValidity("number",!1),n)}),r.$formatters.push(function(e){return r.$isEmpty(e)?"":""+e}),i.min){var s=function(e){var t=parseFloat(i.min);return Qn(r,"min",r.$isEmpty(e)||e>=t,e)};r.$parsers.push(s),r.$formatters.push(s)}if(i.max){var c=function(e){var t=parseFloat(i.max);return Qn(r,"max",r.$isEmpty(e)||t>=e,e)};r.$parsers.push(c),r.$formatters.push(c)}r.$formatters.push(function(e){return Qn(r,"number",r.$isEmpty(e)||w(e),e)})}function ti(e,t,n,i,r,a){Jn(e,t,n,i,r,a);var o=function(e){return Qn(i,"url",i.$isEmpty(e)||vr.test(e),e)};i.$formatters.push(o),i.$parsers.push(o)}function ni(e,t,n,i,r,a){Jn(e,t,n,i,r,a);var o=function(e){return Qn(i,"email",i.$isEmpty(e)||_r.test(e),e)};i.$formatters.push(o),i.$parsers.push(o)}function ii(e,t,n,i){y(n.name)&&t.attr("name",l()),t.on("click",function(){t[0].checked&&e.$apply(function(){i.$setViewValue(n.value)})}),i.$render=function(){var e=n.value;t[0].checked=e==i.$viewValue},n.$observe("value",i.$render)}function ri(e,t,n,i){var r=n.ngTrueValue,a=n.ngFalseValue;b(r)||(r=!0),b(a)||(a=!1),t.on("click",function(){e.$apply(function(){i.$setViewValue(t[0].checked)})}),i.$render=function(){t[0].checked=i.$viewValue},i.$isEmpty=function(e){return e!==r},i.$formatters.push(function(e){return e===r}),i.$parsers.push(function(e){return e?r:a})}function ai(e,t){return e="ngClass"+e,function(){return{restrict:"AC",link:function(n,i,r){function o(e){if(t===!0||n.$index%2===t){var i=s(e||"");c?B(e,c)||r.$updateClass(i,s(c)):r.$addClass(i)}c=N(e)}function s(e){if(S(e))return e.join(" ");if(_(e)){var t=[];return a(e,function(e,n){e&&t.push(n)}),t.join(" ")}return e}var c;n.$watch(r[e],o,!0),r.$observe("class",function(){o(n.$eval(r[e]))}),"ngClass"!==e&&n.$watch("$index",function(i,a){var o=1&i;if(o!==a&1){var c=s(n.$eval(r[e]));o===t?r.$addClass(c):r.$removeClass(c)}})}}}}var oi=function(e){return b(e)?e.toLowerCase():e},si=function(e){return b(e)?e.toUpperCase():e},ci=function(e){return b(e)?e.replace(/[A-Z]/g,function(e){return String.fromCharCode(32|e.charCodeAt(0))}):e},li=function(e){return b(e)?e.replace(/[a-z]/g,function(e){return String.fromCharCode(-33&e.charCodeAt(0))}):e};"i"!=="I".toLowerCase()&&(oi=ci,si=li);var pi,ui,di,fi,hi,mi=[].slice,gi=[].push,yi=Object.prototype.toString,vi=i("ng"),_i=(e.angular,e.angular||(e.angular={})),bi=["0","0","0"];pi=d((/msie (\d+)/.exec(oi(navigator.userAgent))||[])[1]),isNaN(pi)&&(pi=d((/trident\/.*; rv:(\d+)/.exec(oi(navigator.userAgent))||[])[1])),h.$inject=[],m.$inject=[];var wi=function(){return String.prototype.trim?function(e){return b(e)?e.trim():e}:function(e){return b(e)?e.replace(/^\s\s*/,"").replace(/\s\s*$/,""):e}}();hi=9>pi?function(e){return e=e.nodeName?e:e[0],e.scopeName&&"HTML"!=e.scopeName?si(e.scopeName+":"+e.nodeName):e.nodeName}:function(e){return e.nodeName?e.nodeName:e[0].nodeName};var $i=/[A-Z]/g,Si={full:"1.2.9",major:1,minor:2,dot:9,codeName:"enchanted-articulacy"},xi=ut.cache={},Mi=ut.expando="ng-"+(new Date).getTime(),Ci=1,ki=e.document.addEventListener?function(e,t,n){e.addEventListener(t,n,!1)}:function(e,t,n){e.attachEvent("on"+t,n)},Ti=e.document.removeEventListener?function(e,t,n){e.removeEventListener(t,n,!1)}:function(e,t,n){e.detachEvent("on"+t,n)},Ai=/([\:\-\_]+(.))/g,Ei=/^moz([A-Z])/,Di=i("jqLite"),Ii=ut.prototype={ready:function(n){function i(){r||(r=!0,n())}var r=!1;"complete"===t.readyState?setTimeout(i):(this.on("DOMContentLoaded",i),ut(e).on("load",i))},toString:function(){var e=[];return a(this,function(t){e.push(""+t)}),"["+e.join(", ")+"]"},eq:function(e){return ui(e>=0?this[e]:this[this.length+e])},length:0,push:gi,sort:[].sort,splice:[].splice},Pi={};a("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(e){Pi[oi(e)]=e});var Ni={};a("input,select,option,textarea,button,form,details".split(","),function(e){Ni[si(e)]=!0}),a({data:yt,inheritedData:St,scope:function(e){return ui(e).data("$scope")||St(e.parentNode||e,["$isolateScope","$scope"])},isolateScope:function(e){return ui(e).data("$isolateScope")||ui(e).data("$isolateScopeNoTemplate")},controller:$t,injector:function(e){return St(e,"$injector")},removeAttr:function(e,t){e.removeAttribute(t)},hasClass:vt,css:function(e,t,i){if(t=lt(t),!v(i)){var r;return 8>=pi&&(r=e.currentStyle&&e.currentStyle[t],""===r&&(r="auto")),r=r||e.style[t],8>=pi&&(r=""===r?n:r),r}e.style[t]=i},attr:function(e,t,i){var r=oi(t);if(Pi[r]){if(!v(i))return e[t]||(e.attributes.getNamedItem(t)||h).specified?r:n;i?(e[t]=!0,e.setAttribute(t,r)):(e[t]=!1,e.removeAttribute(r))}else if(v(i))e.setAttribute(t,i);else if(e.getAttribute){var a=e.getAttribute(t,2);return null===a?n:a}},prop:function(e,t,n){return v(n)?void(e[t]=n):e[t]},text:function(){function e(e,n){var i=t[e.nodeType];return y(n)?i?e[i]:"":void(e[i]=n)}var t=[];return 9>pi?(t[1]="innerText",t[3]="nodeValue"):t[1]=t[3]="textContent",e.$dv="",e}(),val:function(e,t){if(y(t)){if("SELECT"===hi(e)&&e.multiple){var n=[];return a(e.options,function(e){e.selected&&n.push(e.value||e.text)}),0===n.length?null:n}return e.value}e.value=t},html:function(e,t){if(y(t))return e.innerHTML;for(var n=0,i=e.childNodes;n<i.length;n++)ft(i[n]);e.innerHTML=t},empty:xt},function(e,t){ut.prototype[t]=function(t,i){var r,a;if(e!==xt&&(2==e.length&&e!==vt&&e!==$t?t:i)===n){if(_(t)){for(r=0;r<this.length;r++)if(e===yt)e(this[r],t);else for(a in t)e(this[r],a,t[a]);return this}for(var o=e.$dv,s=o===n?Math.min(this.length,1):this.length,c=0;s>c;c++){var l=e(this[c],t,i);o=o?o+l:l}return o}for(r=0;r<this.length;r++)e(this[r],t,i);return this}}),a({removeData:mt,dealoc:ft,on:function la(e,n,i,r){if(v(r))throw Di("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");var o=gt(e,"events"),s=gt(e,"handle");o||gt(e,"events",o={}),s||gt(e,"handle",s=Ct(e,o)),a(n.split(" "),function(n){var r=o[n];if(!r){if("mouseenter"==n||"mouseleave"==n){var a=t.body.contains||t.body.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,i=t&&t.parentNode;return e===i||!(!i||1!==i.nodeType||!(n.contains?n.contains(i):e.compareDocumentPosition&&16&e.compareDocumentPosition(i)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1};o[n]=[];var c={mouseleave:"mouseout",mouseenter:"mouseover"};la(e,c[n],function(e){var t=this,i=e.relatedTarget;(!i||i!==t&&!a(t,i))&&s(e,n)})}else ki(e,n,s),o[n]=[];r=o[n]}r.push(i)})},off:ht,one:function(e,t,n){e=ui(e),e.on(t,function i(){e.off(t,n),e.off(t,i)}),e.on(t,n)},replaceWith:function(e,t){var n,i=e.parentNode;ft(e),a(new ut(t),function(t){n?i.insertBefore(t,n.nextSibling):i.replaceChild(t,e),n=t})},children:function(e){var t=[];return a(e.childNodes,function(e){1===e.nodeType&&t.push(e)}),t},contents:function(e){return e.childNodes||[]},append:function(e,t){a(new ut(t),function(t){(1===e.nodeType||11===e.nodeType)&&e.appendChild(t)})},prepend:function(e,t){if(1===e.nodeType){var n=e.firstChild;a(new ut(t),function(t){e.insertBefore(t,n)})}},wrap:function(e,t){t=ui(t)[0];var n=e.parentNode;n&&n.replaceChild(t,e),t.appendChild(e)},remove:function(e){ft(e);var t=e.parentNode;t&&t.removeChild(e)},after:function(e,t){var n=e,i=e.parentNode;a(new ut(t),function(e){i.insertBefore(e,n.nextSibling),n=e})},addClass:bt,removeClass:_t,toggleClass:function(e,t,n){y(n)&&(n=!vt(e,t)),(n?bt:_t)(e,t)},parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},next:function(e){if(e.nextElementSibling)return e.nextElementSibling;for(var t=e.nextSibling;null!=t&&1!==t.nodeType;)t=t.nextSibling;return t},find:function(e,t){return e.getElementsByTagName?e.getElementsByTagName(t):[]},clone:dt,triggerHandler:function(e,t,n){var i=(gt(e,"events")||{})[t];n=n||[];var r=[{preventDefault:h,stopPropagation:h}];a(i,function(t){t.apply(e,r.concat(n))})}},function(e,t){ut.prototype[t]=function(t,n,i){for(var r,a=0;a<this.length;a++)y(r)?(r=e(this[a],t,n,i),v(r)&&(r=ui(r))):wt(r,e(this[a],t,n,i));return v(r)?r:this},ut.prototype.bind=ut.prototype.on,ut.prototype.unbind=ut.prototype.off}),Tt.prototype={put:function(e,t){this[kt(e)]=t},get:function(e){return this[kt(e)]},remove:function(e){var t=this[e=kt(e)];return delete this[e],t}};var Li=/^function\s*[^\(]*\(\s*([^\)]*)\)/m,Bi=/,/,Ui=/^\s*(_?)(\S+?)\1\s*$/,Oi=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,Fi=i("$injector"),Ri=i("$animate"),qi=["$provide",function(e){this.$$selectors={},this.register=function(t,n){var i=t+"-animation";if(t&&"."!=t.charAt(0))throw Ri("notcsel","Expecting class selector starting with '.' got '{0}'.",t);this.$$selectors[t.substr(1)]=i,e.factory(i,n)},this.classNameFilter=function(e){return 1===arguments.length&&(this.$$classNameFilter=e instanceof RegExp?e:null),this.$$classNameFilter},this.$get=["$timeout",function(e){return{enter:function(t,n,i,r){i?i.after(t):(n&&n[0]||(n=i.parent()),n.append(t)),r&&e(r,0,!1)},leave:function(t,n){t.remove(),n&&e(n,0,!1)},move:function(e,t,n,i){this.enter(e,t,n,i)},addClass:function(t,n,i){n=b(n)?n:S(n)?n.join(" "):"",a(t,function(e){bt(e,n)}),i&&e(i,0,!1)},removeClass:function(t,n,i){n=b(n)?n:S(n)?n.join(" "):"",a(t,function(e){_t(e,n)}),i&&e(i,0,!1)},enabled:h}}]}],ji=i("$compile");Bt.$inject=["$provide","$$sanitizeUriProvider"];var Hi=/^(x[\:\-_]|data[\:\-_])/i,zi=i("$interpolate"),Vi=/^([^\?#]*)(\?([^#]*))?(#(.*))?$/,Wi={http:80,https:443,ftp:21},Gi=i("$location");ln.prototype=cn.prototype=sn.prototype={$$html5:!1,$$replace:!1,absUrl:pn("$$absUrl"),url:function(e,t){if(y(e))return this.$$url;var n=Vi.exec(e);return n[1]&&this.path(decodeURIComponent(n[1])),(n[2]||n[1])&&this.search(n[3]||""),this.hash(n[5]||"",t),this},protocol:pn("$$protocol"),host:pn("$$host"),port:pn("$$port"),path:un("$$path",function(e){return"/"==e.charAt(0)?e:"/"+e}),search:function(e,t){switch(arguments.length){case 0:return this.$$search;case 1:if(b(e))this.$$search=G(e);else{if(!_(e))throw Gi("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");this.$$search=e}break;default:y(t)||null===t?delete this.$$search[e]:this.$$search[e]=t}return this.$$compose(),this},hash:un("$$hash",m),replace:function(){return this.$$replace=!0,this}};var Xi,Zi=i("$parse"),Ki={},Yi={"null":function(){return null},"true":function(){return!0},"false":function(){return!1},undefined:h,"+":function(e,t,i,r){return i=i(e,t),r=r(e,t),v(i)?v(r)?i+r:i:v(r)?r:n},"-":function(e,t,n,i){return n=n(e,t),i=i(e,t),(v(n)?n:0)-(v(i)?i:0)},"*":function(e,t,n,i){return n(e,t)*i(e,t)},"/":function(e,t,n,i){return n(e,t)/i(e,t)},"%":function(e,t,n,i){return n(e,t)%i(e,t)},"^":function(e,t,n,i){return n(e,t)^i(e,t)},"=":h,"===":function(e,t,n,i){return n(e,t)===i(e,t)},"!==":function(e,t,n,i){return n(e,t)!==i(e,t)},"==":function(e,t,n,i){return n(e,t)==i(e,t)},"!=":function(e,t,n,i){return n(e,t)!=i(e,t)},"<":function(e,t,n,i){return n(e,t)<i(e,t)},">":function(e,t,n,i){return n(e,t)>i(e,t)},"<=":function(e,t,n,i){return n(e,t)<=i(e,t)},">=":function(e,t,n,i){return n(e,t)>=i(e,t)},"&&":function(e,t,n,i){return n(e,t)&&i(e,t)},"||":function(e,t,n,i){return n(e,t)||i(e,t)},"&":function(e,t,n,i){return n(e,t)&i(e,t)},"|":function(e,t,n,i){return i(e,t)(e,t,n(e,t))},"!":function(e,t,n){return!n(e,t)}},Qi={n:"\n",f:"\f",r:"\r",t:" ",v:" ","'":"'",'"':'"'},Ji=function(e){this.options=e};Ji.prototype={constructor:Ji,lex:function(e){this.text=e,this.index=0,this.ch=n,this.lastCh=":",this.tokens=[];for(var t,i=[];this.index<this.text.length;){if(this.ch=this.text.charAt(this.index),this.is("\"'"))this.readString(this.ch);else if(this.isNumber(this.ch)||this.is(".")&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdent(this.ch))this.readIdent(),this.was("{,")&&"{"===i[0]&&(t=this.tokens[this.tokens.length-1])&&(t.json=-1===t.text.indexOf("."));else if(this.is("(){}[].,;:?"))this.tokens.push({index:this.index,text:this.ch,json:this.was(":[,")&&this.is("{[")||this.is("}]:,")}),this.is("{[")&&i.unshift(this.ch),this.is("}]")&&i.shift(),this.index++;else{if(this.isWhitespace(this.ch)){this.index++;continue}var r=this.ch+this.peek(),a=r+this.peek(2),o=Yi[this.ch],s=Yi[r],c=Yi[a];c?(this.tokens.push({index:this.index,text:a,fn:c}),this.index+=3):s?(this.tokens.push({index:this.index,text:r,fn:s}),this.index+=2):o?(this.tokens.push({index:this.index,text:this.ch,fn:o,json:this.was("[,:")&&this.is("+-")}),this.index+=1):this.throwError("Unexpected next character ",this.index,this.index+1)}this.lastCh=this.ch}return this.tokens},is:function(e){return-1!==e.indexOf(this.ch)},was:function(e){return-1!==e.indexOf(this.lastCh)},peek:function(e){var t=e||1;return this.index+t<this.text.length?this.text.charAt(this.index+t):!1},isNumber:function(e){return e>="0"&&"9">=e},isWhitespace:function(e){return" "===e||"\r"===e||" "===e||"\n"===e||" "===e||" "===e},isIdent:function(e){return e>="a"&&"z">=e||e>="A"&&"Z">=e||"_"===e||"$"===e},isExpOperator:function(e){return"-"===e||"+"===e||this.isNumber(e)},throwError:function(e,t,n){n=n||this.index;var i=v(t)?"s "+t+"-"+this.index+" ["+this.text.substring(t,n)+"]":" "+n;throw Zi("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",e,i,this.text)},readNumber:function(){for(var e="",t=this.index;this.index<this.text.length;){var n=oi(this.text.charAt(this.index));if("."==n||this.isNumber(n))e+=n;else{var i=this.peek();if("e"==n&&this.isExpOperator(i))e+=n;else if(this.isExpOperator(n)&&i&&this.isNumber(i)&&"e"==e.charAt(e.length-1))e+=n;else{if(!this.isExpOperator(n)||i&&this.isNumber(i)||"e"!=e.charAt(e.length-1))break;this.throwError("Invalid exponent")}}this.index++}e=1*e,this.tokens.push({index:t,text:e,json:!0,fn:function(){return e}})},readIdent:function(){for(var e,t,n,i,r=this,a="",o=this.index;this.index<this.text.length&&(i=this.text.charAt(this.index),"."===i||this.isIdent(i)||this.isNumber(i));)"."===i&&(e=this.index),a+=i,this.index++;if(e)for(t=this.index;t<this.text.length;){if(i=this.text.charAt(t),"("===i){n=a.substr(e-o+1),a=a.substr(0,e-o),this.index=t;break}if(!this.isWhitespace(i))break;t++}var s={index:o,text:a};if(Yi.hasOwnProperty(a))s.fn=Yi[a],s.json=Yi[a];else{var c=bn(a,this.options,this.text);s.fn=u(function(e,t){return c(e,t)},{assign:function(e,t){return gn(e,a,t,r.text,r.options)}})}this.tokens.push(s),n&&(this.tokens.push({index:e,text:".",json:!1}),this.tokens.push({index:e+1,text:n,json:!1}))},readString:function(e){var t=this.index;this.index++;for(var n="",i=e,r=!1;this.index<this.text.length;){var a=this.text.charAt(this.index);if(i+=a,r){if("u"===a){var o=this.text.substring(this.index+1,this.index+5);o.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+o+"]"),this.index+=4,n+=String.fromCharCode(parseInt(o,16))}else{var s=Qi[a];n+=s?s:a}r=!1}else if("\\"===a)r=!0;else{if(a===e)return this.index++,void this.tokens.push({index:t,text:i,string:n,json:!0,fn:function(){return n}});n+=a}this.index++}this.throwError("Unterminated quote",t)}};var er=function(e,t,n){this.lexer=e,this.$filter=t,this.options=n};er.ZERO=function(){return 0},er.prototype={constructor:er,parse:function(e,t){this.text=e,this.json=t,this.tokens=this.lexer.lex(e),t&&(this.assignment=this.logicalOR,this.functionCall=this.fieldAccess=this.objectIndex=this.filterChain=function(){this.throwError("is not valid json",{text:e,index:0})});var n=t?this.primary():this.statements();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),n.literal=!!n.literal,n.constant=!!n.constant,n},primary:function(){var e;if(this.expect("("))e=this.filterChain(),this.consume(")");else if(this.expect("["))e=this.arrayDeclaration();else if(this.expect("{"))e=this.object();else{var t=this.expect();e=t.fn,e||this.throwError("not a primary expression",t),t.json&&(e.constant=!0,e.literal=!0)}for(var n,i;n=this.expect("(","[",".");)"("===n.text?(e=this.functionCall(e,i),i=null):"["===n.text?(i=e,e=this.objectIndex(e)):"."===n.text?(i=e,e=this.fieldAccess(e)):this.throwError("IMPOSSIBLE");return e},throwError:function(e,t){throw Zi("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",t.text,e,t.index+1,this.text,this.text.substring(t.index))},peekToken:function(){if(0===this.tokens.length)throw Zi("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(e,t,n,i){if(this.tokens.length>0){var r=this.tokens[0],a=r.text;if(a===e||a===t||a===n||a===i||!e&&!t&&!n&&!i)return r}return!1},expect:function(e,t,n,i){var r=this.peek(e,t,n,i);return r?(this.json&&!r.json&&this.throwError("is not valid json",r),this.tokens.shift(),r):!1},consume:function(e){this.expect(e)||this.throwError("is unexpected, expecting ["+e+"]",this.peek())},unaryFn:function(e,t){return u(function(n,i){return e(n,i,t)},{constant:t.constant})},ternaryFn:function(e,t,n){return u(function(i,r){return e(i,r)?t(i,r):n(i,r)},{constant:e.constant&&t.constant&&n.constant})},binaryFn:function(e,t,n){return u(function(i,r){return t(i,r,e,n)},{constant:e.constant&&n.constant})},statements:function(){for(var e=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&e.push(this.filterChain()),!this.expect(";"))return 1===e.length?e[0]:function(t,n){for(var i,r=0;r<e.length;r++){var a=e[r];a&&(i=a(t,n))}return i}},filterChain:function(){for(var e,t=this.expression();;){if(!(e=this.expect("|")))return t;t=this.binaryFn(t,e.fn,this.filter())}},filter:function(){for(var e=this.expect(),t=this.$filter(e.text),n=[];;){if(!(e=this.expect(":"))){var i=function(e,i,r){for(var a=[r],o=0;o<n.length;o++)a.push(n[o](e,i));return t.apply(e,a)};return function(){return i}}n.push(this.expression())}},expression:function(){return this.assignment()},assignment:function(){var e,t,n=this.ternary();return(t=this.expect("="))?(n.assign||this.throwError("implies assignment but ["+this.text.substring(0,t.index)+"] can not be assigned to",t),e=this.ternary(),function(t,i){return n.assign(t,e(t,i),i)}):n},ternary:function(){var e,t,n=this.logicalOR();return(t=this.expect("?"))?(e=this.ternary(),(t=this.expect(":"))?this.ternaryFn(n,e,this.ternary()):void this.throwError("expected :",t)):n},logicalOR:function(){for(var e,t=this.logicalAND();;){if(!(e=this.expect("||")))return t;t=this.binaryFn(t,e.fn,this.logicalAND())}},logicalAND:function(){var e,t=this.equality();return(e=this.expect("&&"))&&(t=this.binaryFn(t,e.fn,this.logicalAND())),t},equality:function(){var e,t=this.relational();return(e=this.expect("==","!=","===","!=="))&&(t=this.binaryFn(t,e.fn,this.equality())),t},relational:function(){var e,t=this.additive();return(e=this.expect("<",">","<=",">="))&&(t=this.binaryFn(t,e.fn,this.relational())),t},additive:function(){for(var e,t=this.multiplicative();e=this.expect("+","-");)t=this.binaryFn(t,e.fn,this.multiplicative());return t},multiplicative:function(){for(var e,t=this.unary();e=this.expect("*","/","%");)t=this.binaryFn(t,e.fn,this.unary());return t},unary:function(){var e;return this.expect("+")?this.primary():(e=this.expect("-"))?this.binaryFn(er.ZERO,e.fn,this.unary()):(e=this.expect("!"))?this.unaryFn(e.fn,this.unary()):this.primary()},fieldAccess:function(e){var t=this,n=this.expect().text,i=bn(n,this.options,this.text);return u(function(t,n,r){return i(r||e(t,n),n)},{assign:function(i,r,a){return gn(e(i,a),n,r,t.text,t.options)}})},objectIndex:function(e){var t=this,i=this.expression();return this.consume("]"),u(function(r,a){var o,s,c=e(r,a),l=i(r,a);return c?(o=mn(c[l],t.text),o&&o.then&&t.options.unwrapPromises&&(s=o,"$$v"in o||(s.$$v=n,s.then(function(e){s.$$v=e})),o=o.$$v),o):n},{assign:function(n,r,a){var o=i(n,a),s=mn(e(n,a),t.text);return s[o]=r}})},functionCall:function(e,t){var n=[];if(")"!==this.peekToken().text)do n.push(this.expression());while(this.expect(","));this.consume(")");var i=this;return function(r,a){for(var o=[],s=t?t(r,a):r,c=0;c<n.length;c++)o.push(n[c](r,a));var l=e(r,a,s)||h;mn(s,i.text),mn(l,i.text);var p=l.apply?l.apply(s,o):l(o[0],o[1],o[2],o[3],o[4]);return mn(p,i.text)}},arrayDeclaration:function(){var e=[],t=!0;if("]"!==this.peekToken().text)do{var n=this.expression();e.push(n),n.constant||(t=!1)}while(this.expect(","));return this.consume("]"),u(function(t,n){for(var i=[],r=0;r<e.length;r++)i.push(e[r](t,n));return i},{literal:!0,constant:t})},object:function(){var e=[],t=!0;if("}"!==this.peekToken().text)do{var n=this.expect(),i=n.string||n.text;this.consume(":");var r=this.expression();e.push({key:i,value:r}),r.constant||(t=!1)}while(this.expect(","));return this.consume("}"),u(function(t,n){for(var i={},r=0;r<e.length;r++){var a=e[r];i[a.key]=a.value(t,n)}return i},{literal:!0,constant:t})}};var tr={},nr=i("$sce"),ir={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},rr=t.createElement("a"),ar=Pn(e.location.href,!0);Bn.$inject=["$provide"],On.$inject=["$locale"],Fn.$inject=["$locale"];var or=".",sr={yyyy:jn("FullYear",4),yy:jn("FullYear",2,0,!0),y:jn("FullYear",1),MMMM:Hn("Month"),MMM:Hn("Month",!0),MM:jn("Month",2,1),M:jn("Month",1,1),dd:jn("Date",2),d:jn("Date",1),HH:jn("Hours",2),H:jn("Hours",1),hh:jn("Hours",2,-12),h:jn("Hours",1,-12),mm:jn("Minutes",2),m:jn("Minutes",1),ss:jn("Seconds",2),s:jn("Seconds",1),sss:jn("Milliseconds",3),EEEE:Hn("Day"),EEE:Hn("Day",!0),a:Vn,Z:zn},cr=/((?:[^yMdHhmsaZE']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|d+|H+|h+|m+|s+|a|Z))(.*)/,lr=/^\-?\d+$/;Wn.$inject=["$locale"];var pr=g(oi),ur=g(si);Zn.$inject=["$parse"];var dr=g({restrict:"E",compile:function(e,n){return 8>=pi&&(n.href||n.name||n.$set("href",""),e.append(t.createComment("IE fix"))),n.href||n.name?void 0:function(e,t){t.on("click",function(e){t.attr("href")||e.preventDefault()})}}}),fr={};a(Pi,function(e,t){if("multiple"!=e){var n=Ut("ng-"+t);fr[n]=function(){return{priority:100,link:function(e,i,r){e.$watch(r[n],function(e){r.$set(t,!!e)})}}}}}),a(["src","srcset","href"],function(e){var t=Ut("ng-"+e);fr[t]=function(){return{priority:99,link:function(n,i,r){r.$observe(t,function(t){t&&(r.$set(e,t),pi&&i.prop(e,r[e]))
})}}}});var hr={$addControl:h,$removeControl:h,$setValidity:h,$setDirty:h,$setPristine:h};Yn.$inject=["$element","$attrs","$scope"];var mr=function(e){return["$timeout",function(t){var i={name:"form",restrict:e?"EAC":"E",controller:Yn,compile:function(){return{pre:function(e,i,r,a){if(!r.action){var o=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1};ki(i[0],"submit",o),i.on("$destroy",function(){t(function(){Ti(i[0],"submit",o)},0,!1)})}var s=i.parent().controller("form"),c=r.name||r.ngForm;c&&gn(e,c,a,c),s&&i.on("$destroy",function(){s.$removeControl(a),c&&gn(e,c,n,c),u(a,hr)})}}}};return i}]},gr=mr(),yr=mr(!0),vr=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,_r=/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/,br=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,wr={text:Jn,number:ei,url:ti,email:ni,radio:ii,checkbox:ri,hidden:h,button:h,submit:h,reset:h},$r=["$browser","$sniffer",function(e,t){return{restrict:"E",require:"?ngModel",link:function(n,i,r,a){a&&(wr[oi(r.type)]||wr.text)(n,i,r,a,t,e)}}}],Sr="ng-valid",xr="ng-invalid",Mr="ng-pristine",Cr="ng-dirty",kr=["$scope","$exceptionHandler","$attrs","$element","$parse",function(e,t,n,r,o){function s(e,t){t=t?"-"+J(t,"-"):"",r.removeClass((e?xr:Sr)+t).addClass((e?Sr:xr)+t)}this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$name=n.name;var c=o(n.ngModel),l=c.assign;if(!l)throw i("ngModel")("nonassign","Expression '{0}' is non-assignable. Element: {1}",n.ngModel,V(r));this.$render=h,this.$isEmpty=function(e){return y(e)||""===e||null===e||e!==e};var p=r.inheritedData("$formController")||hr,u=0,d=this.$error={};r.addClass(Mr),s(!0),this.$setValidity=function(e,t){d[e]!==!t&&(t?(d[e]&&u--,u||(s(!0),this.$valid=!0,this.$invalid=!1)):(s(!1),this.$invalid=!0,this.$valid=!1,u++),d[e]=!t,s(t,e),p.$setValidity(e,t,this))},this.$setPristine=function(){this.$dirty=!1,this.$pristine=!0,r.removeClass(Cr).addClass(Mr)},this.$setViewValue=function(n){this.$viewValue=n,this.$pristine&&(this.$dirty=!0,this.$pristine=!1,r.removeClass(Mr).addClass(Cr),p.$setDirty()),a(this.$parsers,function(e){n=e(n)}),this.$modelValue!==n&&(this.$modelValue=n,l(e,n),a(this.$viewChangeListeners,function(e){try{e()}catch(n){t(n)}}))};var f=this;e.$watch(function(){var t=c(e);if(f.$modelValue!==t){var n=f.$formatters,i=n.length;for(f.$modelValue=t;i--;)t=n[i](t);f.$viewValue!==t&&(f.$viewValue=t,f.$render())}return t})}],Tr=function(){return{require:["ngModel","^?form"],controller:kr,link:function(e,t,n,i){var r=i[0],a=i[1]||hr;a.$addControl(r),e.$on("$destroy",function(){a.$removeControl(r)})}}},Ar=g({require:"ngModel",link:function(e,t,n,i){i.$viewChangeListeners.push(function(){e.$eval(n.ngChange)})}}),Er=function(){return{require:"?ngModel",link:function(e,t,n,i){if(i){n.required=!0;var r=function(e){return n.required&&i.$isEmpty(e)?void i.$setValidity("required",!1):(i.$setValidity("required",!0),e)};i.$formatters.push(r),i.$parsers.unshift(r),n.$observe("required",function(){r(i.$viewValue)})}}}},Dr=function(){return{require:"ngModel",link:function(e,t,i,r){var o=/\/(.*)\//.exec(i.ngList),s=o&&new RegExp(o[1])||i.ngList||",",c=function(e){if(!y(e)){var t=[];return e&&a(e.split(s),function(e){e&&t.push(wi(e))}),t}};r.$parsers.push(c),r.$formatters.push(function(e){return S(e)?e.join(", "):n}),r.$isEmpty=function(e){return!e||!e.length}}}},Ir=/^(true|false|\d+)$/,Pr=function(){return{priority:100,compile:function(e,t){return Ir.test(t.ngValue)?function(e,t,n){n.$set("value",e.$eval(n.ngValue))}:function(e,t,n){e.$watch(n.ngValue,function(e){n.$set("value",e)})}}}},Nr=Kn(function(e,t,i){t.addClass("ng-binding").data("$binding",i.ngBind),e.$watch(i.ngBind,function(e){t.text(e==n?"":e)})}),Lr=["$interpolate",function(e){return function(t,n,i){var r=e(n.attr(i.$attr.ngBindTemplate));n.addClass("ng-binding").data("$binding",r),i.$observe("ngBindTemplate",function(e){n.text(e)})}}],Br=["$sce","$parse",function(e,t){return function(n,i,r){function a(){return(o(n)||"").toString()}i.addClass("ng-binding").data("$binding",r.ngBindHtml);var o=t(r.ngBindHtml);n.$watch(a,function(){i.html(e.getTrustedHtml(o(n))||"")})}}],Ur=ai("",!0),Or=ai("Odd",0),Fr=ai("Even",1),Rr=Kn({compile:function(e,t){t.$set("ngCloak",n),e.removeClass("ng-cloak")}}),qr=[function(){return{scope:!0,controller:"@",priority:500}}],jr={};a("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(e){var t=Ut("ng-"+e);jr[t]=["$parse",function(n){return{compile:function(i,r){var a=n(r[t]);return function(t,n){n.on(oi(e),function(e){t.$apply(function(){a(t,{$event:e})})})}}}}]});var Hr=["$animate",function(e){return{transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(n,i,r,a,o){var s,c;n.$watch(r.ngIf,function(a){z(a)?c||(c=n.$new(),o(c,function(n){n[n.length++]=t.createComment(" end ngIf: "+r.ngIf+" "),s={clone:n},e.enter(n,i.parent(),i)})):(c&&(c.$destroy(),c=null),s&&(e.leave(at(s.clone)),s=null))})}}}],zr=["$http","$templateCache","$anchorScroll","$animate","$sce",function(e,t,n,i,r){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:_i.noop,compile:function(a,o){var s=o.ngInclude||o.src,c=o.onload||"",l=o.autoscroll;return function(a,o,p,u,d){var f,h,m=0,g=function(){f&&(f.$destroy(),f=null),h&&(i.leave(h),h=null)};a.$watch(r.parseAsResourceUrl(s),function(r){var s=function(){!v(l)||l&&!a.$eval(l)||n()},p=++m;r?(e.get(r,{cache:t}).success(function(e){if(p===m){var t=a.$new();u.template=e;var n=d(t,function(e){g(),i.enter(e,null,o,s)});f=t,h=n,f.$emit("$includeContentLoaded"),a.$eval(c)}}).error(function(){p===m&&g()}),a.$emit("$includeContentRequested")):(g(),u.template=null)})}}}}],Vr=["$compile",function(e){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(t,n,i,r){n.html(r.template),e(n.contents())(t)}}}],Wr=Kn({priority:450,compile:function(){return{pre:function(e,t,n){e.$eval(n.ngInit)}}}}),Gr=Kn({terminal:!0,priority:1e3}),Xr=["$locale","$interpolate",function(e,t){var n=/{}/g;return{restrict:"EA",link:function(i,r,o){var s=o.count,c=o.$attr.when&&r.attr(o.$attr.when),l=o.offset||0,p=i.$eval(c)||{},u={},d=t.startSymbol(),f=t.endSymbol(),h=/^when(Minus)?(.+)$/;a(o,function(e,t){h.test(t)&&(p[oi(t.replace("when","").replace("Minus","-"))]=r.attr(o.$attr[t]))}),a(p,function(e,i){u[i]=t(e.replace(n,d+s+"-"+l+f))}),i.$watch(function(){var t=parseFloat(i.$eval(s));return isNaN(t)?"":(t in p||(t=e.pluralCat(t-l)),u[t](i,r,!0))},function(e){r.text(e)})}}}],Zr=["$parse","$animate",function(e,n){function o(e){return e.clone[0]}function s(e){return e.clone[e.clone.length-1]}var c="$$NG_REMOVED",l=i("ngRepeat");return{transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,link:function(i,p,u,d,f){var h,m,g,y,v,_,b,w,$,S=u.ngRepeat,x=S.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),M={$id:kt};if(!x)throw l("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",S);if(_=x[1],b=x[2],h=x[3],h?(m=e(h),g=function(e,t,n){return $&&(M[$]=e),M[w]=t,M.$index=n,m(i,M)}):(y=function(e,t){return kt(t)},v=function(e){return e}),x=_.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/),!x)throw l("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",_);w=x[3]||x[1],$=x[2];var C={};i.$watchCollection(b,function(e){var u,d,h,m,_,b,x,M,k,T,A,E,D=p[0],I={},P=[];if(r(e))T=e,k=g||y;else{k=g||v,T=[];for(b in e)e.hasOwnProperty(b)&&"$"!=b.charAt(0)&&T.push(b);T.sort()}for(m=T.length,d=P.length=T.length,u=0;d>u;u++)if(b=e===T?u:T[u],x=e[b],M=k(b,x,u),it(M,"`track by` id"),C.hasOwnProperty(M))A=C[M],delete C[M],I[M]=A,P[u]=A;else{if(I.hasOwnProperty(M))throw a(P,function(e){e&&e.scope&&(C[e.id]=e)}),l("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}",S,M);P[u]={id:M},I[M]=!1}for(b in C)C.hasOwnProperty(b)&&(A=C[b],E=at(A.clone),n.leave(E),a(E,function(e){e[c]=!0}),A.scope.$destroy());for(u=0,d=T.length;d>u;u++){if(b=e===T?u:T[u],x=e[b],A=P[u],P[u-1]&&(D=s(P[u-1])),A.scope){_=A.scope,h=D;do h=h.nextSibling;while(h&&h[c]);o(A)!=h&&n.move(at(A.clone),null,ui(D)),D=s(A)}else _=i.$new();_[w]=x,$&&(_[$]=b),_.$index=u,_.$first=0===u,_.$last=u===m-1,_.$middle=!(_.$first||_.$last),_.$odd=!(_.$even=0===(1&u)),A.scope||f(_,function(e){e[e.length++]=t.createComment(" end ngRepeat: "+S+" "),n.enter(e,null,ui(D)),D=e,A.scope=_,A.clone=e,I[A.id]=A})}C=I})}}}],Kr=["$animate",function(e){return function(t,n,i){t.$watch(i.ngShow,function(t){e[z(t)?"removeClass":"addClass"](n,"ng-hide")})}}],Yr=["$animate",function(e){return function(t,n,i){t.$watch(i.ngHide,function(t){e[z(t)?"addClass":"removeClass"](n,"ng-hide")})}}],Qr=Kn(function(e,t,n){e.$watch(n.ngStyle,function(e,n){n&&e!==n&&a(n,function(e,n){t.css(n,"")}),e&&t.css(e)},!0)}),Jr=["$animate",function(e){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(t,n,i,r){var o,s,c=i.ngSwitch||i.on,l=[];t.$watch(c,function(n){for(var c=0,p=l.length;p>c;c++)l[c].$destroy(),e.leave(s[c]);s=[],l=[],(o=r.cases["!"+n]||r.cases["?"])&&(t.$eval(i.change),a(o,function(n){var i=t.$new();l.push(i),n.transclude(i,function(t){var i=n.element;s.push(t),e.enter(t,i.parent(),i)})}))})}}}],ea=Kn({transclude:"element",priority:800,require:"^ngSwitch",link:function(e,t,n,i,r){i.cases["!"+n.ngSwitchWhen]=i.cases["!"+n.ngSwitchWhen]||[],i.cases["!"+n.ngSwitchWhen].push({transclude:r,element:t})}}),ta=Kn({transclude:"element",priority:800,require:"^ngSwitch",link:function(e,t,n,i,r){i.cases["?"]=i.cases["?"]||[],i.cases["?"].push({transclude:r,element:t})}}),na=Kn({controller:["$element","$transclude",function(e,t){if(!t)throw i("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",V(e));this.$transclude=t}],link:function(e,t,n,i){i.$transclude(function(e){t.empty(),t.append(e)})}}),ia=["$templateCache",function(e){return{restrict:"E",terminal:!0,compile:function(t,n){if("text/ng-template"==n.type){var i=n.id,r=t[0].text;e.put(i,r)}}}}],ra=i("ngOptions"),aa=g({terminal:!0}),oa=["$compile","$parse",function(e,i){var r=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,s={$setViewValue:h};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(e,t,n){var i,r,a=this,o={},c=s;a.databound=n.ngModel,a.init=function(e,t,n){c=e,i=t,r=n},a.addOption=function(t){it(t,'"option value"'),o[t]=!0,c.$viewValue==t&&(e.val(t),r.parent()&&r.remove())},a.removeOption=function(e){this.hasOption(e)&&(delete o[e],c.$viewValue==e&&this.renderUnknownOption(e))},a.renderUnknownOption=function(t){var n="? "+kt(t)+" ?";r.val(n),e.prepend(r),e.val(n),r.prop("selected",!0)},a.hasOption=function(e){return o.hasOwnProperty(e)},t.$on("$destroy",function(){a.renderUnknownOption=h})}],link:function(s,c,l,p){function u(e,t,n,i){n.$render=function(){var e=n.$viewValue;i.hasOption(e)?(M.parent()&&M.remove(),t.val(e),""===e&&h.prop("selected",!0)):y(e)&&h?t.val(""):i.renderUnknownOption(e)},t.on("change",function(){e.$apply(function(){M.parent()&&M.remove(),n.$setViewValue(t.val())})})}function d(e,t,n){var i;n.$render=function(){var e=new Tt(n.$viewValue);a(t.find("option"),function(t){t.selected=v(e.get(t.value))})},e.$watch(function(){B(i,n.$viewValue)||(i=N(n.$viewValue),n.$render())}),t.on("change",function(){e.$apply(function(){var e=[];a(t.find("option"),function(t){t.selected&&e.push(t.value)}),n.$setViewValue(e)})})}function f(t,a,s){function c(){var e,n,i,r,c,l,g,b,C,k,T,A,E,D,I,P={"":[]},N=[""],L=s.$modelValue,B=m(t)||[],U=d?o(B):B,O={},F=!1;if(_)if(y&&S(L)){F=new Tt([]);for(var R=0;R<L.length;R++)O[u]=L[R],F.put(y(t,O),L[R])}else F=new Tt(L);for(T=0;C=U.length,C>T;T++){if(g=T,d){if(g=U[T],"$"===g.charAt(0))continue;O[d]=g}if(O[u]=B[g],e=f(t,O)||"",(n=P[e])||(n=P[e]=[],N.push(e)),_)A=v(F.remove(y?y(t,O):h(t,O)));else{if(y){var q={};q[u]=L,A=y(t,q)===y(t,O)}else A=L===h(t,O);F=F||A}I=p(t,O),I=v(I)?I:"",n.push({id:y?y(t,O):d?U[T]:T,label:I,selected:A})}for(_||(w||null===L?P[""].unshift({id:"",label:"",selected:!F}):F||P[""].unshift({id:"?",label:"",selected:!0})),k=0,b=N.length;b>k;k++){for(e=N[k],n=P[e],M.length<=k?(r={element:x.clone().attr("label",e),label:n.label},c=[r],M.push(c),a.append(r.element)):(c=M[k],r=c[0],r.label!=e&&r.element.attr("label",r.label=e)),E=null,T=0,C=n.length;C>T;T++)i=n[T],(l=c[T+1])?(E=l.element,l.label!==i.label&&E.text(l.label=i.label),l.id!==i.id&&E.val(l.id=i.id),E[0].selected!==i.selected&&E.prop("selected",l.selected=i.selected)):(""===i.id&&w?D=w:(D=$.clone()).val(i.id).attr("selected",i.selected).text(i.label),c.push(l={element:D,label:i.label,id:i.id,selected:i.selected}),E?E.after(D):r.element.append(D),E=D);for(T++;c.length>T;)c.pop().element.remove()}for(;M.length>k;)M.pop()[0].element.remove()}var l;if(!(l=b.match(r)))throw ra("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",b,V(a));var p=i(l[2]||l[1]),u=l[4]||l[6],d=l[5],f=i(l[3]||""),h=i(l[2]?l[1]:u),m=i(l[7]),g=l[8],y=g?i(l[8]):null,M=[[{element:a,label:""}]];w&&(e(w)(t),w.removeClass("ng-scope"),w.remove()),a.empty(),a.on("change",function(){t.$apply(function(){var e,i,r,o,c,l,p,f,g,v=m(t)||[],b={};if(_){for(r=[],l=0,f=M.length;f>l;l++)for(e=M[l],c=1,p=e.length;p>c;c++)if((o=e[c].element)[0].selected){if(i=o.val(),d&&(b[d]=i),y)for(g=0;g<v.length&&(b[u]=v[g],y(t,b)!=i);g++);else b[u]=v[i];r.push(h(t,b))}}else if(i=a.val(),"?"==i)r=n;else if(""===i)r=null;else if(y){for(g=0;g<v.length;g++)if(b[u]=v[g],y(t,b)==i){r=h(t,b);break}}else b[u]=v[i],d&&(b[d]=i),r=h(t,b);s.$setViewValue(r)})}),s.$render=c,t.$watch(c)}if(p[1]){for(var h,m=p[0],g=p[1],_=l.multiple,b=l.ngOptions,w=!1,$=ui(t.createElement("option")),x=ui(t.createElement("optgroup")),M=$.clone(),C=0,k=c.children(),T=k.length;T>C;C++)if(""===k[C].value){h=w=k.eq(C);break}m.init(g,w,M),_&&(g.$isEmpty=function(e){return!e||0===e.length}),b?f(s,c,g):_?d(s,c,g):u(s,c,g,m)}}}}],sa=["$interpolate",function(e){var t={addOption:h,removeOption:h};return{restrict:"E",priority:100,compile:function(n,i){if(y(i.value)){var r=e(n.text(),!0);r||i.$set("value",n.text())}return function(e,n,i){var a="$selectController",o=n.parent(),s=o.data(a)||o.parent().data(a);s&&s.databound?n.prop("selected",!1):s=t,r?e.$watch(r,function(e,t){i.$set("value",e),e!==t&&s.removeOption(t),s.addOption(e)}):s.addOption(i.value),n.on("$destroy",function(){s.removeOption(i.value)})}}}}],ca=g({restrict:"E",terminal:!0});et(),st(_i),ui(t).ready(function(){Y(t,Q)})}(window,document),!angular.$$csp()&&angular.element(document).find("head").prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide{display:none !important;}ng\\:form{display:block;}</style>'),function(e,t){"use strict";function n(){function e(e,n){return t.extend(new(t.extend(function(){},{prototype:e})),n)}function n(e,t){var n=t.caseInsensitiveMatch,i={originalPath:e,regexp:e},r=i.keys=[];return e=e.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)([\?|\*])?/g,function(e,t,n,i){var a="?"===i?i:null,o="*"===i?i:null;return r.push({name:n,optional:!!a}),t=t||"",""+(a?"":t)+"(?:"+(a?t:"")+(o&&"(.+?)"||"([^/]+)")+(a||"")+")"+(a||"")}).replace(/([\/$\*])/g,"\\$1"),i.regexp=new RegExp("^"+e+"$",n?"i":""),i}var i={};this.when=function(e,r){if(i[e]=t.extend({reloadOnSearch:!0},r,e&&n(e,r)),e){var a="/"==e[e.length-1]?e.substr(0,e.length-1):e+"/";i[a]=t.extend({redirectTo:e},n(a,r))}return this},this.otherwise=function(e){return this.when(null,e),this},this.$get=["$rootScope","$location","$routeParams","$q","$injector","$http","$templateCache","$sce",function(n,r,a,o,s,c,l,p){function u(e,t){var n=t.keys,i={};if(!t.regexp)return null;var r=t.regexp.exec(e);if(!r)return null;for(var a=1,o=r.length;o>a;++a){var s=n[a-1],c="string"==typeof r[a]?decodeURIComponent(r[a]):r[a];s&&c&&(i[s.name]=c)}return i}function d(){var e=f(),i=g.current;e&&i&&e.$$route===i.$$route&&t.equals(e.pathParams,i.pathParams)&&!e.reloadOnSearch&&!m?(i.params=e.params,t.copy(i.params,a),n.$broadcast("$routeUpdate",i)):(e||i)&&(m=!1,n.$broadcast("$routeChangeStart",e,i),g.current=e,e&&e.redirectTo&&(t.isString(e.redirectTo)?r.path(h(e.redirectTo,e.params)).search(e.params).replace():r.url(e.redirectTo(e.pathParams,r.path(),r.search())).replace()),o.when(e).then(function(){if(e){var n,i,r=t.extend({},e.resolve);return t.forEach(r,function(e,n){r[n]=t.isString(e)?s.get(e):s.invoke(e)}),t.isDefined(n=e.template)?t.isFunction(n)&&(n=n(e.params)):t.isDefined(i=e.templateUrl)&&(t.isFunction(i)&&(i=i(e.params)),i=p.getTrustedResourceUrl(i),t.isDefined(i)&&(e.loadedTemplateUrl=i,n=c.get(i,{cache:l}).then(function(e){return e.data}))),t.isDefined(n)&&(r.$template=n),o.all(r)}}).then(function(r){e==g.current&&(e&&(e.locals=r,t.copy(e.params,a)),n.$broadcast("$routeChangeSuccess",e,i))},function(t){e==g.current&&n.$broadcast("$routeChangeError",e,i,t)}))}function f(){var n,a;return t.forEach(i,function(i){!a&&(n=u(r.path(),i))&&(a=e(i,{params:t.extend({},r.search(),n),pathParams:n}),a.$$route=i)}),a||i[null]&&e(i[null],{params:{},pathParams:{}})}function h(e,n){var i=[];return t.forEach((e||"").split(":"),function(e,t){if(0===t)i.push(e);else{var r=e.match(/(\w+)(.*)/),a=r[1];i.push(n[a]),i.push(r[2]||""),delete n[a]}}),i.join("")}var m=!1,g={routes:i,reload:function(){m=!0,n.$evalAsync(d)}};return n.$on("$locationChangeSuccess",d),g}]}function i(){this.$get=function(){return{}}}function r(e,n,i){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(r,a,o,s,c){function l(){u&&(u.$destroy(),u=null),d&&(i.leave(d),d=null)}function p(){var o=e.current&&e.current.locals,s=o&&o.$template;if(t.isDefined(s)){var p=r.$new(),m=e.current,g=c(p,function(e){i.enter(e,null,d||a,function(){!t.isDefined(f)||f&&!r.$eval(f)||n()}),l()});d=g,u=m.scope=p,u.$emit("$viewContentLoaded"),u.$eval(h)}else l()}var u,d,f=o.autoscroll,h=o.onload||"";r.$on("$routeChangeSuccess",p),p()}}}function a(e,t,n){return{restrict:"ECA",priority:-400,link:function(i,r){var a=n.current,o=a.locals;r.html(o.$template);var s=e(r.contents());if(a.controller){o.$scope=i;var c=t(a.controller,o);a.controllerAs&&(i[a.controllerAs]=c),r.data("$ngControllerController",c),r.children().data("$ngControllerController",c)}s(i)}}}var o=t.module("ngRoute",["ng"]).provider("$route",n);o.provider("$routeParams",i),o.directive("ngView",r),o.directive("ngView",a),r.$inject=["$route","$anchorScroll","$animate"],a.$inject=["$compile","$controller","$route"]}(window,window.angular),function(e,t,n){"use strict";t.module("ngAnimate",["ng"]).factory("$$animateReflow",["$window","$timeout",function(e,t){var n=e.requestAnimationFrame||e.webkitRequestAnimationFrame||function(e){return t(e,10,!1)},i=e.cancelAnimationFrame||e.webkitCancelAnimationFrame||function(e){return t.cancel(e)};return function(e){var t=n(e);return function(){i(t)}}}]).config(["$provide","$animateProvider",function(i,r){function a(e){for(var t=0;t<e.length;t++){var n=e[t];if(n.nodeType==p)return n}}function o(e,t){return a(e)==a(t)}var s=t.noop,c=t.forEach,l=r.$$selectors,p=1,u="$$ngAnimateState",d="ng-animate",f={running:!0};i.decorator("$animate",["$delegate","$injector","$sniffer","$rootElement","$timeout","$rootScope","$document",function(e,n,i,p,h,m){function g(e){return h(e,0,!1)}function y(e){if(e){var t=[],r={},a=e.substr(1).split(".");(i.transitions||i.animations)&&a.push("");for(var o=0;o<a.length;o++){var s=a[o],c=l[s];c&&!r[s]&&(t.push(n.get(c)),r[s]=!0)}return t}}function v(e,t,n,i,r,o,l){function p(e){if(M(),e===!0)return void C();var t=n.data(u);t&&(t.done=C,n.data(u,t)),f(N,"after",C)}function f(i,r,a){function o(e,t){var n=t+"Complete",r=i[e];r[n]=!0,(r[l]||s)();for(var o=0;o<i.length;o++)if(!i[o][n])return;a()}"after"==r?_():v();var l=r+"End";c(i,function(i,a){var s=function(){o(a,r)};return"before"!=r||"enter"!=e&&"move"!=e?void(i[r]?i[l]=I?i[r](n,t,s):i[r](n,s):s()):void s()})}function m(i){n.triggerHandler("$animate:"+i,{event:e,className:t})}function v(){g(function(){m("before")})}function _(){g(function(){m("after")})}function S(){l&&g(l)}function M(){M.hasBeenRun||(M.hasBeenRun=!0,o())}function C(){if(!C.hasBeenRun){C.hasBeenRun=!0;var e=n.data(u);e&&(I?w(n):(e.closeAnimationTimeout=g(function(){w(n)}),n.data(u,e))),S()}}var k,T,A=a(n);if(A&&(k=A.className,T=k+" "+t),!A||!x(T))return M(),v(),_(),void C();var E=(" "+T).replace(/\s+/g,".");i||(i=r?r.parent():n.parent());var D=y(E),I="addClass"==e||"removeClass"==e,P=n.data(u)||{};if($(n,i)||0===D.length)return M(),v(),_(),void C();var N=[],L=I?!(P.disabled||P.running&&P.structural):!0;if(L&&c(D,function(i){if(!i.allowCancel||i.allowCancel(n,e,t)){var r,a=i[e];"leave"==e?(r=a,a=null):r=i["before"+e.charAt(0).toUpperCase()+e.substr(1)],N.push({before:r,after:a})}}),0===N.length)return M(),v(),_(),void S();var B=" ",U=B+k+B;if(P.running){h.cancel(P.closeAnimationTimeout),w(n),b(P.animations);var O=I&&!P.structural,F=O&&P.className==t&&e!=P.event;P.beforeComplete||F?(P.done||s)(!0):O&&(U="removeClass"==P.event?U.replace(B+P.className+B,B):U+P.className+B)}var R=B+t+B;return"addClass"==e&&U.indexOf(R)>=0||"removeClass"==e&&-1==U.indexOf(R)?(M(),v(),_(),void S()):(n.addClass(d),n.data(u,{running:!0,event:e,className:t,structural:!I,animations:N,done:p}),void f(N,"before",p))}function _(e){var n=a(e);c(n.querySelectorAll("."+d),function(e){e=t.element(e);var n=e.data(u);n&&(b(n.animations),w(e))})}function b(e){var t=!0;c(e,function(e){e.beforeComplete||(e.beforeEnd||s)(t),e.afterComplete||(e.afterEnd||s)(t)})}function w(e){o(e,p)?f.disabled||(f.running=!1,f.structural=!1):(e.removeClass(d),e.removeData(u))}function $(e,t){if(f.disabled)return!0;if(o(e,p))return f.disabled||f.running;do{if(0===t.length)break;var n=o(t,p),i=n?f:t.data(u),r=i&&(!!i.disabled||!!i.running);if(n||r)return r;if(n)return!0}while(t=t.parent());return!0}p.data(u,f),m.$$postDigest(function(){m.$$postDigest(function(){f.running=!1})});var S=r.classNameFilter(),x=S?function(e){return S.test(e)}:function(){return!0};return{enter:function(t,n,i,r){this.enabled(!1,t),e.enter(t,n,i),m.$$postDigest(function(){v("enter","ng-enter",t,n,i,s,r)})},leave:function(t,n){_(t),this.enabled(!1,t),m.$$postDigest(function(){v("leave","ng-leave",t,null,null,function(){e.leave(t)},n)})},move:function(t,n,i,r){_(t),this.enabled(!1,t),e.move(t,n,i),m.$$postDigest(function(){v("move","ng-move",t,n,i,s,r)})},addClass:function(t,n,i){v("addClass",n,t,null,null,function(){e.addClass(t,n)},i)},removeClass:function(t,n,i){v("removeClass",n,t,null,null,function(){e.removeClass(t,n)},i)},enabled:function(e,t){switch(arguments.length){case 2:if(e)w(t);else{var n=t.data(u)||{};n.disabled=!0,t.data(u,n)}break;case 1:f.disabled=!e;break;default:e=!f.disabled}return!!e}}}]),r.register("",["$window","$sniffer","$timeout","$$animateReflow",function(i,r,o,l){function u(e,n){P&&P(),W.push(n);var i=a(e);e=t.element(i),G.push(e);var r=e.data(F),s=r.stagger,p=r.itemIndex*(Math.max(s.animationDelay,s.transitionDelay)||0),u=(r.maxDelay+r.maxDuration)*q;X=Math.max(X,(p+u)*j),r.animationCount=H,P=l(function(){c(W,function(e){e()});var e=[],t=H;c(G,function(t){e.push(t)}),o(function(){d(e,t),e=null},X,!1),W=[],G=[],P=null,z={},X=0,H++})}function d(e,t){c(e,function(e){var n=e.data(F);n&&n.animationCount==t&&(n.closeAnimationFn||s)()})}function f(e,t){var n=t?z[t]:null;if(!n){var r,a,o,s,l=0,u=0,d=0,f=0;c(e,function(e){if(e.nodeType==p){var t=i.getComputedStyle(e)||{};o=t[T+N],l=Math.max(h(o),l),s=t[T+L],r=t[T+B],u=Math.max(h(r),u),a=t[E+B],f=Math.max(h(a),f);var n=h(t[E+N]);n>0&&(n*=parseInt(t[E+U],10)||1),d=Math.max(n,d)}}),n={total:0,transitionPropertyStyle:s,transitionDurationStyle:o,transitionDelayStyle:r,transitionDelay:u,transitionDuration:l,animationDelayStyle:a,animationDelay:f,animationDuration:d},t&&(z[t]=n)}return n}function h(e){var n=0,i=t.isString(e)?e.split(/\s*,\s*/):[];return c(i,function(e){n=Math.max(parseFloat(e)||0,n)}),n}function m(e){var t=e.parent(),n=t.data(O);return n||(t.data(O,++V),n=V),n+"-"+a(e).className}function g(e,t,n){var i=m(e),r=i+" "+t,a={},o=z[r]?++z[r].total:0;if(o>0){var s=t+"-stagger",l=i+" "+s,p=!z[l];p&&e.addClass(s),a=f(e,l),p&&e.removeClass(s)}n=n||function(e){return e()},e.addClass(t);var u=n(function(){return f(e,r)}),d=Math.max(u.transitionDelay,u.animationDelay),h=Math.max(u.transitionDuration,u.animationDuration);if(0===h)return e.removeClass(t),!1;var g="";return u.transitionDuration>0?y(e):v(e),c(t.split(" "),function(e,t){g+=(t>0?" ":"")+e+"-active"}),e.data(F,{className:t,activeClassName:g,maxDuration:h,maxDelay:d,classes:t+" "+g,timings:u,stagger:a,itemIndex:o}),!0}function y(e){a(e).style[T+L]="none"}function v(e){a(e).style[E]="none 0s"}function _(e){var t=T+L,n=a(e);n.style[t]&&n.style[t].length>0&&(n.style[t]="")}function b(e){var t=E,n=a(e);n.style[t]&&n.style[t].length>0&&(n.style[t]="")}function w(e,t,n){function i(){e.off(h,r),e.removeClass(u),C(e,t);var n=a(e);for(var i in y)n.style.removeProperty(y[i])}function r(e){e.stopPropagation();var t=e.originalEvent||e,i=t.$manualTimeStamp||t.timeStamp||Date.now(),r=parseFloat(t.elapsedTime.toFixed(R));Math.max(i-f,0)>=d&&r>=p&&n()}var o=e.data(F),s=a(e);if(-1==s.className.indexOf(t)||!o)return void n();var c=o.timings,l=o.stagger,p=o.maxDuration,u=o.activeClassName,d=Math.max(c.transitionDelay,c.animationDelay)*j,f=Date.now(),h=D+" "+A,m=o.itemIndex,g="",y=[];if(c.transitionDuration>0){var v=c.transitionPropertyStyle;-1==v.indexOf("all")&&(g+=I+"transition-property: "+v+";",g+=I+"transition-duration: "+c.transitionDurationStyle+";",y.push(I+"transition-property"),y.push(I+"transition-duration"))}if(m>0){if(l.transitionDelay>0&&0===l.transitionDuration){var _=c.transitionDelayStyle;g+=I+"transition-delay: "+$(_,l.transitionDelay,m)+"; ",y.push(I+"transition-delay")}l.animationDelay>0&&0===l.animationDuration&&(g+=I+"animation-delay: "+$(c.animationDelayStyle,l.animationDelay,m)+"; ",y.push(I+"animation-delay"))}if(y.length>0){var b=s.getAttribute("style")||"";s.setAttribute("style",b+" "+g)}return e.on(h,r),e.addClass(u),o.closeAnimationFn=function(){i(),n()},i}function $(e,t,n){var i="";return c(e.split(","),function(e,r){i+=(r>0?",":"")+(n*t+parseInt(e,10))+"s"}),i}function S(e,t,n){return g(e,t,n)?function(n){n&&C(e,t)}:void 0}function x(e,t,n){return e.data(F)?w(e,t,n):(C(e,t),void n())}function M(e,t,n){var i=S(e,t);if(!i)return void n();var r=i;return u(e,function(){_(e),b(e),r=x(e,t,n)}),function(e){(r||s)(e)}}function C(e,t){e.removeClass(t),e.removeData(F)}function k(e,n){var i="";return e=t.isArray(e)?e:e.split(/\s+/),c(e,function(e,t){e&&e.length>0&&(i+=(t>0?" ":"")+e+n)}),i}var T,A,E,D,I="";e.ontransitionend===n&&e.onwebkittransitionend!==n?(I="-webkit-",T="WebkitTransition",A="webkitTransitionEnd transitionend"):(T="transition",A="transitionend"),e.onanimationend===n&&e.onwebkitanimationend!==n?(I="-webkit-",E="WebkitAnimation",D="webkitAnimationEnd animationend"):(E="animation",D="animationend");var P,N="Duration",L="Property",B="Delay",U="IterationCount",O="$$ngAnimateKey",F="$$ngAnimateCSS3Data",R=3,q=1.5,j=1e3,H=0,z={},V=0,W=[],G=[],X=0;return{allowCancel:function(e,n,i){var r=(e.data(F)||{}).classes;if(!r||["enter","leave","move"].indexOf(n)>=0)return!0;var o=e.parent(),s=t.element(a(e).cloneNode());s.attr("style","position:absolute; top:-9999px; left:-9999px"),s.removeAttr("id"),s.empty(),c(r.split(" "),function(e){s.removeClass(e)});var l="addClass"==n?"-add":"-remove";s.addClass(k(i,l)),o.append(s);var p=f(s);return s.remove(),Math.max(p.transitionDuration,p.animationDuration)>0},enter:function(e,t){return M(e,"ng-enter",t)},leave:function(e,t){return M(e,"ng-leave",t)},move:function(e,t){return M(e,"ng-move",t)},beforeAddClass:function(e,t,n){var i=S(e,k(t,"-add"),function(n){e.addClass(t);var i=n();return e.removeClass(t),i});return i?(u(e,function(){_(e),b(e),n()}),i):void n()},addClass:function(e,t,n){return x(e,k(t,"-add"),n)},beforeRemoveClass:function(e,t,n){var i=S(e,k(t,"-remove"),function(n){var i=e.attr("class");e.removeClass(t);var r=n();return e.attr("class",i),r});return i?(u(e,function(){_(e),b(e),n()}),i):void n()},removeClass:function(e,t,n){return x(e,k(t,"-remove"),n)}}}])}])}(window,window.angular),function(e,t){"use strict";function n(){this.$get=["$$sanitizeUri",function(e){return function(t){var n=[];return a(t,c(n,function(t,n){return!/^unsafe/.test(e(t,n))})),n.join("")}}]}function i(e){var n=[],i=c(n,t.noop);return i.chars(e),n.join("")}function r(e){var t,n={},i=e.split(",");for(t=0;t<i.length;t++)n[i[t]]=!0;return n}function a(e,n){function i(e,i,a,s){if(i=t.lowercase(i),S[i])for(;v.last()&&x[v.last()];)r("",v.last());$[i]&&v.last()==i&&r("",i),s=_[i]||!!s,s||v.push(i);var c={};a.replace(d,function(e,t,n,i,r){var a=n||i||r||"";c[t]=o(a)}),n.start&&n.start(i,c,s)}function r(e,i){var r,a=0;if(i=t.lowercase(i))for(a=v.length-1;a>=0&&v[a]!=i;a--);if(a>=0){for(r=v.length-1;r>=a;r--)n.end&&n.end(v[r]);v.length=a}}var a,s,c,v=[],b=e;for(v.last=function(){return v[v.length-1]};e;){if(s=!0,v.last()&&M[v.last()])e=e.replace(new RegExp("(.*)<\\s*\\/\\s*"+v.last()+"[^>]*>","i"),function(e,t){return t=t.replace(m,"$1").replace(y,"$1"),n.chars&&n.chars(o(t)),""}),r("",v.last());else if(0===e.indexOf("<!--")?(a=e.indexOf("--",4),a>=0&&e.lastIndexOf("-->",a)===a&&(n.comment&&n.comment(e.substring(4,a)),e=e.substring(a+3),s=!1)):g.test(e)?(c=e.match(g),c&&(e=e.replace(c[0],""),s=!1)):h.test(e)?(c=e.match(u),c&&(e=e.substring(c[0].length),c[0].replace(u,r),s=!1)):f.test(e)&&(c=e.match(p),c&&(e=e.substring(c[0].length),c[0].replace(p,i),s=!1)),s){a=e.indexOf("<");var w=0>a?e:e.substring(0,a);e=0>a?"":e.substring(a),n.chars&&n.chars(o(w))}if(e==b)throw l("badparse","The sanitizer was unable to parse the following block of html: {0}",e);b=e}r()}function o(e){if(!e)return"";var t=E.exec(e),n=t[1],i=t[3],r=t[2];return r&&(A.innerHTML=r.replace(/</g,"&lt;"),r="textContent"in A?A.textContent:A.innerText),n+r+i}function s(e){return e.replace(/&/g,"&amp;").replace(v,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function c(e,n){var i=!1,r=t.bind(e,e.push);return{start:function(e,a,o){e=t.lowercase(e),!i&&M[e]&&(i=e),i||C[e]!==!0||(r("<"),r(e),t.forEach(a,function(i,a){var o=t.lowercase(a),c="img"===e&&"src"===o||"background"===o;T[o]!==!0||k[o]===!0&&!n(i,c)||(r(" "),r(a),r('="'),r(s(i)),r('"'))}),r(o?"/>":">"))},end:function(e){e=t.lowercase(e),i||C[e]!==!0||(r("</"),r(e),r(">")),e==i&&(i=!1)},chars:function(e){i||r(s(e))}}}var l=t.$$minErr("$sanitize"),p=/^<\s*([\w:-]+)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*>/,u=/^<\s*\/\s*([\w:-]+)[^>]*>/,d=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,f=/^</,h=/^<\s*\//,m=/<!--(.*?)-->/g,g=/<!DOCTYPE([^>]*?)>/i,y=/<!\[CDATA\[(.*?)]]>/g,v=/([^\#-~| |!])/g,_=r("area,br,col,hr,img,wbr"),b=r("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),w=r("rp,rt"),$=t.extend({},w,b),S=t.extend({},b,r("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),x=t.extend({},w,r("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),M=r("script,style"),C=t.extend({},_,S,x,$),k=r("background,cite,href,longdesc,src,usemap"),T=t.extend({},k,r("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,target,title,type,valign,value,vspace,width")),A=document.createElement("pre"),E=/^(\s*)([\s\S]*?)(\s*)$/;
t.module("ngSanitize",[]).provider("$sanitize",n),t.module("ngSanitize").filter("linky",["$sanitize",function(e){var n=/((ftp|https?):\/\/|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>]/,r=/^mailto:/;return function(a,o){function s(e){e&&f.push(i(e))}function c(e,n){f.push("<a "),t.isDefined(o)&&(f.push('target="'),f.push(o),f.push('" ')),f.push('href="'),f.push(e),f.push('">'),s(n),f.push("</a>")}if(!a)return a;for(var l,p,u,d=a,f=[];l=d.match(n);)p=l[0],l[2]==l[3]&&(p="mailto:"+p),u=l.index,s(d.substr(0,u)),c(p,l[0].replace(r,"")),d=d.substring(u+l[0].length);return s(d),e(f.join(""))}}])}(window,window.angular),angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.dropdownToggle","ui.bootstrap.modal","ui.bootstrap.position","ui.bootstrap.bindHtml","ui.bootstrap.tooltip"]),angular.module("ui.bootstrap.tpls",["template/modal/backdrop.html","template/modal/window.html","template/tooltip/tooltip-html-unsafe-popup.html","template/tooltip/tooltip-popup.html"]),angular.module("ui.bootstrap.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function(e,t,n){function i(e){for(var t in e)if(void 0!==a.style[t])return e[t]}var r=function(i,a,o){o=o||{};var s=e.defer(),c=r[o.animation?"animationEndEventName":"transitionEndEventName"],l=function(){n.$apply(function(){i.unbind(c,l),s.resolve(i)})};return c&&i.bind(c,l),t(function(){angular.isString(a)?i.addClass(a):angular.isFunction(a)?a(i):angular.isObject(a)&&i.css(a),c||s.resolve(i)}),s.promise.cancel=function(){c&&i.unbind(c,l),s.reject("Transition cancelled")},s.promise},a=document.createElement("trans"),o={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"},s={WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"};return r.transitionEndEventName=i(o),r.animationEndEventName=i(s),r}]),angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function(e){return{link:function(t,n,i){function r(t){function i(){l===r&&(l=void 0)}var r=e(n,t);return l&&l.cancel(),l=r,r.then(i,i),r}function a(){p?(p=!1,o()):(n.removeClass("collapse").addClass("collapsing"),r({height:n[0].scrollHeight+"px"}).then(o))}function o(){n.removeClass("collapsing"),n.addClass("collapse in"),n.css({height:"auto"})}function s(){if(p)p=!1,c(),n.css({height:0});else{n.css({height:n[0].scrollHeight+"px"});{n[0].offsetWidth}n.removeClass("collapse in").addClass("collapsing"),r({height:0}).then(c)}}function c(){n.removeClass("collapsing"),n.addClass("collapse")}var l,p=!0;t.$watch(i.collapse,function(e){e?s():a()})}}}]),angular.module("ui.bootstrap.dropdownToggle",[]).directive("dropdownToggle",["$document","$location",function(e){var t=null,n=angular.noop;return{restrict:"CA",link:function(i,r){i.$watch("$location.path",function(){n()}),r.parent().bind("click",function(){n()}),r.bind("click",function(i){var a=r===t;i.preventDefault(),i.stopPropagation(),t&&n(),a||r.hasClass("disabled")||r.prop("disabled")||(r.parent().addClass("open"),t=r,n=function(i){i&&(i.preventDefault(),i.stopPropagation()),e.unbind("click",n),r.parent().removeClass("open"),n=angular.noop,t=null},e.bind("click",n))})}}}]),angular.module("ui.bootstrap.modal",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var e=[];return{add:function(t,n){e.push({key:t,value:n})},get:function(t){for(var n=0;n<e.length;n++)if(t==e[n].key)return e[n]},keys:function(){for(var t=[],n=0;n<e.length;n++)t.push(e[n].key);return t},top:function(){return e[e.length-1]},remove:function(t){for(var n=-1,i=0;i<e.length;i++)if(t==e[i].key){n=i;break}return e.splice(n,1)[0]},removeTop:function(){return e.splice(e.length-1,1)[0]},length:function(){return e.length}}}}}).directive("modalBackdrop",["$timeout",function(e){return{restrict:"EA",replace:!0,templateUrl:"template/modal/backdrop.html",link:function(t){t.animate=!1,e(function(){t.animate=!0})}}}]).directive("modalWindow",["$modalStack","$timeout",function(e,t){return{restrict:"EA",scope:{index:"@",animate:"=",nav:"="},replace:!0,transclude:!0,templateUrl:"template/modal/window.html",link:function(n,i,r){n.windowClass=r.windowClass||"",t(function(){n.animate=!0,i[0].focus()}),n.close=function(t){var n=e.getTop();n&&n.value.backdrop&&"static"!=n.value.backdrop&&t.target===t.currentTarget&&(t.preventDefault(),t.stopPropagation(),e.dismiss(n.key,"backdrop click"))}}}}]).factory("$modalStack",["$transition","$timeout","$document","$compile","$rootScope","$$stackedMap",function(e,t,n,i,r,a){function o(){for(var e=-1,t=f.keys(),n=0;n<t.length;n++)f.get(t[n]).value.backdrop&&(e=n);return e}function s(e){var t=n.find("body").eq(0),i=f.get(e).value;f.remove(e),l(i.modalDomEl,i.modalScope,0,c),t.toggleClass(d,f.length()>0)}function c(){if(p&&-1==o()){var e=u;l(p,u,0,function(){e.$destroy(),e=null}),p=void 0,u=void 0}}function l(n,i,r,a){function o(){o.done||(o.done=!0,n.remove(),a&&a())}i.animate=!1;var s=e.transitionEndEventName;if(s){var c=t(o,r);n.bind(s,function(){t.cancel(c),o(),i.$apply()})}else t(o,0)}var p,u,d="modal-open",f=a.createNew(),h={};return r.$watch(o,function(e){u&&(u.index=e)}),n.bind("keydown",function(e){var t;27===e.which&&(t=f.top(),t&&t.value.keyboard&&r.$apply(function(){h.dismiss(t.key)}))}),h.open=function(e,t){f.add(e,{deferred:t.deferred,modalScope:t.scope,backdrop:t.backdrop,keyboard:t.keyboard});var a=n.find("body").eq(0),s=o();s>=0&&!p&&(u=r.$new(!0),u.index=s,p=i("<div modal-backdrop></div>")(u),a.append(p));var c=angular.element("<div modal-window></div>");c.attr("window-class",t.windowClass),c.attr("index",f.length()-1),c.attr("animate","animate"),c.attr("nav","nav"),c.html(t.content);var l=i(c)(t.scope);f.top().value.modalDomEl=l,a.append(l),a.addClass(d)},h.close=function(e,t){var n=f.get(e).value;n&&(n.deferred.resolve(t),s(e))},h.dismiss=function(e,t){var n=f.get(e).value;n&&(n.deferred.reject(t),s(e))},h.dismissAll=function(e){for(var t=this.getTop();t;)this.dismiss(t.key,e),t=this.getTop()},h.getTop=function(){return f.top()},h}]).provider("$modal",function(){var e={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function(t,n,i,r,a,o,s){function c(e){return e.template?i.when(e.template):r.get(e.templateUrl,{cache:a}).then(function(e){return e.data})}function l(e){var n=[];return angular.forEach(e,function(e){(angular.isFunction(e)||angular.isArray(e))&&n.push(i.when(t.invoke(e)))}),n}var p={};return p.open=function(t){var r=i.defer(),a=i.defer(),p={result:r.promise,opened:a.promise,close:function(e){s.close(p,e)},dismiss:function(e){s.dismiss(p,e)}};if(t=angular.extend({},e.options,t),t.resolve=t.resolve||{},!t.template&&!t.templateUrl)throw new Error("One of template or templateUrl options is required.");var u=i.all([c(t)].concat(l(t.resolve)));return u.then(function(e){var i=(t.scope||n).$new();i.$close=p.close,i.$dismiss=p.dismiss;var a,c={},l=1;t.controller&&(c.$scope=i,c.$modalInstance=p,angular.forEach(t.resolve,function(t,n){c[n]=e[l++]}),a=o(t.controller,c)),s.open(p,{scope:i,deferred:r,content:e[0],backdrop:t.backdrop,keyboard:t.keyboard,windowClass:t.windowClass})},function(e){r.reject(e)}),u.then(function(){a.resolve(!0)},function(){a.reject(!1)}),p},p}]};return e}),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function(e,t){function n(e,n){return e.currentStyle?e.currentStyle[n]:t.getComputedStyle?t.getComputedStyle(e)[n]:e.style[n]}function i(e){return"static"===(n(e,"position")||"static")}var r=function(t){for(var n=e[0],r=t.offsetParent||n;r&&r!==n&&i(r);)r=r.offsetParent;return r||n};return{position:function(t){var n=this.offset(t),i={top:0,left:0},a=r(t[0]);a!=e[0]&&(i=this.offset(angular.element(a)),i.top+=a.clientTop-a.scrollTop,i.left+=a.clientLeft-a.scrollLeft);var o=t[0].getBoundingClientRect();return{width:o.width||t.prop("offsetWidth"),height:o.height||t.prop("offsetHeight"),top:n.top-i.top,left:n.left-i.left}},offset:function(n){var i=n[0].getBoundingClientRect();return{width:i.width||n.prop("offsetWidth"),height:i.height||n.prop("offsetHeight"),top:i.top+(t.pageYOffset||e[0].body.scrollTop||e[0].documentElement.scrollTop),left:i.left+(t.pageXOffset||e[0].body.scrollLeft||e[0].documentElement.scrollLeft)}}}}]),angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(e,t,n){t.addClass("ng-binding").data("$binding",n.bindHtmlUnsafe),e.$watch(n.bindHtmlUnsafe,function(e){t.html(e||"")})}}),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function e(e){var t=/[A-Z]/g,n="-";return e.replace(t,function(e,t){return(t?n:"")+e.toLowerCase()})}var t={placement:"top",animation:!0,popupDelay:0},n={mouseenter:"mouseleave",click:"click",focus:"blur"},i={};this.options=function(e){angular.extend(i,e)},this.setTriggers=function(e){angular.extend(n,e)},this.$get=["$window","$compile","$timeout","$parse","$document","$position","$interpolate",function(r,a,o,s,c,l,p){return function(r,u,d){function f(e){var t=e||h.trigger||d,i=n[t]||t;return{show:t,hide:i}}var h=angular.extend({},t,i),m=e(r),g=p.startSymbol(),y=p.endSymbol(),v="<div "+m+'-popup title="'+g+"tt_title"+y+'" content="'+g+"tt_content"+y+'" placement="'+g+"tt_placement"+y+'" animation="tt_animation" is-open="tt_isOpen"></div>';return{restrict:"EA",scope:!0,compile:function(){var e=a(v);return function(t,n,i){function a(){t.tt_isOpen?d():p()}function p(){(!M||t.$eval(i[u+"Enable"]))&&(t.tt_popupDelay?(w=o(m,t.tt_popupDelay,!1),w.then(function(e){e()})):m()())}function d(){t.$apply(function(){g()})}function m(){return t.tt_content?(y(),b&&o.cancel(b),_.css({top:0,left:0,display:"block"}),$?c.find("body").append(_):n.after(_),C(),t.tt_isOpen=!0,t.$digest(),C):angular.noop}function g(){t.tt_isOpen=!1,o.cancel(w),t.tt_animation?b=o(v,500):v()}function y(){_&&v(),_=e(t,function(){}),t.$digest()}function v(){_&&(_.remove(),_=null)}var _,b,w,$=angular.isDefined(h.appendToBody)?h.appendToBody:!1,S=f(void 0),x=!1,M=angular.isDefined(i[u+"Enable"]),C=function(){var e,i,r,a;switch(e=$?l.offset(n):l.position(n),i=_.prop("offsetWidth"),r=_.prop("offsetHeight"),t.tt_placement){case"right":a={top:e.top+e.height/2-r/2,left:e.left+e.width};break;case"bottom":a={top:e.top+e.height,left:e.left+e.width/2-i/2};break;case"left":a={top:e.top+e.height/2-r/2,left:e.left-i};break;default:a={top:e.top-r,left:e.left+e.width/2-i/2}}a.top+="px",a.left+="px",_.css(a)};t.tt_isOpen=!1,i.$observe(r,function(e){t.tt_content=e,!e&&t.tt_isOpen&&g()}),i.$observe(u+"Title",function(e){t.tt_title=e}),i.$observe(u+"Placement",function(e){t.tt_placement=angular.isDefined(e)?e:h.placement}),i.$observe(u+"PopupDelay",function(e){var n=parseInt(e,10);t.tt_popupDelay=isNaN(n)?h.popupDelay:n});var k=function(){x&&(n.unbind(S.show,p),n.unbind(S.hide,d))};i.$observe(u+"Trigger",function(e){k(),S=f(e),S.show===S.hide?n.bind(S.show,a):(n.bind(S.show,p),n.bind(S.hide,d)),x=!0});var T=t.$eval(i[u+"Animation"]);t.tt_animation=angular.isDefined(T)?!!T:h.animation,i.$observe(u+"AppendToBody",function(e){$=angular.isDefined(e)?s(e)(t):$}),$&&t.$on("$locationChangeSuccess",function(){t.tt_isOpen&&g()}),t.$on("$destroy",function(){o.cancel(b),o.cancel(w),k(),v()})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function(e){return e("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function(e){return e("tooltipHtmlUnsafe","tooltip","mouseenter")}]),angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function(e){e.put("template/modal/backdrop.html",'<div class="modal-backdrop fade" ng-class="{in: animate}" ng-style="{\'z-index\': 1040 + index*10 + 1}"></div>')}]),angular.module("template/modal/window.html",[]).run(["$templateCache",function(e){e.put("template/modal/window.html",'<div tabindex="-1" class="modal fade {{ windowClass }}" ng-class="{in: animate}" ng-style="{\'z-index\': 1050 + index*10, display: \'block\'}" ng-click="close($event)">\n <div class="modal_prev_wrap hidden-xs hidden-sm" ng-show="nav.hasPrev" ng-click="nav.prev($event)">\n <div class="modal_prev"></div>\n </div>\n <div class="modal_close_wrap hidden-xs hidden-sm" ng-click="close($event)">\n <div class="modal_close"></div>\n </div>\n <div class="modal-dialog"><div class="modal-content" ng-transclude></div></div>\n</div>')}]),angular.module("template/tooltip/tooltip-html-unsafe-popup.html",[]).run(["$templateCache",function(e){e.put("template/tooltip/tooltip-html-unsafe-popup.html",'<div class="tooltip {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n <div class="tooltip-arrow"></div>\n <div class="tooltip-inner" bind-html-unsafe="content"></div>\n</div>\n')}]),angular.module("template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(e){e.put("template/tooltip/tooltip-popup.html",'<div class="tooltip {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n <div class="tooltip-arrow"></div>\n <div class="tooltip-inner" ng-bind="content"></div>\n</div>\n')}]),function(){"use strict";var e=angular.module("pasvaz.bindonce",[]);e.directive("bindonce",function(){var e=function(e){if(e&&0!==e.length){var t=angular.lowercase(""+e);e=!("f"===t||"0"===t||"false"===t||"no"===t||"n"===t||"[]"===t)}else e=!1;return e},t=parseInt((/msie (\d+)/.exec(angular.lowercase(navigator.userAgent))||[])[1],10);isNaN(t)&&(t=parseInt((/trident\/.*; rv:(\d+)/.exec(angular.lowercase(navigator.userAgent))||[])[1],10));var n={restrict:"AM",controller:["$scope","$element","$attrs","$interpolate",function(n,i,r,a){var o=function(t,n,i){var r="show"===n?"":"none",a="hide"===n?"":"none";t.css("display",e(i)?r:a)},s=function(e,t){if(angular.isObject(t)&&!angular.isArray(t)){var n=[];angular.forEach(t,function(e,t){e&&n.push(t)}),t=n}t&&e.addClass(angular.isArray(t)?t.join(" "):t)},c=function(e,t){e.transclude(t,function(t){var n=e.element.parent(),i=e.element&&e.element[e.element.length-1],r=n&&n[0]||i&&i.parentNode,a=i&&i.nextSibling||null;angular.forEach(t,function(e){r.insertBefore(e,a)})})},l={watcherRemover:void 0,binders:[],group:r.boName,element:i,ran:!1,addBinder:function(e){this.binders.push(e),this.ran&&this.runBinders()},setupWatcher:function(e){var t=this;this.watcherRemover=n.$watch(e,function(e){void 0!==e&&(t.removeWatcher(),t.checkBindonce(e))},!0)},checkBindonce:function(e){var t=this,n=e.$promise?e.$promise.then:e.then;"function"==typeof n?n(function(){t.runBinders()}):t.runBinders()},removeWatcher:function(){void 0!==this.watcherRemover&&(this.watcherRemover(),this.watcherRemover=void 0)},runBinders:function(){for(;this.binders.length>0;){var n=this.binders.shift();if(!this.group||this.group==n.group){var i=n.scope.$eval(n.interpolate?a(n.value):n.value);switch(n.attr){case"boIf":e(i)&&c(n,n.scope.$new());break;case"boSwitch":var r,l=n.controller[0];(r=l.cases["!"+i]||l.cases["?"])&&(n.scope.$eval(n.attrs.change),angular.forEach(r,function(e){c(e,n.scope.$new())}));break;case"boSwitchWhen":var p=n.controller[0];p.cases["!"+n.attrs.boSwitchWhen]=p.cases["!"+n.attrs.boSwitchWhen]||[],p.cases["!"+n.attrs.boSwitchWhen].push({transclude:n.transclude,element:n.element});break;case"boSwitchDefault":var p=n.controller[0];p.cases["?"]=p.cases["?"]||[],p.cases["?"].push({transclude:n.transclude,element:n.element});break;case"hide":case"show":o(n.element,n.attr,i);break;case"class":s(n.element,i);break;case"text":n.element.text(i);break;case"html":n.element.html(i);break;case"style":n.element.css(i);break;case"src":n.element.attr(n.attr,i),t&&n.element.prop("src",i);break;case"attr":angular.forEach(n.attrs,function(e,t){var i,r;t.match(/^boAttr./)&&n.attrs[t]&&(i=t.replace(/^boAttr/,"").replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),r=n.scope.$eval(n.attrs[t]),n.element.attr(i,r))});break;case"href":case"alt":case"title":case"id":case"value":n.element.attr(n.attr,i)}}}this.ran=!0}};return l}],link:function(e,t,n,i){var r=n.bindonce&&e.$eval(n.bindonce);void 0!==r?i.checkBindonce(r):(i.setupWatcher(n.bindonce),t.bind("$destroy",i.removeWatcher))}};return n}),angular.forEach([{directiveName:"boShow",attribute:"show"},{directiveName:"boHide",attribute:"hide"},{directiveName:"boClass",attribute:"class"},{directiveName:"boText",attribute:"text"},{directiveName:"boBind",attribute:"text"},{directiveName:"boHtml",attribute:"html"},{directiveName:"boSrcI",attribute:"src",interpolate:!0},{directiveName:"boSrc",attribute:"src"},{directiveName:"boHrefI",attribute:"href",interpolate:!0},{directiveName:"boHref",attribute:"href"},{directiveName:"boAlt",attribute:"alt"},{directiveName:"boTitle",attribute:"title"},{directiveName:"boId",attribute:"id"},{directiveName:"boStyle",attribute:"style"},{directiveName:"boValue",attribute:"value"},{directiveName:"boAttr",attribute:"attr"},{directiveName:"boIf",transclude:"element",terminal:!0,priority:1e3},{directiveName:"boSwitch",require:"boSwitch",controller:function(){this.cases={}}},{directiveName:"boSwitchWhen",transclude:"element",priority:800,require:"^boSwitch"},{directiveName:"boSwitchDefault",transclude:"element",priority:800,require:"^boSwitch"}],function(t){var n=200;return e.directive(t.directiveName,function(){var e={priority:t.priority||n,transclude:t.transclude||!1,terminal:t.terminal||!1,require:["^bindonce"].concat(t.require||[]),controller:t.controller,compile:function(e,n,i){return function(e,n,r,a){var o=a[0],s=r.boParent;if(s&&o.group!==s){var c=o.element.parent();o=void 0;for(var l;9!==c[0].nodeType&&c.length;){if((l=c.data("$bindonceController"))&&l.group===s){o=l;break}c=c.parent()}if(!o)throw new Error("No bindonce controller: "+s)}o.addBinder({element:n,attr:t.attribute||t.directiveName,attrs:r,value:r[t.directiveName],interpolate:t.interpolate,group:s,transclude:i,controller:a.slice(1),scope:e})}}};return e})})}();var dbits,canary=0xdeadbeefcafe,j_lm=15715070==(16777215&canary);j_lm&&"Microsoft Internet Explorer"==navigator.appName?(BigInteger.prototype.am=am2,dbits=30):j_lm&&"Netscape"!=navigator.appName?(BigInteger.prototype.am=am1,dbits=26):(BigInteger.prototype.am=am3,dbits=28),BigInteger.prototype.DB=dbits,BigInteger.prototype.DM=(1<<dbits)-1,BigInteger.prototype.DV=1<<dbits;var BI_FP=52;BigInteger.prototype.FV=Math.pow(2,BI_FP),BigInteger.prototype.F1=BI_FP-dbits,BigInteger.prototype.F2=2*dbits-BI_FP;var BI_RM="0123456789abcdefghijklmnopqrstuvwxyz",BI_RC=new Array,rr,vv;for(rr="0".charCodeAt(0),vv=0;9>=vv;++vv)BI_RC[rr++]=vv;for(rr="a".charCodeAt(0),vv=10;36>vv;++vv)BI_RC[rr++]=vv;for(rr="A".charCodeAt(0),vv=10;36>vv;++vv)BI_RC[rr++]=vv;Classic.prototype.convert=cConvert,Classic.prototype.revert=cRevert,Classic.prototype.reduce=cReduce,Classic.prototype.mulTo=cMulTo,Classic.prototype.sqrTo=cSqrTo,Montgomery.prototype.convert=montConvert,Montgomery.prototype.revert=montRevert,Montgomery.prototype.reduce=montReduce,Montgomery.prototype.mulTo=montMulTo,Montgomery.prototype.sqrTo=montSqrTo,BigInteger.prototype.copyTo=bnpCopyTo,BigInteger.prototype.fromInt=bnpFromInt,BigInteger.prototype.fromString=bnpFromString,BigInteger.prototype.clamp=bnpClamp,BigInteger.prototype.dlShiftTo=bnpDLShiftTo,BigInteger.prototype.drShiftTo=bnpDRShiftTo,BigInteger.prototype.lShiftTo=bnpLShiftTo,BigInteger.prototype.rShiftTo=bnpRShiftTo,BigInteger.prototype.subTo=bnpSubTo,BigInteger.prototype.multiplyTo=bnpMultiplyTo,BigInteger.prototype.squareTo=bnpSquareTo,BigInteger.prototype.divRemTo=bnpDivRemTo,BigInteger.prototype.invDigit=bnpInvDigit,BigInteger.prototype.isEven=bnpIsEven,BigInteger.prototype.exp=bnpExp,BigInteger.prototype.toString=bnToString,BigInteger.prototype.negate=bnNegate,BigInteger.prototype.abs=bnAbs,BigInteger.prototype.compareTo=bnCompareTo,BigInteger.prototype.bitLength=bnBitLength,BigInteger.prototype.mod=bnMod,BigInteger.prototype.modPowInt=bnModPowInt,BigInteger.ZERO=nbv(0),BigInteger.ONE=nbv(1),NullExp.prototype.convert=nNop,NullExp.prototype.revert=nNop,NullExp.prototype.mulTo=nMulTo,NullExp.prototype.sqrTo=nSqrTo,Barrett.prototype.convert=barrettConvert,Barrett.prototype.revert=barrettRevert,Barrett.prototype.reduce=barrettReduce,Barrett.prototype.mulTo=barrettMulTo,Barrett.prototype.sqrTo=barrettSqrTo;var lowprimes=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],lplim=(1<<26)/lowprimes[lowprimes.length-1];BigInteger.prototype.chunkSize=bnpChunkSize,BigInteger.prototype.toRadix=bnpToRadix,BigInteger.prototype.fromRadix=bnpFromRadix,BigInteger.prototype.fromNumber=bnpFromNumber,BigInteger.prototype.bitwiseTo=bnpBitwiseTo,BigInteger.prototype.changeBit=bnpChangeBit,BigInteger.prototype.addTo=bnpAddTo,BigInteger.prototype.dMultiply=bnpDMultiply,BigInteger.prototype.dAddOffset=bnpDAddOffset,BigInteger.prototype.multiplyLowerTo=bnpMultiplyLowerTo,BigInteger.prototype.multiplyUpperTo=bnpMultiplyUpperTo,BigInteger.prototype.modInt=bnpModInt,BigInteger.prototype.millerRabin=bnpMillerRabin,BigInteger.prototype.clone=bnClone,BigInteger.prototype.intValue=bnIntValue,BigInteger.prototype.byteValue=bnByteValue,BigInteger.prototype.shortValue=bnShortValue,BigInteger.prototype.signum=bnSigNum,BigInteger.prototype.toByteArray=bnToByteArray,BigInteger.prototype.equals=bnEquals,BigInteger.prototype.min=bnMin,BigInteger.prototype.max=bnMax,BigInteger.prototype.and=bnAnd,BigInteger.prototype.or=bnOr,BigInteger.prototype.xor=bnXor,BigInteger.prototype.andNot=bnAndNot,BigInteger.prototype.not=bnNot,BigInteger.prototype.shiftLeft=bnShiftLeft,BigInteger.prototype.shiftRight=bnShiftRight,BigInteger.prototype.getLowestSetBit=bnGetLowestSetBit,BigInteger.prototype.bitCount=bnBitCount,BigInteger.prototype.testBit=bnTestBit,BigInteger.prototype.setBit=bnSetBit,BigInteger.prototype.clearBit=bnClearBit,BigInteger.prototype.flipBit=bnFlipBit,BigInteger.prototype.add=bnAdd,BigInteger.prototype.subtract=bnSubtract,BigInteger.prototype.multiply=bnMultiply,BigInteger.prototype.divide=bnDivide,BigInteger.prototype.remainder=bnRemainder,BigInteger.prototype.divideAndRemainder=bnDivideAndRemainder,BigInteger.prototype.modPow=bnModPow,BigInteger.prototype.modInverse=bnModInverse,BigInteger.prototype.pow=bnPow,BigInteger.prototype.gcd=bnGCD,BigInteger.prototype.isProbablePrime=bnIsProbablePrime,BigInteger.prototype.square=bnSquare;var rng_state,rng_pool,rng_pptr;if(null==rng_pool){rng_pool=new Array,rng_pptr=0;var global="undefined"!=typeof window?window:this,t;if(global&&global.crypto&&global.crypto.getRandomValues){var ua=new Uint8Array(32);for(global.crypto.getRandomValues(ua),t=0;32>t;++t)rng_pool[rng_pptr++]=ua[t]}if("Netscape"==navigator.appName&&navigator.appVersion<"5"&&global&&global.crypto){var z=global.crypto.random(32);for(t=0;t<z.length;++t)rng_pool[rng_pptr++]=255&z.charCodeAt(t)}for(;rng_psize>rng_pptr;)t=Math.floor(65536*Math.random()),rng_pool[rng_pptr++]=t>>>8,rng_pool[rng_pptr++]=255&t;rng_pptr=0,rng_seed_time()}SecureRandom.prototype.nextBytes=rng_get_bytes,Arcfour.prototype.init=ARC4init,Arcfour.prototype.next=ARC4next;var rng_psize=256,CryptoJS=CryptoJS||function(e,t){var n={},i=n.lib={},r=i.Base=function(){function e(){}return{extend:function(t){e.prototype=this;var n=new e;return t&&n.mixIn(t),n.hasOwnProperty("init")||(n.init=function(){n.$super.init.apply(this,arguments)}),n.init.prototype=n,n.$super=this,n},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty("toString")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}}}(),a=i.WordArray=r.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=n!=t?n:4*e.length},toString:function(e){return(e||s).stringify(this)},concat:function(e){var t=this.words,n=e.words,i=this.sigBytes,r=e.sigBytes;if(this.clamp(),i%4)for(var a=0;r>a;a++){var o=n[a>>>2]>>>24-a%4*8&255;t[i+a>>>2]|=o<<24-(i+a)%4*8}else if(n.length>65535)for(var a=0;r>a;a+=4)t[i+a>>>2]=n[a>>>2];else for(var a=0;a<n.length;a++)t.push(n[a]);return this.sigBytes+=r,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=r.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n=[],i=0;t>i;i+=4)n.push(4294967296*e.random()|0);return new a.init(n,t)}}),o=n.enc={},s=o.Hex={stringify:function(e){for(var t=e.words,n=e.sigBytes,i=[],r=0;n>r;r++){var a=t[r>>>2]>>>24-r%4*8&255;i.push((a>>>4).toString(16)),i.push((15&a).toString(16))}return i.join("")},parse:function(e){for(var t=e.length,n=[],i=0;t>i;i+=2)n[i>>>3]|=parseInt(e.substr(i,2),16)<<24-i%8*4;return new a.init(n,t/2)}},c=o.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,i=[],r=0;n>r;r++){var a=t[r>>>2]>>>24-r%4*8&255;i.push(String.fromCharCode(a))}return i.join("")},parse:function(e){for(var t=e.length,n=[],i=0;t>i;i++)n[i>>>2]|=(255&e.charCodeAt(i))<<24-i%4*8;return new a.init(n,t)}},l=o.Utf8={stringify:function(e){try{return decodeURIComponent(escape(c.stringify(e)))}catch(t){throw new Error("Malformed UTF-8 data")}},parse:function(e){return c.parse(unescape(encodeURIComponent(e)))}},p=i.BufferedBlockAlgorithm=r.extend({reset:function(){this._data=new a.init,this._nDataBytes=0},_append:function(e){"string"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,i=n.words,r=n.sigBytes,o=this.blockSize,s=4*o,c=r/s;c=t?e.ceil(c):e.max((0|c)-this._minBufferSize,0);var l=c*o,p=e.min(4*l,r);if(l){for(var u=0;l>u;u+=o)this._doProcessBlock(i,u);var d=i.splice(0,l);n.sigBytes-=p}return new a.init(d,p)},clone:function(){var e=r.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0}),u=(i.Hasher=p.extend({cfg:r.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){p.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){e&&this._append(e);var t=this._doFinalize();return t},blockSize:16,_createHelper:function(e){return function(t,n){return new e.init(n).finalize(t)}},_createHmacHelper:function(e){return function(t,n){return new u.HMAC.init(e,n).finalize(t)}}}),n.algo={});return n}(Math);CryptoJS.lib.Cipher||function(e){var t=CryptoJS,n=t.lib,i=n.Base,r=n.WordArray,a=n.BufferedBlockAlgorithm,o=t.enc,s=(o.Utf8,o.Base64),c=t.algo,l=c.EvpKDF,p=n.Cipher=a.extend({cfg:i.extend(),createEncryptor:function(e,t){return this.create(this._ENC_XFORM_MODE,e,t)},createDecryptor:function(e,t){return this.create(this._DEC_XFORM_MODE,e,t)},init:function(e,t,n){this.cfg=this.cfg.extend(n),this._xformMode=e,this._key=t,this.reset()},reset:function(){a.reset.call(this),this._doReset()},process:function(e){return this._append(e),this._process()},finalize:function(e){e&&this._append(e);var t=this._doFinalize();return t},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){function e(e){return"string"==typeof e?$:_}return function(t){return{encrypt:function(n,i,r){return e(i).encrypt(t,n,i,r)},decrypt:function(n,i,r){return e(i).decrypt(t,n,i,r)}}}}()}),u=(n.StreamCipher=p.extend({_doFinalize:function(){var e=this._process(!0);return e},blockSize:1}),t.mode={}),d=n.BlockCipherMode=i.extend({createEncryptor:function(e,t){return this.Encryptor.create(e,t)},createDecryptor:function(e,t){return this.Decryptor.create(e,t)},init:function(e,t){this._cipher=e,this._iv=t}}),f=u.CBC=function(){function t(t,n,i){var r=this._iv;if(r){var a=r;this._iv=e}else var a=this._prevBlock;for(var o=0;i>o;o++)t[n+o]^=a[o]}var n=d.extend();return n.Encryptor=n.extend({processBlock:function(e,n){var i=this._cipher,r=i.blockSize;t.call(this,e,n,r),i.encryptBlock(e,n),this._prevBlock=e.slice(n,n+r)}}),n.Decryptor=n.extend({processBlock:function(e,n){var i=this._cipher,r=i.blockSize,a=e.slice(n,n+r);i.decryptBlock(e,n),t.call(this,e,n,r),this._prevBlock=a}}),n}(),h=(u.IGE=function(){function t(e,t,n,i){for(var r=0;i>r;r++)e[n+r]^=t[r]}var n=d.extend();return n.Encryptor=n.extend({processBlock:function(n,i){var r=this._cipher,a=r.blockSize;this._ivp===e&&(this._ivp=this._iv.slice(0,a),this._iv2p=this._iv.slice(a,a+a));var o=n.slice(i,i+a);t(n,this._ivp,i,a),r.encryptBlock(n,i),t(n,this._iv2p,i,a),this._ivp=n.slice(i,i+a),this._iv2p=o}}),n.Decryptor=n.extend({processBlock:function(n,i){var r=this._cipher,a=r.blockSize;this._ivp===e&&(this._ivp=this._iv.slice(0,a),this._iv2p=this._iv.slice(a,2*a));var o=n.slice(i,i+a);t(n,this._iv2p,i,a),r.decryptBlock(n,i),t(n,this._ivp,i,a),this._ivp=o,this._iv2p=n.slice(i,i+a)}}),n}(),t.pad={}),m=h.Pkcs7={pad:function(e,t){for(var n=4*t,i=n-e.sigBytes%n,a=i<<24|i<<16|i<<8|i,o=[],s=0;i>s;s+=4)o.push(a);var c=r.create(o,i);e.concat(c)},unpad:function(e){var t=255&e.words[e.sigBytes-1>>>2];e.sigBytes-=t}},g=(h.NoPadding={pad:function(){},unpad:function(){}},n.BlockCipher=p.extend({cfg:p.cfg.extend({mode:f,padding:m}),reset:function(){p.reset.call(this);var e=this.cfg,t=e.iv,n=e.mode;if(this._xformMode==this._ENC_XFORM_MODE)var i=n.createEncryptor;else{var i=n.createDecryptor;this._minBufferSize=1}this._mode=i.call(n,this,t&&t.words)},_doProcessBlock:function(e,t){this._mode.processBlock(e,t)},_doFinalize:function(){var e=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){e.pad(this._data,this.blockSize);var t=this._process(!0)}else{var t=this._process(!0);e.unpad(t)}return t},blockSize:4}),n.CipherParams=i.extend({init:function(e){this.mixIn(e)},toString:function(e){return(e||this.formatter).stringify(this)}})),y=t.format={},v=y.OpenSSL={stringify:function(e){var t=e.ciphertext,n=e.salt;if(n)var i=r.create([1398893684,1701076831]).concat(n).concat(t);else var i=t;return i.toString(s)},parse:function(e){var t=s.parse(e),n=t.words;if(1398893684==n[0]&&1701076831==n[1]){var i=r.create(n.slice(2,4));n.splice(0,4),t.sigBytes-=16}return g.create({ciphertext:t,salt:i})}},_=n.SerializableCipher=i.extend({cfg:i.extend({format:v}),encrypt:function(e,t,n,i){i=this.cfg.extend(i);var r=e.createEncryptor(n,i),a=r.finalize(t),o=r.cfg;return g.create({ciphertext:a,key:n,iv:o.iv,algorithm:e,mode:o.mode,padding:o.padding,blockSize:e.blockSize,formatter:i.format})},decrypt:function(e,t,n,i){i=this.cfg.extend(i),t=this._parse(t,i.format);var r=e.createDecryptor(n,i).finalize(t.ciphertext);return r},_parse:function(e,t){return"string"==typeof e?t.parse(e,this):e}}),b=t.kdf={},w=b.OpenSSL={execute:function(e,t,n,i){i||(i=r.random(8));var a=l.create({keySize:t+n}).compute(e,i),o=r.create(a.words.slice(t),4*n);return a.sigBytes=4*t,g.create({key:a,iv:o,salt:i})}},$=n.PasswordBasedCipher=_.extend({cfg:_.cfg.extend({kdf:w}),encrypt:function(e,t,n,i){i=this.cfg.extend(i);var r=i.kdf.execute(n,e.keySize,e.ivSize);i.iv=r.iv;var a=_.encrypt.call(this,e,t,r.key,i);return a.mixIn(r),a},decrypt:function(e,t,n,i){i=this.cfg.extend(i),t=this._parse(t,i.format);var r=i.kdf.execute(n,e.keySize,e.ivSize,t.salt);i.iv=r.iv;
var a=_.decrypt.call(this,e,t,r.key,i);return a}})}(),function(){var e=CryptoJS,t=e.lib,n=t.BlockCipher,i=e.algo,r=[],a=[],o=[],s=[],c=[],l=[],p=[],u=[],d=[],f=[];!function(){for(var e=[],t=0;256>t;t++)e[t]=128>t?t<<1:t<<1^283;for(var n=0,i=0,t=0;256>t;t++){var h=i^i<<1^i<<2^i<<3^i<<4;h=h>>>8^255&h^99,r[n]=h,a[h]=n;var m=e[n],g=e[m],y=e[g],v=257*e[h]^16843008*h;o[n]=v<<24|v>>>8,s[n]=v<<16|v>>>16,c[n]=v<<8|v>>>24,l[n]=v;var v=16843009*y^65537*g^257*m^16843008*n;p[h]=v<<24|v>>>8,u[h]=v<<16|v>>>16,d[h]=v<<8|v>>>24,f[h]=v,n?(n=m^e[e[e[y^m]]],i^=e[e[i]]):n=i=1}}();var h=[0,1,2,4,8,16,32,64,128,27,54],m=i.AES=n.extend({_doReset:function(){for(var e=this._key,t=e.words,n=e.sigBytes/4,i=this._nRounds=n+6,a=4*(i+1),o=this._keySchedule=[],s=0;a>s;s++)if(n>s)o[s]=t[s];else{var c=o[s-1];s%n?n>6&&s%n==4&&(c=r[c>>>24]<<24|r[c>>>16&255]<<16|r[c>>>8&255]<<8|r[255&c]):(c=c<<8|c>>>24,c=r[c>>>24]<<24|r[c>>>16&255]<<16|r[c>>>8&255]<<8|r[255&c],c^=h[s/n|0]<<24),o[s]=o[s-n]^c}for(var l=this._invKeySchedule=[],m=0;a>m;m++){var s=a-m;if(m%4)var c=o[s];else var c=o[s-4];l[m]=4>m||4>=s?c:p[r[c>>>24]]^u[r[c>>>16&255]]^d[r[c>>>8&255]]^f[r[255&c]]}},encryptBlock:function(e,t){this._doCryptBlock(e,t,this._keySchedule,o,s,c,l,r)},decryptBlock:function(e,t){var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n,this._doCryptBlock(e,t,this._invKeySchedule,p,u,d,f,a);var n=e[t+1];e[t+1]=e[t+3],e[t+3]=n},_doCryptBlock:function(e,t,n,i,r,a,o,s){for(var c=this._nRounds,l=e[t]^n[0],p=e[t+1]^n[1],u=e[t+2]^n[2],d=e[t+3]^n[3],f=4,h=1;c>h;h++){var m=i[l>>>24]^r[p>>>16&255]^a[u>>>8&255]^o[255&d]^n[f++],g=i[p>>>24]^r[u>>>16&255]^a[d>>>8&255]^o[255&l]^n[f++],y=i[u>>>24]^r[d>>>16&255]^a[l>>>8&255]^o[255&p]^n[f++],v=i[d>>>24]^r[l>>>16&255]^a[p>>>8&255]^o[255&u]^n[f++];l=m,p=g,u=y,d=v}var m=(s[l>>>24]<<24|s[p>>>16&255]<<16|s[u>>>8&255]<<8|s[255&d])^n[f++],g=(s[p>>>24]<<24|s[u>>>16&255]<<16|s[d>>>8&255]<<8|s[255&l])^n[f++],y=(s[u>>>24]<<24|s[d>>>16&255]<<16|s[l>>>8&255]<<8|s[255&p])^n[f++],v=(s[d>>>24]<<24|s[l>>>16&255]<<16|s[p>>>8&255]<<8|s[255&u])^n[f++];e[t]=m,e[t+1]=g,e[t+2]=y,e[t+3]=v},keySize:8});e.AES=n._createHelper(m)}();var sha1;!function(e){function t(e){for(var t,n="",i=7;i>=0;--i)t=e>>>(i<<2)&15,n+=t.toString(16);return n}function n(e){for(var t,n=[],i=3;i>=0;--i)t=e>>8*i&255,n.push(t);return n}function i(e,t){return e<<t|e>>>32-t}function r(e){e=e.replace(/[\u0080-\u07ff]/g,function(e){var t=e.charCodeAt(0);return String.fromCharCode(192|t>>6,128|63&t)}),e=e.replace(/[\u0080-\uffff]/g,function(e){var t=e.charCodeAt(0);return String.fromCharCode(224|t>>12,128|t>>6&63,128|63&t)});for(var t=e.length,n=new Uint8Array(t),i=0;t>i;++i)n[i]=e.charCodeAt(i);return n.buffer}function a(e){for(var t=e.length,n=new Uint8Array(t),i=0;t>i;++i)n[i]=e[i];return n.buffer}function o(e,o){var s;s=e instanceof ArrayBuffer?e:"[object Array]"==Object.prototype.toString.apply(e)?a(e):r(String(e));var p,u,d=1732584193,f=4023233417,h=2562383102,m=271733878,g=3285377520,y=s.byteLength,v=y<<3,_=v+65,b=Math.ceil(_/512)<<9,w=b>>>3,$=w>>>2,S=new l($),x=S.bytes,M=new Uint32Array(80),C=new Uint8Array(s);for(p=0;y>p;++p)x[p]=C[p];for(x[y]=128,S.set($-2,Math.floor(v/c)),S.set($-1,4294967295&v),p=0;$>p;p+=16){for(u=0;16>u;++u)M[u]=S.get(p+u);for(;80>u;++u)M[u]=i(M[u-3]^M[u-8]^M[u-14]^M[u-16],1);var k,T,A,E=d,D=f,I=h,P=m,N=g;for(u=0;80>u;++u)20>u?(k=D&I|~D&P,T=1518500249):40>u?(k=D^I^P,T=1859775393):60>u?(k=D&I^D&P^I&P,T=2400959708):(k=D^I^P,T=3395469782),A=i(E,5)+k+N+T+M[u]&4294967295,N=P,P=I,I=i(D,30),D=E,E=A;d=d+E&4294967295,f=f+D&4294967295,h=h+I&4294967295,m=m+P&4294967295,g=g+N&4294967295}return o?n(d).concat(n(f),n(h),n(m),n(g)):t(d)+t(f)+t(h)+t(m)+t(g)}var s=Math.pow(2,24),c=Math.pow(2,32),l=function(){function e(e){this.bytes=new Uint8Array(e<<2)}return e.prototype.get=function(e){return e<<=2,this.bytes[e]*s+(this.bytes[e+1]<<16|this.bytes[e+2]<<8|this.bytes[e+3])},e.prototype.set=function(e,t){var n=Math.floor(t/s),i=t-n*s;e<<=2,this.bytes[e]=n,this.bytes[e+1]=i>>16,this.bytes[e+2]=i>>8&255,this.bytes[e+3]=255&i},e}();e.hash=o}(sha1||(sha1={})),function(){"use strict";function e(e){throw e}function t(e,t){var n=e.split("."),i=u;!(n[0]in i)&&i.execScript&&i.execScript("var "+n[0]);for(var r;n.length&&(r=n.shift());)n.length||t===p?i=i[r]?i[r]:i[r]={}:i[r]=t}function n(e,t,n){var i,r="number"==typeof t?t:t=0,a="number"==typeof n?n:e.length;for(i=-1,r=7&a;r--;++t)i=i>>>8^y[255&(i^e[t])];for(r=a>>3;r--;t+=8)i=i>>>8^y[255&(i^e[t])],i=i>>>8^y[255&(i^e[t+1])],i=i>>>8^y[255&(i^e[t+2])],i=i>>>8^y[255&(i^e[t+3])],i=i>>>8^y[255&(i^e[t+4])],i=i>>>8^y[255&(i^e[t+5])],i=i>>>8^y[255&(i^e[t+6])],i=i>>>8^y[255&(i^e[t+7])];return(4294967295^i)>>>0}function i(){}function r(e){var t,n,i,r,a,o,s,c,l,p=e.length,u=0,f=Number.POSITIVE_INFINITY;for(c=0;p>c;++c)e[c]>u&&(u=e[c]),e[c]<f&&(f=e[c]);for(t=1<<u,n=new(d?Uint32Array:Array)(t),i=1,r=0,a=2;u>=i;){for(c=0;p>c;++c)if(e[c]===i){for(o=0,s=r,l=0;i>l;++l)o=o<<1|1&s,s>>=1;for(l=o;t>l;l+=a)n[l]=i<<16|c;++r}++i,r<<=1,a<<=1}return[n,u,f]}function a(t,n){switch(this.i=[],this.j=32768,this.d=this.f=this.c=this.n=0,this.input=d?new Uint8Array(t):t,this.o=!1,this.k=$,this.w=!1,(n||!(n={}))&&(n.index&&(this.c=n.index),n.bufferSize&&(this.j=n.bufferSize),n.bufferType&&(this.k=n.bufferType),n.resize&&(this.w=n.resize)),this.k){case w:this.a=32768,this.b=new(d?Uint8Array:Array)(32768+this.j+258);break;case $:this.a=0,this.b=new(d?Uint8Array:Array)(this.j),this.e=this.D,this.q=this.A,this.l=this.C;break;default:e(Error("invalid inflate mode"))}}function o(t,n){for(var i,r=t.f,a=t.d,o=t.input,s=t.c;n>a;)i=o[s++],i===p&&e(Error("input buffer is broken")),r|=i<<a,a+=8;return i=r&(1<<n)-1,t.f=r>>>n,t.d=a-n,t.c=s,i}function s(e,t){for(var n,i,r,a=e.f,o=e.d,s=e.input,c=e.c,l=t[0],u=t[1];u>o&&(n=s[c++],n!==p);)a|=n<<o,o+=8;return i=l[a&(1<<u)-1],r=i>>>16,e.f=a>>r,e.d=o-r,e.c=c,65535&i}function c(e){function t(e,t,n){var i,r,a,c;for(c=0;e>c;)switch(i=s(this,t)){case 16:for(a=3+o(this,2);a--;)n[c++]=r;break;case 17:for(a=3+o(this,3);a--;)n[c++]=0;r=0;break;case 18:for(a=11+o(this,7);a--;)n[c++]=0;r=0;break;default:r=n[c++]=i}return n}var n,i,a,c,l=o(e,5)+257,p=o(e,5)+1,u=o(e,4)+4,f=new(d?Uint8Array:Array)(C.length);for(c=0;u>c;++c)f[C[c]]=o(e,3);n=r(f),i=new(d?Uint8Array:Array)(l),a=new(d?Uint8Array:Array)(p),e.l(r(t.call(e,l,n,i)),r(t.call(e,p,n,a)))}function l(e){this.input=e,this.c=0,this.m=[],this.s=!1}var p=void 0,u=this,d="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array;new(d?Uint8Array:Array)(256);var f;for(f=0;256>f;++f)for(var h=f,m=7,h=h>>>1;h;h>>>=1)--m;var g=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117],y=d?new Uint32Array(g):g;i.prototype.getName=function(){return this.name},i.prototype.getData=function(){return this.data},i.prototype.G=function(){return this.H},t("Zlib.GunzipMember",i),t("Zlib.GunzipMember.prototype.getName",i.prototype.getName),t("Zlib.GunzipMember.prototype.getData",i.prototype.getData),t("Zlib.GunzipMember.prototype.getMtime",i.prototype.G);var v,_=[];for(v=0;288>v;v++)switch(!0){case 143>=v:_.push([v+48,8]);break;case 255>=v:_.push([v-144+400,9]);break;case 279>=v:_.push([v-256+0,7]);break;case 287>=v:_.push([v-280+192,8]);break;default:e("invalid literal: "+v)}var b=function(){function t(t){switch(!0){case 3===t:return[257,t-3,0];case 4===t:return[258,t-4,0];case 5===t:return[259,t-5,0];case 6===t:return[260,t-6,0];case 7===t:return[261,t-7,0];case 8===t:return[262,t-8,0];case 9===t:return[263,t-9,0];case 10===t:return[264,t-10,0];case 12>=t:return[265,t-11,1];case 14>=t:return[266,t-13,1];case 16>=t:return[267,t-15,1];case 18>=t:return[268,t-17,1];case 22>=t:return[269,t-19,2];case 26>=t:return[270,t-23,2];case 30>=t:return[271,t-27,2];case 34>=t:return[272,t-31,2];case 42>=t:return[273,t-35,3];case 50>=t:return[274,t-43,3];case 58>=t:return[275,t-51,3];case 66>=t:return[276,t-59,3];case 82>=t:return[277,t-67,4];case 98>=t:return[278,t-83,4];case 114>=t:return[279,t-99,4];case 130>=t:return[280,t-115,4];case 162>=t:return[281,t-131,5];case 194>=t:return[282,t-163,5];case 226>=t:return[283,t-195,5];case 257>=t:return[284,t-227,5];case 258===t:return[285,t-258,0];default:e("invalid length: "+t)}}var n,i,r=[];for(n=3;258>=n;n++)i=t(n),r[n]=i[2]<<24|i[1]<<16|i[0];return r}();d&&new Uint32Array(b);var w=0,$=1;a.prototype.g=function(){for(;!this.o;){var t=o(this,3);switch(1&t&&(this.o=!0),t>>>=1){case 0:var n=this.input,i=this.c,r=this.b,a=this.a,s=p,l=p,u=p,f=r.length,h=p;switch(this.d=this.f=0,s=n[i++],s===p&&e(Error("invalid uncompressed block header: LEN (first byte)")),l=s,s=n[i++],s===p&&e(Error("invalid uncompressed block header: LEN (second byte)")),l|=s<<8,s=n[i++],s===p&&e(Error("invalid uncompressed block header: NLEN (first byte)")),u=s,s=n[i++],s===p&&e(Error("invalid uncompressed block header: NLEN (second byte)")),u|=s<<8,l===~u&&e(Error("invalid uncompressed block header: length verify")),i+l>n.length&&e(Error("input buffer is broken")),this.k){case w:for(;a+l>r.length;){if(h=f-a,l-=h,d)r.set(n.subarray(i,i+h),a),a+=h,i+=h;else for(;h--;)r[a++]=n[i++];this.a=a,r=this.e(),a=this.a}break;case $:for(;a+l>r.length;)r=this.e({t:2});break;default:e(Error("invalid inflate mode"))}if(d)r.set(n.subarray(i,i+l),a),a+=l,i+=l;else for(;l--;)r[a++]=n[i++];this.c=i,this.a=a,this.b=r;break;case 1:this.l(O,R);break;case 2:c(this);break;default:e(Error("unknown BTYPE: "+t))}}return this.q()};var S,x,M=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],C=d?new Uint16Array(M):M,k=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],T=d?new Uint16Array(k):k,A=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],E=d?new Uint8Array(A):A,D=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],I=d?new Uint16Array(D):D,P=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],N=d?new Uint8Array(P):P,L=new(d?Uint8Array:Array)(288);for(S=0,x=L.length;x>S;++S)L[S]=143>=S?8:255>=S?9:279>=S?7:8;var B,U,O=r(L),F=new(d?Uint8Array:Array)(30);for(B=0,U=F.length;U>B;++B)F[B]=5;var R=r(F);a.prototype.l=function(e,t){var n=this.b,i=this.a;this.r=e;for(var r,a,c,l,p=n.length-258;256!==(r=s(this,e));)if(256>r)i>=p&&(this.a=i,n=this.e(),i=this.a),n[i++]=r;else for(a=r-257,l=T[a],0<E[a]&&(l+=o(this,E[a])),r=s(this,t),c=I[r],0<N[r]&&(c+=o(this,N[r])),i>=p&&(this.a=i,n=this.e(),i=this.a);l--;)n[i]=n[i++-c];for(;8<=this.d;)this.d-=8,this.c--;this.a=i},a.prototype.C=function(e,t){var n=this.b,i=this.a;this.r=e;for(var r,a,c,l,p=n.length;256!==(r=s(this,e));)if(256>r)i>=p&&(n=this.e(),p=n.length),n[i++]=r;else for(a=r-257,l=T[a],0<E[a]&&(l+=o(this,E[a])),r=s(this,t),c=I[r],0<N[r]&&(c+=o(this,N[r])),i+l>p&&(n=this.e(),p=n.length);l--;)n[i]=n[i++-c];for(;8<=this.d;)this.d-=8,this.c--;this.a=i},a.prototype.e=function(){var e,t,n=new(d?Uint8Array:Array)(this.a-32768),i=this.a-32768,r=this.b;if(d)n.set(r.subarray(32768,n.length));else for(e=0,t=n.length;t>e;++e)n[e]=r[e+32768];if(this.i.push(n),this.n+=n.length,d)r.set(r.subarray(i,i+32768));else for(e=0;32768>e;++e)r[e]=r[i+e];return this.a=32768,r},a.prototype.D=function(e){var t,n,i,r,a=this.input.length/this.c+1|0,o=this.input,s=this.b;return e&&("number"==typeof e.t&&(a=e.t),"number"==typeof e.z&&(a+=e.z)),2>a?(n=(o.length-this.c)/this.r[2],r=258*(n/2)|0,i=r<s.length?s.length+r:s.length<<1):i=s.length*a,d?(t=new Uint8Array(i),t.set(s)):t=s,this.b=t},a.prototype.q=function(){var e,t,n,i,r,a=0,o=this.b,s=this.i,c=new(d?Uint8Array:Array)(this.n+(this.a-32768));if(0===s.length)return d?this.b.subarray(32768,this.a):this.b.slice(32768,this.a);for(t=0,n=s.length;n>t;++t)for(e=s[t],i=0,r=e.length;r>i;++i)c[a++]=e[i];for(t=32768,n=this.a;n>t;++t)c[a++]=o[t];return this.i=[],this.buffer=c},a.prototype.A=function(){var e,t=this.a;return d?this.w?(e=new Uint8Array(t),e.set(this.b.subarray(0,t))):e=this.b.subarray(0,t):(this.b.length>t&&(this.b.length=t),e=this.b),this.buffer=e},l.prototype.F=function(){return this.s||this.g(),this.m.slice()},l.prototype.g=function(){for(var t=this.input.length;this.c<t;){var r=new i,o=p,s=p,c=p,l=p,u=p,f=p,h=p,m=p,g=p,y=this.input,v=this.c;switch(r.u=y[v++],r.v=y[v++],(31!==r.u||139!==r.v)&&e(Error("invalid file signature:"+r.u+","+r.v)),r.p=y[v++],r.p){case 8:break;default:e(Error("unknown compression method: "+r.p))}if(r.h=y[v++],m=y[v++]|y[v++]<<8|y[v++]<<16|y[v++]<<24,r.H=new Date(1e3*m),r.N=y[v++],r.M=y[v++],0<(4&r.h)&&(r.I=y[v++]|y[v++]<<8,v+=r.I),0<(8&r.h)){for(h=[],f=0;0<(u=y[v++]);)h[f++]=String.fromCharCode(u);r.name=h.join("")}if(0<(16&r.h)){for(h=[],f=0;0<(u=y[v++]);)h[f++]=String.fromCharCode(u);r.J=h.join("")}0<(2&r.h)&&(r.B=65535&n(y,0,v),r.B!==(y[v++]|y[v++]<<8)&&e(Error("invalid header crc16"))),o=y[y.length-4]|y[y.length-3]<<8|y[y.length-2]<<16|y[y.length-1]<<24,y.length-v-4-4<512*o&&(l=o),s=new a(y,{index:v,bufferSize:l}),r.data=c=s.g(),v=s.c,r.K=g=(y[v++]|y[v++]<<8|y[v++]<<16|y[v++]<<24)>>>0,n(c,p,p)!==g&&e(Error("invalid CRC-32 checksum: 0x"+n(c,p,p).toString(16)+" / 0x"+g.toString(16))),r.L=o=(y[v++]|y[v++]<<8|y[v++]<<16|y[v++]<<24)>>>0,(4294967295&c.length)!==o&&e(Error("invalid input size: "+(4294967295&c.length)+" / "+o)),this.m.push(r),this.c=v}this.s=!0;var _,b,w,$=this.m,S=0,x=0;for(_=0,b=$.length;b>_;++_)x+=$[_].data.length;if(d)for(w=new Uint8Array(x),_=0;b>_;++_)w.set($[_].data,S),S+=$[_].data.length;else{for(w=[],_=0;b>_;++_)w[_]=$[_].data;w=Array.prototype.concat.apply([],w)}return w},t("Zlib.Gunzip",l),t("Zlib.Gunzip.prototype.decompress",l.prototype.g),t("Zlib.Gunzip.prototype.getMembers",l.prototype.F)}.call(this),this.goog={provide:function(){},math:{}},goog.provide("goog.math.Long"),goog.math.Long=function(e,t){this.low_=0|e,this.high_=0|t},goog.math.Long.IntCache_={},goog.math.Long.fromInt=function(e){if(e>=-128&&128>e){var t=goog.math.Long.IntCache_[e];if(t)return t}var n=new goog.math.Long(0|e,0>e?-1:0);return e>=-128&&128>e&&(goog.math.Long.IntCache_[e]=n),n},goog.math.Long.fromNumber=function(e){return isNaN(e)||!isFinite(e)?goog.math.Long.ZERO:e<=-goog.math.Long.TWO_PWR_63_DBL_?goog.math.Long.MIN_VALUE:e+1>=goog.math.Long.TWO_PWR_63_DBL_?goog.math.Long.MAX_VALUE:0>e?goog.math.Long.fromNumber(-e).negate():new goog.math.Long(e%goog.math.Long.TWO_PWR_32_DBL_|0,e/goog.math.Long.TWO_PWR_32_DBL_|0)},goog.math.Long.fromBits=function(e,t){return new goog.math.Long(e,t)},goog.math.Long.fromString=function(e,t){if(0==e.length)throw Error("number format error: empty string");var n=t||10;if(2>n||n>36)throw Error("radix out of range: "+n);if("-"==e.charAt(0))return goog.math.Long.fromString(e.substring(1),n).negate();if(e.indexOf("-")>=0)throw Error('number format error: interior "-" character: '+e);for(var i=goog.math.Long.fromNumber(Math.pow(n,8)),r=goog.math.Long.ZERO,a=0;a<e.length;a+=8){var o=Math.min(8,e.length-a),s=parseInt(e.substring(a,a+o),n);if(8>o){var c=goog.math.Long.fromNumber(Math.pow(n,o));r=r.multiply(c).add(goog.math.Long.fromNumber(s))}else r=r.multiply(i),r=r.add(goog.math.Long.fromNumber(s))}return r},goog.math.Long.TWO_PWR_16_DBL_=65536,goog.math.Long.TWO_PWR_24_DBL_=1<<24,goog.math.Long.TWO_PWR_32_DBL_=goog.math.Long.TWO_PWR_16_DBL_*goog.math.Long.TWO_PWR_16_DBL_,goog.math.Long.TWO_PWR_31_DBL_=goog.math.Long.TWO_PWR_32_DBL_/2,goog.math.Long.TWO_PWR_48_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_16_DBL_,goog.math.Long.TWO_PWR_64_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_32_DBL_,goog.math.Long.TWO_PWR_63_DBL_=goog.math.Long.TWO_PWR_64_DBL_/2,goog.math.Long.ZERO=goog.math.Long.fromInt(0),goog.math.Long.ONE=goog.math.Long.fromInt(1),goog.math.Long.NEG_ONE=goog.math.Long.fromInt(-1),goog.math.Long.MAX_VALUE=goog.math.Long.fromBits(-1,2147483647),goog.math.Long.MIN_VALUE=goog.math.Long.fromBits(0,-2147483648),goog.math.Long.TWO_PWR_24_=goog.math.Long.fromInt(1<<24),goog.math.Long.prototype.toInt=function(){return this.low_},goog.math.Long.prototype.toNumber=function(){return this.high_*goog.math.Long.TWO_PWR_32_DBL_+this.getLowBitsUnsigned()},goog.math.Long.prototype.toString=function(e){var t=e||10;if(2>t||t>36)throw Error("radix out of range: "+t);if(this.isZero())return"0";if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){var n=goog.math.Long.fromNumber(t),i=this.div(n),r=i.multiply(n).subtract(this);return i.toString(t)+r.toInt().toString(t)}return"-"+this.negate().toString(t)}for(var a=goog.math.Long.fromNumber(Math.pow(t,6)),r=this,o="";;){var s=r.div(a),c=r.subtract(s.multiply(a)).toInt(),l=c.toString(t);if(r=s,r.isZero())return l+o;for(;l.length<6;)l="0"+l;o=""+l+o}},goog.math.Long.prototype.getHighBits=function(){return this.high_},goog.math.Long.prototype.getLowBits=function(){return this.low_},goog.math.Long.prototype.getLowBitsUnsigned=function(){return this.low_>=0?this.low_:goog.math.Long.TWO_PWR_32_DBL_+this.low_},goog.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(goog.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var e=0!=this.high_?this.high_:this.low_,t=31;t>0&&0==(e&1<<t);t--);return 0!=this.high_?t+33:t+1},goog.math.Long.prototype.isZero=function(){return 0==this.high_&&0==this.low_},goog.math.Long.prototype.isNegative=function(){return this.high_<0},goog.math.Long.prototype.isOdd=function(){return 1==(1&this.low_)},goog.math.Long.prototype.equals=function(e){return this.high_==e.high_&&this.low_==e.low_},goog.math.Long.prototype.notEquals=function(e){return this.high_!=e.high_||this.low_!=e.low_},goog.math.Long.prototype.lessThan=function(e){return this.compare(e)<0},goog.math.Long.prototype.lessThanOrEqual=function(e){return this.compare(e)<=0},goog.math.Long.prototype.greaterThan=function(e){return this.compare(e)>0},goog.math.Long.prototype.greaterThanOrEqual=function(e){return this.compare(e)>=0},goog.math.Long.prototype.compare=function(e){if(this.equals(e))return 0;var t=this.isNegative(),n=e.isNegative();return t&&!n?-1:!t&&n?1:this.subtract(e).isNegative()?-1:1},goog.math.Long.prototype.negate=function(){return this.equals(goog.math.Long.MIN_VALUE)?goog.math.Long.MIN_VALUE:this.not().add(goog.math.Long.ONE)},goog.math.Long.prototype.add=function(e){var t=this.high_>>>16,n=65535&this.high_,i=this.low_>>>16,r=65535&this.low_,a=e.high_>>>16,o=65535&e.high_,s=e.low_>>>16,c=65535&e.low_,l=0,p=0,u=0,d=0;return d+=r+c,u+=d>>>16,d&=65535,u+=i+s,p+=u>>>16,u&=65535,p+=n+o,l+=p>>>16,p&=65535,l+=t+a,l&=65535,goog.math.Long.fromBits(u<<16|d,l<<16|p)},goog.math.Long.prototype.subtract=function(e){return this.add(e.negate())},goog.math.Long.prototype.multiply=function(e){if(this.isZero())return goog.math.Long.ZERO;if(e.isZero())return goog.math.Long.ZERO;if(this.equals(goog.math.Long.MIN_VALUE))return e.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO;if(e.equals(goog.math.Long.MIN_VALUE))return this.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO;if(this.isNegative())return e.isNegative()?this.negate().multiply(e.negate()):this.negate().multiply(e).negate();if(e.isNegative())return this.multiply(e.negate()).negate();if(this.lessThan(goog.math.Long.TWO_PWR_24_)&&e.lessThan(goog.math.Long.TWO_PWR_24_))return goog.math.Long.fromNumber(this.toNumber()*e.toNumber());var t=this.high_>>>16,n=65535&this.high_,i=this.low_>>>16,r=65535&this.low_,a=e.high_>>>16,o=65535&e.high_,s=e.low_>>>16,c=65535&e.low_,l=0,p=0,u=0,d=0;return d+=r*c,u+=d>>>16,d&=65535,u+=i*c,p+=u>>>16,u&=65535,u+=r*s,p+=u>>>16,u&=65535,p+=n*c,l+=p>>>16,p&=65535,p+=i*s,l+=p>>>16,p&=65535,p+=r*o,l+=p>>>16,p&=65535,l+=t*c+n*s+i*o+r*a,l&=65535,goog.math.Long.fromBits(u<<16|d,l<<16|p)},goog.math.Long.prototype.div=function(e){if(e.isZero())throw Error("division by zero");if(this.isZero())return goog.math.Long.ZERO;if(this.equals(goog.math.Long.MIN_VALUE)){if(e.equals(goog.math.Long.ONE)||e.equals(goog.math.Long.NEG_ONE))return goog.math.Long.MIN_VALUE;if(e.equals(goog.math.Long.MIN_VALUE))return goog.math.Long.ONE;var t=this.shiftRight(1),n=t.div(e).shiftLeft(1);if(n.equals(goog.math.Long.ZERO))return e.isNegative()?goog.math.Long.ONE:goog.math.Long.NEG_ONE;var i=this.subtract(e.multiply(n)),r=n.add(i.div(e));return r}if(e.equals(goog.math.Long.MIN_VALUE))return goog.math.Long.ZERO;if(this.isNegative())return e.isNegative()?this.negate().div(e.negate()):this.negate().div(e).negate();if(e.isNegative())return this.div(e.negate()).negate();for(var a=goog.math.Long.ZERO,i=this;i.greaterThanOrEqual(e);){for(var n=Math.max(1,Math.floor(i.toNumber()/e.toNumber())),o=Math.ceil(Math.log(n)/Math.LN2),s=48>=o?1:Math.pow(2,o-48),c=goog.math.Long.fromNumber(n),l=c.multiply(e);l.isNegative()||l.greaterThan(i);)n-=s,c=goog.math.Long.fromNumber(n),l=c.multiply(e);c.isZero()&&(c=goog.math.Long.ONE),a=a.add(c),i=i.subtract(l)}return a},goog.math.Long.prototype.modulo=function(e){return this.subtract(this.div(e).multiply(e))},goog.math.Long.prototype.not=function(){return goog.math.Long.fromBits(~this.low_,~this.high_)},goog.math.Long.prototype.and=function(e){return goog.math.Long.fromBits(this.low_&e.low_,this.high_&e.high_)},goog.math.Long.prototype.or=function(e){return goog.math.Long.fromBits(this.low_|e.low_,this.high_|e.high_)},goog.math.Long.prototype.xor=function(e){return goog.math.Long.fromBits(this.low_^e.low_,this.high_^e.high_)},goog.math.Long.prototype.shiftLeft=function(e){if(e&=63,0==e)return this;var t=this.low_;if(32>e){var n=this.high_;return goog.math.Long.fromBits(t<<e,n<<e|t>>>32-e)}return goog.math.Long.fromBits(0,t<<e-32)},goog.math.Long.prototype.shiftRight=function(e){if(e&=63,0==e)return this;var t=this.high_;if(32>e){var n=this.low_;return goog.math.Long.fromBits(n>>>e|t<<32-e,t>>e)}return goog.math.Long.fromBits(t>>e-32,t>=0?0:-1)},goog.math.Long.prototype.shiftRightUnsigned=function(e){if(e&=63,0==e)return this;var t=this.high_;if(32>e){var n=this.low_;return goog.math.Long.fromBits(n>>>e|t<<32-e,t>>>e)}return 32==e?goog.math.Long.fromBits(t,0):goog.math.Long.fromBits(t>>>e-32,0)},Config=window.Config||{},Config.Schema=Config.Schema||{},Config.Schema.MTProto={constructors:[{id:"481674261",predicate:"vector",params:[],type:"Vector t"},{id:"85337187",predicate:"resPQ",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"pq",type:"bytes"},{name:"server_public_key_fingerprints",type:"Vector<long>"}],type:"ResPQ"},{id:"-2083955988",predicate:"p_q_inner_data",params:[{name:"pq",type:"bytes"},{name:"p",type:"bytes"},{name:"q",type:"bytes"},{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce",type:"int256"}],type:"P_Q_inner_data"},{id:"2043348061",predicate:"server_DH_params_fail",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash",type:"int128"}],type:"Server_DH_Params"},{id:"-790100132",predicate:"server_DH_params_ok",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"encrypted_answer",type:"bytes"}],type:"Server_DH_Params"},{id:"-1249309254",predicate:"server_DH_inner_data",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"g",type:"int"},{name:"dh_prime",type:"bytes"},{name:"g_a",type:"bytes"},{name:"server_time",type:"int"}],type:"Server_DH_inner_data"},{id:"1715713620",predicate:"client_DH_inner_data",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"retry_id",type:"long"},{name:"g_b",type:"bytes"}],type:"Client_DH_Inner_Data"},{id:"1003222836",predicate:"dh_gen_ok",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash1",type:"int128"}],type:"Set_client_DH_params_answer"},{id:"1188831161",predicate:"dh_gen_retry",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash2",type:"int128"}],type:"Set_client_DH_params_answer"},{id:"-1499615742",predicate:"dh_gen_fail",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"new_nonce_hash3",type:"int128"}],type:"Set_client_DH_params_answer"},{id:"-212046591",predicate:"rpc_result",params:[{name:"req_msg_id",type:"long"},{name:"result",type:"Object"}],type:"RpcResult"},{id:"558156313",predicate:"rpc_error",params:[{name:"error_code",type:"int"},{name:"error_message",type:"string"}],type:"RpcError"},{id:"1579864942",predicate:"rpc_answer_unknown",params:[],type:"RpcDropAnswer"},{id:"-847714938",predicate:"rpc_answer_dropped_running",params:[],type:"RpcDropAnswer"},{id:"-1539647305",predicate:"rpc_answer_dropped",params:[{name:"msg_id",type:"long"},{name:"seq_no",type:"int"},{name:"bytes",type:"int"}],type:"RpcDropAnswer"},{id:"155834844",predicate:"future_salt",params:[{name:"valid_since",type:"int"},{name:"valid_until",type:"int"},{name:"salt",type:"long"}],type:"FutureSalt"},{id:"-1370486635",predicate:"future_salts",params:[{name:"req_msg_id",type:"long"},{name:"now",type:"int"},{name:"salts",type:"vector<future_salt>"}],type:"FutureSalts"},{id:"880243653",predicate:"pong",params:[{name:"msg_id",type:"long"},{name:"ping_id",type:"long"}],type:"Pong"},{id:"-501201412",predicate:"destroy_session_ok",params:[{name:"session_id",type:"long"}],type:"DestroySessionRes"},{id:"1658015945",predicate:"destroy_session_none",params:[{name:"session_id",type:"long"}],type:"DestroySessionRes"},{id:"-1631450872",predicate:"new_session_created",params:[{name:"first_msg_id",type:"long"},{name:"unique_id",type:"long"},{name:"server_salt",type:"long"}],type:"NewSession"},{id:"1945237724",predicate:"msg_container",params:[{name:"messages",type:"vector<%Message>"}],type:"MessageContainer"},{id:"1538843921",predicate:"message",params:[{name:"msg_id",type:"long"},{name:"seqno",type:"int"},{name:"bytes",type:"int"},{name:"body",type:"Object"}],type:"Message"},{id:"-530561358",predicate:"msg_copy",params:[{name:"orig_message",type:"Message"}],type:"MessageCopy"},{id:"812830625",predicate:"gzip_packed",params:[{name:"packed_data",type:"bytes"}],type:"Object"},{id:"1658238041",predicate:"msgs_ack",params:[{name:"msg_ids",type:"Vector<long>"}],type:"MsgsAck"},{id:"-1477445615",predicate:"bad_msg_notification",params:[{name:"bad_msg_id",type:"long"},{name:"bad_msg_seqno",type:"int"},{name:"error_code",type:"int"}],type:"BadMsgNotification"},{id:"-307542917",predicate:"bad_server_salt",params:[{name:"bad_msg_id",type:"long"},{name:"bad_msg_seqno",type:"int"},{name:"error_code",type:"int"},{name:"new_server_salt",type:"long"}],type:"BadMsgNotification"},{id:"2105940488",predicate:"msg_resend_req",params:[{name:"msg_ids",type:"Vector<long>"}],type:"MsgResendReq"},{id:"-630588590",predicate:"msgs_state_req",params:[{name:"msg_ids",type:"Vector<long>"}],type:"MsgsStateReq"},{id:"81704317",predicate:"msgs_state_info",params:[{name:"req_msg_id",type:"long"},{name:"info",type:"bytes"}],type:"MsgsStateInfo"},{id:"-1933520591",predicate:"msgs_all_info",params:[{name:"msg_ids",type:"Vector<long>"},{name:"info",type:"bytes"}],type:"MsgsAllInfo"},{id:"661470918",predicate:"msg_detailed_info",params:[{name:"msg_id",type:"long"},{name:"answer_msg_id",type:"long"},{name:"bytes",type:"int"},{name:"status",type:"int"}],type:"MsgDetailedInfo"},{id:"-2137147681",predicate:"msg_new_detailed_info",params:[{name:"answer_msg_id",type:"long"},{name:"bytes",type:"int"},{name:"status",type:"int"}],type:"MsgDetailedInfo"}],methods:[{id:"1615239032",method:"req_pq",params:[{name:"nonce",type:"int128"}],type:"ResPQ"},{id:"-686627650",method:"req_DH_params",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"p",type:"bytes"},{name:"q",type:"bytes"},{name:"public_key_fingerprint",type:"long"},{name:"encrypted_data",type:"bytes"}],type:"Server_DH_Params"},{id:"-184262881",method:"set_client_DH_params",params:[{name:"nonce",type:"int128"},{name:"server_nonce",type:"int128"},{name:"encrypted_data",type:"bytes"}],type:"Set_client_DH_params_answer"},{id:"1491380032",method:"rpc_drop_answer",params:[{name:"req_msg_id",type:"long"}],type:"RpcDropAnswer"},{id:"-1188971260",method:"get_future_salts",params:[{name:"num",type:"int"}],type:"FutureSalts"},{id:"2059302892",method:"ping",params:[{name:"ping_id",type:"long"}],type:"Pong"},{id:"-213746804",method:"ping_delay_disconnect",params:[{name:"ping_id",type:"long"},{name:"disconnect_delay",type:"int"}],type:"Pong"},{id:"-414113498",method:"destroy_session",params:[{name:"session_id",type:"long"}],type:"DestroySessionRes"},{id:"-1835453025",method:"http_wait",params:[{name:"max_delay",type:"int"},{name:"wait_after",type:"int"},{name:"max_wait",type:"int"}],type:"HttpWait"}]},Config.Schema.API={constructors:[{id:"-1132882121",predicate:"boolFalse",params:[],type:"Bool"},{id:"-1720552011",predicate:"boolTrue",params:[],type:"Bool"},{id:"481674261",predicate:"vector",params:[],type:"Vector t"},{id:"-994444869",predicate:"error",params:[{name:"code",type:"int"},{name:"text",type:"string"}],type:"Error"},{id:"1450380236",predicate:"null",params:[],type:"Null"},{id:"2134579434",predicate:"inputPeerEmpty",params:[],type:"InputPeer"},{id:"2107670217",predicate:"inputPeerSelf",params:[],type:"InputPeer"},{id:"270785512",predicate:"inputPeerContact",params:[{name:"user_id",type:"int"}],type:"InputPeer"},{id:"-1690012891",predicate:"inputPeerForeign",params:[{name:"user_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputPeer"},{id:"396093539",predicate:"inputPeerChat",params:[{name:"chat_id",type:"int"}],type:"InputPeer"},{id:"-1182234929",predicate:"inputUserEmpty",params:[],type:"InputUser"},{id:"-138301121",predicate:"inputUserSelf",params:[],type:"InputUser"},{id:"-2031530139",predicate:"inputUserContact",params:[{name:"user_id",type:"int"}],type:"InputUser"},{id:"1700689151",predicate:"inputUserForeign",params:[{name:"user_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputUser"},{id:"-208488460",predicate:"inputPhoneContact",params:[{name:"client_id",type:"long"},{name:"phone",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"InputContact"},{id:"-181407105",predicate:"inputFile",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"name",type:"string"},{name:"md5_checksum",type:"string"}],type:"InputFile"},{id:"-1771768449",predicate:"inputMediaEmpty",params:[],type:"InputMedia"},{id:"767900285",predicate:"inputMediaUploadedPhoto",params:[{name:"file",type:"InputFile"}],type:"InputMedia"},{id:"-1893027092",predicate:"inputMediaPhoto",params:[{name:"id",type:"InputPhoto"}],type:"InputMedia"},{id:"-104578748",predicate:"inputMediaGeoPoint",params:[{name:"geo_point",type:"InputGeoPoint"}],type:"InputMedia"},{id:"-1494984313",predicate:"inputMediaContact",params:[{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"InputMedia"},{id:"322623222",predicate:"inputMediaUploadedVideo",params:[{name:"file",type:"InputFile"},{name:"duration",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"mime_type",type:"string"}],type:"InputMedia"},{id:"-1726817601",predicate:"inputMediaUploadedThumbVideo",params:[{name:"file",type:"InputFile"},{name:"thumb",type:"InputFile"},{name:"duration",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"mime_type",type:"string"}],type:"InputMedia"},{id:"2130852582",predicate:"inputMediaVideo",params:[{name:"id",type:"InputVideo"}],type:"InputMedia"},{id:"480546647",predicate:"inputChatPhotoEmpty",params:[],type:"InputChatPhoto"},{id:"-1809496270",predicate:"inputChatUploadedPhoto",params:[{name:"file",type:"InputFile"},{name:"crop",type:"InputPhotoCrop"}],type:"InputChatPhoto"},{id:"-1293828344",predicate:"inputChatPhoto",params:[{name:"id",type:"InputPhoto"},{name:"crop",type:"InputPhotoCrop"}],type:"InputChatPhoto"},{id:"-457104426",predicate:"inputGeoPointEmpty",params:[],type:"InputGeoPoint"},{id:"-206066487",predicate:"inputGeoPoint",params:[{name:"lat",type:"double"},{name:"long",type:"double"}],type:"InputGeoPoint"},{id:"483901197",predicate:"inputPhotoEmpty",params:[],type:"InputPhoto"},{id:"-74070332",predicate:"inputPhoto",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputPhoto"},{id:"1426648181",predicate:"inputVideoEmpty",params:[],type:"InputVideo"},{id:"-296249774",predicate:"inputVideo",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputVideo"},{id:"342061462",predicate:"inputFileLocation",params:[{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"}],type:"InputFileLocation"},{id:"1023632620",predicate:"inputVideoFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputFileLocation"},{id:"-1377390588",predicate:"inputPhotoCropAuto",params:[],type:"InputPhotoCrop"},{id:"-644787419",predicate:"inputPhotoCrop",params:[{name:"crop_left",type:"double"},{name:"crop_top",type:"double"},{name:"crop_width",type:"double"}],type:"InputPhotoCrop"},{id:"1996904104",predicate:"inputAppEvent",params:[{name:"time",type:"double"},{name:"type",type:"string"},{name:"peer",type:"long"},{name:"data",type:"string"}],type:"InputAppEvent"},{id:"-1649296275",predicate:"peerUser",params:[{name:"user_id",type:"int"}],type:"Peer"},{id:"-1160714821",predicate:"peerChat",params:[{name:"chat_id",type:"int"}],type:"Peer"},{id:"-1432995067",predicate:"storage.fileUnknown",params:[],type:"storage.FileType"},{id:"8322574",predicate:"storage.fileJpeg",params:[],type:"storage.FileType"},{id:"-891180321",predicate:"storage.fileGif",params:[],type:"storage.FileType"},{id:"172975040",predicate:"storage.filePng",params:[],type:"storage.FileType"},{id:"-1373745011",predicate:"storage.filePdf",params:[],type:"storage.FileType"},{id:"1384777335",predicate:"storage.fileMp3",params:[],type:"storage.FileType"},{id:"1258941372",predicate:"storage.fileMov",params:[],type:"storage.FileType"},{id:"1086091090",predicate:"storage.filePartial",params:[],type:"storage.FileType"},{id:"-1278304028",predicate:"storage.fileMp4",params:[],type:"storage.FileType"},{id:"276907596",predicate:"storage.fileWebp",params:[],type:"storage.FileType"},{id:"2086234950",predicate:"fileLocationUnavailable",params:[{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"}],type:"FileLocation"},{id:"1406570614",predicate:"fileLocation",params:[{name:"dc_id",type:"int"},{name:"volume_id",type:"long"},{name:"local_id",type:"int"},{name:"secret",type:"long"}],type:"FileLocation"},{id:"537022650",predicate:"userEmpty",params:[{name:"id",type:"int"}],type:"User"},{id:"1912944108",predicate:"userSelf",params:[{name:"id",type:"int"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"phone",type:"string"},{name:"photo",type:"UserProfilePhoto"},{name:"status",type:"UserStatus"},{name:"inactive",type:"Bool"}],type:"User"},{id:"-218397927",predicate:"userContact",params:[{name:"id",type:"int"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"access_hash",type:"long"},{name:"phone",type:"string"},{name:"photo",type:"UserProfilePhoto"},{name:"status",type:"UserStatus"}],type:"User"},{id:"585682608",predicate:"userRequest",params:[{name:"id",type:"int"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"access_hash",type:"long"},{name:"phone",type:"string"},{name:"photo",type:"UserProfilePhoto"},{name:"status",type:"UserStatus"}],type:"User"},{id:"1377093789",predicate:"userForeign",params:[{name:"id",type:"int"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"access_hash",type:"long"},{name:"photo",type:"UserProfilePhoto"},{name:"status",type:"UserStatus"}],type:"User"},{id:"-1298475060",predicate:"userDeleted",params:[{name:"id",type:"int"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"User"},{id:"1326562017",predicate:"userProfilePhotoEmpty",params:[],type:"UserProfilePhoto"},{id:"-715532088",predicate:"userProfilePhoto",params:[{name:"photo_id",type:"long"},{name:"photo_small",type:"FileLocation"},{name:"photo_big",type:"FileLocation"}],type:"UserProfilePhoto"},{id:"164646985",predicate:"userStatusEmpty",params:[],type:"UserStatus"},{id:"-306628279",predicate:"userStatusOnline",params:[{name:"expires",type:"int"}],type:"UserStatus"},{id:"9203775",predicate:"userStatusOffline",params:[{name:"was_online",type:"int"}],type:"UserStatus"},{id:"-1683826688",predicate:"chatEmpty",params:[{name:"id",type:"int"}],type:"Chat"},{id:"1855757255",predicate:"chat",params:[{name:"id",type:"int"},{name:"title",type:"string"},{name:"photo",type:"ChatPhoto"},{name:"participants_count",type:"int"},{name:"date",type:"int"},{name:"left",type:"Bool"},{name:"version",type:"int"}],type:"Chat"},{id:"-83047359",predicate:"chatForbidden",params:[{name:"id",type:"int"},{name:"title",type:"string"},{name:"date",type:"int"}],type:"Chat"},{id:"1661886910",predicate:"chatFull",params:[{name:"id",type:"int"},{name:"participants",type:"ChatParticipants"},{name:"chat_photo",type:"Photo"},{name:"notify_settings",type:"PeerNotifySettings"}],type:"ChatFull"},{id:"-925415106",predicate:"chatParticipant",params:[{name:"user_id",type:"int"},{name:"inviter_id",type:"int"},{name:"date",type:"int"}],type:"ChatParticipant"},{id:"265468810",predicate:"chatParticipantsForbidden",params:[{name:"chat_id",type:"int"}],type:"ChatParticipants"},{id:"2017571861",predicate:"chatParticipants",params:[{name:"chat_id",type:"int"},{name:"admin_id",type:"int"},{name:"participants",type:"Vector<ChatParticipant>"},{name:"version",type:"int"}],type:"ChatParticipants"},{id:"935395612",predicate:"chatPhotoEmpty",params:[],type:"ChatPhoto"},{id:"1632839530",predicate:"chatPhoto",params:[{name:"photo_small",type:"FileLocation"},{name:"photo_big",type:"FileLocation"}],type:"ChatPhoto"},{id:"-2082087340",predicate:"messageEmpty",params:[{name:"id",type:"int"}],type:"Message"},{id:"585853626",predicate:"message",params:[{name:"id",type:"int"},{name:"from_id",type:"int"},{name:"to_id",type:"Peer"},{name:"out",type:"Bool"},{name:"unread",type:"Bool"},{name:"date",type:"int"},{name:"message",type:"string"},{name:"media",type:"MessageMedia"}],type:"Message"},{id:"99903492",predicate:"messageForwarded",params:[{name:"id",type:"int"},{name:"fwd_from_id",type:"int"},{name:"fwd_date",type:"int"},{name:"from_id",type:"int"},{name:"to_id",type:"Peer"},{name:"out",type:"Bool"},{name:"unread",type:"Bool"},{name:"date",type:"int"},{name:"message",type:"string"},{name:"media",type:"MessageMedia"}],type:"Message"},{id:"-1618124613",predicate:"messageService",params:[{name:"id",type:"int"},{name:"from_id",type:"int"},{name:"to_id",type:"Peer"},{name:"out",type:"Bool"},{name:"unread",type:"Bool"},{name:"date",type:"int"},{name:"action",type:"MessageAction"}],type:"Message"},{id:"1038967584",predicate:"messageMediaEmpty",params:[],type:"MessageMedia"},{id:"-926655958",predicate:"messageMediaPhoto",params:[{name:"photo",type:"Photo"}],type:"MessageMedia"},{id:"-1563278704",predicate:"messageMediaVideo",params:[{name:"video",type:"Video"}],type:"MessageMedia"},{id:"1457575028",predicate:"messageMediaGeo",params:[{name:"geo",type:"GeoPoint"}],type:"MessageMedia"},{id:"1585262393",predicate:"messageMediaContact",params:[{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"user_id",type:"int"}],type:"MessageMedia"},{id:"694364726",predicate:"messageMediaUnsupported",params:[{name:"bytes",type:"bytes"}],type:"MessageMedia"},{id:"-1230047312",predicate:"messageActionEmpty",params:[],type:"MessageAction"},{id:"-1503425638",predicate:"messageActionChatCreate",params:[{name:"title",type:"string"},{name:"users",type:"Vector<int>"}],type:"MessageAction"},{id:"-1247687078",predicate:"messageActionChatEditTitle",params:[{name:"title",type:"string"}],type:"MessageAction"},{id:"2144015272",predicate:"messageActionChatEditPhoto",params:[{name:"photo",type:"Photo"}],type:"MessageAction"},{id:"-1780220945",predicate:"messageActionChatDeletePhoto",params:[],type:"MessageAction"},{id:"1581055051",predicate:"messageActionChatAddUser",params:[{name:"user_id",type:"int"}],type:"MessageAction"},{id:"-1297179892",predicate:"messageActionChatDeleteUser",params:[{name:"user_id",type:"int"}],type:"MessageAction"},{id:"-1422222932",predicate:"dialog",params:[{name:"peer",type:"Peer"},{name:"top_message",type:"int"},{name:"unread_count",type:"int"},{name:"notify_settings",type:"PeerNotifySettings"}],type:"Dialog"},{id:"590459437",predicate:"photoEmpty",params:[{name:"id",type:"long"}],type:"Photo"},{id:"582313809",predicate:"photo",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"user_id",type:"int"},{name:"date",type:"int"},{name:"caption",type:"string"},{name:"geo",type:"GeoPoint"},{name:"sizes",type:"Vector<PhotoSize>"}],type:"Photo"},{id:"236446268",predicate:"photoSizeEmpty",params:[{name:"type",type:"string"}],type:"PhotoSize"},{id:"2009052699",predicate:"photoSize",params:[{name:"type",type:"string"},{name:"location",type:"FileLocation"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"size",type:"int"}],type:"PhotoSize"},{id:"-374917894",predicate:"photoCachedSize",params:[{name:"type",type:"string"},{name:"location",type:"FileLocation"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"bytes",type:"bytes"}],type:"PhotoSize"},{id:"-1056548696",predicate:"videoEmpty",params:[{name:"id",type:"long"}],type:"Video"},{id:"948937617",predicate:"video",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"user_id",type:"int"},{name:"date",type:"int"},{name:"caption",type:"string"},{name:"duration",type:"int"},{name:"mime_type",type:"string"},{name:"size",type:"int"},{name:"thumb",type:"PhotoSize"},{name:"dc_id",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"}],type:"Video"},{id:"286776671",predicate:"geoPointEmpty",params:[],type:"GeoPoint"},{id:"541710092",predicate:"geoPoint",params:[{name:"long",type:"double"},{name:"lat",type:"double"}],type:"GeoPoint"},{id:"-486486981",predicate:"auth.checkedPhone",params:[{name:"phone_registered",type:"Bool"},{name:"phone_invited",type:"Bool"}],type:"auth.CheckedPhone"},{id:"-269659687",predicate:"auth.sentCode",params:[{name:"phone_registered",type:"Bool"},{name:"phone_code_hash",type:"string"},{name:"send_call_timeout",type:"int"},{name:"is_password",type:"Bool"}],type:"auth.SentCode"},{id:"-155815004",predicate:"auth.authorization",params:[{name:"expires",type:"int"},{name:"user",type:"User"}],type:"auth.Authorization"},{id:"-543777747",predicate:"auth.exportedAuthorization",params:[{name:"id",type:"int"},{name:"bytes",type:"bytes"}],type:"auth.ExportedAuthorization"},{id:"-1195615476",predicate:"inputNotifyPeer",params:[{name:"peer",type:"InputPeer"}],type:"InputNotifyPeer"},{id:"423314455",predicate:"inputNotifyUsers",params:[],type:"InputNotifyPeer"},{id:"1251338318",predicate:"inputNotifyChats",params:[],type:"InputNotifyPeer"},{id:"-1540769658",predicate:"inputNotifyAll",params:[],type:"InputNotifyPeer"},{id:"-265263912",predicate:"inputPeerNotifyEventsEmpty",params:[],type:"InputPeerNotifyEvents"},{id:"-395694988",predicate:"inputPeerNotifyEventsAll",params:[],type:"InputPeerNotifyEvents"},{id:"1185074840",predicate:"inputPeerNotifySettings",params:[{name:"mute_until",type:"int"},{name:"sound",type:"string"},{name:"show_previews",type:"Bool"},{name:"events_mask",type:"int"}],type:"InputPeerNotifySettings"},{id:"-1378534221",predicate:"peerNotifyEventsEmpty",params:[],type:"PeerNotifyEvents"},{id:"1830677896",predicate:"peerNotifyEventsAll",params:[],type:"PeerNotifyEvents"},{id:"1889961234",predicate:"peerNotifySettingsEmpty",params:[],type:"PeerNotifySettings"},{id:"-1923214866",predicate:"peerNotifySettings",params:[{name:"mute_until",type:"int"},{name:"sound",type:"string"},{name:"show_previews",type:"Bool"},{name:"events_mask",type:"int"}],type:"PeerNotifySettings"},{id:"-860866985",predicate:"wallPaper",params:[{name:"id",type:"int"},{name:"title",type:"string"},{name:"sizes",type:"Vector<PhotoSize>"},{name:"color",type:"int"}],type:"WallPaper"},{id:"1997575642",predicate:"userFull",params:[{name:"user",type:"User"},{name:"link",type:"contacts.Link"},{name:"profile_photo",type:"Photo"},{name:"notify_settings",type:"PeerNotifySettings"},{name:"blocked",type:"Bool"},{name:"real_first_name",type:"string"},{name:"real_last_name",type:"string"}],type:"UserFull"},{id:"-116274796",predicate:"contact",params:[{name:"user_id",type:"int"},{name:"mutual",type:"Bool"}],type:"Contact"},{id:"-805141448",predicate:"importedContact",params:[{name:"user_id",type:"int"},{name:"client_id",type:"long"}],type:"ImportedContact"},{id:"1444661369",predicate:"contactBlocked",params:[{name:"user_id",type:"int"},{name:"date",type:"int"}],type:"ContactBlocked"},{id:"-360210539",predicate:"contactFound",params:[{name:"user_id",type:"int"}],type:"ContactFound"},{id:"1038193057",predicate:"contactSuggested",params:[{name:"user_id",type:"int"},{name:"mutual_contacts",type:"int"}],type:"ContactSuggested"},{id:"-1434994573",predicate:"contactStatus",params:[{name:"user_id",type:"int"},{name:"expires",type:"int"}],type:"ContactStatus"},{id:"909233996",predicate:"chatLocated",params:[{name:"chat_id",type:"int"},{name:"distance",type:"int"}],type:"ChatLocated"},{id:"322183672",predicate:"contacts.foreignLinkUnknown",params:[],type:"contacts.ForeignLink"},{id:"-1484775609",predicate:"contacts.foreignLinkRequested",params:[{name:"has_phone",type:"Bool"}],type:"contacts.ForeignLink"},{id:"468356321",predicate:"contacts.foreignLinkMutual",params:[],type:"contacts.ForeignLink"},{id:"-768992160",predicate:"contacts.myLinkEmpty",params:[],type:"contacts.MyLink"},{id:"1818882030",predicate:"contacts.myLinkRequested",params:[{name:"contact",type:"Bool"}],type:"contacts.MyLink"},{id:"-1035932711",predicate:"contacts.myLinkContact",params:[],type:"contacts.MyLink"},{id:"-322001931",predicate:"contacts.link",params:[{name:"my_link",type:"contacts.MyLink"},{name:"foreign_link",type:"contacts.ForeignLink"},{name:"user",type:"User"}],type:"contacts.Link"},{id:"1871416498",predicate:"contacts.contacts",params:[{name:"contacts",type:"Vector<Contact>"},{name:"users",type:"Vector<User>"}],type:"contacts.Contacts"},{id:"-1219778094",predicate:"contacts.contactsNotModified",params:[],type:"contacts.Contacts"},{id:"-1387117803",predicate:"contacts.importedContacts",params:[{name:"imported",type:"Vector<ImportedContact>"},{name:"retry_contacts",type:"Vector<long>"},{name:"users",type:"Vector<User>"}],type:"contacts.ImportedContacts"},{id:"471043349",predicate:"contacts.blocked",params:[{name:"blocked",type:"Vector<ContactBlocked>"},{name:"users",type:"Vector<User>"}],type:"contacts.Blocked"},{id:"-1878523231",predicate:"contacts.blockedSlice",params:[{name:"count",type:"int"},{name:"blocked",type:"Vector<ContactBlocked>"},{name:"users",type:"Vector<User>"}],type:"contacts.Blocked"},{id:"90570766",predicate:"contacts.found",params:[{name:"results",type:"Vector<ContactFound>"},{name:"users",type:"Vector<User>"}],type:"contacts.Found"},{id:"1447681221",predicate:"contacts.suggested",params:[{name:"results",type:"Vector<ContactSuggested>"},{name:"users",type:"Vector<User>"}],type:"contacts.Suggested"},{id:"364538944",predicate:"messages.dialogs",params:[{name:"dialogs",type:"Vector<Dialog>"},{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"messages.Dialogs"},{id:"1910543603",predicate:"messages.dialogsSlice",params:[{name:"count",type:"int"},{name:"dialogs",type:"Vector<Dialog>"},{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"messages.Dialogs"},{id:"-1938715001",predicate:"messages.messages",params:[{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"messages.Messages"},{id:"189033187",predicate:"messages.messagesSlice",params:[{name:"count",type:"int"},{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"messages.Messages"},{id:"1062078024",predicate:"messages.messageEmpty",params:[],type:"messages.Message"},{id:"-7289833",predicate:"messages.message",params:[{name:"message",type:"Message"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"messages.Message"},{id:"-1768654661",predicate:"messages.statedMessages",params:[{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"pts",type:"int"},{name:"seq",type:"int"}],type:"messages.StatedMessages"},{id:"-797251802",predicate:"messages.statedMessage",params:[{name:"message",type:"Message"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"pts",type:"int"},{name:"seq",type:"int"}],type:"messages.StatedMessage"},{id:"-772484260",predicate:"messages.sentMessage",params:[{name:"id",type:"int"},{name:"date",type:"int"},{name:"pts",type:"int"},{name:"seq",type:"int"}],type:"messages.SentMessage"},{id:"1089011754",predicate:"messages.chat",params:[{name:"chat",type:"Chat"},{name:"users",type:"Vector<User>"}],type:"messages.Chat"},{id:"-2125411368",predicate:"messages.chats",params:[{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"messages.Chats"},{id:"-438840932",predicate:"messages.chatFull",params:[{name:"full_chat",type:"ChatFull"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"messages.ChatFull"},{id:"-1210173710",predicate:"messages.affectedHistory",params:[{name:"pts",type:"int"},{name:"seq",type:"int"},{name:"offset",type:"int"}],type:"messages.AffectedHistory"},{id:"1474492012",predicate:"inputMessagesFilterEmpty",params:[],type:"MessagesFilter"},{id:"-1777752804",predicate:"inputMessagesFilterPhotos",params:[],type:"MessagesFilter"},{id:"-1614803355",predicate:"inputMessagesFilterVideo",params:[],type:"MessagesFilter"},{id:"1458172132",predicate:"inputMessagesFilterPhotoVideo",params:[],type:"MessagesFilter"},{id:"-1629621880",predicate:"inputMessagesFilterDocument",params:[],type:"MessagesFilter"},{id:"20626867",predicate:"updateNewMessage",params:[{name:"message",type:"Message"},{name:"pts",type:"int"}],type:"Update"},{id:"1318109142",predicate:"updateMessageID",params:[{name:"id",type:"int"},{name:"random_id",type:"long"}],type:"Update"},{id:"-966484431",predicate:"updateReadMessages",params:[{name:"messages",type:"Vector<int>"},{name:"pts",type:"int"}],type:"Update"},{id:"-1456734682",predicate:"updateDeleteMessages",params:[{name:"messages",type:"Vector<int>"},{name:"pts",type:"int"}],type:"Update"},{id:"-782376883",predicate:"updateRestoreMessages",params:[{name:"messages",type:"Vector<int>"},{name:"pts",type:"int"}],type:"Update"},{id:"1806337288",predicate:"updateUserTyping",params:[{name:"user_id",type:"int"}],type:"Update"},{id:"1011273702",predicate:"updateChatUserTyping",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"int"}],type:"Update"},{id:"125178264",predicate:"updateChatParticipants",params:[{name:"participants",type:"ChatParticipants"}],type:"Update"},{id:"469489699",predicate:"updateUserStatus",params:[{name:"user_id",type:"int"},{name:"status",type:"UserStatus"}],type:"Update"},{id:"-635250259",predicate:"updateUserName",params:[{name:"user_id",type:"int"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"Update"},{id:"-1791935732",predicate:"updateUserPhoto",params:[{name:"user_id",type:"int"},{name:"date",type:"int"},{name:"photo",type:"UserProfilePhoto"},{name:"previous",type:"Bool"}],type:"Update"},{id:"628472761",predicate:"updateContactRegistered",params:[{name:"user_id",type:"int"},{name:"date",type:"int"}],type:"Update"},{id:"1369737882",predicate:"updateContactLink",params:[{name:"user_id",type:"int"},{name:"my_link",type:"contacts.MyLink"},{name:"foreign_link",type:"contacts.ForeignLink"}],type:"Update"},{id:"1869154659",predicate:"updateActivation",params:[{name:"user_id",type:"int"}],type:"Update"},{id:"-1895411046",predicate:"updateNewAuthorization",params:[{name:"auth_key_id",type:"long"},{name:"date",type:"int"},{name:"device",type:"string"},{name:"location",type:"string"}],type:"Update"},{id:"-1519637954",predicate:"updates.state",params:[{name:"pts",type:"int"},{name:"qts",type:"int"},{name:"date",type:"int"},{name:"seq",type:"int"},{name:"unread_count",type:"int"}],type:"updates.State"},{id:"1567990072",predicate:"updates.differenceEmpty",params:[{name:"date",type:"int"},{name:"seq",type:"int"}],type:"updates.Difference"},{id:"16030880",predicate:"updates.difference",params:[{name:"new_messages",type:"Vector<Message>"},{name:"new_encrypted_messages",type:"Vector<EncryptedMessage>"},{name:"other_updates",type:"Vector<Update>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"state",type:"updates.State"}],type:"updates.Difference"},{id:"-1459938943",predicate:"updates.differenceSlice",params:[{name:"new_messages",type:"Vector<Message>"},{name:"new_encrypted_messages",type:"Vector<EncryptedMessage>"},{name:"other_updates",type:"Vector<Update>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"intermediate_state",type:"updates.State"}],type:"updates.Difference"},{id:"-484987010",predicate:"updatesTooLong",params:[],type:"Updates"},{id:"-738961532",predicate:"updateShortMessage",params:[{name:"id",type:"int"},{name:"from_id",type:"int"},{name:"message",type:"string"},{name:"pts",type:"int"},{name:"date",type:"int"},{name:"seq",type:"int"}],type:"Updates"},{id:"724548942",predicate:"updateShortChatMessage",params:[{name:"id",type:"int"},{name:"from_id",type:"int"},{name:"chat_id",type:"int"},{name:"message",type:"string"},{name:"pts",type:"int"},{name:"date",type:"int"},{name:"seq",type:"int"}],type:"Updates"},{id:"2027216577",predicate:"updateShort",params:[{name:"update",type:"Update"},{name:"date",type:"int"}],type:"Updates"},{id:"1918567619",predicate:"updatesCombined",params:[{name:"updates",type:"Vector<Update>"},{name:"users",type:"Vector<User>"},{name:"chats",type:"Vector<Chat>"},{name:"date",type:"int"},{name:"seq_start",type:"int"},{name:"seq",type:"int"}],type:"Updates"},{id:"1957577280",predicate:"updates",params:[{name:"updates",type:"Vector<Update>"},{name:"users",type:"Vector<User>"},{name:"chats",type:"Vector<Chat>"},{name:"date",type:"int"},{name:"seq",type:"int"}],type:"Updates"},{id:"-1916114267",predicate:"photos.photos",params:[{name:"photos",type:"Vector<Photo>"},{name:"users",type:"Vector<User>"}],type:"photos.Photos"},{id:"352657236",predicate:"photos.photosSlice",params:[{name:"count",type:"int"},{name:"photos",type:"Vector<Photo>"},{name:"users",type:"Vector<User>"}],type:"photos.Photos"},{id:"539045032",predicate:"photos.photo",params:[{name:"photo",type:"Photo"},{name:"users",type:"Vector<User>"}],type:"photos.Photo"},{id:"157948117",predicate:"upload.file",params:[{name:"type",type:"storage.FileType"},{name:"mtime",type:"int"},{name:"bytes",type:"bytes"}],type:"upload.File"},{id:"784507964",predicate:"dcOption",params:[{name:"id",type:"int"},{name:"hostname",type:"string"},{name:"ip_address",type:"string"},{name:"port",type:"int"}],type:"DcOption"},{id:"777313652",predicate:"config",params:[{name:"date",type:"int"},{name:"test_mode",type:"Bool"},{name:"this_dc",type:"int"},{name:"dc_options",type:"Vector<DcOption>"},{name:"chat_size_max",type:"int"},{name:"broadcast_size_max",type:"int"}],type:"Config"},{id:"-1910892683",predicate:"nearestDc",params:[{name:"country",type:"string"},{name:"this_dc",type:"int"},{name:"nearest_dc",type:"int"}],type:"NearestDc"},{id:"-1987579119",predicate:"help.appUpdate",params:[{name:"id",type:"int"},{name:"critical",type:"Bool"},{name:"url",type:"string"},{name:"text",type:"string"}],type:"help.AppUpdate"},{id:"-1000708810",predicate:"help.noAppUpdate",params:[],type:"help.AppUpdate"},{id:"415997816",predicate:"help.inviteText",params:[{name:"message",type:"string"}],type:"help.InviteText"},{id:"1047852486",predicate:"messages.statedMessagesLinks",params:[{name:"messages",type:"Vector<Message>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"links",type:"Vector<contacts.Link>"},{name:"pts",type:"int"},{name:"seq",type:"int"}],type:"messages.StatedMessages"},{id:"-1448138623",predicate:"messages.statedMessageLink",params:[{name:"message",type:"Message"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"links",type:"Vector<contacts.Link>"},{name:"pts",type:"int"},{name:"seq",type:"int"}],type:"messages.StatedMessage"},{id:"-371504577",predicate:"messages.sentMessageLink",params:[{name:"id",type:"int"},{name:"date",type:"int"},{name:"pts",type:"int"},{name:"seq",type:"int"},{name:"links",type:"Vector<contacts.Link>"}],type:"messages.SentMessage"},{id:"1960072954",predicate:"inputGeoChat",params:[{name:"chat_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputGeoChat"},{id:"1301143240",predicate:"inputNotifyGeoChatPeer",params:[{name:"peer",type:"InputGeoChat"}],type:"InputNotifyPeer"},{id:"1978329690",predicate:"geoChat",params:[{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"title",type:"string"},{name:"address",type:"string"},{name:"venue",type:"string"},{name:"geo",type:"GeoPoint"},{name:"photo",type:"ChatPhoto"},{name:"participants_count",type:"int"},{name:"date",type:"int"},{name:"checked_in",type:"Bool"},{name:"version",type:"int"}],type:"Chat"},{id:"1613830811",predicate:"geoChatMessageEmpty",params:[{name:"chat_id",type:"int"},{name:"id",type:"int"}],type:"GeoChatMessage"},{id:"1158019297",predicate:"geoChatMessage",params:[{name:"chat_id",type:"int"},{name:"id",type:"int"},{name:"from_id",type:"int"},{name:"date",type:"int"},{name:"message",type:"string"},{name:"media",type:"MessageMedia"}],type:"GeoChatMessage"},{id:"-749755826",predicate:"geoChatMessageService",params:[{name:"chat_id",type:"int"},{name:"id",type:"int"},{name:"from_id",type:"int"},{name:"date",type:"int"},{name:"action",type:"MessageAction"}],type:"GeoChatMessage"},{id:"397498251",predicate:"geochats.statedMessage",params:[{name:"message",type:"GeoChatMessage"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"},{name:"seq",type:"int"}],type:"geochats.StatedMessage"},{id:"1224651367",predicate:"geochats.located",params:[{name:"results",type:"Vector<ChatLocated>"},{name:"messages",type:"Vector<GeoChatMessage>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"geochats.Located"},{id:"-783127119",predicate:"geochats.messages",params:[{name:"messages",type:"Vector<GeoChatMessage>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"geochats.Messages"},{id:"-1135057944",predicate:"geochats.messagesSlice",params:[{name:"count",type:"int"},{name:"messages",type:"Vector<GeoChatMessage>"},{name:"chats",type:"Vector<Chat>"},{name:"users",type:"Vector<User>"}],type:"geochats.Messages"},{id:"1862504124",predicate:"messageActionGeoChatCreate",params:[{name:"title",type:"string"},{name:"address",type:"string"}],type:"MessageAction"},{id:"209540062",predicate:"messageActionGeoChatCheckin",params:[],type:"MessageAction"},{id:"1516823543",predicate:"updateNewGeoChatMessage",params:[{name:"message",type:"GeoChatMessage"}],type:"Update"},{id:"1662091044",predicate:"wallPaperSolid",params:[{name:"id",type:"int"},{name:"title",type:"string"},{name:"bg_color",type:"int"},{name:"color",type:"int"}],type:"WallPaper"},{id:"314359194",predicate:"updateNewEncryptedMessage",params:[{name:"message",type:"EncryptedMessage"},{name:"qts",type:"int"}],type:"Update"},{id:"386986326",predicate:"updateEncryptedChatTyping",params:[{name:"chat_id",type:"int"}],type:"Update"},{id:"-1264392051",predicate:"updateEncryption",params:[{name:"chat",type:"EncryptedChat"},{name:"date",type:"int"}],type:"Update"},{id:"956179895",predicate:"updateEncryptedMessagesRead",params:[{name:"chat_id",type:"int"},{name:"max_date",type:"int"},{name:"date",type:"int"}],type:"Update"},{id:"-1417756512",predicate:"encryptedChatEmpty",params:[{name:"id",type:"int"}],type:"EncryptedChat"},{id:"1006044124",predicate:"encryptedChatWaiting",params:[{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"}],type:"EncryptedChat"},{id:"-931638658",predicate:"encryptedChatRequested",params:[{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"g_a",type:"bytes"}],type:"EncryptedChat"},{id:"-94974410",predicate:"encryptedChat",params:[{name:"id",type:"int"},{name:"access_hash",type:"long"},{name:"date",type:"int"},{name:"admin_id",type:"int"},{name:"participant_id",type:"int"},{name:"g_a_or_b",type:"bytes"},{name:"key_fingerprint",type:"long"}],type:"EncryptedChat"},{id:"332848423",predicate:"encryptedChatDiscarded",params:[{name:"id",type:"int"}],type:"EncryptedChat"},{id:"-247351839",predicate:"inputEncryptedChat",params:[{name:"chat_id",type:"int"},{name:"access_hash",type:"long"}],type:"InputEncryptedChat"},{id:"-1038136962",predicate:"encryptedFileEmpty",params:[],type:"EncryptedFile"},{id:"1248893260",predicate:"encryptedFile",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"size",type:"int"},{name:"dc_id",type:"int"},{name:"key_fingerprint",type:"int"}],type:"EncryptedFile"},{id:"406307684",predicate:"inputEncryptedFileEmpty",params:[],type:"InputEncryptedFile"},{id:"1690108678",predicate:"inputEncryptedFileUploaded",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"md5_checksum",type:"string"},{name:"key_fingerprint",type:"int"}],type:"InputEncryptedFile"},{id:"1511503333",predicate:"inputEncryptedFile",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputEncryptedFile"},{id:"-182231723",predicate:"inputEncryptedFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputFileLocation"},{id:"-317144808",predicate:"encryptedMessage",params:[{name:"random_id",type:"long"},{name:"chat_id",type:"int"},{name:"date",type:"int"},{name:"bytes",type:"bytes"},{name:"file",type:"EncryptedFile"}],type:"EncryptedMessage"},{id:"594758406",predicate:"encryptedMessageService",params:[{name:"random_id",type:"long"},{name:"chat_id",type:"int"},{name:"date",type:"int"},{name:"bytes",type:"bytes"}],type:"EncryptedMessage"},{id:"-1717290801",predicate:"decryptedMessageLayer",params:[{name:"layer",type:"int"},{name:"message",type:"DecryptedMessage"}],type:"DecryptedMessageLayer"},{id:"528568095",predicate:"decryptedMessage",params:[{name:"random_id",type:"long"},{name:"random_bytes",type:"bytes"},{name:"message",type:"string"},{name:"media",type:"DecryptedMessageMedia"}],type:"DecryptedMessage"},{id:"-1438109059",predicate:"decryptedMessageService",params:[{name:"random_id",type:"long"},{name:"random_bytes",type:"bytes"},{name:"action",type:"DecryptedMessageAction"}],type:"DecryptedMessage"},{id:"144661578",predicate:"decryptedMessageMediaEmpty",params:[],type:"DecryptedMessageMedia"},{id:"846826124",predicate:"decryptedMessageMediaPhoto",params:[{name:"thumb",type:"bytes"},{name:"thumb_w",type:"int"},{name:"thumb_h",type:"int"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"size",type:"int"},{name:"key",type:"bytes"},{name:"iv",type:"bytes"}],type:"DecryptedMessageMedia"},{id:"1380598109",predicate:"decryptedMessageMediaVideo",params:[{name:"thumb",type:"bytes"},{name:"thumb_w",type:"int"},{name:"thumb_h",type:"int"},{name:"duration",type:"int"},{name:"mime_type",type:"string"},{name:"w",type:"int"},{name:"h",type:"int"},{name:"size",type:"int"},{name:"key",type:"bytes"},{name:"iv",type:"bytes"}],type:"DecryptedMessageMedia"},{id:"893913689",predicate:"decryptedMessageMediaGeoPoint",params:[{name:"lat",type:"double"},{name:"long",type:"double"}],type:"DecryptedMessageMedia"},{id:"1485441687",predicate:"decryptedMessageMediaContact",params:[{name:"phone_number",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"},{name:"user_id",type:"int"}],type:"DecryptedMessageMedia"},{id:"-1586283796",predicate:"decryptedMessageActionSetMessageTTL",params:[{name:"ttl_seconds",type:"int"}],type:"DecryptedMessageAction"},{id:"-1058912715",predicate:"messages.dhConfigNotModified",params:[{name:"random",type:"bytes"}],type:"messages.DhConfig"},{id:"740433629",predicate:"messages.dhConfig",params:[{name:"g",type:"int"},{name:"p",type:"bytes"},{name:"version",type:"int"},{name:"random",type:"bytes"}],type:"messages.DhConfig"},{id:"1443858741",predicate:"messages.sentEncryptedMessage",params:[{name:"date",type:"int"}],type:"messages.SentEncryptedMessage"},{id:"-1802240206",predicate:"messages.sentEncryptedFile",params:[{name:"date",type:"int"},{name:"file",type:"EncryptedFile"}],type:"messages.SentEncryptedMessage"},{id:"-95482955",predicate:"inputFileBig",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"name",type:"string"}],type:"InputFile"},{id:"767652808",predicate:"inputEncryptedFileBigUploaded",params:[{name:"id",type:"long"},{name:"parts",type:"int"},{name:"key_fingerprint",type:"int"}],type:"InputEncryptedFile"},{id:"974056226",predicate:"updateChatParticipantAdd",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"int"},{name:"inviter_id",type:"int"},{name:"version",type:"int"}],type:"Update"},{id:"1851755554",predicate:"updateChatParticipantDelete",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"int"},{name:"version",type:"int"}],type:"Update"},{id:"-1906403213",predicate:"updateDcOptions",params:[{name:"dc_options",type:"Vector<DcOption>"}],type:"Update"},{id:"1313442987",predicate:"inputMediaUploadedAudio",params:[{name:"file",type:"InputFile"},{name:"duration",type:"int"},{name:"mime_type",type:"string"}],type:"InputMedia"},{id:"-1986820223",predicate:"inputMediaAudio",params:[{name:"id",type:"InputAudio"}],type:"InputMedia"},{id:"887592125",predicate:"inputMediaUploadedDocument",params:[{name:"file",type:"InputFile"},{name:"file_name",type:"string"},{name:"mime_type",type:"string"}],type:"InputMedia"},{id:"1044831837",predicate:"inputMediaUploadedThumbDocument",params:[{name:"file",type:"InputFile"},{name:"thumb",type:"InputFile"},{name:"file_name",type:"string"},{name:"mime_type",type:"string"}],type:"InputMedia"},{id:"-779818943",predicate:"inputMediaDocument",params:[{name:"id",type:"InputDocument"}],type:"InputMedia"},{id:"802824708",predicate:"messageMediaDocument",params:[{name:"document",type:"Document"}],type:"MessageMedia"},{id:"-961117440",predicate:"messageMediaAudio",params:[{name:"audio",type:"Audio"}],type:"MessageMedia"},{id:"-648356732",predicate:"inputAudioEmpty",params:[],type:"InputAudio"},{id:"2010398975",predicate:"inputAudio",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputAudio"},{id:"1928391342",predicate:"inputDocumentEmpty",params:[],type:"InputDocument"},{id:"410618194",predicate:"inputDocument",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputDocument"},{id:"1960591437",predicate:"inputAudioFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputFileLocation"},{id:"1313188841",predicate:"inputDocumentFileLocation",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"}],type:"InputFileLocation"},{id:"-1332395189",predicate:"decryptedMessageMediaDocument",params:[{name:"thumb",type:"bytes"},{name:"thumb_w",type:"int"},{name:"thumb_h",type:"int"},{name:"file_name",type:"string"},{name:"mime_type",type:"string"},{name:"size",type:"int"},{name:"key",type:"bytes"},{name:"iv",type:"bytes"}],type:"DecryptedMessageMedia"},{id:"1474341323",predicate:"decryptedMessageMediaAudio",params:[{name:"duration",type:"int"},{name:"mime_type",type:"string"},{name:"size",type:"int"},{name:"key",type:"bytes"},{name:"iv",type:"bytes"}],type:"DecryptedMessageMedia"},{id:"1483311320",predicate:"audioEmpty",params:[{name:"id",type:"long"}],type:"Audio"},{id:"-945003370",predicate:"audio",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"user_id",type:"int"},{name:"date",type:"int"},{name:"duration",type:"int"},{name:"mime_type",type:"string"},{name:"size",type:"int"},{name:"dc_id",type:"int"}],type:"Audio"},{id:"922273905",predicate:"documentEmpty",params:[{name:"id",type:"long"}],type:"Document"},{id:"-1627626714",predicate:"document",params:[{name:"id",type:"long"},{name:"access_hash",type:"long"},{name:"user_id",type:"int"},{name:"date",type:"int"},{name:"file_name",type:"string"},{name:"mime_type",type:"string"},{name:"size",type:"int"},{name:"thumb",type:"PhotoSize"},{name:"dc_id",type:"int"}],type:"Document"},{id:"398898678",predicate:"help.support",params:[{name:"phone_number",type:"string"},{name:"user",type:"User"}],type:"help.Support"},{id:"206520510",predicate:"decryptedMessageActionReadMessages",params:[{name:"random_ids",type:"Vector<long>"}],type:"DecryptedMessageAction"},{id:"1700872964",predicate:"decryptedMessageActionDeleteMessages",params:[{name:"random_ids",type:"Vector<long>"}],type:"DecryptedMessageAction"},{id:"-1967000459",predicate:"decryptedMessageActionScreenshotMessages",params:[{name:"random_ids",type:"Vector<long>"}],type:"DecryptedMessageAction"},{id:"1729750108",predicate:"decryptedMessageActionFlushHistory",params:[],type:"DecryptedMessageAction"},{id:"-217806717",predicate:"decryptedMessageActionNotifyLayer",params:[{name:"layer",type:"int"}],type:"DecryptedMessageAction"},{id:"-1613493288",predicate:"notifyPeer",params:[{name:"peer",type:"Peer"}],type:"NotifyPeer"},{id:"-1261946036",predicate:"notifyUsers",params:[],type:"NotifyPeer"},{id:"-1073230141",predicate:"notifyChats",params:[],type:"NotifyPeer"},{id:"1959820384",predicate:"notifyAll",params:[],type:"NotifyPeer"},{id:"-2131957734",predicate:"updateUserBlocked",params:[{name:"user_id",type:"int"},{name:"blocked",type:"Bool"}],type:"Update"},{id:"-1094555409",predicate:"updateNotifySettings",params:[{name:"peer",type:"NotifyPeer"},{name:"notify_settings",type:"PeerNotifySettings"}],type:"Update"}],methods:[{id:"-878758099",method:"invokeAfterMsg",params:[{name:"msg_id",type:"long"},{name:"query",type:"!X"}],type:"X"},{id:"1036301552",method:"invokeAfterMsgs",params:[{name:"msg_ids",type:"Vector<long>"},{name:"query",type:"!X"}],type:"X"},{id:"1877286395",method:"auth.checkPhone",params:[{name:"phone_number",type:"string"}],type:"auth.CheckedPhone"},{id:"1988976461",method:"auth.sendCode",params:[{name:"phone_number",type:"string"},{name:"sms_type",type:"int"},{name:"api_id",type:"int"},{name:"api_hash",type:"string"},{name:"lang_code",type:"string"}],type:"auth.SentCode"},{id:"63247716",method:"auth.sendCall",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"}],type:"Bool"},{id:"453408308",method:"auth.signUp",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"},{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"auth.Authorization"},{id:"-1126886015",method:"auth.signIn",params:[{name:"phone_number",type:"string"},{name:"phone_code_hash",type:"string"},{name:"phone_code",type:"string"}],type:"auth.Authorization"},{id:"1461180992",method:"auth.logOut",params:[],type:"Bool"},{id:"-1616179942",method:"auth.resetAuthorizations",params:[],type:"Bool"},{id:"1998331287",method:"auth.sendInvites",params:[{name:"phone_numbers",type:"Vector<string>"},{name:"message",type:"string"}],type:"Bool"},{id:"-440401971",method:"auth.exportAuthorization",params:[{name:"dc_id",type:"int"}],type:"auth.ExportedAuthorization"},{id:"-470837741",method:"auth.importAuthorization",params:[{name:"id",type:"int"},{name:"bytes",type:"bytes"}],type:"auth.Authorization"},{id:"1147957548",method:"account.registerDevice",params:[{name:"token_type",type:"int"},{name:"token",type:"string"},{name:"device_model",type:"string"},{name:"system_version",type:"string"},{name:"app_version",type:"string"},{name:"app_sandbox",type:"Bool"},{name:"lang_code",type:"string"}],type:"Bool"},{id:"1707432768",method:"account.unregisterDevice",params:[{name:"token_type",type:"int"},{name:"token",type:"string"}],type:"Bool"},{id:"-2067899501",method:"account.updateNotifySettings",params:[{name:"peer",type:"InputNotifyPeer"},{name:"settings",type:"InputPeerNotifySettings"}],type:"Bool"},{id:"313765169",method:"account.getNotifySettings",params:[{name:"peer",type:"InputNotifyPeer"}],type:"PeerNotifySettings"},{id:"-612493497",method:"account.resetNotifySettings",params:[],type:"Bool"},{id:"-259486360",method:"account.updateProfile",params:[{name:"first_name",type:"string"},{name:"last_name",type:"string"}],type:"User"},{id:"1713919532",method:"account.updateStatus",params:[{name:"offline",type:"Bool"}],type:"Bool"},{id:"-1068696894",method:"account.getWallPapers",params:[],type:"Vector<WallPaper>"},{id:"227648840",method:"users.getUsers",params:[{name:"id",type:"Vector<InputUser>"}],type:"Vector<User>"},{id:"-902781519",method:"users.getFullUser",params:[{name:"id",type:"InputUser"}],type:"UserFull"},{id:"-995929106",method:"contacts.getStatuses",params:[],type:"Vector<ContactStatus>"},{id:"583445000",method:"contacts.getContacts",params:[{name:"hash",type:"string"}],type:"contacts.Contacts"},{id:"-634342611",method:"contacts.importContacts",params:[{name:"contacts",type:"Vector<InputContact>"},{name:"replace",type:"Bool"}],type:"contacts.ImportedContacts"},{id:"301470424",method:"contacts.search",params:[{name:"q",type:"string"},{name:"limit",type:"int"}],type:"contacts.Found"},{id:"-847825880",method:"contacts.getSuggested",params:[{name:"limit",type:"int"}],type:"contacts.Suggested"},{id:"-1902823612",method:"contacts.deleteContact",params:[{name:"id",type:"InputUser"}],type:"contacts.Link"},{id:"1504393374",method:"contacts.deleteContacts",params:[{name:"id",type:"Vector<InputUser>"}],type:"Bool"},{id:"858475004",method:"contacts.block",params:[{name:"id",type:"InputUser"}],type:"Bool"},{id:"-448724803",method:"contacts.unblock",params:[{name:"id",type:"InputUser"}],type:"Bool"},{id:"-176409329",method:"contacts.getBlocked",params:[{name:"offset",type:"int"},{name:"limit",type:"int"}],type:"contacts.Blocked"},{id:"1109588596",method:"messages.getMessages",params:[{name:"id",type:"Vector<int>"}],type:"messages.Messages"},{id:"-321970698",method:"messages.getDialogs",params:[{name:"offset",type:"int"},{name:"max_id",type:"int"},{name:"limit",type:"int"}],type:"messages.Dialogs"},{id:"-1834885329",method:"messages.getHistory",params:[{name:"peer",type:"InputPeer"},{name:"offset",type:"int"},{name:"max_id",type:"int"},{name:"limit",type:"int"}],type:"messages.Messages"},{id:"132772523",method:"messages.search",params:[{name:"peer",type:"InputPeer"},{name:"q",type:"string"},{name:"filter",type:"MessagesFilter"},{name:"min_date",type:"int"},{name:"max_date",type:"int"},{name:"offset",type:"int"},{name:"max_id",type:"int"},{name:"limit",type:"int"}],type:"messages.Messages"},{id:"-1336990448",method:"messages.readHistory",params:[{name:"peer",type:"InputPeer"},{name:"max_id",type:"int"},{name:"offset",type:"int"}],type:"messages.AffectedHistory"},{id:"-185009311",method:"messages.deleteHistory",params:[{name:"peer",type:"InputPeer"},{name:"offset",type:"int"}],type:"messages.AffectedHistory"},{id:"351460618",method:"messages.deleteMessages",params:[{name:"id",type:"Vector<int>"}],type:"Vector<int>"},{id:"962567550",method:"messages.restoreMessages",params:[{name:"id",type:"Vector<int>"}],type:"Vector<int>"},{id:"682347368",method:"messages.receivedMessages",params:[{name:"max_id",type:"int"}],type:"Vector<int>"},{id:"1905801705",method:"messages.setTyping",params:[{name:"peer",type:"InputPeer"},{name:"typing",type:"Bool"}],type:"Bool"},{id:"1289620139",method:"messages.sendMessage",params:[{name:"peer",type:"InputPeer"},{name:"message",type:"string"},{name:"random_id",type:"long"}],type:"messages.SentMessage"},{id:"-1547149962",method:"messages.sendMedia",params:[{name:"peer",type:"InputPeer"},{name:"media",type:"InputMedia"},{name:"random_id",type:"long"}],type:"messages.StatedMessage"},{id:"1363988751",method:"messages.forwardMessages",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"Vector<int>"}],type:"messages.StatedMessages"},{id:"1013621127",method:"messages.getChats",params:[{name:"id",type:"Vector<int>"}],type:"messages.Chats"},{id:"998448230",method:"messages.getFullChat",params:[{name:"chat_id",type:"int"}],type:"messages.ChatFull"},{id:"-1262720843",method:"messages.editChatTitle",params:[{name:"chat_id",type:"int"},{name:"title",type:"string"}],type:"messages.StatedMessage"},{id:"-662601187",method:"messages.editChatPhoto",params:[{name:"chat_id",type:"int"},{name:"photo",type:"InputChatPhoto"}],type:"messages.StatedMessage"},{id:"787082910",method:"messages.addChatUser",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"InputUser"},{name:"fwd_limit",type:"int"}],type:"messages.StatedMessage"},{id:"-1010447069",method:"messages.deleteChatUser",params:[{name:"chat_id",type:"int"},{name:"user_id",type:"InputUser"}],type:"messages.StatedMessage"},{id:"1100847854",method:"messages.createChat",params:[{name:"users",type:"Vector<InputUser>"},{name:"title",type:"string"}],type:"messages.StatedMessage"},{id:"-304838614",method:"updates.getState",params:[],type:"updates.State"},{id:"168039573",method:"updates.getDifference",params:[{name:"pts",type:"int"},{name:"date",type:"int"},{name:"qts",type:"int"}],type:"updates.Difference"},{id:"-285902432",method:"photos.updateProfilePhoto",params:[{name:"id",type:"InputPhoto"},{name:"crop",type:"InputPhotoCrop"}],type:"UserProfilePhoto"},{id:"-720397176",method:"photos.uploadProfilePhoto",params:[{name:"file",type:"InputFile"},{name:"caption",type:"string"},{name:"geo_point",type:"InputGeoPoint"},{name:"crop",type:"InputPhotoCrop"}],type:"photos.Photo"},{id:"-1291540959",method:"upload.saveFilePart",params:[{name:"file_id",type:"long"},{name:"file_part",type:"int"},{name:"bytes",type:"bytes"}],type:"Bool"},{id:"-475607115",method:"upload.getFile",params:[{name:"location",type:"InputFileLocation"},{name:"offset",type:"int"},{name:"limit",type:"int"}],type:"upload.File"},{id:"-990308245",method:"help.getConfig",params:[],type:"Config"},{id:"531836966",method:"help.getNearestDc",params:[],type:"NearestDc"},{id:"-938300290",method:"help.getAppUpdate",params:[{name:"device_model",type:"string"},{name:"system_version",type:"string"},{name:"app_version",type:"string"},{name:"lang_code",type:"string"}],type:"help.AppUpdate"},{id:"1862465352",method:"help.saveAppLog",params:[{name:"events",type:"Vector<InputAppEvent>"}],type:"Bool"},{id:"-1532407418",method:"help.getInviteText",params:[{name:"lang_code",type:"string"}],type:"help.InviteText"},{id:"-1209117380",method:"photos.getUserPhotos",params:[{name:"user_id",type:"InputUser"},{name:"offset",type:"int"},{name:"max_id",type:"int"},{name:"limit",type:"int"}],type:"photos.Photos"},{id:"66319602",method:"messages.forwardMessage",params:[{name:"peer",type:"InputPeer"},{name:"id",type:"int"},{name:"random_id",type:"long"}],type:"messages.StatedMessage"},{id:"1102776690",method:"messages.sendBroadcast",params:[{name:"contacts",type:"Vector<InputUser>"},{name:"message",type:"string"},{name:"media",type:"InputMedia"}],type:"messages.StatedMessages"},{id:"2132356495",method:"geochats.getLocated",params:[{name:"geo_point",type:"InputGeoPoint"},{name:"radius",type:"int"},{name:"limit",type:"int"}],type:"geochats.Located"},{id:"-515735953",method:"geochats.getRecents",params:[{name:"offset",type:"int"},{name:"limit",type:"int"}],type:"geochats.Messages"},{id:"1437853947",method:"geochats.checkin",params:[{name:"peer",type:"InputGeoChat"}],type:"geochats.StatedMessage"},{id:"1730338159",method:"geochats.getFullChat",params:[{name:"peer",type:"InputGeoChat"}],type:"messages.ChatFull"},{id:"1284383347",method:"geochats.editChatTitle",params:[{name:"peer",type:"InputGeoChat"},{name:"title",type:"string"},{name:"address",type:"string"}],type:"geochats.StatedMessage"},{id:"903355029",method:"geochats.editChatPhoto",params:[{name:"peer",type:"InputGeoChat"},{name:"photo",type:"InputChatPhoto"}],type:"geochats.StatedMessage"},{id:"-808598451",method:"geochats.search",params:[{name:"peer",type:"InputGeoChat"},{name:"q",type:"string"},{name:"filter",type:"MessagesFilter"},{name:"min_date",type:"int"},{name:"max_date",type:"int"},{name:"offset",type:"int"},{name:"max_id",type:"int"},{name:"limit",type:"int"}],type:"geochats.Messages"},{id:"-1254131096",method:"geochats.getHistory",params:[{name:"peer",type:"InputGeoChat"},{name:"offset",type:"int"},{name:"max_id",type:"int"},{name:"limit",type:"int"}],type:"geochats.Messages"},{id:"146319145",method:"geochats.setTyping",params:[{name:"peer",type:"InputGeoChat"},{name:"typing",type:"Bool"}],type:"Bool"},{id:"102432836",method:"geochats.sendMessage",params:[{name:"peer",type:"InputGeoChat"},{name:"message",type:"string"},{name:"random_id",type:"long"}],type:"geochats.StatedMessage"},{id:"-1192173825",method:"geochats.sendMedia",params:[{name:"peer",type:"InputGeoChat"},{name:"media",type:"InputMedia"},{name:"random_id",type:"long"}],type:"geochats.StatedMessage"},{id:"235482646",method:"geochats.createGeoChat",params:[{name:"title",type:"string"},{name:"geo_point",type:"InputGeoPoint"},{name:"address",type:"string"},{name:"venue",type:"string"}],type:"geochats.StatedMessage"},{id:"651135312",method:"messages.getDhConfig",params:[{name:"version",type:"int"},{name:"random_length",type:"int"}],type:"messages.DhConfig"},{id:"-162681021",method:"messages.requestEncryption",params:[{name:"user_id",type:"InputUser"},{name:"random_id",type:"int"},{name:"g_a",type:"bytes"}],type:"EncryptedChat"},{id:"1035731989",method:"messages.acceptEncryption",params:[{name:"peer",type:"InputEncryptedChat"},{name:"g_b",type:"bytes"},{name:"key_fingerprint",type:"long"}],type:"EncryptedChat"},{id:"-304536635",method:"messages.discardEncryption",params:[{name:"chat_id",type:"int"}],type:"Bool"},{id:"2031374829",method:"messages.setEncryptedTyping",params:[{name:"peer",type:"InputEncryptedChat"},{name:"typing",type:"Bool"}],type:"Bool"},{id:"2135648522",method:"messages.readEncryptedHistory",params:[{name:"peer",type:"InputEncryptedChat"},{name:"max_date",type:"int"}],type:"Bool"},{id:"-1451792525",method:"messages.sendEncrypted",params:[{name:"peer",type:"InputEncryptedChat"},{name:"random_id",type:"long"},{name:"data",type:"bytes"}],type:"messages.SentEncryptedMessage"},{id:"-1701831834",method:"messages.sendEncryptedFile",params:[{name:"peer",type:"InputEncryptedChat"},{name:"random_id",type:"long"},{name:"data",type:"bytes"},{name:"file",type:"InputEncryptedFile"}],type:"messages.SentEncryptedMessage"},{id:"852769188",method:"messages.sendEncryptedService",params:[{name:"peer",type:"InputEncryptedChat"},{name:"random_id",type:"long"},{name:"data",type:"bytes"}],type:"messages.SentEncryptedMessage"},{id:"1436924774",method:"messages.receivedQueue",params:[{name:"max_qts",type:"int"}],type:"Vector<long>"},{id:"-562337987",method:"upload.saveBigFilePart",params:[{name:"file_id",type:"long"},{name:"file_part",type:"int"},{name:"file_total_parts",type:"int"},{name:"bytes",type:"bytes"}],type:"Bool"},{id:"1769565673",method:"initConnection",params:[{name:"api_id",type:"int"},{name:"device_model",type:"string"},{name:"system_version",type:"string"},{name:"app_version",type:"string"},{name:"lang_code",type:"string"},{name:"query",type:"!X"}],type:"X"},{id:"-1663104819",method:"help.getSupport",params:[],type:"help.Support"},{id:"731580666",method:"invokeWithLayer14",params:[{name:"query",type:"!X"}],type:"X"}]},Config.Schema.API.layer=14,Config.Emoji={"00a9":["©",["copyright"]],"00ae":["®",["registered"]],"203c":["‼",["bangbang"]],2049:["⁉",["interrobang"]],2122:["™",["tm"]],2139:["ℹ",["information_source"]],2194:["↔",["left_right_arrow"]],2195:["↕",["arrow_up_down"]],2196:["↖",["arrow_upper_left"]],2197:["↗",["arrow_upper_right"]],2198:["↘",["arrow_lower_right"]],2199:["↙",["arrow_lower_left"]],"21a9":["↩",["leftwards_arrow_with_hook"]],"21aa":["↪",["arrow_right_hook"]],"231a":["⌚",["watch"]],"231b":["⌛",["hourglass"]],"23e9":["⏩",["fast_forward"]],"23ea":["⏪",["rewind"]],"23eb":["⏫",["arrow_double_up"]],"23ec":["⏬",["arrow_double_down"]],"23f0":["⏰",["alarm_clock"]],"23f3":["⏳",["hourglass_flowing_sand"]],"24c2":["Ⓜ",["m"]],"25aa":["▪",["black_small_square"]],"25ab":["▫",["white_small_square"]],"25b6":["▶",["arrow_forward"]],"25c0":["◀",["arrow_backward"]],"25fb":["◻",["white_medium_square"]],"25fc":["◼",["black_medium_square"]],"25fd":["◽",["white_medium_small_square"]],"25fe":["◾",["black_medium_small_square"]],2600:["☀",["sunny"]],2601:["☁",["cloud"]],"260e":["☎",["phone","telephone"]],2611:["☑",["ballot_box_with_check"]],2614:["☔",["umbrella"]],2615:["☕",["coffee"]],"261d":["☝",["point_up"]],"263a":["☺",["relaxed"]],2648:["♈",["aries"]],2649:["♉",["taurus"]],"264a":["♊",["gemini"]],"264b":["♋",["cancer"]],"264c":["♌",["leo"]],"264d":["♍",["virgo"]],"264e":["♎",["libra"]],"264f":["♏",["scorpius"]],2650:["♐",["sagittarius"]],2651:["♑",["capricorn"]],2652:["♒",["aquarius"]],2653:["♓",["pisces"]],2660:["♠",["spades"]],2663:["♣",["clubs"]],2665:["♥",["hearts"]],2666:["♦",["diamonds"]],2668:["♨",["hotsprings"]],"267b":["♻",["recycle"]],"267f":["♿",["wheelchair"]],2693:["⚓",["anchor"]],"26a0":["⚠",["warning"]],"26a1":["⚡",["zap"]],"26aa":["⚪",["white_circle"]],"26ab":["⚫",["black_circle"]],"26bd":["⚽",["soccer"]],"26be":["⚾",["baseball"]],"26c4":["⛄",["snowman"]],"26c5":["⛅",["partly_sunny"]],"26ce":["⛎",["ophiuchus"]],"26d4":["⛔",["no_entry"]],"26ea":["⛪",["church"]],"26f2":["⛲",["fountain"]],"26f3":["⛳",["golf"]],"26f5":["⛵",["boat","sailboat"]],"26fa":["⛺",["tent"]],"26fd":["⛽",["fuelpump"]],2702:["✂",["scissors"]],2705:["✅",["white_check_mark"]],2708:["✈",["airplane"]],2709:["✉",["email","envelope"]],"270a":["✊",["fist"]],"270b":["✋",["hand","raised_hand"]],"270c":["✌",["v"]],"270f":["✏",["pencil2"]],2712:["✒",["black_nib"]],2714:["✔",["heavy_check_mark"]],2716:["✖",["heavy_multiplication_x"]],2728:["✨",["sparkles"]],2733:["✳",["eight_spoked_asterisk"]],2734:["✴",["eight_pointed_black_star"]],2744:["❄",["snowflake"]],2747:["❇",["sparkle"]],"274c":["❌",["x"]],"274e":["❎",["negative_squared_cross_mark"]],2753:["❓",["question"]],2754:["❔",["grey_question"]],2755:["❕",["grey_exclamation"]],2757:["❗",["exclamation","heavy_exclamation_mark"]],2764:["❤",["heart"],"<3"],2795:["➕",["heavy_plus_sign"]],2796:["➖",["heavy_minus_sign"]],2797:["➗",["heavy_division_sign"]],"27a1":["➡",["arrow_right"]],"27b0":["➰",["curly_loop"]],"27bf":["➿",["loop"]],2934:["⤴",["arrow_heading_up"]],2935:["⤵",["arrow_heading_down"]],"2b05":["⬅",["arrow_left"]],"2b06":["⬆",["arrow_up"]],"2b07":["⬇",["arrow_down"]],"2b1b":["⬛",["black_large_square"]],"2b1c":["⬜",["white_large_square"]],"2b50":["⭐",["star"]],"2b55":["⭕",["o"]],3030:["〰",["wavy_dash"]],"303d":["〽",["part_alternation_mark"]],3297:["㊗",["congratulations"]],3299:["㊙",["secret"]],"1f004":["🀄",["mahjong"]],"1f0cf":["🃏",["black_joker"]],"1f170":["🅰",["a"]],"1f171":["🅱",["b"]],"1f17e":["🅾",["o2"]],"1f17f":["🅿",["parking"]],"1f18e":["🆎",["ab"]],"1f191":["🆑",["cl"]],"1f192":["🆒",["cool"]],"1f193":["🆓",["free"]],"1f194":["🆔",["id"]],"1f195":["🆕",["new"]],"1f196":["🆖",["ng"]],"1f197":["🆗",["ok"]],"1f198":["🆘",["sos"]],"1f199":["🆙",["up"]],"1f19a":["🆚",["vs"]],"1f201":["🈁",["koko"]],"1f202":["🈂",["sa"]],"1f21a":["🈚",["u7121"]],"1f22f":["🈯",["u6307"]],"1f232":["🈲",["u7981"]],"1f233":["🈳",["u7a7a"]],"1f234":["🈴",["u5408"]],"1f235":["🈵",["u6e80"]],"1f236":["🈶",["u6709"]],"1f237":["🈷",["u6708"]],"1f238":["🈸",["u7533"]],"1f239":["🈹",["u5272"]],"1f23a":["🈺",["u55b6"]],"1f250":["🉐",["ideograph_advantage"]],"1f251":["🉑",["accept"]],"1f300":["🌀",["cyclone"]],"1f301":["🌁",["foggy"]],"1f302":["🌂",["closed_umbrella"]],"1f303":["🌃",["stars"]],"1f304":["🌄",["sunrise_over_mountains"]],"1f305":["🌅",["sunrise"]],"1f306":["🌆",["city_sunset"]],"1f307":["🌇",["city_sunrise"]],"1f308":["🌈",["rainbow"]],"1f309":["🌉",["bridge_at_night"]],"1f30a":["🌊",["ocean"]],"1f30b":["🌋",["volcano"]],"1f30c":["🌌",["milky_way"]],"1f30d":["🌍",["earth_africa"]],"1f30e":["🌎",["earth_americas"]],"1f30f":["🌏",["earth_asia"]],"1f310":["🌐",["globe_with_meridians"]],"1f311":["🌑",["new_moon"]],"1f312":["🌒",["waxing_crescent_moon"]],"1f313":["🌓",["first_quarter_moon"]],"1f314":["🌔",["moon","waxing_gibbous_moon"]],"1f315":["🌕",["full_moon"]],"1f316":["🌖",["waning_gibbous_moon"]],"1f317":["🌗",["last_quarter_moon"]],"1f318":["🌘",["waning_crescent_moon"]],"1f319":["🌙",["crescent_moon"]],"1f31a":["🌚",["new_moon_with_face"]],"1f31b":["🌛",["first_quarter_moon_with_face"]],"1f31c":["🌜",["last_quarter_moon_with_face"]],"1f31d":["🌝",["full_moon_with_face"]],"1f31e":["🌞",["sun_with_face"]],"1f31f":["🌟",["star2"]],"1f330":["🌰",["chestnut"]],"1f331":["🌱",["seedling"]],"1f332":["🌲",["evergreen_tree"]],"1f333":["🌳",["deciduous_tree"]],"1f334":["🌴",["palm_tree"]],"1f335":["🌵",["cactus"]],"1f337":["🌷",["tulip"]],"1f338":["🌸",["cherry_blossom"]],"1f339":["🌹",["rose"]],"1f33a":["🌺",["hibiscus"]],"1f33b":["🌻",["sunflower"]],"1f33c":["🌼",["blossom"]],"1f33d":["🌽",["corn"]],"1f33e":["🌾",["ear_of_rice"]],"1f33f":["🌿",["herb"]],"1f340":["🍀",["four_leaf_clover"]],"1f341":["🍁",["maple_leaf"]],"1f342":["🍂",["fallen_leaf"]],"1f343":["🍃",["leaves"]],"1f344":["🍄",["mushroom"]],"1f345":["🍅",["tomato"]],"1f346":["🍆",["eggplant"]],"1f347":["🍇",["grapes"]],"1f348":["🍈",["melon"]],"1f349":["🍉",["watermelon"]],"1f34a":["🍊",["tangerine"]],"1f34b":["🍋",["lemon"]],"1f34c":["🍌",["banana"]],"1f34d":["🍍",["pineapple"]],"1f34e":["🍎",["apple"]],"1f34f":["🍏",["green_apple"]],"1f350":["🍐",["pear"]],"1f351":["🍑",["peach"]],"1f352":["🍒",["cherries"]],"1f353":["🍓",["strawberry"]],"1f354":["🍔",["hamburger"]],"1f355":["🍕",["pizza"]],"1f356":["🍖",["meat_on_bone"]],"1f357":["🍗",["poultry_leg"]],"1f358":["🍘",["rice_cracker"]],"1f359":["🍙",["rice_ball"]],"1f35a":["🍚",["rice"]],"1f35b":["🍛",["curry"]],"1f35c":["🍜",["ramen"]],"1f35d":["🍝",["spaghetti"]],"1f35e":["🍞",["bread"]],"1f35f":["🍟",["fries"]],"1f360":["🍠",["sweet_potato"]],"1f361":["🍡",["dango"]],"1f362":["🍢",["oden"]],"1f363":["🍣",["sushi"]],"1f364":["🍤",["fried_shrimp"]],"1f365":["🍥",["fish_cake"]],"1f366":["🍦",["icecream"]],"1f367":["🍧",["shaved_ice"]],"1f368":["🍨",["ice_cream"]],"1f369":["🍩",["doughnut"]],"1f36a":["🍪",["cookie"]],"1f36b":["🍫",["chocolate_bar"]],"1f36c":["🍬",["candy"]],"1f36d":["🍭",["lollipop"]],"1f36e":["🍮",["custard"]],"1f36f":["🍯",["honey_pot"]],"1f370":["🍰",["cake"]],"1f371":["🍱",["bento"]],"1f372":["🍲",["stew"]],"1f373":["🍳",["egg"]],"1f374":["🍴",["fork_and_knife"]],"1f375":["🍵",["tea"]],"1f376":["🍶",["sake"]],"1f377":["🍷",["wine_glass"]],"1f378":["🍸",["cocktail"]],"1f379":["🍹",["tropical_drink"]],"1f37a":["🍺",["beer"]],"1f37b":["🍻",["beers"]],"1f37c":["🍼",["baby_bottle"]],"1f380":["🎀",["ribbon"]],"1f381":["🎁",["gift"]],"1f382":["🎂",["birthday"]],"1f383":["🎃",["jack_o_lantern"]],"1f384":["🎄",["christmas_tree"]],"1f385":["🎅",["santa"]],"1f386":["🎆",["fireworks"]],"1f387":["🎇",["sparkler"]],"1f388":["🎈",["balloon"]],"1f389":["🎉",["tada"]],"1f38a":["🎊",["confetti_ball"]],"1f38b":["🎋",["tanabata_tree"]],"1f38c":["🎌",["crossed_flags"]],"1f38d":["🎍",["bamboo"]],"1f38e":["🎎",["dolls"]],"1f38f":["🎏",["flags"]],"1f390":["🎐",["wind_chime"]],"1f391":["🎑",["rice_scene"]],"1f392":["🎒",["school_satchel"]],"1f393":["🎓",["mortar_board"]],"1f3a0":["🎠",["carousel_horse"]],"1f3a1":["🎡",["ferris_wheel"]],"1f3a2":["🎢",["roller_coaster"]],"1f3a3":["🎣",["fishing_pole_and_fish"]],"1f3a4":["🎤",["microphone"]],"1f3a5":["🎥",["movie_camera"]],"1f3a6":["🎦",["cinema"]],"1f3a7":["🎧",["headphones"]],"1f3a8":["🎨",["art"]],"1f3a9":["🎩",["tophat"]],"1f3aa":["🎪",["circus_tent"]],"1f3ab":["🎫",["ticket"]],"1f3ac":["🎬",["clapper"]],"1f3ad":["🎭",["performing_arts"]],"1f3ae":["🎮",["video_game"]],"1f3af":["🎯",["dart"]],"1f3b0":["🎰",["slot_machine"]],"1f3b1":["🎱",["8ball"]],"1f3b2":["🎲",["game_die"]],"1f3b3":["🎳",["bowling"]],"1f3b4":["🎴",["flower_playing_cards"]],"1f3b5":["🎵",["musical_note"]],"1f3b6":["🎶",["notes"]],"1f3b7":["🎷",["saxophone"]],"1f3b8":["🎸",["guitar"]],"1f3b9":["🎹",["musical_keyboard"]],"1f3ba":["🎺",["trumpet"]],"1f3bb":["🎻",["violin"]],"1f3bc":["🎼",["musical_score"]],"1f3bd":["🎽",["running_shirt_with_sash"]],"1f3be":["🎾",["tennis"]],"1f3bf":["🎿",["ski"]],"1f3c0":["🏀",["basketball"]],"1f3c1":["🏁",["checkered_flag"]],"1f3c2":["🏂",["snowboarder"]],"1f3c3":["🏃",["runner","running"]],"1f3c4":["🏄",["surfer"]],"1f3c6":["🏆",["trophy"]],"1f3c7":["🏇",["horse_racing"]],"1f3c8":["🏈",["football"]],"1f3c9":["🏉",["rugby_football"]],"1f3ca":["🏊",["swimmer"]],"1f3e0":["🏠",["house"]],"1f3e1":["🏡",["house_with_garden"]],"1f3e2":["🏢",["office"]],"1f3e3":["🏣",["post_office"]],"1f3e4":["🏤",["european_post_office"]],"1f3e5":["🏥",["hospital"]],"1f3e6":["🏦",["bank"]],"1f3e7":["🏧",["atm"]],"1f3e8":["🏨",["hotel"]],"1f3e9":["🏩",["love_hotel"]],"1f3ea":["🏪",["convenience_store"]],"1f3eb":["🏫",["school"]],"1f3ec":["🏬",["department_store"]],"1f3ed":["🏭",["factory"]],"1f3ee":["🏮",["izakaya_lantern","lantern"]],"1f3ef":["🏯",["japanese_castle"]],"1f3f0":["🏰",["european_castle"]],"1f400":["🐀",["rat"]],"1f401":["🐁",["mouse2"]],"1f402":["🐂",["ox"]],"1f403":["🐃",["water_buffalo"]],"1f404":["🐄",["cow2"]],"1f405":["🐅",["tiger2"]],"1f406":["🐆",["leopard"]],"1f407":["🐇",["rabbit2"]],"1f408":["🐈",["cat2"]],"1f409":["🐉",["dragon"]],"1f40a":["🐊",["crocodile"]],"1f40b":["🐋",["whale2"]],"1f40c":["🐌",["snail"]],"1f40d":["🐍",["snake"]],"1f40e":["🐎",["racehorse"]],"1f40f":["🐏",["ram"]],"1f410":["🐐",["goat"]],"1f411":["🐑",["sheep"]],"1f412":["🐒",["monkey"]],"1f413":["🐓",["rooster"]],"1f414":["🐔",["chicken"]],"1f415":["🐕",["dog2"]],"1f416":["🐖",["pig2"]],"1f417":["🐗",["boar"]],"1f418":["🐘",["elephant"]],"1f419":["🐙",["octopus"]],"1f41a":["🐚",["shell"]],"1f41b":["🐛",["bug"]],"1f41c":["🐜",["ant"]],"1f41d":["🐝",["bee","honeybee"]],"1f41e":["🐞",["beetle"]],"1f41f":["🐟",["fish"]],"1f420":["🐠",["tropical_fish"]],"1f421":["🐡",["blowfish"]],"1f422":["🐢",["turtle"]],"1f423":["🐣",["hatching_chick"]],"1f424":["🐤",["baby_chick"]],"1f425":["🐥",["hatched_chick"]],"1f426":["🐦",["bird"]],"1f427":["🐧",["penguin"]],"1f428":["🐨",["koala"]],"1f429":["🐩",["poodle"]],"1f42a":["🐪",["dromedary_camel"]],"1f42b":["🐫",["camel"]],"1f42c":["🐬",["dolphin","flipper"]],"1f42d":["🐭",["mouse"]],"1f42e":["🐮",["cow"]],"1f42f":["🐯",["tiger"]],"1f430":["🐰",["rabbit"]],"1f431":["🐱",["cat"]],"1f432":["🐲",["dragon_face"]],"1f433":["🐳",["whale"]],"1f434":["🐴",["horse"]],"1f435":["🐵",["monkey_face"]],"1f436":["🐶",["dog"]],"1f437":["🐷",["pig"]],"1f438":["🐸",["frog"]],"1f439":["🐹",["hamster"]],"1f43a":["🐺",["wolf"]],"1f43b":["🐻",["bear"]],"1f43c":["🐼",["panda_face"]],"1f43d":["🐽",["pig_nose"]],"1f43e":["🐾",["feet","paw_prints"]],"1f440":["👀",["eyes"]],"1f442":["👂",["ear"]],"1f443":["👃",["nose"]],"1f444":["👄",["lips"]],"1f445":["👅",["tongue"]],"1f446":["👆",["point_up_2"]],"1f447":["👇",["point_down"]],"1f448":["👈",["point_left"]],"1f449":["👉",["point_right"]],"1f44a":["👊",["facepunch","punch"]],"1f44b":["👋",["wave"]],"1f44c":["👌",["ok_hand"]],"1f44d":["👍",["+1","thumbsup"]],"1f44e":["👎",["-1","thumbsdown"]],"1f44f":["👏",["clap"]],"1f450":["👐",["open_hands"]],"1f451":["👑",["crown"]],"1f452":["👒",["womans_hat"]],"1f453":["👓",["eyeglasses"]],"1f454":["👔",["necktie"]],"1f455":["👕",["shirt","tshirt"]],"1f456":["👖",["jeans"]],"1f457":["👗",["dress"]],"1f458":["👘",["kimono"]],"1f459":["👙",["bikini"]],"1f45a":["👚",["womans_clothes"]],"1f45b":["👛",["purse"]],"1f45c":["👜",["handbag"]],"1f45d":["👝",["pouch"]],"1f45e":["👞",["mans_shoe","shoe"]],"1f45f":["👟",["athletic_shoe"]],"1f460":["👠",["high_heel"]],"1f461":["👡",["sandal"]],"1f462":["👢",["boot"]],"1f463":["👣",["footprints"]],"1f464":["👤",["bust_in_silhouette"]],"1f465":["👥",["busts_in_silhouette"]],"1f466":["👦",["boy"]],"1f467":["👧",["girl"]],"1f468":["👨",["man"]],"1f469":["👩",["woman"]],"1f46a":["👪",["family"]],"1f46b":["👫",["couple"]],"1f46c":["👬",["two_men_holding_hands"]],"1f46d":["👭",["two_women_holding_hands"]],"1f46e":["👮",["cop"]],"1f46f":["👯",["dancers"]],"1f470":["👰",["bride_with_veil"]],"1f471":["👱",["person_with_blond_hair"]],"1f472":["👲",["man_with_gua_pi_mao"]],"1f473":["👳",["man_with_turban"]],"1f474":["👴",["older_man"]],"1f475":["👵",["older_woman"]],"1f476":["👶",["baby"]],"1f477":["👷",["construction_worker"]],"1f478":["👸",["princess"]],"1f479":["👹",["japanese_ogre"]],"1f47a":["👺",["japanese_goblin"]],"1f47b":["👻",["ghost"]],"1f47c":["👼",["angel"]],"1f47d":["👽",["alien"]],"1f47e":["👾",["space_invader"]],"1f47f":["👿",["imp"]],"1f480":["💀",["skull"]],"1f481":["💁",["information_desk_person"]],"1f482":["💂",["guardsman"]],"1f483":["💃",["dancer"]],"1f484":["💄",["lipstick"]],"1f485":["💅",["nail_care"]],"1f486":["💆",["massage"]],"1f487":["💇",["haircut"]],"1f488":["💈",["barber"]],"1f489":["💉",["syringe"]],"1f48a":["💊",["pill"]],"1f48b":["💋",["kiss"]],"1f48c":["💌",["love_letter"]],"1f48d":["💍",["ring"]],"1f48e":["💎",["gem"]],"1f48f":["💏",["couplekiss"]],"1f490":["💐",["bouquet"]],"1f491":["💑",["couple_with_heart"]],"1f492":["💒",["wedding"]],"1f493":["💓",["heartbeat"]],"1f494":["💔",["broken_heart"],"</3"],"1f495":["💕",["two_hearts"]],"1f496":["💖",["sparkling_heart"]],"1f497":["💗",["heartpulse"]],"1f498":["💘",["cupid"]],"1f499":["💙",["blue_heart"],"<3"],"1f49a":["💚",["green_heart"],"<3"],"1f49b":["💛",["yellow_heart"],"<3"],"1f49c":["💜",["purple_heart"],"<3"],"1f49d":["💝",["gift_heart"]],"1f49e":["💞",["revolving_hearts"]],"1f49f":["💟",["heart_decoration"]],"1f4a0":["💠",["diamond_shape_with_a_dot_inside"]],"1f4a1":["💡",["bulb"]],"1f4a2":["💢",["anger"]],"1f4a3":["💣",["bomb"]],"1f4a4":["💤",["zzz"]],"1f4a5":["💥",["boom","collision"]],"1f4a6":["💦",["sweat_drops"]],"1f4a7":["💧",["droplet"]],"1f4a8":["💨",["dash"]],"1f4a9":["💩",["hankey","poop","shit"]],"1f4aa":["💪",["muscle"]],"1f4ab":["💫",["dizzy"]],"1f4ac":["💬",["speech_balloon"]],"1f4ad":["💭",["thought_balloon"]],"1f4ae":["💮",["white_flower"]],"1f4af":["💯",["100"]],"1f4b0":["💰",["moneybag"]],"1f4b1":["💱",["currency_exchange"]],"1f4b2":["💲",["heavy_dollar_sign"]],"1f4b3":["💳",["credit_card"]],"1f4b4":["💴",["yen"]],"1f4b5":["💵",["dollar"]],"1f4b6":["💶",["euro"]],"1f4b7":["💷",["pound"]],"1f4b8":["💸",["money_with_wings"]],"1f4b9":["💹",["chart"]],"1f4ba":["💺",["seat"]],"1f4bb":["💻",["computer"]],"1f4bc":["💼",["briefcase"]],"1f4bd":["💽",["minidisc"]],"1f4be":["💾",["floppy_disk"]],"1f4bf":["💿",["cd"]],"1f4c0":["📀",["dvd"]],"1f4c1":["📁",["file_folder"]],"1f4c2":["📂",["open_file_folder"]],"1f4c3":["📃",["page_with_curl"]],"1f4c4":["📄",["page_facing_up"]],"1f4c5":["📅",["date"]],"1f4c6":["📆",["calendar"]],"1f4c7":["📇",["card_index"]],"1f4c8":["📈",["chart_with_upwards_trend"]],"1f4c9":["📉",["chart_with_downwards_trend"]],"1f4ca":["📊",["bar_chart"]],"1f4cb":["📋",["clipboard"]],"1f4cc":["📌",["pushpin"]],"1f4cd":["📍",["round_pushpin"]],"1f4ce":["📎",["paperclip"]],"1f4cf":["📏",["straight_ruler"]],"1f4d0":["📐",["triangular_ruler"]],"1f4d1":["📑",["bookmark_tabs"]],"1f4d2":["📒",["ledger"]],"1f4d3":["📓",["notebook"]],"1f4d4":["📔",["notebook_with_decorative_cover"]],"1f4d5":["📕",["closed_book"]],"1f4d6":["📖",["book","open_book"]],"1f4d7":["📗",["green_book"]],"1f4d8":["📘",["blue_book"]],"1f4d9":["📙",["orange_book"]],"1f4da":["📚",["books"]],"1f4db":["📛",["name_badge"]],"1f4dc":["📜",["scroll"]],"1f4dd":["📝",["memo","pencil"]],"1f4de":["📞",["telephone_receiver"]],"1f4df":["📟",["pager"]],"1f4e0":["📠",["fax"]],"1f4e1":["📡",["satellite"]],"1f4e2":["📢",["loudspeaker"]],"1f4e3":["📣",["mega"]],"1f4e4":["📤",["outbox_tray"]],"1f4e5":["📥",["inbox_tray"]],"1f4e6":["📦",["package"]],"1f4e7":["📧",["e-mail"]],"1f4e8":["📨",["incoming_envelope"]],"1f4e9":["📩",["envelope_with_arrow"]],"1f4ea":["📪",["mailbox_closed"]],"1f4eb":["📫",["mailbox"]],"1f4ec":["📬",["mailbox_with_mail"]],"1f4ed":["📭",["mailbox_with_no_mail"]],"1f4ee":["📮",["postbox"]],"1f4ef":["📯",["postal_horn"]],"1f4f0":["📰",["newspaper"]],"1f4f1":["📱",["iphone"]],"1f4f2":["📲",["calling"]],"1f4f3":["📳",["vibration_mode"]],"1f4f4":["📴",["mobile_phone_off"]],"1f4f5":["📵",["no_mobile_phones"]],"1f4f6":["📶",["signal_strength"]],"1f4f7":["📷",["camera"]],"1f4f9":["📹",["video_camera"]],"1f4fa":["📺",["tv"]],"1f4fb":["📻",["radio"]],"1f4fc":["📼",["vhs"]],"1f500":["🔀",["twisted_rightwards_arrows"]],"1f501":["🔁",["repeat"]],"1f502":["🔂",["repeat_one"]],"1f503":["🔃",["arrows_clockwise"]],"1f504":["🔄",["arrows_counterclockwise"]],"1f505":["🔅",["low_brightness"]],"1f506":["🔆",["high_brightness"]],"1f507":["🔇",["mute"]],"1f509":["🔉",["sound"]],"1f50a":["🔊",["speaker"]],"1f50b":["🔋",["battery"]],"1f50c":["🔌",["electric_plug"]],"1f50d":["🔍",["mag"]],"1f50e":["🔎",["mag_right"]],"1f50f":["🔏",["lock_with_ink_pen"]],"1f510":["🔐",["closed_lock_with_key"]],"1f511":["🔑",["key"]],"1f512":["🔒",["lock"]],"1f513":["🔓",["unlock"]],"1f514":["🔔",["bell"]],"1f515":["🔕",["no_bell"]],"1f516":["🔖",["bookmark"]],"1f517":["🔗",["link"]],"1f518":["🔘",["radio_button"]],"1f519":["🔙",["back"]],"1f51a":["🔚",["end"]],"1f51b":["🔛",["on"]],"1f51c":["🔜",["soon"]],"1f51d":["🔝",["top"]],"1f51e":["🔞",["underage"]],"1f51f":["🔟",["keycap_ten"]],"1f520":["🔠",["capital_abcd"]],"1f521":["🔡",["abcd"]],"1f522":["🔢",["1234"]],"1f523":["🔣",["symbols"]],"1f524":["🔤",["abc"]],"1f525":["🔥",["fire"]],"1f526":["🔦",["flashlight"]],"1f527":["🔧",["wrench"]],"1f528":["🔨",["hammer"]],"1f529":["🔩",["nut_and_bolt"]],"1f52a":["🔪",["hocho"]],"1f52b":["🔫",["gun"]],"1f52c":["🔬",["microscope"]],"1f52d":["🔭",["telescope"]],"1f52e":["🔮",["crystal_ball"]],"1f52f":["🔯",["six_pointed_star"]],"1f530":["🔰",["beginner"]],"1f531":["🔱",["trident"]],"1f532":["🔲",["black_square_button"]],"1f533":["🔳",["white_square_button"]],"1f534":["🔴",["red_circle"]],"1f535":["🔵",["large_blue_circle"]],"1f536":["🔶",["large_orange_diamond"]],"1f537":["🔷",["large_blue_diamond"]],"1f538":["🔸",["small_orange_diamond"]],"1f539":["🔹",["small_blue_diamond"]],"1f53a":["🔺",["small_red_triangle"]],"1f53b":["🔻",["small_red_triangle_down"]],"1f53c":["🔼",["arrow_up_small"]],"1f53d":["🔽",["arrow_down_small"]],"1f550":["🕐",["clock1"]],"1f551":["🕑",["clock2"]],"1f552":["🕒",["clock3"]],"1f553":["🕓",["clock4"]],"1f554":["🕔",["clock5"]],"1f555":["🕕",["clock6"]],"1f556":["🕖",["clock7"]],"1f557":["🕗",["clock8"]],"1f558":["🕘",["clock9"]],"1f559":["🕙",["clock10"]],"1f55a":["🕚",["clock11"]],"1f55b":["🕛",["clock12"]],"1f55c":["🕜",["clock130"]],"1f55d":["🕝",["clock230"]],"1f55e":["🕞",["clock330"]],"1f55f":["🕟",["clock430"]],"1f560":["🕠",["clock530"]],"1f561":["🕡",["clock630"]],"1f562":["🕢",["clock730"]],"1f563":["🕣",["clock830"]],"1f564":["🕤",["clock930"]],"1f565":["🕥",["clock1030"]],"1f566":["🕦",["clock1130"]],"1f567":["🕧",["clock1230"]],"1f5fb":["🗻",["mount_fuji"]],"1f5fc":["🗼",["tokyo_tower"]],"1f5fd":["🗽",["statue_of_liberty"]],"1f5fe":["🗾",["japan"]],"1f5ff":["🗿",["moyai"]],"1f600":["😀",["grinning"]],"1f601":["😁",["grin"]],"1f602":["😂",["joy"]],"1f603":["😃",["smiley"],":)"],"1f604":["😄",["smile"],":)"],"1f605":["😅",["sweat_smile"]],"1f606":["😆",["laughing","satisfied"]],"1f607":["😇",["innocent"]],"1f608":["😈",["smiling_imp"]],"1f609":["😉",["wink"],";)"],"1f60a":["😊",["blush"]],"1f60b":["😋",["yum"]],"1f60c":["😌",["relieved"]],"1f60d":["😍",["heart_eyes"]],"1f60e":["😎",["sunglasses"]],"1f60f":["😏",["smirk"]],"1f610":["😐",["neutral_face"]],"1f611":["😑",["expressionless"]],"1f612":["😒",["unamused"]],"1f613":["😓",["sweat"]],"1f614":["😔",["pensive"]],"1f615":["😕",["confused"]],"1f616":["😖",["confounded"]],"1f617":["😗",["kissing"]],"1f618":["😘",["kissing_heart"]],"1f619":["😙",["kissing_smiling_eyes"]],"1f61a":["😚",["kissing_closed_eyes"]],"1f61b":["😛",["stuck_out_tongue"]],"1f61c":["😜",["stuck_out_tongue_winking_eye"],";p"],"1f61d":["😝",["stuck_out_tongue_closed_eyes"]],"1f61e":["😞",["disappointed"],":("],"1f61f":["😟",["worried"]],"1f620":["😠",["angry"]],"1f621":["😡",["rage"]],"1f622":["😢",["cry"],":'("],"1f623":["😣",["persevere"]],"1f624":["😤",["triumph"]],"1f625":["😥",["disappointed_relieved"]],"1f626":["😦",["frowning"]],"1f627":["😧",["anguished"]],"1f628":["😨",["fearful"]],"1f629":["😩",["weary"]],"1f62a":["😪",["sleepy"]],"1f62b":["😫",["tired_face"]],"1f62c":["😬",["grimacing"]],"1f62d":["😭",["sob"],":'("],"1f62e":["😮",["open_mouth"]],"1f62f":["😯",["hushed"]],"1f630":["😰",["cold_sweat"]],"1f631":["😱",["scream"]],"1f632":["😲",["astonished"]],"1f633":["😳",["flushed"]],"1f634":["😴",["sleeping"]],"1f635":["😵",["dizzy_face"]],"1f636":["😶",["no_mouth"]],"1f637":["😷",["mask"]],"1f638":["😸",["smile_cat"]],"1f639":["😹",["joy_cat"]],"1f63a":["😺",["smiley_cat"]],"1f63b":["😻",["heart_eyes_cat"]],"1f63c":["😼",["smirk_cat"]],"1f63d":["😽",["kissing_cat"]],"1f63e":["😾",["pouting_cat"]],"1f63f":["😿",["crying_cat_face"]],"1f640":["🙀",["scream_cat"]],"1f645":["🙅",["no_good"]],"1f646":["🙆",["ok_woman"]],"1f647":["🙇",["bow"]],"1f648":["🙈",["see_no_evil"]],"1f649":["🙉",["hear_no_evil"]],"1f64a":["🙊",["speak_no_evil"]],"1f64b":["🙋",["raising_hand"]],"1f64c":["🙌",["raised_hands"]],"1f64d":["🙍",["person_frowning"]],"1f64e":["🙎",["person_with_pouting_face"]],"1f64f":["🙏",["pray"]],"1f680":["🚀",["rocket"]],"1f681":["🚁",["helicopter"]],"1f682":["🚂",["steam_locomotive"]],"1f683":["🚃",["railway_car","train"]],"1f684":["🚄",["bullettrain_side"]],"1f685":["🚅",["bullettrain_front"]],"1f686":["🚆",["train2"]],"1f687":["🚇",["metro"]],"1f688":["🚈",["light_rail"]],"1f689":["🚉",["station"]],"1f68a":["🚊",["tram"]],"1f68c":["🚌",["bus"]],"1f68d":["🚍",["oncoming_bus"]],"1f68e":["🚎",["trolleybus"]],"1f68f":["🚏",["busstop"]],"1f690":["🚐",["minibus"]],"1f691":["🚑",["ambulance"]],"1f692":["🚒",["fire_engine"]],"1f693":["🚓",["police_car"]],"1f694":["🚔",["oncoming_police_car"]],"1f695":["🚕",["taxi"]],"1f696":["🚖",["oncoming_taxi"]],"1f697":["🚗",["car","red_car"]],"1f698":["🚘",["oncoming_automobile"]],"1f699":["🚙",["blue_car"]],"1f69a":["🚚",["truck"]],"1f69b":["🚛",["articulated_lorry"]],"1f69c":["🚜",["tractor"]],"1f69d":["🚝",["monorail"]],"1f69e":["🚞",["mountain_railway"]],"1f69f":["🚟",["suspension_railway"]],"1f6a0":["🚠",["mountain_cableway"]],"1f6a1":["🚡",["aerial_tramway"]],"1f6a2":["🚢",["ship"]],"1f6a3":["🚣",["rowboat"]],"1f6a4":["🚤",["speedboat"]],"1f6a5":["🚥",["traffic_light"]],"1f6a6":["🚦",["vertical_traffic_light"]],"1f6a7":["🚧",["construction"]],"1f6a8":["🚨",["rotating_light"]],"1f6a9":["🚩",["triangular_flag_on_post"]],"1f6aa":["🚪",["door"]],"1f6ab":["🚫",["no_entry_sign"]],"1f6ac":["🚬",["smoking"]],"1f6ad":["🚭",["no_smoking"]],"1f6ae":["🚮",["put_litter_in_its_place"]],"1f6af":["🚯",["do_not_litter"]],"1f6b0":["🚰",["potable_water"]],"1f6b1":["🚱",["non-potable_water"]],"1f6b2":["🚲",["bike"]],"1f6b3":["🚳",["no_bicycles"]],"1f6b4":["🚴",["bicyclist"]],"1f6b5":["🚵",["mountain_bicyclist"]],"1f6b6":["🚶",["walking"]],"1f6b7":["🚷",["no_pedestrians"]],"1f6b8":["🚸",["children_crossing"]],"1f6b9":["🚹",["mens"]],"1f6ba":["🚺",["womens"]],"1f6bb":["🚻",["restroom"]],"1f6bc":["🚼",["baby_symbol"]],"1f6bd":["🚽",["toilet"]],"1f6be":["🚾",["wc"]],"1f6bf":["🚿",["shower"]],"1f6c0":["🛀",["bath"]],"1f6c1":["🛁",["bathtub"]],"1f6c2":["🛂",["passport_control"]],"1f6c3":["🛃",["customs"]],"1f6c4":["🛄",["baggage_claim"]],"1f6c5":["🛅",["left_luggage"]],"0023":["#",["hash"]],"0030":["0",["zero"]],"0031":["1",["one"]],"0032":["2",["two"]],"0033":["3",["three"]],"0034":["4",["four"]],"0035":["5",["five"]],"0036":["6",["six"]],"0037":["7",["seven"]],"0038":["8",["eight"]],"0039":["9",["nine"]],"1f1e8-1f1f3":["🇨🇳",["cn"]],"1f1e9-1f1ea":["🇩🇪",["de"]],"1f1ea-1f1f8":["🇪🇸",["es"]],"1f1eb-1f1f7":["🇫🇷",["fr"]],"1f1ec-1f1e7":["🇬🇧",["gb","uk"]],"1f1ee-1f1f9":["🇮🇹",["it"]],"1f1ef-1f1f5":["🇯🇵",["jp"]],"1f1f0-1f1f7":["🇰🇷",["kr"]],"1f1f7-1f1fa":["🇷🇺",["ru"]],"1f1fa-1f1f8":["🇺🇸",["us"]]},Config.EmojiCategories=[["1f604","1f603","1f600","1f60a","263a","1f609","1f60d","1f618","1f61a","1f617","1f619","1f61c","1f61d","1f61b","1f633","1f601","1f614","1f60c","1f612","1f61e","1f623","1f622","1f602","1f62d","1f62a","1f625","1f630","1f605","1f613","1f629","1f62b","1f628","1f631","1f620","1f621","1f624","1f616","1f606","1f60b","1f637","1f60e","1f634","1f635","1f632","1f61f","1f626","1f627","1f608","1f47f","1f62e","1f62c","1f610","1f615","1f62f","1f636","1f607","1f60f","1f611","1f472","1f473","1f46e","1f477","1f482","1f476","1f466","1f467","1f468","1f469","1f474","1f475","1f471","1f47c","1f478","1f63a","1f638","1f63b","1f63d","1f63c","1f640","1f63f","1f639","1f63e","1f479","1f47a","1f648","1f649","1f64a","1f480","1f47d","1f4a9","1f525","2728","1f31f","1f4ab","1f4a5","1f4a2","1f4a6","1f4a7","1f4a4","1f4a8","1f442","1f440","1f443","1f445","1f444","1f44d","1f44e","1f44c","1f44a","270a","270c","1f44b","270b","1f450","1f446","1f447","1f449","1f448","1f64c","1f64f","261d","1f44f","1f4aa","1f6b6","1f3c3","1f483","1f46b","1f46a","1f46c","1f46d","1f48f","1f491","1f46f","1f646","1f645","1f481","1f64b","1f486","1f487","1f485","1f470","1f64e","1f64d","1f647","1f3a9","1f451","1f452","1f45f","1f45e","1f461","1f460","1f462","1f455","1f454","1f45a","1f457","1f3bd","1f456","1f458","1f459","1f4bc","1f45c","1f45d","1f45b","1f453","1f380","1f302","1f484","1f49b","1f499","1f49c","1f49a","2764","1f494","1f497","1f493","1f495","1f496","1f49e","1f498","1f48c","1f48b","1f48d","1f48e","1f464","1f465","1f4ac","1f463","1f4ad"],["1f436","1f43a","1f431","1f42d","1f439","1f430","1f438","1f42f","1f428","1f43b","1f437","1f43d","1f42e","1f417","1f435","1f412","1f434","1f411","1f418","1f43c","1f427","1f426","1f424","1f425","1f423","1f414","1f40d","1f422","1f41b","1f41d","1f41c","1f41e","1f40c","1f419","1f41a","1f420","1f41f","1f42c","1f433","1f40b","1f404","1f40f","1f400","1f403","1f405","1f407","1f409","1f40e","1f410","1f413","1f415","1f416","1f401","1f402","1f432","1f421","1f40a","1f42b","1f42a","1f406","1f408","1f429","1f43e","1f490","1f338","1f337","1f340","1f339","1f33b","1f33a","1f341","1f343","1f342","1f33f","1f33e","1f344","1f335","1f334","1f332","1f333","1f330","1f331","1f33c","1f310","1f31e","1f31d","1f31a","1f311","1f312","1f313","1f314","1f315","1f316","1f317","1f318","1f31c","1f31b","1f319","1f30d","1f30e","1f30f","1f30b","1f30c","1f30d","2b50","2600","26c5","2601","26a1","2614","2744","26c4","1f300","1f301","1f308","1f30a"],["1f38d","1f49d","1f38e","1f392","1f393","1f38f","1f386","1f387","1f390","1f391","1f383","1f47b","1f385","1f384","1f381","1f38b","1f389","1f38a","1f388","1f38c","1f52e","1f3a5","1f4f7","1f4f9","1f4fc","1f4bf","1f4c0","1f4bd","1f4be","1f4bb","1f4f1","260e","1f4de","1f4df","1f4e0","1f4e1","1f4fa","1f4fb","1f50a","1f509","1f509","1f507","1f514","1f514","1f4e2","1f4e3","23f3","231b","23f0","231a","1f513","1f512","1f50f","1f510","1f511","1f50e","1f4a1","1f526","1f506","1f505","1f50c","1f50b","1f50d","1f6c0","1f6bf","1f6bd","1f527","1f529","1f528","1f6aa","1f6ac","1f4a3","1f52b","1f52a","1f48a","1f489","1f4b0","1f4b4","1f4b5","1f4b7","1f4b6","1f4b3","1f4b8","1f4f2","1f4e7","1f4e5","1f4e4","2709","1f4e9","1f4e8","1f4ef","1f4eb","1f4ea","1f4ec","1f4ed","1f4ee","1f4e6","1f4dd","1f4c4","1f4c3","1f4d1","1f4ca","1f4c8","1f4c9","1f4dc","1f4cb","1f4c5","1f4c6","1f4c7","1f4c1","1f4c2","2702","1f4cc","1f4ce","2712","270f","1f4cf","1f4d0","1f4d5","1f4d7","1f4d8","1f4d9","1f4d3","1f4d4","1f4d2","1f4da","1f4d6","1f516","1f4db","1f52c","1f52d","1f4f0","1f3a8","1f3ac","1f3a4","1f3a7","1f3bc","1f3b5","1f3b6","1f3b9","1f3bb","1f3ba","1f3b7","1f3b8","1f47e","1f3ae","1f0cf","1f3b4","1f004","1f3b2","1f3af","1f3c8","1f3c0","26bd","26be","1f3be","1f3b1","1f3c9","1f3b3","26f3","1f6b5","1f6b4","1f3c1","1f3c7","1f3c6","1f3bf","1f3c2","1f3ca","1f3c4","1f3a3","2615","1f375","1f376","1f37c","1f37a","1f37b","1f378","1f379","1f377","1f374","1f355","1f354","1f35f","1f357","1f356","1f35d","1f35b","1f364","1f371","1f363","1f365","1f359","1f358","1f35a","1f35c","1f372","1f362","1f361","1f373","1f35e","1f369","1f36e","1f366","1f368","1f367","1f382","1f370","1f36a","1f36b","1f36c","1f36d","1f36f","1f34e","1f34f","1f34a","1f34b","1f352","1f347","1f349","1f353","1f351","1f348","1f34c","1f350","1f34d","1f360","1f346","1f345","1f33d"],["1f3e0","1f3e1","1f3eb","1f3e2","1f3e3","1f3e5","1f3e6","1f3ea","1f3e9","1f3e8","1f492","26ea","1f3ec","1f3e4","1f307","1f306","1f3ef","1f3f0","26fa","1f3ed","1f5fc","1f5fe","1f5fb","1f304","1f305","1f303","1f5fd","1f309","1f3a0","1f3a1","26f2","1f3a2","1f6a2","26f5","1f6a4","1f6a3","2693","1f680","2708","1f4ba","1f681","1f682","1f68a","1f689","1f69e","1f686","1f684","1f685","1f688","1f687","1f69d","1f69d","1f683","1f68e","1f68c","1f68d","1f699","1f698","1f697","1f695","1f696","1f69b","1f69a","1f6a8","1f693","1f694","1f692","1f691","1f690","1f6b2","1f6a1","1f69f","1f6a0","1f69c","1f488","1f68f","1f3ab","1f6a6","1f6a5","26a0","1f6a7","1f530","26fd","1f3ee","1f3b0","2668","1f5ff","1f3aa","1f3ad","1f4cd","1f6a9","1f1ef-1f1f5","1f1f0-1f1f7","1f1e9-1f1ea","1f1e8-1f1f3","1f1fa-1f1f8","1f1eb-1f1f7","1f1ea-1f1f8","1f1ee-1f1f9","1f1f7-1f1fa","1f1ec-1f1e7"],["0031","0032","0033","0034","0035","0036","0037","0038","0039","0030","1f51f","1f522","0023","1f523","2b06","2b07","2b05","27a1","1f520","1f521","1f524","2197","2196","2198","2199","2194","2195","1f504","25c0","25b6","1f53c","1f53d","21a9","21aa","2139","23ea","23e9","23eb","23ec","2935","2934","1f197","1f500","1f501","1f502","1f195","1f199","1f192","1f193","1f196","1f4f6","1f3a6","1f201","1f22f","1f233","1f235","1f232","1f234","1f232","1f250","1f239","1f23a","1f236","1f21a","1f6bb","1f6b9","1f6ba","1f6bc","1f6be","1f6b0","1f6ae","1f17f","267f","1f6ad","1f237","1f238","1f202","24c2","1f251","3299","3297","1f191","1f198","1f194","1f6ab","1f51e","1f4f5","1f6af","1f6b1","1f6b3","1f6b7","1f6b8","26d4","2733","2747","274e","2705","2734","1f49f","1f19a","1f4f3","1f4f4","1f170","1f171","1f18e","1f17e","1f4a0","27bf","267b","2648","2649","264a","264b","264c","264d","264e","264f","2650","2651","2652","2653","26ce","1f52f","1f3e7","1f4b9","1f4b2","1f4b1","00a9","00ae","2122","303d","3030","1f51d","1f51a","1f519","1f51b","1f51c","274c","2b55","2757","2753","2755","2754","1f503","1f55b","1f567","1f550","1f55c","1f551","1f55d","1f552","1f55e","1f553","1f55f","1f554","1f560","1f555","1f556","1f557","1f558","1f559","1f55a","1f561","1f562","1f563","1f564","1f565","1f566","2716","2795","2796","2797","2660","2665","2663","2666","1f4ae","1f4af","2714","2611","1f518","1f517","27b0","1f531","1f532","1f533","25fc","25fb","25fe","25fd","25aa","25ab","1f53a","2b1c","2b1b","26ab","26aa","1f534","1f535","1f53b","1f536","1f537","1f538","1f539"]],Config.EmojiCategorySpritesheetDimens=[[7,27],[4,29],[7,33],[3,34],[6,34]],TLSerialization.prototype.createBuffer=function(){this.buffer=new ArrayBuffer(this.maxLength),this.intView=new Int32Array(this.buffer),this.byteView=new Uint8Array(this.buffer)
},TLSerialization.prototype.getArray=function(){var e=new ArrayBuffer(this.offset),t=new Int32Array(e);return t.set(this.intView.subarray(0,this.offset/4)),t},TLSerialization.prototype.getBuffer=function(){return this.getArray().buffer},TLSerialization.prototype.getBytes=function(){for(var e=[],t=0;t<this.offset;t++)e.push(this.byteView[t]);return e},TLSerialization.prototype.checkLength=function(e){if(!(this.offset+e<this.maxLength)){console.trace("Increase buffer",this.offset,e,this.maxLength),this.maxLength=4*Math.ceil(Math.max(2*this.maxLength,this.offset+e+16)/4);var t=this.buffer,n=new Int32Array(t);this.createBuffer(),new Int32Array(this.buffer).set(n)}},TLSerialization.prototype.writeInt=function(e,t){this.debug&&console.log(">>>",e.toString(16),e,t),this.checkLength(4),this.intView[this.offset/4]=e,this.offset+=4},TLSerialization.prototype.storeInt=function(e,t){this.writeInt(e,(t||"")+":int")},TLSerialization.prototype.storeBool=function(e,t){e?this.writeInt(2574415285,(t||"")+":bool"):this.writeInt(3162085175,(t||"")+":bool")},TLSerialization.prototype.storeLongP=function(e,t,n){this.writeInt(t,(n||"")+":long[low]"),this.writeInt(e,(n||"")+":long[high]")},TLSerialization.prototype.storeLong=function(e,t){if(angular.isArray(e))return 2==e.length?this.storeLongP(e[0],e[1],t):this.storeIntBytes(e,64,t);var n=bigStringInt(e).divideAndRemainder(bigint(4294967296));this.writeInt(intToUint(n[1].intValue()),(t||"")+":long[low]"),this.writeInt(intToUint(n[0].intValue()),(t||"")+":long[high]")},TLSerialization.prototype.storeDouble=function(e){var t=new ArrayBuffer(8),n=new Int32Array(t),i=new Float64Array(t);i[0]=e,this.writeInt(n[0],(field||"")+":double[low]"),this.writeInt(n[1],(field||"")+":double[high]")},TLSerialization.prototype.storeString=function(e,t){this.debug&&console.log(">>>",e,(t||"")+":string");var n=unescape(encodeURIComponent(e));this.checkLength(n.length+8);var i=n.length;253>=i?this.byteView[this.offset++]=i:(this.byteView[this.offset++]=254,this.byteView[this.offset++]=255&i,this.byteView[this.offset++]=(65280&i)>>8,this.byteView[this.offset++]=(16711680&i)>>16);for(var r=0;i>r;r++)this.byteView[this.offset++]=n.charCodeAt(r);for(;this.offset%4;)this.byteView[this.offset++]=0},TLSerialization.prototype.storeBytes=function(e,t){this.debug&&console.log(">>>",bytesToHex(e),(t||"")+":bytes"),this.checkLength(e.length+8);var n=e.length;253>=n?this.byteView[this.offset++]=n:(this.byteView[this.offset++]=254,this.byteView[this.offset++]=255&n,this.byteView[this.offset++]=(65280&n)>>8,this.byteView[this.offset++]=(16711680&n)>>16);for(var i=0;n>i;i++)this.byteView[this.offset++]=e[i];for(;this.offset%4;)this.byteView[this.offset++]=0},TLSerialization.prototype.storeIntBytes=function(e,t,n){var i=e.length;if(t%32||8*i!=t)throw new Error("Invalid bits: "+t+", "+e.length);this.debug&&console.log(">>>",bytesToHex(e),(n||"")+":int"+t),this.checkLength(i);for(var r=0;i>r;r++)this.byteView[this.offset++]=e[r]},TLSerialization.prototype.storeRawBytes=function(e,t){var n=e.length;this.debug&&console.log(">>>",bytesToHex(e),t||""),this.checkLength(n);for(var i=0;n>i;i++)this.byteView[this.offset++]=e[i]},TLSerialization.prototype.storeMethod=function(e,t){var n,i=this.mtproto?Config.Schema.MTProto:Config.Schema.API,r=!1;for(n=0;n<i.methods.length;n++)if(i.methods[n].method==e){r=i.methods[n];break}if(!r)throw new Error("No method "+e+" found");this.storeInt(intToUint(r.id),e+"[id]");var a=this;return angular.forEach(r.params,function(n){a.storeObject(t[n.name],n.type,e+"["+n.name+"]")}),r.type},TLSerialization.prototype.storeObject=function(e,t,n){switch(t){case"int":return this.storeInt(e,n);case"long":return this.storeLong(e,n);case"int128":return this.storeIntBytes(e,128,n);case"int256":return this.storeIntBytes(e,256,n);case"int512":return this.storeIntBytes(e,512,n);case"string":return this.storeString(e,n);case"bytes":return this.storeBytes(e,n);case"double":return this.storeDouble(e,n);case"Bool":return this.storeBool(e,n)}if(angular.isArray(e)){if("Vector"==t.substr(0,6))this.writeInt(481674261,n+"[id]");else if("vector"!=t.substr(0,6))throw new Error("Invalid vector type "+t);var i=t.substr(7,t.length-8);this.writeInt(e.length,n+"[count]");for(var r=0;r<e.length;r++)this.storeObject(e[r],i,n+"["+r+"]");return!0}if("vector"==t.substr(0,6).toLowerCase())throw new Error("Invalid vector object");if(!angular.isObject(e))throw new Error("Invalid object for type "+t);var r,a=this.mtproto?Config.Schema.MTProto:Config.Schema.API,o=e._,s=!1,c=!1;for((s="%"==t.charAt(0))&&(t=t.substr(1)),r=0;r<a.constructors.length;r++)if(a.constructors[r].predicate==o){c=a.constructors[r];break}if(!c)throw new Error("No predicate "+o+" found");o==t&&(s=!0),s||this.writeInt(intToUint(c.id),n+"["+o+"][id]");var l=this;return angular.forEach(c.params,function(t){l.storeObject(e[t.name],t.type,n+"["+o+"]["+t.name+"]")}),c.type},TLDeserialization.prototype.readInt=function(e){if(this.offset>=4*this.intView.length)throw new Error("Nothing to fetch: "+e);var t=this.intView[this.offset/4];return this.debug&&console.log("<<<",t.toString(16),t,e),this.offset+=4,t},TLDeserialization.prototype.fetchInt=function(e){return this.readInt((e||"")+":int")},TLDeserialization.prototype.fetchDouble=function(e){var t=new ArrayBuffer(8),n=new Int32Array(t),i=new Float64Array(t);return n[0]=this.readInt((e||"")+":double[low]"),n[1]=this.readInt((e||"")+":double[high]"),i[0]},TLDeserialization.prototype.fetchLong=function(e){var t=this.readInt((e||"")+":long[low]"),n=this.readInt((e||"")+":long[high]"),i=bigint(n).shiftLeft(32).add(bigint(t)).toString();return i},TLDeserialization.prototype.fetchBool=function(e){var t=this.readInt((e||"")+":bool");if(2574415285==t)return!0;if(3162085175==t)return!1;throw new Error("Unknown Bool constructor "+t)},TLDeserialization.prototype.fetchString=function(e){var t=this.byteView[this.offset++];if(254==t)var t=this.byteView[this.offset++]|this.byteView[this.offset++]<<8|this.byteView[this.offset++]<<16;for(var n="",i=0;t>i;i++)n+=String.fromCharCode(this.byteView[this.offset++]);for(;this.offset%4;)this.offset++;try{var r=decodeURIComponent(escape(n))}catch(a){var r=n}return this.debug&&console.log("<<<",r,(e||"")+":string"),r},TLDeserialization.prototype.fetchBytes=function(e){var t=this.byteView[this.offset++];if(254==t)var t=this.byteView[this.offset++]|this.byteView[this.offset++]<<8|this.byteView[this.offset++]<<16;for(var n=[],i=0;t>i;i++)n.push(this.byteView[this.offset++]);for(;this.offset%4;)this.offset++;return this.debug&&console.log("<<<",bytesToHex(n),(e||"")+":bytes"),n},TLDeserialization.prototype.fetchIntBytes=function(e,t){if(e%32)throw new Error("Invalid bits: "+e);for(var n=e/8,i=[],r=0;n>r;r++)i.push(this.byteView[this.offset++]);return this.debug&&console.log("<<<",bytesToHex(i),(t||"")+":int"+e),i},TLDeserialization.prototype.fetchRawBytes=function(e,t){e===!1&&(e=this.readInt((t||"")+"_length"));for(var n=[],i=0;e>i;i++)n.push(this.byteView[this.offset++]);return this.debug&&console.log("<<<",bytesToHex(n),t||""),n},TLDeserialization.prototype.fetchObject=function(e,t){switch(e){case"int":return this.fetchInt(t);case"long":return this.fetchLong(t);case"int128":return this.fetchIntBytes(128,t);case"int256":return this.fetchIntBytes(256,t);case"int512":return this.fetchIntBytes(512,t);case"string":return this.fetchString(t);case"bytes":return this.fetchBytes(t);case"double":return this.fetchDouble(t);case"Bool":return this.fetchBool(t)}if(t=t||e||"Object","Vector"==e.substr(0,6)||"vector"==e.substr(0,6)){if("V"==e.charAt(0)){var n=this.readInt(t+"[id]");if(481674261!=n)throw new Error("Invalid vector constructor "+n)}var i=this.readInt(t+"[count]"),r=[];if(i>0)for(var a=e.substr(7,e.length-8),o=0;i>o;o++)r.push(this.fetchObject(a,t+"["+o+"]"));return r}var s=this.mtproto?Config.Schema.MTProto:Config.Schema.API,c=!1,l=!1;if("%"==e.charAt(0)){var p=e.substr(1);for(o=0;o<s.constructors.length;o++)if(s.constructors[o].type==p){l=s.constructors[o];break}if(!l)throw new Error("Constructor not found for type: "+e)}else if(e.charAt(0)>=97&&e.charAt(0)<=122){for(o=0;o<s.constructors.length;o++)if(s.constructors[o].predicate==e){l=s.constructors[o];break}if(!l)throw new Error("Constructor not found for predicate: "+e)}else{var n=this.readInt(t+"[id]"),u=uintToInt(n);if(812830625==u){var d=this.fetchBytes(t+"[packed_string]"),f=gzipUncompress(d),h=bytesToArrayBuffer(f),m=new TLDeserialization(h);return m.fetchObject(e,t)}for(o=0;o<s.constructors.length;o++)if(s.constructors[o].id==u){l=s.constructors[o];break}var g=!1;if(!l&&this.mtproto){var y=Config.Schema.API;for(o=0;o<y.constructors.length;o++)if(y.constructors[o].id==u){l=y.constructors[o],delete this.mtproto,g=!0;break}}if(!l)throw new Error("Constructor not found: "+n)}c=l.predicate;var r={_:c},v=(this.mtproto?"mt_":"")+c,_=this;return this.override[v]?this.override[v].apply(this,[r,t+"["+c+"]"]):angular.forEach(l.params,function(e){r[e.name]=_.fetchObject(e.type,t+"["+c+"]["+e.name+"]")}),g&&(this.mtproto=!0),r},TLDeserialization.prototype.getOffset=function(){return this.offset},TLDeserialization.prototype.fetchEnd=function(){if(this.offset!=this.byteView.length)throw new Error("Fetch end with non-empty buffer");return!0},"undefined"!=typeof angular&&angular.module("mtproto.services",["myApp.services"]).factory("MtpDcConfigurator",function(){function e(e){if(void 0===n[e]){var i,r,a=!1;for(i=0;i<t.length;i++)r=t[i],r.id==e&&(a=r.host+":"+r.port);n[e]=a}return n[e]}var t=window._testMode?[{id:1,host:"173.240.5.253",port:80},{id:2,host:"109.239.131.195",port:80},{id:3,host:"174.140.142.5",port:80}]:[{id:1,host:"173.240.5.1",port:80},{id:2,host:"109.239.131.193",port:80},{id:3,host:"174.140.142.6",port:80},{id:4,host:"31.210.235.12",port:80},{id:5,host:"116.51.22.2",port:80}],n={};return{chooseServer:e}}).factory("MtpRsaKeysManager",function(){function e(){if(!r){for(var e=0;e<n.length;e++){var t=n[e],a=new TLSerialization;a.storeBytes(bytesFromHex(t.modulus),"n"),a.storeBytes(bytesFromHex(t.exponent),"e");var o=a.getBuffer(),s=sha1Hash(o).slice(-8);s.reverse();var c=new BigInteger(s).toString(16);i[c]={modulus:t.modulus,exponent:t.exponent}}r=!0}}function t(t){e();var n,r,a;for(a=0;a<t.length;a++)if(n=bigStringInt(t[a]).toString(16),r=i[n])return angular.extend({fingerprint:t[a]},r);return!1}var n=[{modulus:"c150023e2f70db7985ded064759cfecf0af328e69a41daf4d6f01b538135a6f91f8f8b2a0ec9ba9720ce352efcf6c5680ffc424bd634864902de0b4bd6d49f4e580230e3ae97d95c8b19442b3c0a10d8f5633fecedd6926a7f6dab0ddb7d457f9ea81b8465fcd6fffeed114011df91c059caedaf97625f6c96ecc74725556934ef781d866b34f011fce4d835a090196e9a5f0e4449af7eb697ddb9076494ca5f81104a305b6dd27665722c46b60e5df680fb16b210607ef217652e60236c255f6a28315f4083a96791d7214bf64c1df4fd0db1944fb26a2a57031b32eee64ad15a8ba68885cde74a5bfc920f6abf59ba5c75506373e7130f9042da922179251f",exponent:"010001"}],i={},r=!1;return{prepare:e,select:t}}).service("MtpSecureRandom",function(){return new SecureRandom}).factory("MtpMessageIdGenerator",["AppConfigManager",function(e){function t(){var e=tsNow(),t=Math.floor(e/1e3)+r,n=e%1e3,a=nextRandomInt(65535),o=[t,n<<21|a<<3|4];return(i[0]>o[0]||i[0]==o[0]&&i[1]>=o[1])&&(o=[i[0],i[1]+4]),i=o,longFromInts(o[0],o[1])}function n(t,n){var a=t-Math.floor((n||tsNow())/1e3),o=Math.abs(r-a)>10;return e.set({server_time_offset:a}),i=[0,0],r=a,console.log("Apply server time",t,n,a,o),o}var i=[0,0],r=0;return e.get("server_time_offset").then(function(e){e&&(r=e)}),{generateID:t,applyServerTime:n}}]).factory("MtpAuthorizer",["MtpDcConfigurator","MtpRsaKeysManager","MtpSecureRandom","MtpMessageIdGenerator","$http","$q","$timeout",function(e,t,n,i,r,a,o){function s(t,n){var a=n.byteLength,o=new Int32Array(n),s=new TLSerialization;s.storeLongP(0,0,"auth_key_id"),s.storeLong(i.generateID(),"msg_id"),s.storeInt(a,"request_length");var c=s.getBuffer(),l=new Int32Array(c),p=c.byteLength,u=new ArrayBuffer(p+a),d=new Int32Array(u);return d.set(l),d.set(o,l.length),delete r.defaults.headers.post["Content-Type"],delete r.defaults.headers.common.Accept,"ArrayBufferView"in window||(d=d.buffer),r.post("http://"+e.chooseServer(t)+"/apiw1",d,{responseType:"arraybuffer",transformRequest:null,transformResponse:function(e){{var t=new TLDeserialization(e,{mtproto:!0});t.fetchLong("auth_key_id"),t.fetchLong("msg_id"),t.fetchInt("msg_len")}return rng_seed_time(),t}})}function c(e){var n=e.deferred,i=new TLSerialization({mtproto:!0});i.storeMethod("req_pq",{nonce:e.nonce}),console.log(dT(),"Send req_pq",bytesToHex(e.nonce)),s(e.dcID,i.getBuffer()).then(function(i){var r=i.data,a=r.fetchObject("ResPQ");if("resPQ"!=a._)throw new Error("resPQ response invalid: "+a._);if(!bytesCmp(e.nonce,a.nonce))throw new Error("resPQ nonce mismatch");if(e.serverNonce=a.server_nonce,e.pq=a.pq,e.fingerprints=a.server_public_key_fingerprints,console.log(dT(),"Got ResPQ",bytesToHex(e.serverNonce),bytesToHex(e.pq),e.fingerprints),e.publicKey=t.select(e.fingerprints),!e.publicKey)throw new Error("No public key found");if(console.log(dT(),"PQ factorization start"),window.Worker){var o=new Worker("js/lib/pq_worker.js");o.onmessage=function(t){e.p=t.data[0],e.q=t.data[1],console.log(dT(),"PQ factorization done"),l(e)},o.onerror=function(e){console.log("Worker error",e,e.stack),n.reject(e)},o.postMessage(e.pq)}else{var s=pqPrimeFactorization(e.pq);e.p=s[0],e.q=s[1],console.log(dT(),"PQ factorization done"),l(e)}},function(e){n.reject(e)}),o(function(){t.prepare()})}function l(e){var t=e.deferred;e.newNonce=new Array(32),n.nextBytes(e.newNonce);var i=new TLSerialization({mtproto:!0});i.storeObject({_:"p_q_inner_data",pq:e.pq,p:e.p,q:e.q,nonce:e.nonce,server_nonce:e.serverNonce,new_nonce:e.newNonce},"P_Q_inner_data","DECRYPTED_DATA");var r=sha1Hash(i.getBuffer()).concat(i.getBytes()),a=new TLSerialization({mtproto:!0});a.storeMethod("req_DH_params",{nonce:e.nonce,server_nonce:e.serverNonce,p:e.p,q:e.q,public_key_fingerprint:e.publicKey.fingerprint,encrypted_data:rsaEncrypt(e.publicKey,r)}),console.log(dT(),"Send req_DH_params"),s(e.dcID,a.getBuffer()).then(function(n){var i=n.data,r=i.fetchObject("Server_DH_Params","RESPONSE");if("server_DH_params_fail"!=r._&&"server_DH_params_ok"!=r._)return t.reject(new Error("Server_DH_Params response invalid: "+r._)),!1;if(!bytesCmp(e.nonce,r.nonce))return t.reject(new Error("Server_DH_Params nonce mismatch")),!1;if(!bytesCmp(e.serverNonce,r.server_nonce))return t.reject(new Error("Server_DH_Params server_nonce mismatch")),!1;if("server_DH_params_fail"==r._){var a=sha1Hash(e.newNonce).slice(-16);return bytesCmp(a,r.new_nonce_hash)?(t.reject(new Error("server_DH_params_fail")),!1):(t.reject(new Error("server_DH_params_fail new_nonce_hash mismatch")),!1)}try{p(e,r.encrypted_answer)}catch(o){return t.reject(o),!1}u(e)},function(e){t.reject(e)})}function p(e,t){e.localTime=tsNow(),e.tmpAesKey=sha1Hash(e.newNonce.concat(e.serverNonce)).concat(sha1Hash(e.serverNonce.concat(e.newNonce)).slice(0,12)),e.tmpAesIv=sha1Hash(e.serverNonce.concat(e.newNonce)).slice(12).concat(sha1Hash([].concat(e.newNonce,e.newNonce)),e.newNonce.slice(0,4));var n=aesDecrypt(t,e.tmpAesKey,e.tmpAesIv),r=n.slice(0,20),a=n.slice(20),o=bytesToArrayBuffer(a),s=new TLDeserialization(o,{mtproto:!0}),c=s.fetchObject("Server_DH_inner_data");if("server_DH_inner_data"!=c._)throw new Error("server_DH_inner_data response invalid: "+constructor);if(!bytesCmp(e.nonce,c.nonce))throw new Error("server_DH_inner_data nonce mismatch");if(!bytesCmp(e.serverNonce,c.server_nonce))throw new Error("server_DH_inner_data serverNonce mismatch");console.log(dT(),"Done decrypting answer"),e.g=c.g,e.dhPrime=c.dh_prime,e.gA=c.g_a,e.serverTime=c.server_time,e.retry=0;var l=s.getOffset();if(!bytesCmp(r,sha1Hash(a.slice(0,l))))throw new Error("server_DH_inner_data SHA1-hash mismatch");i.applyServerTime(e.serverTime,e.localTime)}function u(e){var t=e.deferred;e.b=new Array(256),n.nextBytes(e.b);var i=new BigInteger(e.b),r=new BigInteger(e.dhPrime),a=bytesFromBigInt(bigint(e.g).modPow(i,r)),o=new TLSerialization({mtproto:!0});o.storeObject({_:"client_DH_inner_data",nonce:e.nonce,server_nonce:e.serverNonce,retry_id:[0,e.retry++],g_b:a},"Client_DH_Inner_Data");var c=sha1Hash(o.getBuffer()).concat(o.getBytes()),l=aesEncrypt(c,e.tmpAesKey,e.tmpAesIv),p=new TLSerialization({mtproto:!0});p.storeMethod("set_client_DH_params",{nonce:e.nonce,server_nonce:e.serverNonce,encrypted_data:l}),console.log(dT(),"Send set_client_DH_params"),s(e.dcID,p.getBuffer()).then(function(n){var i=n.data,r=i.fetchObject("Set_client_DH_params_answer");if("dh_gen_ok"!=r._&&"dh_gen_retry"!=r._&&"dh_gen_fail"!=r._)return t.reject(new Error("Set_client_DH_params_answer response invalid: "+r._)),!1;if(!bytesCmp(e.nonce,r.nonce))return t.reject(new Error("Set_client_DH_params_answer nonce mismatch")),!1;if(!bytesCmp(e.serverNonce,r.server_nonce))return t.reject(new Error("Set_client_DH_params_answer server_nonce mismatch")),!1;var a=new BigInteger(e.b),o=new BigInteger(e.dhPrime),s=bytesFromBigInt(new BigInteger(e.gA).modPow(a,o)),c=sha1Hash(s),l=c.slice(0,8),p=c.slice(-8);switch(console.log(dT(),"Got Set_client_DH_params_answer",r._),r._){case"dh_gen_ok":var d=sha1Hash(e.newNonce.concat([1],l)).slice(-16);if(!bytesCmp(d,r.new_nonce_hash1))return t.reject(new Error("Set_client_DH_params_answer new_nonce_hash1 mismatch")),!1;var f=bytesXor(e.newNonce.slice(0,8),e.serverNonce.slice(0,8));e.authKeyID=p,e.authKey=s,e.serverSalt=f,t.resolve(e);break;case"dh_gen_retry":var h=sha1Hash(e.newNonce.concat([2],l)).slice(-16);return bytesCmp(h,r.new_nonce_hash2)?u(e):(t.reject(new Error("Set_client_DH_params_answer new_nonce_hash2 mismatch")),!1);case"dh_gen_fail":var m=sha1Hash(e.newNonce.concat([3],l)).slice(-16);return bytesCmp(m,r.new_nonce_hash3)?(t.reject(new Error("Set_client_DH_params_answer fail")),!1):(t.reject(new Error("Set_client_DH_params_answer new_nonce_hash3 mismatch")),!1)}},function(e){t.reject(e)})}function d(t){if(void 0!==f[t])return f[t];for(var n=[],i=0;16>i;i++)n.push(nextRandomInt(255));if(!e.chooseServer(t))return a.reject(new Error("No server found for dc "+t));var r={dcID:t,nonce:n,deferred:a.defer()};return o(function(){c(r)}),f[t]=r.deferred.promise}var f={};return{auth:d}}]).factory("MtpAesService",["$q",function(e){return{encrypt:function(t,n,i){return e.when(aesEncrypt(t,n,i))},decrypt:function(t,n,i){return e.when(aesDecrypt(t,n,i))}}}]).factory("MtpSha1Service",["$q",function(e){return{hash:function(t){var n=e.defer();return setTimeout(function(){n.resolve(sha1Hash(t))},0),n.promise}}}]).factory("MtpNetworkerFactory",["MtpDcConfigurator","MtpMessageIdGenerator","MtpSecureRandom","MtpSha1Service","MtpAesService","AppConfigManager","$http","$q","$timeout","$interval","$rootScope",function(e,t,n,i,r,a,o,s,c,l,p){function u(e,t,n,i){i=i||{},this.dcID=e,this.iii=f++,this.authKey=t,this.authKeyID=sha1Hash(t).slice(-8),this.serverSalt=n,this.upload=i.fileUpload||i.fileDownload||!1,this.updateSession(),this.currentRequests=0,this.checkConnectionPeriod=0,this.sentMessages={},this.serverMessages=[],this.clientMessages=[],this.pendingMessages={},this.pendingAcks=[],this.pendingResends=[],this.connectionInited=!1,this.pendingTimeouts=[],this.longPollInt=l(this.checkLongPoll.bind(this),1e4),this.checkLongPoll(),h||(h=!0,p.offline=!0,p.offlineConnecting=!0)}var d,f=0,h=!1;return p.retryOnline=function(){$(document.body).trigger("online")},u.prototype.updateSession=function(){console.log(dT(),"Update session"),this.seqNo=0,this.sessionID=new Array(8),n.nextBytes(this.sessionID)},u.prototype.updateSentMessage=function(e){var n=this.sentMessages[e];if(!n)return!1;var i=this;if(n.container){var r=[];angular.forEach(n.inner,function(e){var t=i.updateSentMessage(e);t&&r.push(t.msg_id)}),n.inner=r}return n.msg_id=t.generateID(),n.seq_no=this.generateSeqNo(n.notContentRelated||n.container),this.sentMessages[n.msg_id]=n,delete i.sentMessages[e],n},u.prototype.generateSeqNo=function(e){var t=2*this.seqNo;return e||(t++,this.seqNo++),t},u.prototype.wrapMtpCall=function(e,n,i){var r=new TLSerialization({mtproto:!0});r.storeMethod(e,n);var a=t.generateID(),o=this.generateSeqNo(),s={msg_id:a,seq_no:o,body:r.getBytes()};return window._debugMode&&console.log(dT(),"MT call",e,n,a,o),this.pushMessage(s,i)},u.prototype.wrapMtpMessage=function(e,n){n=n||{};var i=new TLSerialization({mtproto:!0});i.storeObject(e,"Object");var r=t.generateID(),a=this.generateSeqNo(n.notContentRelated),o={msg_id:r,seq_no:a,body:i.getBytes()};return window._debugMode&&console.log(dT(),"MT message",e,r,a),this.pushMessage(o,n)},u.prototype.wrapApiCall=function(e,n,i){var r=new TLSerialization(i);this.connectionInited||(r.storeInt(731580666,"invokeWithLayer14"),r.storeInt(1769565673,"initConnection"),r.storeInt(2496,"api_id"),r.storeString(navigator.userAgent||"Unknown UserAgent","device_model"),r.storeString(navigator.platform||"Unknown Platform","system_version"),r.storeString("0.0.21","app_version"),r.storeString(navigator.language||"en","lang_code")),i.afterMessageID&&(r.storeInt(3416209197,"invokeAfterMsg"),r.storeLong(i.afterMessageID,"msg_id")),i.resultType=r.storeMethod(e,n);var a=t.generateID(),o=this.generateSeqNo(),s={msg_id:a,seq_no:o,body:r.getBytes(),isAPI:!0};return window._debugMode?console.log(dT(),"Api call",e,n,a,o,i):console.log(dT(),"Api call",e,a,o),this.pushMessage(s,i)},u.prototype.checkLongPoll=function(){var e=this.cleanupSent();if(this.longPollPending&&tsNow()<this.longPollPending||this.offline)return!1;var t=this;a.get("dc").then(function(n){(!e||n==t.dcID&&!t.upload)&&t.sendLongPoll()})},u.prototype.sendLongPoll=function(){var e=25e3,t=this;this.longPollPending=tsNow()+e,this.wrapMtpCall("http_wait",{max_delay:0,wait_after:0,max_wait:e},{noResponse:!0,longPoll:!0}).then(function(){delete t.longPollPending,c(t.checkLongPoll.bind(t),0)},function(){console.log("Long-poll failed")})},u.prototype.pushMessage=function(e,t){var n=s.defer();return this.sentMessages[e.msg_id]=angular.extend(e,t||{},{deferred:n}),this.pendingMessages[e.msg_id]=0,t&&t.noShedule||this.sheduleRequest(),angular.isObject(t)&&(t.messageID=e.msg_id),n.promise},u.prototype.pushResend=function(e,t){var n=t?tsNow()+t:0,i=this.sentMessages[e];if(i.container)for(var r=0;r<i.inner.length;r++)this.pendingMessages[i.inner[r]]=n;else this.pendingMessages[e]=n;this.sheduleRequest(t)},u.prototype.getMsgKeyIv=function(e,t){var n=this.authKey,r=t?0:8,a={sha1a:i.hash(e.concat(n.slice(r,r+32))),sha1b:i.hash(n.slice(32+r,48+r).concat(e,n.slice(48+r,64+r))),sha1c:i.hash(n.slice(64+r,96+r).concat(e)),sha1d:i.hash(e.concat(n.slice(96+r,128+r)))};return s.all(a).then(function(e){var t=e.sha1a.slice(0,8).concat(e.sha1b.slice(8,20),e.sha1c.slice(4,16)),n=e.sha1a.slice(8,20).concat(e.sha1b.slice(0,8),e.sha1c.slice(16,20),e.sha1d.slice(0,8));return[t,n]})},u.prototype.checkConnection=function(e){p.offlineConnecting=!0,console.log(dT(),"Check connection",e),c.cancel(this.checkConnectionPromise);var n=new TLSerialization({mtproto:!0}),i=[nextRandomInt(4294967295),nextRandomInt(4294967295)];n.storeMethod("ping",{ping_id:i});var r={msg_id:t.generateID(),seq_no:this.generateSeqNo(!0),body:n.getBytes()},a=this;this.sendEncryptedRequest(r).then(function(){delete p.offlineConnecting,a.toggleOffline(!1)},function(){console.log(dT(),"Delay ",1e3*a.checkConnectionPeriod),a.checkConnectionPromise=c(a.checkConnection.bind(a),parseInt(1e3*a.checkConnectionPeriod)),a.checkConnectionPeriod=Math.min(60,1.5*a.checkConnectionPeriod),c(function(){delete p.offlineConnecting},1e3)})},u.prototype.toggleOffline=function(e){return void 0!==this.offline&&this.offline==e?!1:(this.offline=e,p.offline=e,p.offlineConnecting=!1,void(this.offline?(c.cancel(this.nextReqPromise),delete this.nextReq,this.checkConnectionPeriod<1.5&&(this.checkConnectionPeriod=0),this.checkConnectionPromise=c(this.checkConnection.bind(this),parseInt(1e3*this.checkConnectionPeriod)),this.checkConnectionPeriod=Math.min(60,1.5*(1+this.checkConnectionPeriod)),this.onOnlineCb=this.checkConnection.bind(this),$(document.body).on("online",this.onOnlineCb)):(delete this.longPollPending,this.checkLongPoll(),this.sheduleRequest(),this.onOnlineCb&&$(document.body).off("online",this.onOnlineCb),c.cancel(this.checkConnectionPromise))))},u.prototype.performSheduledRequest=function(){if(this.offline)return console.log(dT(),"Cancel sheduled"),!1;if(delete this.nextReq,this.pendingAcks.length){for(var e=[],n=0;n<this.pendingAcks.length;n++)e.push(this.pendingAcks[n]);this.wrapMtpMessage({_:"msgs_ack",msg_ids:e},{notContentRelated:!0,noShedule:!0})}if(this.pendingResends.length){for(var i=[],n=0;n<this.pendingResends.length;n++)i.push(this.pendingResends[n]);this.wrapMtpMessage({_:"msg_resend_req",msg_ids:i},{noShedule:!0})}var r,a=[],o=0,s=tsNow(),c=!1,l=!1,p=this;if(angular.forEach(this.pendingMessages,function(e,t){(!e||e>=s)&&((r=p.sentMessages[t])&&(a.push(r),o+=r.body.length+32,r.isAPI?c=!0:r.longPoll&&(l=!0)),delete p.pendingMessages[t])}),c&&!l){var u=new TLSerialization({mtproto:!0});u.storeMethod("http_wait",{max_delay:0,wait_after:0,max_wait:1e3}),a.push({msg_id:t.generateID(),seq_no:this.generateSeqNo(),body:u.getBytes()})}if(a.length){var d=[];if(a.length>1){var f=new TLSerialization({mtproto:!0,startMaxLength:o+64});f.storeInt(1945237724,"CONTAINER[id]"),f.storeInt(a.length,"CONTAINER[count]");for(var h=[],n=0;n<a.length;n++)f.storeLong(a[n].msg_id,"CONTAINER["+n+"][msg_id]"),h.push(a[n].msg_id),f.storeInt(a[n].seq_no,"CONTAINER["+n+"][seq_no]"),f.storeInt(a[n].body.length,"CONTAINER["+n+"][bytes]"),f.storeRawBytes(a[n].body,"CONTAINER["+n+"][body]"),a[n].noResponse&&d.push(a[n].msg_id);var m={msg_id:t.generateID(),seq_no:this.generateSeqNo(!0),container:!0,inner:h};r=angular.extend({body:f.getBytes()},m),this.sentMessages[r.msg_id]=m,window._debugMode&&console.log(dT(),"Container",h,r.msg_id,r.seq_no)}else r.noResponse&&d.push(r.msg_id),this.sentMessages[r.msg_id]=r;this.pendingAcks=[];var p=this;this.sendEncryptedRequest(r).then(function(e){p.toggleOffline(!1),p.parseResponse(e.data).then(function(e){window._debugMode&&console.log(dT(),"Server response",p.dcID,e),p.processMessage(e.response,e.messageID,e.sessionID),angular.forEach(d,function(e){if(p.sentMessages[e]){var t=p.sentMessages[e].deferred;delete p.sentMessages[e],t.resolve()}}),p.checkLongPoll(),this.checkConnectionPeriod=Math.max(1.1,Math.sqrt(this.checkConnectionPeriod))})},function(e){console.log("Encrypted request failed",e),r.container?(angular.forEach(r.inner,function(e){p.pendingMessages[e]=0}),delete p.sentMessages[r.msg_id]):p.pendingMessages[r.msg_id]=0,angular.forEach(d,function(e){if(p.sentMessages[e]){var t=p.sentMessages[e].deferred;delete p.sentMessages[e],delete p.pendingMessages[e],t.reject()}}),p.toggleOffline(!0)})}},u.prototype.getEncryptedMessage=function(e){var t=this;return i.hash(e).then(function(n){var i=n.slice(-16);return t.getMsgKeyIv(i,!0).then(function(t){return r.encrypt(e,t[0],t[1]).then(function(e){return{bytes:e,msgKey:i}})})})},u.prototype.getDecryptedMessage=function(e,t){return this.getMsgKeyIv(e,!1).then(function(e){return r.decrypt(t,e[0],e[1])})},u.prototype.sendEncryptedRequest=function(t){var n=this,i=new TLSerialization({startMaxLength:t.body.length+64});return i.storeIntBytes(this.serverSalt,64,"salt"),i.storeIntBytes(this.sessionID,64,"session_id"),i.storeLong(t.msg_id,"message_id"),i.storeInt(t.seq_no,"seq_no"),i.storeInt(t.body.length,"message_data_length"),i.storeRawBytes(t.body,"message_data"),this.getEncryptedMessage(i.getBytes()).then(function(t){var i=new TLSerialization({startMaxLength:t.bytes.length+256});i.storeIntBytes(n.authKeyID,64,"auth_key_id"),i.storeIntBytes(t.msgKey,128,"msg_key"),i.storeRawBytes(t.bytes,"encrypted_data"),delete o.defaults.headers.post["Content-Type"],delete o.defaults.headers.common.Accept;var r=i.getArray();return"ArrayBufferView"in window||(r=r.buffer),o.post("http://"+e.chooseServer(n.dcID)+"/apiw1",r,{responseType:"arraybuffer",transformRequest:null})})},u.prototype.parseResponse=function(e){var t=this,n=new TLDeserialization(e),r=n.fetchIntBytes(64,"auth_key_id");if(!bytesCmp(r,this.authKeyID))throw new Error("Invalid server auth_key_id: "+bytesToHex(r));var a=n.fetchIntBytes(128,"msg_key"),o=e.byteLength-n.getOffset(),s=n.fetchRawBytes(o,"encrypted_data");return this.getDecryptedMessage(a,s).then(function(e){var n=bytesToArrayBuffer(e),r=new TLDeserialization(n,{mtproto:!0}),o=(r.fetchIntBytes(64,"salt"),r.fetchIntBytes(64,"session_id")),s=r.fetchLong("message_id"),c=r.fetchInt("seq_no"),l=r.fetchRawBytes(!1,"message_data"),p=r.getOffset();return i.hash(e.slice(0,p)).then(function(e){if(!bytesCmp(a,e.slice(-16)))throw new Error("server msgKey mismatch");var n=bytesToArrayBuffer(l),i={mtproto:!0,override:{mt_message:function(e,t){e.msg_id=this.fetchLong(t+"[msg_id]"),e.seqno=this.fetchInt(t+"[seqno]"),e.bytes=this.fetchInt(t+"[bytes]");var n=this.getOffset();try{e.body=this.fetchObject("Object",t+"[body]")}catch(i){console.error(dT(),"parse error",i.message,i.stack),e.body={_:"parse_error",error:i}}this.offset!=n+e.bytes&&(console.warn(dT(),"set offset",this.offset,n,e.bytes),console.log(dT(),e),this.offset=n+e.bytes)},mt_rpc_result:function(e,n){e.req_msg_id=this.fetchLong(n+"[req_msg_id]");var i=t.sentMessages[e.req_msg_id],r=i&&i.resultType||"Object";e.result=this.fetchObject(r,n+"[result]")}}},r=new TLDeserialization(n,i),p=r.fetchObject("","INPUT");return{response:p,messageID:s,sessionID:o,seqNo:c}})})},u.prototype.applyServerSalt=function(e){var t=longToBytes(e),n={};return n["dc"+this.dcID+"_server_salt"]=bytesToHex(t),a.set(n),this.serverSalt=t,!0},u.prototype.sheduleRequest=function(e){this.offline&&this.checkConnection("forced shedule");var t=tsNow()+e;return e&&this.nextReq&&this.nextReq<=t?!1:(c.cancel(this.nextReqPromise),this.nextReqPromise=c(this.performSheduledRequest.bind(this),e||0),void(this.nextReq=t))},u.prototype.onSessionCreate=function(e){console.log(dT(),"New session created",bytesToHex(e))},u.prototype.ackMessage=function(e){this.pendingAcks.push(e),this.sheduleRequest(3e4)},u.prototype.reqResendMessage=function(e){console.log(dT(),"Req resend",e),this.pendingResends.push(e),this.sheduleRequest(100)},u.prototype.cleanupSent=function(){var e=this,t=!1;return angular.forEach(this.sentMessages,function(n,i){if(n.notContentRelated&&void 0===e.pendingMessages[i])delete e.sentMessages[i];else if(n.container){for(var r=0;r<n.inner.length;r++)if(void 0!==e.sentMessages[n.inner[r]])return void(t=!0);delete e.sentMessages[i]}else t=!0}),!t},u.prototype.processMessageAck=function(e){var t=this.sentMessages[e];return t&&!t.acked?(delete t.body,t.acked=!0,!0):!1},u.prototype.processError=function(e){var t=(e.error_message||"").match(/^([A-Z_0-9]+\b)(: (.+))?/)||[];return e.error_code=uintToInt(e.error_code),{code:!e.error_code||e.error_code<=0?500:e.error_code,type:t[1]||"UNKNOWN",description:t[3]||"CODE#"+e.error_code+" "+e.error_message,originalError:e}},u.prototype.processMessage=function(e,n,i){switch(e._){case"msg_container":for(var r=e.messages.length,a=0;r>a;a++)this.processMessage(e.messages[a],n,i);break;case"bad_server_salt":console.log(dT(),"Bad server salt",e);var o=this.sentMessages[e.bad_msg_id];if(!o||o.seq_no!=e.bad_msg_seqno)throw console.log(e.bad_msg_id,e.bad_msg_seqno),new Error("Bad server salt for invalid message");this.applyServerSalt(e.new_server_salt),this.pushResend(e.bad_msg_id),this.ackMessage(n);break;case"bad_msg_notification":console.log(dT(),"Bad msg notification",e);var o=this.sentMessages[e.bad_msg_id];if(!o||o.seq_no!=e.bad_msg_seqno)throw console.log(e.bad_msg_id,e.bad_msg_seqno),new Error("Bad msg notification for invalid message");if(16==e.error_code||17==e.error_code){t.applyServerTime(bigStringInt(n).shiftRight(32).toString(10))&&this.updateSession();var s=this.updateSentMessage(e.bad_msg_id);this.pushResend(s.msg_id),this.ackMessage(n)}break;case"message":this.serverMessages.push(e.msg_id),this.processMessage(e.body,e.msg_id,i);
break;case"new_session_created":this.ackMessage(n),this.processMessageAck(e.first_msg_id),this.applyServerSalt(e.server_salt),this.onSessionCreate(i,n);break;case"msgs_ack":for(var a=0;a<e.msg_ids.length;a++)this.processMessageAck(e.msg_ids[a]);break;case"msg_detailed_info":if(!this.sentMessages[e.msg_id]){this.ackMessage(e.answer_msg_id);break}case"msg_new_detailed_info":this.reqResendMessage(e.answer_msg_id);break;case"rpc_result":this.ackMessage(n);var c=e.req_msg_id,o=this.sentMessages[c];if(this.processMessageAck(c),o){var l=o.deferred;if("rpc_error"==e.result._){var p=this.processError(e.result);console.log(dT(),"Rpc error",p),l&&l.reject(p)}else l&&(window._debugMode?console.log(dT(),"Rpc response",e.result):console.log(dT(),"Rpc response",e.result._),o.deferred.resolve(e.result)),o.isAPI&&(this.connectionInited=!0);delete this.sentMessages[c]}break;default:this.ackMessage(n),d&&d(e)}},{getNetworker:function(e,t,n,i){return new u(e,t,n,i)},setUpdatesProcessor:function(e){d=e}}}]).factory("MtpApiManager",["AppConfigManager","MtpAuthorizer","MtpNetworkerFactory","ErrorService","$q",function(e,t,n,i,r){function a(t,n){e.set({dc:t,user_auth:angular.extend({dcID:t},n)}),h=t}function o(){return c("auth.logOut").then(function(){e.remove("dc","user_auth"),h=!1},function(t){e.remove("dc","user_auth"),t&&401!=t.code&&e.remove("dc"+h+"_auth_key"),h=!1,t.handled=!0})}function s(i,a){a=a||{};var o=a.fileUpload||a.fileDownload?d:u;if(!i)throw new Exception("get Networker without dcID");if(void 0!==o[i])return r.when(o[i]);var s="dc"+i+"_auth_key",c="dc"+i+"_server_salt";return e.get(s,c).then(function(l){if(void 0!==o[i])return o[i];var p=l[0],u=l[1];if(p&&512==p.length){var d=bytesFromHex(p),f=bytesFromHex(u);return o[i]=n.getNetworker(i,d,f,a)}return a.createNetworker?t.auth(i).then(function(t){var r={};return r[s]=bytesToHex(t.authKey),r[c]=bytesToHex(t.serverSalt),e.set(r),o[i]=n.getNetworker(i,t.authKey,t.serverSalt,a)},function(e){return console.log("Get networker error",e,e.stack),r.reject(e)}):r.reject({type:"AUTH_KEY_EMPTY",code:401})})}function c(t,n,a){a=a||{};var o,l,p=r.defer(),u=function(e){e?angular.isObject(e)||(e={message:e}):e={type:"ERROR_EMPTY"},p.reject(e),a.noErrorBox||(e.input=t,e.stack=e.stack||m,setTimeout(function(){e.handled||(i.show({error:e}),e.handled=!0)},100))};l=(o=a.dcID)?s(o,a):e.get("dc").then(function(e){return s(o=e||1,a)});var d,m=!1;if(l.then(function(i){return(d=i).wrapApiCall(t,n,a).then(function(e){p.resolve(e)},function(l){if(console.error(dT(),"Error",l.code,l.type,h,o),401==l.code&&h&&o!=h){if(void 0===f[o]){var m=r.defer();c("auth.exportAuthorization",{dc_id:o},{noErrorBox:!0}).then(function(e){c("auth.importAuthorization",{id:e.id,bytes:e.bytes},{dcID:o,noErrorBox:!0}).then(function(){m.resolve()},function(e){m.reject(e)})},function(e){m.reject(e)}),f[o]=m.promise}f[o].then(function(){(d=i).wrapApiCall(t,n,a).then(function(e){p.resolve(e)},function(e){u(e)})},function(e){u(e)})}else if(303==l.code){var g=l.type.match(/^(PHONE_MIGRATE_|NETWORK_MIGRATE_)(\d+)/)[2];g!=o&&(a.dcID?a.dcID=g:e.set({dc:h=g}),s(g,a).then(function(e){e.wrapApiCall(t,n,a).then(function(e){p.resolve(e)},function(e){u(e)})}))}else u(l)})},function(e){u(e)}),!(m=m||(new Error).stack))try{window.unexistingFunction()}catch(g){m=g.stack||""}return p.promise}function l(){return e.get("user_auth").then(function(e){return e.id||0})}function p(){return h||!1}var u={},d={},f={},h=!1;return e.get("dc").then(function(e){e&&(h=e)}),{getBaseDcID:p,getUserID:l,invokeApi:c,setUserAuth:a,logOut:o}}]).factory("MtpApiFileManager",["MtpApiManager","$q","$window",function(e,t,n){function i(e,n,i){void 0===_[e]&&(_[e]=[],b[e]=0);var a=_[e],o=t.defer();return a.push({cb:n,deferred:o,activeDelta:i}),r(e),o.promise}function r(e){var t=_[e];if(b[e]>=w||!t||!t.length)return!1;var n=t.shift(),i=n.activeDelta||1;b[e]+=i;$++;n.cb().then(function(t){b[e]-=i,r(e),n.deferred.resolve(t)},function(t){b[e]-=i,r(e),n.deferred.reject(t)})}function a(){if(h)return h;if(n.requestFileSystem=n.requestFileSystem||n.webkitRequestFileSystem,!n.requestFileSystem)return h=t.reject({type:"FS_BROWSER_UNSUPPORTED",description:"requestFileSystem not present"});var e=t.defer();return n.requestFileSystem(n.TEMPORARY,5242880,function(t){f=t,e.resolve()},function(t){e.reject(t)}),h=e.promise}function o(e,n){var i=t.defer();return e.onwriteend=function(){i.resolve()},e.onerror=function(){i.reject()},e.write(new Blob([bytesToArrayBuffer(n)])),i.promise}function s(e){switch(e._){case"inputVideoFileLocation":return"video"+e.id+".mp4";case"inputDocumentFileLocation":return"doc"+e.id;case"inputAudioFileLocation":return"audio"+e.id}return e.volume_id||console.trace("Empty location",e),e.volume_id+"_"+e.local_id+"_"+e.secret+".jpg"}function c(e){if(!e)return!1;var t=s(e);return v[t]||!1}function l(e,n){var i=s(e);if(g[i])return g[i];var r,c=t.defer(),l=function(e){c.reject(e),r&&r.truncate(0),l=angular.noop};return a().then(function(){f.root.getFile(i,{create:!1},function(e){c.resolve(v[i]=e.toURL())},function(){f.root.getFile(i,{create:!0},function(e){e.createWriter(function(t){r=t,o(t,n).then(function(){c.resolve(v[i]=e.toURL())},l)},l)},l)})},function(){c.resolve("data:image/jpeg;base64,"+bytesToBase64(n))}),g[i]=c.promise}function p(n){var r=s(n),c=g[r]||y[r];if(c)return c;var l,p=t.defer(),u=function(e){p.reject(e),l&&l.truncate(0),u=angular.noop},d=function(){f.root.getFile(r,{create:!0},function(t){var a=i(n.dc_id,function(){return e.invokeApi("upload.getFile",{location:angular.extend({},n,{_:"inputFileLocation"}),offset:0,limit:0},{dcID:n.dc_id,fileDownload:!0,createNetworker:!0})});t.createWriter(function(e){l=e,a.then(function(n){o(e,n.bytes).then(function(){p.resolve(v[r]=t.toURL())},u)},u)},u)},u)};return a().then(function(){f.root.getFile(r,{create:!1},function(e){e.file(function(t){t.size?p.resolve(v[r]=e.toURL()):(console.log("Small file empty",t),d())},u)},d)},function(){i(n.dc_id,function(){return e.invokeApi("upload.getFile",{location:angular.extend({},n,{_:"inputFileLocation"}),offset:0,limit:0},{dcID:n.dc_id,fileDownload:!0,createNetworker:!0})}).then(function(e){p.resolve(v[r]="data:image/jpeg;base64,"+bytesToBase64(e.bytes))},u)}),y[r]=p.promise}function u(n,r,c,l,p){p=p||{},console.log(dT(),"Dload file",n,r,c);var u=s(r),d=g[u]||y[u];if(d)return d;var h,m=t.defer(),_=!1,b=!1,w=function(e){m.reject(e),h&&h.truncate(0),w=angular.noop},$=function(a){a.createWriter(function(s){h=s;for(var l,d=524288,f=t.when(),g=0;c>g;g+=d)l=t.defer(),function(l,f,h,g){return i(n,function(){return _?t.when():e.invokeApi("upload.getFile",{location:r,offset:f,limit:d},{dcID:n,fileDownload:!0,createNetworker:!0})},6).then(function(e){g.then(function(){return _?t.when():o(s,e.bytes).then(function(){h.resolve()},w).then(function(){l?(b=!0,m.resolve(v[u]=a.toURL(p.mime||"image/jpeg"))):m.notify({done:f+d,total:c})})})})}(g+d>=c,g,l,f),f=l.promise},w)};return l?$(l):a().then(function(){f.root.getFile(u,{create:!1},function(e){e.file(function(t){t.size>=c?(b=!0,m.resolve(v[u]=e.toURL())):(console.log("File bad size",t,c),f.root.getFile(u,{create:!0},$,w))},w)},function(){f.root.getFile(u,{create:!0},$,w)})},function(){for(var a,o=[],s=c>30400?524288:4096,l=t.when(),d=0;c>d;d+=s)a=t.defer(),function(a,l,d,f){return i(n,function(){return _?t.when():e.invokeApi("upload.getFile",{location:r,offset:l,limit:s},{dcID:n,fileDownload:!0,createNetworker:!0})},6).then(function(e){f.then(function(){if(_)return t.when();try{if(o.push(bytesToArrayBuffer(e.bytes)),d.resolve(),a){try{var n=new Blob(o,{type:p.mime||"image/jpeg"})}catch(i){window.BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder;var r=new BlobBuilder;angular.forEach(o,function(e){r.append(e)});var n=r.getBlob(p.mime||"image/jpeg")}window.URL=window.URL||window.webkitURL,b=!0,m.resolve(v[u]=URL.createObjectURL(n))}else m.notify({done:l+s,total:c})}catch(i){w(i)}},w)})}(d+s>=c,d,a,l),l=a.promise}),m.promise.cancel=function(){_||b||(_=!0,delete y[u],w({type:"DOWNLOAD_CANCELED"}))},y[u]=m.promise}function d(n){var i=n.size,r=i>102400?524288:30720,a=Math.ceil(i/r),o=!1,s=!1,c=0;if(a>1500)return t.reject({type:"FILE_TOO_BIG"});var l,p=[nextRandomInt(4294967295),nextRandomInt(4294967295)],u=t.defer(),d=function(e){u.reject(e),d=angular.noop},f=0,h={_:"inputFile",id:p,parts:a,name:n.name,md5_checksum:""},g=t.when();for(l=0;i>l;l+=r)!function(l,f){g=g.then(function(){var g=t.defer(),y=new FileReader,v=n.slice(l,l+r);return y.onloadend=function(t){if(!o&&t.target.readyState==FileReader.DONE){var n=m=m.then(function(){return e.invokeApi("upload.saveFilePart",{file_id:p,file_part:f,bytes:bytesFromArrayBuffer(t.target.result)},{startMaxLength:r+256,fileUpload:!0})},d);n.then(function(){c++,g.resolve(),c>=a?(u.resolve(h),s=!0):(console.log(dT(),"Progress",c*r/i),u.notify({done:c*r,total:i}))},d)}},y.readAsArrayBuffer(v),g.promise})}(l,f++);return u.promise.cancel=function(){console.log("cancel upload",o,s),o||s||(o=!0,d({type:"UPLOAD_CANCELED"}))},u.promise}var f=!1,h=!1,m=t.when(),g={},y={},v={},_={},b={},w=5,$=0;return{getCachedFile:c,downloadFile:u,downloadSmallFile:p,saveSmallFile:l,uploadFile:d}}]);var _logTimer=(new Date).getTime();window._testMode=location.search.indexOf("test=1")>0,window._debugMode=location.search.indexOf("debug=1")>0,window._osX=-1!=(navigator.platform||"").toLowerCase().indexOf("mac")||-1!=(navigator.userAgent||"").toLowerCase().indexOf("mac"),window._retina=window.devicePixelRatio>1,window._osX||$("body").addClass("non_osx"),$("body").addClass(window._retina?"is_2x":"is_1x"),$(window).on("load",function(){setTimeout(function(){window.scrollTo(0,1)},0)}),angular.module("myApp",["ngRoute","ngAnimate","ngSanitize","ui.bootstrap","pasvaz.bindonce","mtproto.services","myApp.filters","myApp.services","myApp.templates","myApp.directives","myApp.controllers"]).config(["$locationProvider","$routeProvider","$compileProvider",function(e,t,n){var i,r,a,o,s,c,l,p={},u={};for(r=0;r<Config.EmojiCategories.length;r++)for(l=Config.EmojiCategorySpritesheetDimens[r][1],i=0;i<Config.EmojiCategories[r].length;i++)o=Config.Emoji[Config.EmojiCategories[r][i]],a=o[1][0],s=Math.floor(i/l),c=i%l,p[":"+a+":"]=[r,s,c,":"+a+":"],u[a]=o[0];$.emojiarea.spritesheetPath="img/emojisprite_!.png",$.emojiarea.spritesheetDimens=Config.EmojiCategorySpritesheetDimens,$.emojiarea.iconSize=20,$.emojiarea.icons=p,$.emojiarea.reverseIcons=u,n.imgSrcSanitizationWhitelist(/^\s*(https?|ftp|file|blob|filesystem|chrome-extension|app):|data:image\//),n.aHrefSanitizationWhitelist(/^\s*(https?|ftp|file|mailto|blob|filesystem|chrome-extension|app):|data:image\//),t.when("/",{templateUrl:"partials/welcome.html",controller:"AppWelcomeController"}),t.when("/login",{templateUrl:"partials/login.html",controller:"AppLoginController"}),t.when("/im",{templateUrl:"partials/im.html",controller:"AppIMController",reloadOnSearch:!1}),t.otherwise({redirectTo:"/"})}]),angular.module("myApp.services",[]).service("AppConfigManager",["$q",function(e){function t(){for(var t=Array.prototype.slice.call(arguments),n=[],i=1==t.length,c=!0,l=0;l<t.length;l++)t[l]=r+t[l];if(angular.forEach(t,function(e){if(void 0!==a[e])n.push(a[e]);else if(s){var t=localStorage.getItem(e);t=void 0===t||null===t?!1:JSON.parse(t),n.push(a[e]=t)}else o?c=!1:n.push(a[e]=!1)}),c)return e.when(i?n[0]:n);var p=e.defer();return chrome.storage.local.get(t,function(e){n=[],angular.forEach(t,function(t){var i=e[t];i=void 0===i||null===i?!1:JSON.parse(i),n.push(a[t]=i)}),p.resolve(i?n[0]:n)}),p.promise}function n(t){var n={};if(angular.forEach(t,function(e,t){n[r+t]=JSON.stringify(e),a[r+t]=e}),s)return angular.forEach(n,function(e,t){localStorage.setItem(t,e)}),e.when();if(!o)return e.when();var i=e.defer();return chrome.storage.local.set(n,function(){i.resolve()}),i.promise}function i(){for(var t=Array.prototype.slice.call(arguments),n=0;n<t.length;n++)t[n]=r+t[n];if(angular.forEach(t,function(e){delete a[e]}),s)return angular.forEach(t,function(e){localStorage.removeItem(e)}),e.when();if(!o)return e.when();var i=e.defer();return chrome.storage.local.remove(t,function(){i.resolve()}),i.promise}var r=window._testMode?"t_":"",a={},o=!!(window.chrome&&chrome.storage&&chrome.storage.local),s=!o&&!!window.localStorage;return{get:t,set:n,remove:i}}]).service("AppUsersManager",["$rootScope","$modal","$modalStack","$filter","MtpApiFileManager","MtpApiManager","RichTextProcessor","SearchIndexManager",function(e,t,n,i,r,a,o,s){function c(){return $?$:$=a.invokeApi("contacts.getContacts",{hash:""}).then(function(e){var t,n;S=[],u(e.users);for(var n=0;n<e.contacts.length;n++)t=e.contacts[n].user_id,S.push(t),s.indexObject(t,l(t),C);return S})}function l(e){var t=x[e];return t?(t.first_name||"")+" "+(t.last_name||"")+" "+(t.phone||""):!1}function p(e){return c().then(function(t){if(angular.isString(e)&&e.length){for(var n=s.search(e,C),i=[],r=0;r<t.length;r++)n[t[r]]&&i.push(t[r]);t=i}return t})}function u(e){angular.forEach(e,d)}function d(e){angular.isObject(e)&&(e.phone&&(e.rPhone=i("phoneNumber")(e.phone)),e.first_name?(e.rFirstName=o.wrapRichText(e.first_name,{noLinks:!0,noLinebreaks:!0}),e.rFullName=o.wrapRichText(e.first_name+" "+(e.last_name||""),{noLinks:!0,noLinebreaks:!0})):(e.rFirstName=o.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"DELETED",e.rFullName=o.wrapRichText(e.last_name,{noLinks:!0,noLinebreaks:!0})||e.rPhone||"DELETED"),e.sortName=s.cleanSearchText(e.first_name+" "+(e.last_name||"")),e.sortStatus=e.status&&(e.status.expires||e.status.was_online)||0,void 0===x[e.id]?x[e.id]=e:safeReplaceObject(x[e.id],e),void 0!==M[e.id]&&safeReplaceObject(M[e.id],e&&e.photo&&e.photo.photo_small||{empty:!0}))}function f(e){return angular.isObject(e)?e:x[e]||{id:e,deleted:!0}}function h(e){return angular.isObject(x[e])}function m(e,t){var n=f(e);if(333e3==e)return{placeholder:"img/placeholders/[email protected]"};void 0===M[e]&&(M[e]=n&&n.photo&&n.photo.photo_small||{empty:!0});var i=Math.abs(e)%8+1;return{num:i,placeholder:"img/placeholders/"+t+"Avatar"+i+"@2x.png",location:M[e]}}function g(e){var t=f(e);return"u"+e+(t.access_hash?"_"+t.access_hash:"")}function y(e){var t=f(e);return t}function v(n){var i=e.$new();i.userID=n;t.open({templateUrl:"partials/user_modal.html",controller:"UserModalController",scope:i,windowClass:"user_modal_window"})}function _(e,t,n){return a.invokeApi("contacts.importContacts",{contacts:[{_:"inputPhoneContact",client_id:"1",phone:e,first_name:t,last_name:n}],replace:!1}).then(function(e){u(e.users);var t=!1;return angular.forEach(e.imported,function(e){w(t=e.user_id,!0)}),t})}function b(e){var t=[];return angular.forEach(e,function(e){t.push({_:"inputUserContact",user_id:e})}),a.invokeApi("contacts.deleteContacts",{id:t}).then(function(){angular.forEach(e,function(e){w(e,!1)})})}function w(e,t){if(angular.isArray(S)){var n=i=S.indexOf(e),i=-1!=n;t!=i&&(t?(S.push(e),s.indexObject(e,l(e),C)):S.splice(n,1))}}var $,S,x={},M={},C=s.createIndex();return e.openUser=v,e.$on("apiUpdate",function(t,n){switch(n._){case"updateUserStatus":var i=n.user_id,r=x[i];r&&(r.status=n.status,r.sortStatus=n.status&&(n.status.expires||n.status.was_online)||0,e.$broadcast("user_update",i));break;case"updateUserPhoto":var i=n.user_id;x[i]&&(safeReplaceObject(x[i].photo,n.photo),void 0!==M[i]&&safeReplaceObject(M[i],n.photo&&n.photo.photo_small||{empty:!0}),e.$broadcast("user_update",i));break;case"updateContactLink":w(n.user_id,"contacts.myLinkContact"==n.my_link._)}}),{getContacts:p,saveApiUsers:u,saveApiUser:d,getUser:f,getUserPhoto:m,getUserString:g,getUserSearchText:l,hasUser:h,importContact:_,deleteContacts:b,wrapForFull:y,openUser:v}}]).service("AppChatsManager",["$rootScope","$modal","MtpApiFileManager","MtpApiManager","AppUsersManager","RichTextProcessor",function(e,t,n,i,r,a){function o(e){angular.forEach(e,s)}function s(e){angular.isObject(e)&&(e.rTitle=a.wrapRichText(e.title,{noLinks:!0,noLinebreaks:!0})||"DELETED",void 0===h[e.id]?h[e.id]=e:safeReplaceObject(h[e.id],e),void 0!==m[e.id]&&safeReplaceObject(m[e.id],e&&e.photo&&e.photo.photo_small||{empty:!0}))}function c(e){return h[e]||{id:e,deleted:!0}}function l(e){return angular.isObject(h[e])}function p(e,t){var n=c(e);return void 0===m[e]&&(m[e]=n&&n.photo&&n.photo.photo_small||{empty:!0}),{placeholder:"img/placeholders/"+t+"Avatar"+(Math.abs(e)%4+1)+"@2x.png",location:m[e]}}function u(e){c(e);return"g"+e}function d(e,t){var n=angular.copy(t),a=c(e);return n.participants&&"chatParticipants"==n.participants._&&i.getUserID().then(function(e){angular.forEach(n.participants.participants,function(t){t.user=r.getUser(t.user_id),t.userPhoto=r.getUserPhoto(t.user_id,"User"),t.inviter=r.getUser(t.inviter_id),t.canKick=e!=t.user_id&&(e==n.participants.admin_id||e==t.inviter_id)})}),n.thumb={placeholder:"img/placeholders/GroupAvatar"+(Math.abs(e)%4+1)+"@2x.png",location:a&&a.photo&&a.photo.photo_small,width:120,height:120,size:0},n.peerString=u(e),n.chat=a,n}function f(n){var i=e.$new();i.chatID=n;t.open({templateUrl:"partials/chat_modal.html",controller:"ChatModalController",windowClass:"chat_modal_window",scope:i})}var h={},m={};return e.openChat=f,{saveApiChats:o,saveApiChat:s,getChat:c,getChatPhoto:p,getChatString:u,hasChat:l,wrapForFull:d,openChat:f}}]).service("AppPeersManager",["AppUsersManager","AppChatsManager",function(e,t){return{getInputPeer:function(e){var t="u"==e.charAt(0),n=e.substr(1).split("_");return t?{_:"inputPeerForeign",user_id:n[0],access_hash:n[1]}:{_:"inputPeerChat",chat_id:n[0]}},getInputPeerByID:function(t){return t>0?{_:"inputPeerForeign",user_id:t,access_hash:e.getUser(t).access_hash||0}:0>t?{_:"inputPeerChat",chat_id:-t}:void 0},getPeerSearchText:function(n){var i;if(n>0)i=e.getUserSearchText(n);else if(0>n){var r=t.getChat(-n);i=r.title||""}return i},getOutputPeer:function(e){return e>0?{_:"peerUser",user_id:e}:{_:"peerChat",chat_id:-e}},getPeerID:function(e){if(angular.isObject(e))return e.user_id?e.user_id:-e.chat_id;var t="u"==e.charAt(0),n=e.substr(1).split("_");return t?n[0]:-n[0]||0},getPeer:function(n){return n>0?e.getUser(n):t.getChat(-n)},getPeerPhoto:function(n,i,r){return n>0?e.getUserPhoto(n,i):t.getChatPhoto(-n,r)}}}]).service("SearchIndexManager",function(){function e(){return{shortIndexes:{},fullTexts:{}}}function t(e){e=e.replace(r," ").replace(a,"").toLowerCase();for(var t in o)o.hasOwnProperty(t)&&(e=e.replace(o[t],t));return e}function n(e,n,i){if(void 0!==i.fullTexts[e])return!1;if(n=t(n),!n.length)return!1;var r=i.shortIndexes;i.fullTexts[e]=n,angular.forEach(n.split(" "),function(t){var n,i,a=Math.min(t.length,3);for(i=1;a>=i;i++)n=t.substr(0,i),void 0===r[n]?r[n]=[e]:r[n].push(e)})}function i(e,n){console.time("search");var i=n.shortIndexes,r=n.fullTexts;e=t(e);var a,o,s,c,l,p=e.split(" "),u=!1;for(o=0;o<p.length;o++){if(a=i[p[o].substr(0,3)],!a){u=[];break}(u===!1||u.length>a.length)&&(u=a)}for(a={},s=0;s<u.length;s++){for(l=!0,c=r[u[s]],o=0;o<p.length;o++)if(-1==c.indexOf(p[o])){l=!1;break}l&&(a[u[s]]=!0)}return console.timeEnd("search"),a}var r=/[`~!@#$%^&*()\-_=+\[\]\\|{}'";:\/?.>,<\s]+/g,a=/^\s+|\s$/g,o={a:/[áâäà]/g,e:/[éêëè]/g,i:/[íîïì]/g,o:/[óôöò]/g,u:/[úûüù]/g,c:/ç/g,ss:/ß/g};return{createIndex:e,indexObject:n,cleanSearchText:t,search:i}}).service("AppMessagesManager",["$q","$rootScope","$location","$filter","ApiUpdatesManager","AppUsersManager","AppChatsManager","AppPeersManager","AppPhotosManager","AppVideoManager","AppDocsManager","AppAudioManager","MtpApiManager","MtpApiFileManager","RichTextProcessor","NotificationsManager","SearchIndexManager",function(e,t,n,i,r,a,o,s,c,l,p,u,d,f,h,m,g){function y(t,n,i){var r=j;if(angular.isString(t)&&t.length){if(!i||Z.query!==t){Z.query=t;var c=g.search(t,X);Z.dialogs=[],angular.forEach(j.dialogs,function(e){c[e.peerID]&&Z.dialogs.push(e)}),Z.count=Z.dialogs.length}r=Z}else Z.query=!1;var l=0;if(n>0)for(l=0;l<r.dialogs.length&&!(n>r.dialogs[l].top_message);l++);return null!==r.count&&r.dialogs.length==r.count||r.dialogs.length>=l+(i||1)?e.when({count:r.count,dialogs:r.dialogs.slice(l,l+(i||20))}):(i=i||20,d.invokeApi("messages.getDialogs",{offset:l,limit:i,max_id:n||0}).then(function(e){if(a.saveApiUsers(e.users),o.saveApiChats(e.chats),C(e.messages),n>0)for(l=0;l<r.dialogs.length&&!(n>r.dialogs[l].top_message);l++);return r.count="messages.dialogsSlice"==e._?e.count:e.dialogs.length,r.dialogs.splice(l,r.dialogs.length-l),angular.forEach(e.dialogs,function(e){var t=s.getPeerID(e.peer),n=s.getPeerSearchText(t);g.indexObject(t,n,X),r.dialogs.push({peerID:t,top_message:e.top_message,unread_count:e.unread_count}),void 0===q[t]&&(q[t]={count:null,history:[e.top_message],pending:[]}),m.savePeerSettings(t,e.notify_settings)}),{count:r.count,dialogs:r.dialogs.slice(l,l+i)}}))}function v(e,t,n,i){return console.log("fill history storage",e,t,n,angular.copy(i)),d.invokeApi("messages.getHistory",{peer:e,offset:0,limit:n,max_id:t||0}).then(function(r){a.saveApiUsers(r.users),o.saveApiChats(r.chats),C(r.messages),i.count="messages.messagesSlice"==r._?r.count:r.messages.length;var s=0;if(t>0)for(s=0;s<i.history.length&&!(t>i.history[s]);s++);return i.history.splice(s,i.history.length-s),angular.forEach(r.messages,function(e){i.history.push(e.id)}),n-=r.messages.length,n>0&&i.history.length<i.count?(t=i.history[i.history.length-1],v(e,t,n,i)):!0})}function _(t,n,i){var r=s.getPeerID(t),a=q[r],o=0,c=[];void 0===a?a=q[r]={count:null,history:[],pending:[]}:!n&&a.pending.length&&(c=a.pending.slice());var l=!1;if(!i&&!n){var p=B(r);p&&p[0]&&p[0].unread_count>1&&(l=Math.min(1e3,p[0].unread_count),i=l)}if(n>0)for(o=0;o<a.history.length&&!(n>a.history[o]);o++);return null!==a.count&&a.history.length==a.count||a.history.length>=o+(i||1)?e.when({count:a.count,history:c.concat(a.history.slice(o,o+(i||20))),unreadLimit:l}):(l&&(i=Math.max(20,l+2)),i=i||20,v(t,n,i,a).then(function(){if(o=0,n>0)for(o=0;o<a.history.length&&!(n>a.history[o]);o++);return{count:a.count,history:c.concat(a.history.slice(o,o+i)),unreadLimit:l}}))}function b(t,n,i,r,c){var l=[];if(!r&&!n){var p=s.getPeerID(t),u=q[p];if(void 0!==u&&u.history.length){var f,h,m={},g=c||20;switch(i._){case"inputMessagesFilterPhotos":m.messageMediaPhoto=!0;break;case"inputMessagesFilterVideo":m.messageMediaVideo=!0;break;case"inputMessagesFilterPhotoVideo":m.messageMediaPhoto=!0,m.messageMediaVideo=!0;break;case"inputMessagesFilterDocument":m.messageMediaDocument=!0}for(f=0;f<u.history.length&&(h=O[u.history[f]],!(h.media&&m[h.media._]&&(l.push(h.id),l.length>=g)));f++);}}return l.length||1e3==c?e.when({count:null,history:l}):d.invokeApi("messages.search",{peer:t,q:n||"",filter:i||{_:"inputMessagesFilterEmpty"},min_date:0,max_date:0,limit:c||20,max_id:r||0}).then(function(e){a.saveApiUsers(e.users),o.saveApiChats(e.chats),C(e.messages);var t="messages.messagesSlice"==e._?e.count:e.messages.length;return l=[],angular.forEach(e.messages,function(e){l.push(e.id)}),{count:t,history:l}})}function w(e){return O[e]||{deleted:!0}}function $(e){return d.invokeApi("messages.deleteMessages",{id:e}).then(function(e){return r.saveUpdate({_:"updateDeleteMessages",messages:e}),e})}function S(t,n,i){return r.saveSeq(n.seq)?n.offset?d.invokeApi(i,{peer:t,offset:n.offset,max_id:0}).then(function(e){return S(t,e,i)}):e.when():!1}function x(e){var n=s.getPeerID(e),i=q[n],r=B(n);if(!r[0]||!r[0].unread_count){if(!i||!i.history.length)return!1;var a,o,c=!1;for(p=i.history.length;p>=0;p--)if(a=i.history[p],o=O[a],o&&!o.out&&o.unread){c=!0;break}if(!c)return!1}var l=d.invokeApi("messages.readHistory",{peer:e,offset:0,max_id:0}).then(function(t){return S(e,t,"messages.readHistory")}).then(function(){r[0]&&(r[0].unread_count=0,t.$broadcast("dialog_unread",{peerID:n,count:0}))});if(i&&i.history.length){var a,o,p,n,r;for(p=0;p<i.history.length;p++)a=i.history[p],o=O[a],o&&!o.out&&(o.unread=!1,F[a]&&(F[a].unread=!1),R[a]&&(R[a].unread=!1))}return l}function M(e){{var n=s.getPeerID(e);q[n]}return d.invokeApi("messages.deleteHistory",{peer:e,offset:0}).then(function(t){return S(e,t,"messages.deleteHistory")}).then(function(){var e=B(n);e[0]&&j.dialogs.splice(e[1],1),delete q[n],t.$broadcast("dialog_flush",{peerID:n})})}function C(e){angular.forEach(e,function(e){O[e.id]=e,e.media&&"messageMediaPhoto"==e.media._&&c.savePhoto(e.media.photo),e.media&&"messageMediaVideo"==e.media._&&l.saveVideo(e.media.video),e.media&&"messageMediaDocument"==e.media._&&p.saveDoc(e.media.document),e.media&&"messageMediaAudio"==e.media._&&u.saveAudio(e.media.audio),e.action&&"messageActionChatEditPhoto"==e.action._&&c.savePhoto(e.action.photo)})}function k(e,n){var i,a=G--,o=[nextRandomInt(4294967295),nextRandomInt(4294967295)],c=bigint(o[0]).shiftLeft(32).add(bigint(o[1])).toString(),l=q[e],p=s.getInputPeerByID(e);void 0===l&&(l=q[e]={count:null,history:[],pending:[]}),d.getUserID().then(function(u){i={_:"message",id:a,from_id:u,to_id:s.getOutputPeer(e),out:!0,unread:!0,date:tsNow()/1e3,message:n,media:{_:"messageMediaEmpty"},random_id:c,pending:!0};var f=function(e){var t=F[a];e?(i.error=!0,t&&(t.error=!0)):(delete i.error,t&&delete t.error)};i.send=function(){f(!1);var t={};V[e]&&(t.afterMessageID=V[e].messageID),d.invokeApi("messages.sendMessage",{peer:p,message:n,random_id:o},t).then(function(n){V[e]===t&&delete V[e],r.saveSeq(n.seq)&&(r.saveUpdate({_:"updateMessageID",random_id:c,id:n.id}),i.date=n.date,i.id=n.id,r.saveUpdate({_:"updateNewMessage",message:i,pts:n.pts}))},function(){f(!0)}),V[e]=t},C([i]),l.pending.unshift(a),t.$broadcast("history_append",{peerID:e,messageID:a,my:!0}),i.send()}),H[c]=[e,a]}function T(n,i,a){a=a||{};var o,c,l=G--,p=[nextRandomInt(4294967295),nextRandomInt(4294967295)],u=bigint(p[0]).shiftLeft(32).add(bigint(p[1])).toString(),h=q[n],m=s.getInputPeerByID(n);a.isMedia?["image/jpeg","image/png","image/bmp"].indexOf(i.type)>=0?(o="photo",c="photo."+i.type.split("/")[1]):"video/"==i.type.substr(0,6)?(o="video",c="video.mp4"):"audio/mpeg"==i.type||"audio/mp3"==i.type?(o="audio",c="audio.mp3"):(o="document",c="document."+i.type.split("/")[1]):(o="document",c="document."+i.type.split("/")[1]),i.name||(i.name=c),void 0===h&&(h=q[n]={count:null,history:[],pending:[]}),d.getUserID().then(function(a){var c={_:"messageMediaPending",type:o,file_name:i.name,size:i.size,progress:{percent:1,total:i.size}},g={_:"message",id:l,from_id:a,to_id:s.getOutputPeer(n),out:!0,unread:!0,date:tsNow()/1e3,message:"",media:c,random_id:u,pending:!0},y=function(e){var t=F[l];e?(g.error=!0,t&&(t.error=!0)):(delete g.error,t&&delete t.error)};g.send=function(){var a=e.defer();W.then(function(){var e=!1,s=f.uploadFile(i);s.then(function(t){e=!0;var n;switch(o){case"photo":n={_:"inputMediaUploadedPhoto",file:t};break;case"video":n={_:"inputMediaUploadedVideo",file:t,duration:0,w:0,h:0};break;case"audio":n={_:"inputMediaUploadedAudio",file:t,duration:0};break;case"document":default:n={_:"inputMediaUploadedDocument",file:t,file_name:i.name,mime_type:i.type}}d.invokeApi("messages.sendMedia",{peer:m,media:n,random_id:p}).then(function(e){r.saveSeq(e.seq)&&(r.saveUpdate({_:"updateMessageID",random_id:u,id:e.message.id}),g.date=e.message.date,g.id=e.message.id,g.media=e.message.media,r.saveUpdate({_:"updateNewMessage",message:g,pts:e.pts}))},function(){y(!0)})},function(){y(!0)},function(e){c.progress.done=e.done,c.progress.percent=Math.max(1,Math.floor(100*e.done/e.total)),t.$broadcast("history_update",{peerID:n})}),c.progress.cancel=function(){e||(a.resolve(),s.cancel(),D(u))},s["finally"](function(){a.resolve()})}),W=a.promise},C([g]),h.pending.unshift(l),t.$broadcast("history_append",{peerID:n,messageID:l,my:!0}),g.send()}),H[u]=[n,l]}function A(e,n){var i=G--,a=[nextRandomInt(4294967295),nextRandomInt(4294967295)],o=bigint(a[0]).shiftLeft(32).add(bigint(a[1])).toString(),c=q[e],l=s.getInputPeerByID(e);void 0===c&&(c=q[e]={count:null,history:[],pending:[]}),d.getUserID().then(function(p){var u;switch(n._){case"inputMediaContact":u=angular.extend({},n,{_:"messageMediaContact"})}var f={_:"message",id:i,from_id:p,to_id:s.getOutputPeer(e),out:!0,unread:!0,date:tsNow()/1e3,message:"",media:u,random_id:o,pending:!0},h=function(e){var t=F[i];e?(f.error=!0,t&&(t.error=!0)):(delete f.error,t&&delete t.error)};f.send=function(){d.invokeApi("messages.sendMedia",{peer:l,media:n,random_id:a}).then(function(e){r.saveSeq(e.seq)&&(r.saveUpdate({_:"updateMessageID",random_id:o,id:e.message.id}),f.date=e.message.date,f.id=e.message.id,f.media=e.message.media,r.saveUpdate({_:"updateNewMessage",message:f,pts:e.pts}))},function(){h(!0)})},C([f]),c.pending.unshift(i),t.$broadcast("history_append",{peerID:e,messageID:i,my:!0}),f.send()}),H[o]=[e,i]}function E(e,t){return d.invokeApi("messages.forwardMessages",{peer:s.getInputPeerByID(e),id:t}).then(function(e){a.saveApiUsers(e.users),o.saveApiChats(e.chats),r.saveSeq(e.seq)&&angular.forEach(e.messages,function(t){r.saveUpdate({_:"updateNewMessage",message:t,pts:e.pts})})})}function D(e){var t=H[e];if(console.log("pending",e,t),t){var n,i=t[0],a=t[1],o=q[i];for(r.saveUpdate({_:"updateDeleteMessages",messages:[a]}),n=0;n<o.pending.length;n++)if(o.pending[n]==a){o.pending.splice(n,1);break}return delete F[a],delete O[a],!0}return!1}function I(e,t){var n=H[e];if(n){var i,r=n[0],a=n[1],o=q[r],s=!1,c=!1;for(i=0;i<o.pending.length;i++)if(o.pending[i]==a){o.pending.splice(i,1);break}return(s=O[a])&&(delete s.pending,delete s.error,delete s.random_id,delete s.send),(c=F[a])&&(F[t.id]=angular.extend(c,L(t.id)),delete c.pending,delete c.error,delete c.random_id,delete c.send),delete F[a],delete O[a],s}return!1}function P(e){var t=e.to_id&&s.getPeerID(e.to_id)||0;return 0>t?t:e.out?t:e.from_id}function N(e,t){if(void 0!==R[e])return R[e];var n=angular.copy(O[e])||{id:e};return n.fromUser=a.getUser(n.from_id),(n.chatID=n.to_id.chat_id)?(n.peerID=-n.chatID,n.peerData=o.getChat(n.chatID),n.peerString=o.getChatString(n.chatID)):(n.peerID=n.out?n.to_id.user_id:n.from_id,n.peerData=a.getUser(n.peerID),n.peerString=a.getUserString(n.peerID)),n.peerPhoto=s.getPeerPhoto(n.peerID,"User","Group"),n.unreadCount=t,"messageService"==n._&&n.action.user_id&&(n.action.user=a.getUser(n.action.user_id)),n.message&&n.message.length&&(n.richMessage=h.wrapRichText(n.message.substr(0,64),{noLinks:!0,noLinebreaks:!0})),n.dateText=i("dateOrTime")(n.date),R[e]=n}function L(e){if(void 0!==F[e])return F[e];var t=angular.copy(O[e])||{id:e};if(t.media&&void 0!==t.media.progress&&(t.media.progress=O[e].media.progress),t.fromUser=a.getUser(t.from_id),t.fromPhoto=a.getUserPhoto(t.from_id,"User"),"messageForwarded"==t._&&(t.fwdUser=a.getUser(t.fwd_from_id)),t.media){switch(t.media._){case"messageMediaPhoto":t.media.photo=c.wrapForHistory(t.media.photo.id);break;case"messageMediaVideo":t.media.video=l.wrapForHistory(t.media.video.id);break;case"messageMediaDocument":t.media.document=p.wrapForHistory(t.media.document.id);break;case"messageMediaAudio":t.media.audio=u.wrapForHistory(t.media.audio.id);break;case"messageMediaContact":t.media.rFullName=h.wrapRichText(t.media.first_name+" "+(t.media.last_name||""),{noLinks:!0,noLinebreaks:!0})}t.media.user_id&&(t.media.user=a.getUser(t.media.user_id),t.media.userPhoto=a.getUserPhoto(t.media.user_id,"User"))}else if(t.action){switch(t.action._){case"messageActionChatEditPhoto":t.action.photo=c.wrapForHistory(t.action.photo.id);break;case"messageActionChatCreate":case"messageActionChatEditTitle":t.action.rTitle=h.wrapRichText(t.action.title,{noLinks:!0,noLinebreaks:!0})||"DELETED"}t.action.user_id&&(t.action.user=a.getUser(t.action.user_id),t.action.userPhoto=a.getUserPhoto(t.action.user_id,"User"))}return t.message&&t.message.length&&(t.richMessage=h.wrapRichText(t.message)),F[e]=t}function B(e){for(var t=0;t<j.dialogs.length;t++)if(j.dialogs[t].peerID==e)return[j.dialogs[t],t];return[]}function U(e){var n,i,r=P(e),s=a.getUser(e.from_id),c=a.getUserPhoto(e.from_id,"User"),l={},p=!1;if(e.message)p=e.message;else if(e.media&&"messageMediaEmpty"!=e.media._)switch(e.media._){case"messageMediaPhoto":p="Photo";
break;case"messageMediaVideo":p="Video";break;case"messageMediaDocument":p="Document";break;case"messageMediaGeo":p="Location";break;case"messageMediaContact":p="Contact";break;default:p="Attachment"}else if("messageService"==e._)switch(e.action._){case"messageActionChatCreate":p="created the group";break;case"messageActionChatEditTitle":p="changed group name";break;case"messageActionChatEditPhoto":p="changed group photo";break;case"messageActionChatDeletePhoto":p="removed group photo";break;case"messageActionChatAddUser":p="invited user";break;case"messageActionChatDeleteUser":p="kicked user"}r>0?(l.title=(s.first_name||"")+(s.first_name&&s.last_name?" ":"")+(s.last_name||""),i=c,n=a.getUserString(r)):(l.title=(s.first_name||s.last_name||"Somebody")+" @ "+(o.getChat(-r).title||"Unknown chat"),i=o.getChatPhoto(-r,"Group"),n=o.getChatString(-r)),l.onclick=function(){t.$broadcast("history_focus",{peerString:n})},l.message=p,l.image=i.placeholder,l.key="msg"+e.id,l.tag=n,i.location&&!i.location.empty?f.downloadSmallFile(i.location,i.size).then(function(t){l.image=t,e.unread&&m.notify(l)}):m.notify(l)}var O={},F={},R={},q={},j={count:null,dialogs:[]},H={},z={},V={},W=e.when(),G=-1,X=g.createIndex(),Z={query:!1};return m.start(),t.$on("apiUpdate",function(e,n){switch(n._){case"updateMessageID":z[n.id]=n.random_id;break;case"updateNewMessage":var i=n.message,r=P(i),a=q[r];if(void 0!==a){var o=q[r].history[0];if(i.id<=o)return!1}else a=q[r]={count:null,history:[],pending:[]};C([i]),null!==a.count&&a.count++,a.history.unshift(i.id);var c,l=z[i.id];l&&((c=I(l,i))&&t.$broadcast("history_update",{peerID:r}),delete z[i.id]),c||t.$broadcast("history_append",{peerID:r,messageID:i.id});var p,u=B(r);u.length?(p=u[0],j.dialogs.splice(u[1],1)):p={peerID:r,unread_count:0,top_message:!1},!i.out&&i.unread&&p.unread_count++,p.top_message=i.id,g.indexObject(r,s.getPeerSearchText(r),X),j.dialogs.unshift(p),t.$broadcast("dialogs_update",p),t.idle.isIDLE&&!i.out&&i.unread&&m.getPeerMuted(r).then(function(e){i.unread&&!e&&U(i)});break;case"updateReadMessages":var d,i,f,r,u,p,h={};for(f=0;f<n.messages.length;f++)d=n.messages[f],i=O[d],i&&i.unread&&(i.unread=!1,F[d]&&(F[d].unread=!1),R[d]&&(R[d].unread=!1),r=P(i),i.out||(u=B(r),u&&(h[r]=--u[0].unread_count),m.cancel("msg"+d)));angular.forEach(h,function(e,n){t.$broadcast("dialog_unread",{peerID:n,count:e})});break;case"updateDeleteMessages":var d,i,f,r,u,p,y,h={},v={};for(f=0;f<n.messages.length;f++)d=n.messages[f],i=O[d],i&&(r=P(i),y=v[r]||(v[r]={count:0,unread:0,msgs:{}}),!i.out&&i.unread&&(y.unread++,m.cancel("msg"+d)),y.count++,y.msgs[d]=!0,F[d]&&(F[d].DELETED=!0,delete F[d]),R[d]&&(R[d].DELETED=!0,delete R[d]),i.DELETED=!0,delete O[d]);angular.forEach(v,function(e,n){var i=B(n);i&&e.unread&&(i[0].unread_count-=e.unread,t.$broadcast("dialog_unread",{peerID:n,count:i[0].unread_count}));var r=q[n];if(void 0!==r){for(var a=[],o=[],s=0;s<r.history.length;s++)e.msgs[r.history[s]]||a.push(r.history[s]);r.history=a;for(var s=0;s<r.pending.length;s++)e.msgs[r.pending[s]]||o.push(r.pending[s]);r.pending=o,t.$broadcast("history_delete",{peerID:n,msgs:e.msgs})}})}}),{getDialogs:y,getHistory:_,getSearch:b,getMessage:w,readHistory:x,flushHistory:M,deleteMessages:$,saveMessages:C,sendText:k,sendFile:T,sendOther:A,forwardMessages:E,getMessagePeer:P,wrapForDialog:N,wrapForHistory:L}}]).service("AppPhotosManager",["$modal","$window","$rootScope","MtpApiFileManager","AppUsersManager",function(e,t,n,i,r){function a(e){u[e.id]=e,angular.forEach(e.sizes,function(e){"photoCachedSize"==e._&&(i.saveSmallFile(e.location,e.bytes),e.size=e.bytes.length,delete e.bytes,e._="photoSize")})}function o(e,t,n){var i={_:"photoSizeEmpty"},r=16777215;return angular.forEach(e.sizes,function(e){var a=Math.abs(e.w*e.h-t*n);r>a&&(i=e,r=a)}),i}function s(e){var t=angular.copy(u[e])||{_:"photoEmpty"},n=260,i=260,r=o(t,n,i),a={placeholder:"img/placeholders/PhotoThumbConversation.gif",width:n,height:i};return r&&"photoSizeEmpty"!=r._?(r.w>r.h?a.height=parseInt(r.h*n/r.w):a.width=parseInt(r.w*i/r.h),a.location=r.location,a.size=r.size):(a.width=100,a.height=100),t.thumb=a,t}function c(e){if(u[e]){var n=u[e],r=$(window).width()-36,a=$(t).height()-150,s=o(n,r,a);s&&!s.preloaded&&(s.preloaded=!0,s.size?i.downloadFile(s.location.dc_id,{_:"inputFileLocation",volume_id:s.location.volume_id,local_id:s.location.local_id,secret:s.location.secret},s.size):i.downloadSmallFile(s.location))}}function l(e){var n=s(e),i=$(window).width()-36,a=$(t).height()-150,c=o(n,i,a),l={placeholder:"img/placeholders/PhotoThumbModal.gif"};return i>800&&(i-=200),l.width=i,l.height=a,c&&"photoSizeEmpty"!=c._&&(c.w/c.h>i/a?l.height=parseInt(c.h*i/c.w):(l.width=parseInt(c.w*a/c.h),l.width>i&&(l.height=parseInt(l.height*i/l.width),l.width=i)),l.width>=c.w&&l.height>=c.h&&(l.width=c.w,l.height=c.h),l.modalWidth=Math.max(l.width,Math.min(400,i)),l.location=c.location,l.size=c.size),n.full=l,n.fromUser=r.getUser(n.user_id),n}function p(t,i){var r=n.$new(!0);r.photoID=t,r.messageID=i;e.open({templateUrl:"partials/photo_modal.html",controller:"PhotoModalController",scope:r,windowClass:"photo_modal_window"})}var u={};return n.preloadPhoto=c,n.openPhoto=p,{savePhoto:a,preloadPhoto:c,wrapForHistory:s,wrapForFull:l,openPhoto:p}}]).service("AppVideoManager",["$rootScope","$modal","$window","$timeout","MtpApiFileManager","AppUsersManager",function(e,t,n,i,r,a){function o(e){u[e.id]=e,e.thumb&&"photoCachedSize"==e.thumb._&&(r.saveSmallFile(e.thumb.location,e.thumb.bytes),e.thumb.size=e.thumb.bytes.length,delete e.thumb.bytes,e.thumb._="photoSize")}function s(e){if(void 0!==d[e])return d[e];var t=angular.copy(u[e]),n=200,i=200,r=t.thumb,a={placeholder:"img/placeholders/VideoThumbConversation.gif",width:n,height:i};return r&&"photoSizeEmpty"!=r._&&(r.w>r.h?a.height=parseInt(r.h*n/r.w):a.width=parseInt(r.w*i/r.h),a.location=r.location,a.size=r.size),t.thumb=a,d[e]=t}function c(e){var t=s(e),i=Math.min($(window).width()-60,542),r=$(n).height()-150,o={placeholder:"img/placeholders/VideoThumbModal.gif",width:i,height:r};return t.w&&t.h?t.w>t.h?o.height=parseInt(t.h*i/t.w):(o.width=parseInt(t.w*r/t.h),o.width>i&&(o.height=parseInt(o.height*i/o.width),o.width=i)):o.height=o.width=Math.min(i,r),t.full=o,t.fullThumb=angular.copy(t.thumb),t.fullThumb.width=o.width,t.fullThumb.height=o.height,t.fromUser=a.getUser(t.user_id),t}function l(n,i){var r=e.$new(!0);r.videoID=n,r.messageID=i;t.open({templateUrl:"partials/video_modal.html",controller:"VideoModalController",scope:r})}function p(t,n,a){function o(t){console.log("dl progress",t),c.progress.done=t.done,c.progress.percent=Math.max(1,Math.floor(100*t.done/t.total)),e.$broadcast("history_update")}var s=u[t],c=d[t]||s||{},l={_:"inputVideoFileLocation",id:t,access_hash:n||s.access_hash};c.progress={enabled:!0,percent:1,total:s.size};var p="mp4",f="video/mpeg4",h="video"+t+"."+p;if(window.chrome&&chrome.fileSystem&&chrome.fileSystem.chooseEntry)chrome.fileSystem.chooseEntry({type:"saveFile",suggestedName:h,accepts:[{mimeTypes:[f],extensions:[p]}]},function(e){var t=r.downloadFile(s.dc_id,l,s.size,e,{mime:f});t.then(function(){delete c.progress,console.log("file save done")},function(e){console.log("video download failed",e),c.progress.enabled=!1},o),c.progress.cancel=t.cancel});else{var m=r.downloadFile(s.dc_id,l,s.size,null,{mime:f});m.then(function(e){if(delete c.progress,a)return void window.open(e,"_blank");var t=$("<a>Download</a>").css({position:"absolute",top:1,left:1}).attr("href",e).attr("target","_blank").attr("download",h).appendTo("body");t[0].dataset.downloadurl=[f,h,e].join(":"),t[0].click(),i(function(){t.remove()},100)},function(e){console.log("video download failed",e),c.progress.enabled=!1},o),c.progress.cancel=m.cancel}}var u={},d={};return e.openVideo=l,e.downloadVideo=p,{saveVideo:o,wrapForHistory:s,wrapForFull:c,openVideo:l}}]).service("AppDocsManager",["$rootScope","$modal","$window","$timeout","MtpApiFileManager",function(e,t,n,i,r){function a(e){c[e.id]=e,e.thumb&&"photoCachedSize"==e.thumb._&&(r.saveSmallFile(e.thumb.location,e.thumb.bytes),e.thumb.size=e.thumb.bytes.length,delete e.thumb.bytes,e.thumb._="photoSize")}function o(e){if(void 0!==l[e])return l[e];var t=angular.copy(c[e]),n=100,i=100,r=t.thumb,a={width:n,height:i};return r&&"photoSizeEmpty"!=r._?(r.w>r.h?a.height=parseInt(r.h*n/r.w):a.width=parseInt(r.w*i/r.h),a.location=r.location,a.size=r.size):a=!1,t.thumb=a,t.canDownload=!(window.chrome&&chrome.fileSystem&&chrome.fileSystem.chooseEntry),t.withPreview=t.canDownload&&t.mime_type.match(/^(image\/|application\/pdf)/),l[e]=t}function s(t,n,a){function o(t){console.log("dl progress",t),p.progress.done=t.done,p.progress.percent=Math.max(1,Math.floor(100*t.done/t.total)),e.$broadcast("history_update")}var s=c[t],p=l[t]||s||{},u={_:"inputDocumentFileLocation",id:t,access_hash:n||s.access_hash};if(p.progress={enabled:!0,percent:1,total:s.size},window.chrome&&chrome.fileSystem&&chrome.fileSystem.chooseEntry){var d=(s.file_name.split(".",2)||[])[1]||"";chrome.fileSystem.chooseEntry({type:"saveFile",suggestedName:s.file_name,accepts:[{mimeTypes:[s.mime_type],extensions:[d]}]},function(e){var t=r.downloadFile(s.dc_id,u,s.size,e,{mime:s.mime_type});t.then(function(){delete p.progress,console.log("file save done")},function(e){console.log("document download failed",e),p.progress.enabled=!1},o),p.progress.cancel=t.cancel})}else{var f=r.downloadFile(s.dc_id,u,s.size,null,{mime:s.mime_type});f.then(function(e){if(delete p.progress,a)return void window.open(e,"_blank");var t=$("<a>Download</a>").css({position:"absolute",top:1,left:1}).attr("href",e).attr("target","_blank").attr("download",s.file_name).appendTo("body");t[0].dataset.downloadurl=[s.mime_type,s.file_name,e].join(":"),t[0].click(),i(function(){t.remove()},100)},function(e){console.log("document download failed",e),p.progress.enabled=!1},o),p.progress.cancel=f.cancel}}var c={},l={};return e.downloadDoc=s,{saveDoc:a,wrapForHistory:o,downloadDoc:s}}]).service("AppAudioManager",["$rootScope","$modal","$window","$timeout","$sce","MtpApiFileManager",function(e,t,n,i,r,a){function o(e){l[e.id]=e}function s(e){if(void 0!==p[e])return p[e];var t=angular.copy(l[e]);return p[e]=t}function c(t,n){function o(t){console.log("dl progress",t),c.progress.done=t.done,c.progress.percent=Math.max(1,Math.floor(100*t.done/t.total)),e.$broadcast("history_update")}var s=l[t],c=p[t]||s||{},u={_:"inputAudioFileLocation",id:t,access_hash:n||s.access_hash};c.progress={enabled:!0,percent:1,total:s.size};var d=a.downloadFile(s.dc_id,u,s.size,null,{mime:"audio/mpeg"});d.then(function(t){delete c.progress,c.url=r.trustAsResourceUrl(t),c.autoplay=!0,i(function(){console.log("disable autoplay"),delete c.autoplay,e.$broadcast("history_update")},1e3)},function(e){console.log("audio download failed",e),c.progress.enabled=!1},o),c.progress.cancel=d.cancel}var l={},p={};return e.openAudio=c,{saveAudio:o,wrapForHistory:s,openAudio:c}}]).service("ExternalResourcesManager",["$q","$http",function(e,t){function n(e){return void 0!==i[e]?i[e]:i[e]=t.get(e,{responseType:"blob",transformRequest:null}).then(function(e){return window.URL=window.URL||window.webkitURL,window.URL.createObjectURL(e.data)})}var i={};return{downloadImage:n}}]).service("ApiUpdatesManager",["$rootScope","MtpNetworkerFactory","AppUsersManager","AppChatsManager","AppPeersManager","MtpApiManager",function(e,t,n,i,r,a){function o(e){if(u.invalid)return!1;if(e.seq){if(!l(e.seq,e.seq_start))return!1;e.date&&(u.date=e.date)}switch(e._){case"updatesTooLong":s();break;case"updateShort":c(e.update);break;case"updatesCombined":case"updates":n.saveApiUsers(e.users),i.saveApiChats(e.chats);for(var t,o,p,t=0;t<e.updates.length;t++)switch(o=e.updates[t],o._){case"updateNewMessage":if(p=o.message,p.from_id&&!n.hasUser(p.from_id))return console.log("User not found",p.from_id,"getDiff"),s(),!1;if(p.to_id.chat_id&&!i.hasChat(p.to_id.chat_id))return console.log("Chat not found",p.to_id.chat_id,"getDiff"),s(),!1}angular.forEach(e.updates,function(e){c(e)});break;case"updateShortMessage":if(!n.hasUser(e.from_id)){console.log("User not found",e.from_id,"getDiff"),s();break}c({_:"updateNewMessage",message:{_:"message",id:e.id,from_id:e.from_id,to_id:r.getOutputPeer(a.getUserID()),out:!1,unread:!0,date:e.date,message:e.message,media:{_:"messageMediaEmpty"}},pts:e.pts});break;case"updateShortChatMessage":if(!n.hasUser(e.from_id)||!i.hasChat(e.chat_id)){console.log("User or chat not found",e.from_id,e.chat_id,"getDiff"),s();break}c({_:"updateNewMessage",message:{_:"message",id:e.id,from_id:e.from_id,to_id:r.getOutputPeer(-e.chat_id),out:!1,unread:!0,date:e.date,message:e.message,media:{_:"messageMediaEmpty"}},pts:e.pts})}return!0}function s(e){return u.invalid&&!e?!1:(u.invalid=!0,void a.invokeApi("updates.getDifference",{pts:u.pts,date:u.date,qts:0}).then(function(e){if("updates.differenceEmpty"==e._)return u.date=e.date,u.seq=e.seq,delete u.invalid,!1;n.saveApiUsers(e.users),i.saveApiChats(e.chats),angular.forEach(e.other_updates,function(e){c(e,!0)}),angular.forEach(e.new_messages,function(e){c({_:"updateNewMessage",message:e,pts:u.pts},!0)});var t=e.intermediate_state||e.state;u.seq=t.seq,u.pts=t.pts,u.date=t.date,"updates.differenceSlice"==e._?s(!0):delete u.invalid}))}function c(t,n){return u.invalid&&!n?!1:(t.pts&&(u.pts=t.pts),void e.$broadcast("apiUpdate",t))}function l(e,t){return u.invalid?!1:(t=t||e)?t!=u.seq+1?(t>u.seq&&(console.warn("Seq hole",t,u.seq),s()),!1):(u.seq=e,!0):!0}function p(){t.setUpdatesProcessor(o),a.invokeApi("updates.getState").then(function(e){u.seq=e.seq,u.pts=e.pts,u.date=e.date,delete u.invalid})}var u={invalid:!0};return{saveUpdate:c,saveSeq:l,attach:p}}]).service("RichTextProcessor",["$sce","$sanitize",function(e,t){function n(e){return e.replace(/&/g,"&amp;").replace(/([^\#-~| |!])/g,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function i(e){for(var t,n,i,r,a=0;a<Config.EmojiCategories.length;a++)if(r=Config.EmojiCategorySpritesheetDimens[a][1],t=Config.EmojiCategories[a].indexOf(e),t>-1)return n=Math.floor(t/r),i=t%r,{category:a,row:n,column:i};return console.error("emoji not found in spritesheet",e),null}function r(r,o){if(!r||!r.length)return"";o=o||{},r=r.replace(/\ufe0f/g,"",r);for(var d,f,h,m=r,g=[],y=!1;d=m.match(p);)g.push(n(m.substr(0,d.index))),d[1]?o.noLinks?g.push(n(d[0])):d[3]?g.push('<a href="',n("mailto:"+d[3]+d[4]),'" target="_blank">',n(d[3]+d[4]),"</a>"):g.push('<a href="',n(d[2]+"://"+d[4]),'" target="_blank">',n(d[2]+"://"+d[4]),"</a>"):d[5]?g.push(o.noLinebreaks?" ":"<br/>"):d[6]&&((a=s[d[6]])&&(h=i(a))?(f=n(c[a][1][0]),y=!0,g.push('<span class="emoji emoji-',h.category,"-",l*h.column,"-",l*h.row,'" ','title="',f,'">',":",f,":</span>")):g.push(n(d[6]))),m=m.substr(d.index+d[0].length);if(g.push(n(m)),r=t(g.join("")),y&&(r=r.replace(/<span class="emoji emoji-(\d)-(\d+)-(\d+)"(.+?)<\/span>/g,'<span class="emoji emoji-spritesheet-$1" style="background-position: -$2px -$3px;" $4</span>')),!o.noLinks){var v=r.match(u),_=v&&v[1];_&&(r=r+'<div class="im_message_iframe_video"><iframe type="text/html" frameborder="0" src="http://www.youtube.com/embed/'+_+'?autoplay=0&amp;controls=2"></iframe></div>')}return e.trustAs("html",r)}var a,o=[],s={},c=Config.Emoji,l=18;for(a in c)o.push(c[a][0]),s[c[a][0]]=a;var p=new RegExp("((?:(ftp|https?)://|(?:mailto:)?([A-Za-z0-9._%+-]+@))(\\S*\\.\\S*[^\\s.;,(){}<>\"']))|(\\n)|("+o.join("|")+")","i"),u=/(?:https?:\/\/)?(?:www\.)?youtu(?:|.be|be.com|.b)(?:\/v\/|\/watch\\?v=|e\/|\/watch(?:.+)v=)(.{11})(?:\&[^\s]*)?/;return{wrapRichText:r}}]).service("IdleManager",["$rootScope","$window","$timeout",function(e,t,n){function i(){o||(o=!0,$(t).on("blur focus keydown mousedown touchstart",r))}function r(i){"mousemove"==i.type&&$(t).off("mousemove",r);var o="blur"==i.type||"timeout"==i.type?!0:!1;n.cancel(a),o||(a=n(function(){r({type:"timeout"})},3e4)),e.idle.isIDLE!=o&&(e.$apply(function(){e.idle.isIDLE=o}),o&&"timeout"==i.type&&$(t).on("mousemove",r))}e.idle={isIDLE:!1};var a,o=!1;return{start:i}}]).service("StatusManager",["$timeout","$rootScope","MtpApiManager","IdleManager",function(e,t,n){function i(){c||(c=!0,t.$watch("idle.isIDLE",a),t.$watch("offline",a))}function r(e){var i=tsNow();if(!(e&&!s||!e&&5e4>i-s||t.offline))return s=e?0:i,n.invokeApi("account.updateStatus",{offline:e},{noErrorBox:!0})}function a(){o&&e.cancel(o),t.idle.isIDLE?o=e(function(){r(!0)},5e3):(r(!1),o=e(a,6e4))}var o,s=0,c=!1;return{start:i}}]).service("NotificationsManager",["$rootScope","$window","$timeout","$interval","$q","MtpApiManager","AppPeersManager","IdleManager","AppConfigManager",function(e,t,n,i,r,a,o,s,c){function l(e){return void 0!==M[e]?M[e]:M[e]=a.invokeApi("account.getNotifySettings",{peer:{_:"inputNotifyPeer",peer:o.getInputPeerByID(e)}})}function p(e,t){M[e]=r.when(t)}function u(e,t){p(e,t);var n=angular.copy(t);return n._="inputPeerNotifySettings",a.invokeApi("account.updateNotifySettings",{peer:{_:"inputNotifyPeer",peer:o.getInputPeerByID(e)},settings:n})}function d(e){return l(e).then(function(e){return"peerNotifySettings"==e._&&1e3*e.mute_until>tsNow()})}function f(){if(!b)return!1;"granted"!==Notification.permission&&"denied"!==Notification.permission&&$(t).on("click",h);try{$(t).on("beforeunload",v)}catch(e){}}function h(){Notification.requestPermission(),$(t).off("click",h)}function m(t){return e.idle.isIDLE?(x++,b&&"granted"===Notification.permission?(c.get("notify_nosound").then(function(e){e||g()}),void c.get("notify_nodesktop").then(function(e){if(!e){var n=++S,i=t.key||"k"+n,r=new Notification(t.title,{icon:t.image||"",body:t.message||"",tag:t.tag||""});r.onclick=function(){r.close(),window.chrome&&chrome.app&&chrome.app.window&&chrome.app.window.current().focus(),window.focus(),v(),t.onclick&&t.onclick()},r.onclose=function(){delete w[i],v()},w[i]=r}})):!1):!1}function g(){var e="img/sound_a.wav";$("#notify_sound").html('<audio autoplay="autoplay"><source src="'+e+'" type="audio/mpeg" /><embed hidden="true" autostart="true" loop="false" src="'+e+'" /></audio>')}function y(e){var t=w[e];if(t)try{t.close&&t.close()}catch(n){}}function v(){angular.forEach(w,function(e){try{e.close&&e.close()}catch(t){}}),w={}}var _,b="Notification"in window,w={},S=0,x=0,M={},C=$('link[rel="icon"]'),k=$('<link rel="icon" href="favicon_unread.ico" type="image/x-icon" />'),T=document.title;return e.$watch("idle.isIDLE",function(e){i.cancel(_),e?(T=document.title,_=i(function(){var e=tsNow();!x||e%2e3>1e3?(document.title=T,$('link[rel="icon"]').replaceWith(C)):(document.title=x>1?x+" notifications":"1 notification",$('link[rel="icon"]').replaceWith(k))},1e3)):(x=0,document.title=T,$('link[rel="icon"]').replaceWith(C),v())}),e.$on("apiUpdate",function(e,t){switch(t._){case"updateNotifySettings":if("notifyPeer"==t.peer._){var n=o.getPeerID(t.peer.peer);p(n,t.notify_settings)}}}),{start:f,notify:m,cancel:y,clear:v,getPeerSettings:l,getPeerMuted:d,savePeerSettings:p,updatePeerSettings:u}}]).service("ErrorService",["$rootScope","$modal","$window",function(e,t,n){function i(n,i){if(o>=2)return console.log("Skip error box, too many open",o,n,i),!1;i=i||{};var r=e.$new();angular.extend(r,n),o++;var a=t.open({templateUrl:"partials/error_modal.html",scope:r,windowClass:i.windowClass||"error_modal_window"});return a.result["finally"](function(){o--}),a}function r(e,t){return i({title:e,description:t})}function a(n,i){i=i||{};var r=e.$new();angular.extend(r,n);var a=t.open({templateUrl:"partials/confirm_modal.html",scope:r,windowClass:i.windowClass||"confirm_modal_window"});return a.result}var o=0;return n.safeConfirm=function(e,t){"string"==typeof e&&(e={message:e}),a(e).then(function(e){t(e||!0)},function(){t(!1)})},{show:i,alert:r,confirm:a}}]).service("PeersSelectService",["$rootScope","$modal",function(e,t){function n(){var n=e.$new();return t.open({templateUrl:"partials/peer_select.html",controller:"PeerSelectController",scope:n,windowClass:"peer_select_window"}).result}return{selectPeer:n}}]).service("ContactsSelectService",["$rootScope","$modal",function(e,t){function n(n,i){i=i||{};var r=e.$new();return r.multiSelect=n,angular.extend(r,i),t.open({templateUrl:"partials/contacts_modal.html",controller:"ContactsModalController",scope:r,windowClass:"contacts_modal_window"}).result}return{selectContacts:function(e){return n(!0,e)},selectContact:function(e){return n(!1,e)}}}]),angular.module("myApp.controllers",[]).controller("AppWelcomeController",["$scope","$location","MtpApiManager","ErrorService",function(e,t,n){n.getUserID().then(function(n){n?t.url("/im"):e.showWelcome=!0})}]).controller("AppLoginController",["$scope","$location","$timeout","MtpApiManager","ErrorService",function(e,t,n,i,r){function a(e){i.setUserAuth(s.dcID,{expires:e.expires,id:e.user.id}),n.cancel(c),t.url("/im")}function o(){n.cancel(c),--e.callPending.remaining?c=n(o,1e3):(e.callPending.success=!1,i.invokeApi("auth.sendCall",{phone_number:e.credentials.phone_number,phone_code_hash:e.credentials.phone_code_hash},s).then(function(){e.callPending.success=!0}))}i.getUserID().then(function(e){return e?void t.url("/im"):void 0});var s={dcID:1,createNetworker:!0};e.credentials={},e.progress={},e.callPending={};var c;e.sendCode=function(){n.cancel(c),e.progress.enabled=!0,i.invokeApi("auth.checkPhone",{phone_number:e.credentials.phone_number},s).then(function(t){return e.progress.enabled=!1,t.phone_registered?(e.progress.enabled=!0,void i.invokeApi("auth.sendCode",{phone_number:e.credentials.phone_number,sms_type:0,api_id:2496,api_hash:"8da85b0d5bfe62527e5b244c209159c3"},s).then(function(t){e.progress.enabled=!1,e.credentials.phone_code_hash=t.phone_code_hash,e.credentials.phone_occupied=t.phone_registered,e.error={},e.callPending.remaining=t.send_call_timeout,o()},function(t){switch(e.progress.enabled=!1,console.log("sendCode error",t),t.type){case"PHONE_NUMBER_INVALID":e.error={field:"phone"},t.handled=!0}})):(r.show({error:{code:400,type:"ACCOUNT_REQUIRED"},phone:e.credentials.phone_number}),!1)},function(t){switch(e.progress.enabled=!1,t.type){case"PHONE_NUMBER_INVALID":e.error={field:"phone"},t.handled=!0}})},e.logIn=function(t){var n="auth.signIn",r={phone_number:e.credentials.phone_number,phone_code_hash:e.credentials.phone_code_hash,phone_code:e.credentials.phone_code};t&&(n="auth.signUp",angular.extend(r,{first_name:e.credentials.first_name,last_name:e.credentials.last_name})),e.progress.enabled=!0,i.invokeApi(n,r,s).then(a,function(t){if(e.progress.enabled=!1,400==t.code&&"PHONE_NUMBER_UNOCCUPIED"==t.type)return t.handled=!0,e.logIn(!0);if(400==t.code&&"PHONE_NUMBER_OCCUPIED"==t.type)return t.handled=!0,e.logIn(!1);switch(t.type){case"FIRSTNAME_INVALID":e.error={field:"first_name"},t.handled=!0;break;case"LASTNAME_INVALID":e.error={field:"last_name"},t.handled=!0;break;case"PHONE_CODE_INVALID":e.error={field:"phone_code"},t.handled=!0}})}}]).controller("AppIMController",["$scope","$location","$routeParams","$modal","$rootScope","$modalStack","MtpApiManager","AppUsersManager","ContactsSelectService","ErrorService",function(e,t,n,i,r,a,o,s,c,l){function p(){e.curDialog={peer:n.p||!1}}e.$on("$routeUpdate",p),e.$on("history_focus",function(n,i){a.dismissAll(),i.peerString==e.curDialog.peer?e.$broadcast("ui_history_focus"):t.url("/im?p="+i.peerString)}),e.isLoggedIn=!0,e.openSettings=function(){i.open({templateUrl:"partials/settings_modal.html",controller:"SettingsModalController",windowClass:"settings_modal_window"})},e.openContacts=function(){c.selectContact().then(function(t){e.dialogSelect(s.getUserString(t))})},e.openGroup=function(){c.selectContacts().then(function(t){if(1==t.length)e.dialogSelect(s.getUserString(t[0]));else if(t.length>1){var n=r.$new();n.userIDs=t,i.open({templateUrl:"partials/chat_create_modal.html",controller:"ChatCreateModalController",scope:n,windowClass:"contacts_modal_window"})}})},e.dialogSelect=function(e){r.$broadcast("history_focus",{peerString:e})},e.logOut=function(){l.confirm({type:"LOGOUT"}).then(function(){o.logOut().then(function(){location.hash="/login",location.reload()})})},p()}]).controller("AppImDialogsController",["$scope","$location","MtpApiManager","AppUsersManager","AppChatsManager","AppMessagesManager","AppPeersManager",function(e,t,n,i,r,a){function o(){l=0,p=0,u=!1,d={},c=!1,a.getDialogs(e.search.query,p).then(function(t){e.dialogs=[],e.contacts=[],t.dialogs.length&&(l+=t.dialogs.length,p=t.dialogs[t.dialogs.length-1].top_message,u=null===t.count||l<t.count,angular.forEach(t.dialogs,function(t){d[t.peerID]=!0,e.dialogs.push(a.wrapForDialog(t.top_message,t.unread_count))})),e.$broadcast("ui_dialogs_change"),e.search.query?s():a.getDialogs("",p,100)},function(e){401==e.code&&(n.logOut()["finally"](function(){t.url("/login")}),e.handled=!0)})}function s(){return!c||u&&l?u||e.search.query?void a.getDialogs(e.search.query,p).then(function(t){l+=t.dialogs.length,p=t.dialogs[t.dialogs.length-1].top_message,u=null===t.count||l<t.count,angular.forEach(t.dialogs,function(t){d[t.peerID]=!0,e.dialogs.push(a.wrapForDialog(t.top_message,t.unread_count))}),e.$broadcast("ui_dialogs_append")}):(c=!0,i.getContacts(e.search.query).then(function(t){e.contacts=[],angular.forEach(t,function(t){void 0===d[t]&&e.contacts.push({userID:t,user:i.getUser(t),userPhoto:i.getUserPhoto(t,"User"),peerString:i.getUserString(t)})})}),void e.$broadcast("ui_dialogs_append")):void 0}e.dialogs=[],e.contacts=[],e.search={};var c,l=0,p=0,u=!1,d={};n.invokeApi("account.updateStatus",{offline:!1}),e.$on("dialogs_need_more",function(){s()}),e.$on("dialog_unread",function(t,n){angular.forEach(e.dialogs,function(e){e.peerID==n.peerID&&(e.unreadCount=n.count)})}),e.$on("dialogs_update",function(t,n){if(void 0!==e.search.query&&e.search.query.length)return!1;var i=!1;angular.forEach(e.dialogs,function(e,t){e.peerID==n.peerID&&(i=t)});var r=a.wrapForDialog(n.top_message,n.unread_count);if(i!==!1){var o=e.dialogs.splice(i,1);safeReplaceObject(o,r),l++}e.dialogs.unshift(r)}),e.$on("dialog_flush",function(t,n){for(var i=0;i<e.dialogs.length;i++)if(e.dialogs[i].peerID==n.peerID){e.dialogs.splice(i,1);break}}),e.$watch("search.query",o)}]).controller("AppImHistoryController",["$scope","$location","$timeout","$rootScope","MtpApiManager","AppUsersManager","AppChatsManager","AppMessagesManager","AppPeersManager","ApiUpdatesManager","PeersSelectService","IdleManager","StatusManager","ErrorService",function(e,t,n,i,r,a,o,s,c,l,p,u,d,f){function h(t){w(!0),t=t||e.curDialog.peer||"",A=c.getPeerID(t),e.curDialog.peerID=A,e.curDialog.inputPeer=c.getInputPeer(t),e.mediaType=!1,A?(m(!0),v()):_()}function m(t){var n=c.getPeer(A);return!n||n.deleted?(safeReplaceObject(e.state,{loaded:!1}),!1):(e.history=[],e.historyPeer={id:A,data:n,photo:c.getPeerPhoto(A,"User","Group")},r.getUserID().then(function(t){e.ownPhoto=a.getUserPhoto(t,"User")}),void(t&&(e.typing={},e.$broadcast("ui_peer_change"),e.$broadcast("ui_history_change"),safeReplaceObject(e.state,{loaded:!0}))))}function g(t){var n,i,r,a=0,o=e.history.length;for(t>0?o=t:0>t&&(a=o+t),n=a;o>n;n++)i=e.history[n],r&&i.from_id==r.from_id&&i.date<r.date+30&&!r.action&&!i.action&&!r.fwd_from_id&&!i.fwd_from_id&&i.message&&i.message.length<60?i.grouped=!0:(r||!n)&&delete i.grouped,r=i}function y(){if(D&&E){var t=N,n=e.mediaType&&{_:P[e.mediaType]},i=n?s.getSearch(e.curDialog.inputPeer,"",n,I):s.getHistory(e.curDialog.inputPeer,I);i.then(function(n){t==N&&(E+=n.history.length,D=null===n.count||E<n.count,I=n.history[n.history.length-1],angular.forEach(n.history,function(t){e.history.unshift(s.wrapForHistory(t))}),g(n.history.length),e.$broadcast("ui_history_prepend"))})}}function v(){D=!1,E=0,I=0;var t=++N,n=e.mediaType&&{_:P[e.mediaType]},i=n?s.getSearch(e.curDialog.inputPeer,"",n,I):s.getHistory(e.curDialog.inputPeer,I);e.state.mayBeHasMore=!0,i.then(function(n){t==N&&(E+=n.history.length,D=null===n.count||E<n.count,I=n.history[n.history.length-1],m(),safeReplaceObject(e.state,{loaded:!0}),angular.forEach(n.history,function(t){e.history.push(s.wrapForHistory(t))}),e.history.reverse(),g(),e.historyUnread=n.unreadLimit?{beforeID:n.history[n.unreadLimit-1],count:n.unreadLimit}:{},e.$broadcast("ui_history_change"),s.readHistory(e.curDialog.inputPeer))},function(){safeReplaceObject(e.state,{error:!0})})}function _(){safeReplaceObject(e.state,{notSelected:!0}),e.history=[],D=!1,e.$broadcast("ui_history_change")}function b(t,n){return e.selectActions||$(n).hasClass("icon-select-tick")||$(n).hasClass("im_content_message_select_area")?void(e.selectedMsgs[t]?(delete e.selectedMsgs[t],e.selectedCount--,e.selectedCount||(e.selectActions=!1,e.$broadcast("ui_panel_update"))):(e.selectedMsgs[t]=!0,e.selectedCount++,e.selectActions||(e.selectActions=!0,e.$broadcast("ui_panel_update")))):!1}function w(t){e.selectedMsgs={},e.selectedCount=0,e.selectActions=!1,t||e.$broadcast("ui_panel_update")}function S(){f.confirm({type:"HISTORY_FLUSH"}).then(function(){s.flushHistory(e.curDialog.inputPeer).then(function(){w()})})}function x(){if(e.selectedCount>0){var t=[];angular.forEach(e.selectedMsgs,function(e,n){t.push(n)}),s.deleteMessages(t).then(function(){w()})}}function M(){if(e.selectedCount>0){var t=[];angular.forEach(e.selectedMsgs,function(e,n){t.push(n)}),p.selectPeer().then(function(e){var n=c.getPeerID(e);s.forwardMessages(n,t).then(function(){w(),i.$broadcast("history_focus",{peerString:e})})})}}function C(){e.selectActions?w():(e.selectActions=!0,e.$broadcast("ui_panel_update"))}function k(t){t&&(e.missedCount=0),e.mediaType=t||!1,e.history=[],v()}function T(){e.curDialog.peerID>0?i.openUser(e.curDialog.peerID):e.curDialog.peerID<0&&i.openChat(-e.curDialog.peerID)}e.$watch("curDialog.peer",h),l.attach(),u.start(),d.start(),e.history=[],e.mediaType=!1,e.selectedMsgs={},e.selectedCount=0,e.selectActions=!1,e.missedCount=0,e.typing={},e.state={},e.toggleMessage=b,e.selectedDelete=x,e.selectedForward=M,e.selectedCancel=w,e.selectedFlush=S,e.toggleEdit=C,e.toggleMedia=k,e.showPeerInfo=T;var A,E=0,D=!1,I=0,P={photos:"inputMessagesFilterPhotos",video:"inputMessagesFilterVideo",documents:"inputMessagesFilterDocument"},N=0,L={};e.$on("history_update",angular.noop),e.$on("history_append",function(t,r){if(r.peerID==e.curDialog.peerID){if(e.mediaType)return void(r.my?k():e.missedCount++);e.history.push(s.wrapForHistory(r.messageID)),g(-3),e.typing={},e.$broadcast("ui_history_append",{my:r.my}),r.my&&(e.historyUnread={}),E++,i.idle.isIDLE||n(function(){s.readHistory(e.curDialog.inputPeer)})}}),e.$on("history_delete",function(t,n){if(n.peerID==e.curDialog.peerID){for(var i=[],r=0;r<e.history.length;r++)n.msgs[e.history[r].id]||i.push(e.history[r]);e.history=i}}),e.$on("dialog_flush",function(t,n){n.peerID==e.curDialog.peerID&&(e.history=[])}),e.$on("history_focus",function(){e.mediaType&&k()}),e.$on("apiUpdate",function(t,i){switch(i._){case"updateUserTyping":i.user_id==e.curDialog.peerID&&a.hasUser(i.user_id)&&(e.typing={user:a.getUser(i.user_id)},n.cancel(L[i.user_id]),L[i.user_id]=n(function(){e.typing={}},6e3));break;case"updateChatUserTyping":-i.chat_id==e.curDialog.peerID&&a.hasUser(i.user_id)&&(e.typing={user:a.getUser(i.user_id)},n.cancel(L[i.user_id]),L[i.user_id]=n(function(){e.typing={}},6e3))}}),e.$on("history_need_more",function(){y()}),i.$watch("idle.isIDLE",function(t){!t&&e.curDialog&&e.curDialog.peerID&&s.readHistory(e.curDialog.inputPeer)})}]).controller("AppImPanelController",["$scope",function(e){e.$on("user_update",angular.noop)}]).controller("AppImSendController",["$scope","$timeout","MtpApiManager","AppConfigManager","AppPeersManager","AppMessagesManager","ApiUpdatesManager","MtpApiFileManager",function(e,t,n,i,r,a){function o(n){return e.$broadcast("ui_message_before_send"),t(function(){var t=e.draftMessage.text;if(!angular.isString(t)||!t.length)return!1;t=t.replace(/:([a-z0-9\-\+\*_]+?):/gi,function(e,t){var n=$.emojiarea.reverseIcons[t];return void 0!==n?n:e});do a.sendText(e.curDialog.peerID,t.substr(0,4096)),t=t.substr(4096);
while(t.length);s(),e.$broadcast("ui_message_send")}),cancelEvent(n)}function s(t){t?i.get("draft"+e.curDialog.peerID).then(function(t){e.draftMessage.text=t||"",e.$broadcast("ui_peer_draft")}):(e.draftMessage.text="",e.$broadcast("ui_peer_draft"))}function c(t){if(a.readHistory(e.curDialog.inputPeer),t&&t.length){var n={};n["draft"+e.curDialog.peerID]=t,i.set(n)}else i.remove("draft"+e.curDialog.peerID)}function l(){n.invokeApi("messages.setTyping",{peer:e.curDialog.inputPeer,typing:!0})}function p(t){if(angular.isArray(t)&&t.length)for(var n=0;n<t.length;n++)a.sendFile(e.curDialog.peerID,t[n],{isMedia:e.draftMessage.isMedia}),e.$broadcast("ui_message_send")}e.$watch("curDialog.peer",s),e.$on("user_update",angular.noop),e.$on("ui_typing",l),e.draftMessage={text:""},e.$watch("draftMessage.text",c),e.$watch("draftMessage.files",p),e.sendMessage=o}]).controller("PhotoModalController",["$q","$scope","$rootScope","$modalInstance","AppPhotosManager","AppMessagesManager","AppPeersManager","PeersSelectService","ErrorService",function(e,t,n,i,r,a,o,s,c){function l(n){var i=g.indexOf(t.messageID),o=i>=0?i+n:0,s=++_,c=o>=g.length?p():e.when();c.then(function(){s==_&&(t.messageID=g[o],t.photoID=a.getMessage(t.messageID).media.photo.id,t.photo=r.wrapForFull(t.photoID),u())})}function p(){return b?b:b=a.getSearch(f,h,m,y).then(function(e){y=e.history[e.history.length-1],g=g.concat(e.history),v=e.history.length||g.length<e.count,u(),b=!1})}function u(){var e=g.indexOf(t.messageID);t.nav.hasNext=v||e<g.length-1,t.nav.hasPrev=e>0}if(t.photo=r.wrapForFull(t.photoID),t.nav={},!t.messageID)return void(t.nav.next=function(){i.close()});var d=a.getMessagePeer(a.getMessage(t.messageID)),f=o.getInputPeerByID(d),h="",m={_:"inputMessagesFilterPhotos"},g=[t.messageID],y=t.messageID,v=!0;u(),a.getSearch(f,h,m,0,1e3).then(function(e){e.history.indexOf(t.messageID)>=0&&(g=e.history,y=g[g.length-1],u())});var _=0,b=!1;t.nav.next=function(){return t.nav.hasNext?void l(1):!1},t.nav.prev=function(){return t.nav.hasPrev?void l(-1):!1},t.forward=function(){var e=t.messageID;s.selectPeer().then(function(t){var i=o.getPeerID(t);a.forwardMessages(i,[e]).then(function(){n.$broadcast("history_focus",{peerString:t})})})},t.delete=function(){var e=t.messageID;c.confirm({type:"MESSAGE_DELETE"}).then(function(){a.deleteMessages([e])})},t.$on("history_delete",function(e,n){if(console.log(dT(),"delete",n),n.peerID==d){if(n.msgs[t.messageID])if(t.nav.hasNext)t.nav.next();else{if(!t.nav.hasPrev)return i.dismiss();t.nav.prev()}for(var r=[],a=0;a<g.length;a++)n.msgs[g[a]]||r.push(g[a]);g=r}})}]).controller("VideoModalController",["$scope","$rootScope","$modalInstance","PeersSelectService","AppMessagesManager","AppVideoManager","AppPeersManager","ErrorService",function(e,t,n,i,r,a,o,s){e.video=a.wrapForFull(e.videoID),e.progress={enabled:!1},e.player={},e.forward=function(){var n=e.messageID;i.selectPeer().then(function(e){var i=o.getPeerID(e);r.forwardMessages(i,[n]).then(function(){t.$broadcast("history_focus",{peerString:e})})})},e.delete=function(){var t=e.messageID;s.confirm({type:"MESSAGE_DELETE"}).then(function(){r.deleteMessages([t])})},e.$on("history_delete",function(t,i){i.msgs[e.messageID]&&n.dismiss()})}]).controller("UserModalController",["$scope","$location","$rootScope","$modal","AppUsersManager","NotificationsManager","AppMessagesManager","AppPeersManager","PeersSelectService","ErrorService",function(e,t,n,i,r,a,o,s,c,l){var p=r.getUserString(e.userID);e.user=r.getUser(e.userID),e.userPhoto=r.getUserPhoto(e.userID,"User"),e.settings={notifications:!0},a.getPeerMuted(e.userID).then(function(t){e.settings.notifications=!t,e.$watch("settings.notifications",function(t,n){return t===n?!1:void a.getPeerSettings(e.userID).then(function(n){n.mute_until=t?0:2e9,a.updatePeerSettings(e.userID,n)})})}),e.goToHistory=function(){n.$broadcast("history_focus",{peerString:p})},e.flushHistory=function(){l.confirm({type:"HISTORY_FLUSH"}).then(function(){o.flushHistory(s.getInputPeerByID(e.userID)).then(function(){e.goToHistory()})})},e.importContact=function(t){var a=n.$new();a.importContact={phone:e.user.phone,first_name:e.user.first_name,last_name:e.user.last_name},i.open({templateUrl:t?"partials/edit_contact_modal.html":"partials/import_contact_modal.html",controller:"ImportContactModalController",windowClass:"import_contact_modal_window",scope:a}).result.then(function(t){e.userID==t&&(e.user=r.getUser(e.userID),console.log(e.user))})},e.deleteContact=function(){r.deleteContacts([e.userID]).then(function(){e.user=r.getUser(e.userID),console.log(e.user)})},e.shareContact=function(){c.selectPeer().then(function(t){var i=s.getPeerID(t);o.sendOther(i,{_:"inputMediaContact",phone_number:e.user.phone,first_name:e.user.first_name,last_name:e.user.last_name,user_id:e.user.id}),n.$broadcast("history_focus",{peerString:t})})}}]).controller("ChatModalController",["$scope","$timeout","$rootScope","$modal","AppUsersManager","AppChatsManager","MtpApiManager","MtpApiFileManager","NotificationsManager","AppMessagesManager","AppPeersManager","ApiUpdatesManager","ContactsSelectService","ErrorService",function(e,t,n,i,r,a,o,s,c,l,p,u,d,f){function h(t){r.saveApiUsers(t.users),a.saveApiChats(t.chats),u.saveSeq(t.seq)&&u.saveUpdate({_:"updateNewMessage",message:t.message,pts:t.pts}),n.$broadcast("history_focus",{peerString:e.chatFull.peerString})}function m(t){t&&t.type&&0===t.type.indexOf("image")&&(e.photo.updating=!0,s.uploadFile(t).then(function(t){return o.invokeApi("messages.editChatPhoto",{chat_id:e.chatID,photo:{_:"inputChatUploadedPhoto",file:t,crop:{_:"inputPhotoCropAuto"}}}).then(function(e){h(e)})})["finally"](function(){e.photo.updating=!1}))}e.chatFull=a.wrapForFull(e.chatID,{}),o.invokeApi("messages.getFullChat",{chat_id:e.chatID}).then(function(t){a.saveApiChats(t.chats),r.saveApiUsers(t.users),e.chatFull=a.wrapForFull(e.chatID,t.full_chat),e.$broadcast("ui_height")}),e.settings={notifications:!0},c.getPeerMuted(-e.chatID).then(function(t){e.settings.notifications=!t,e.$watch("settings.notifications",function(t,n){return t===n?!1:void c.getPeerSettings(-e.chatID).then(function(n){n.mute_until=t?0:2e9,c.updatePeerSettings(-e.chatID,n)})})}),e.leaveGroup=function(){o.invokeApi("messages.deleteChatUser",{chat_id:e.chatID,user_id:{_:"inputUserSelf"}}).then(h)},e.returnToGroup=function(){o.invokeApi("messages.addChatUser",{chat_id:e.chatID,user_id:{_:"inputUserSelf"}}).then(h)},e.inviteToGroup=function(){var t=[];angular.forEach(e.chatFull.participants.participants,function(e){t.push(e.user_id)}),d.selectContacts({disabled:t}).then(function(t){angular.forEach(t,function(t){o.invokeApi("messages.addChatUser",{chat_id:e.chatID,user_id:{_:"inputUserContact",user_id:t},fwd_limit:100}).then(function(e){r.saveApiUsers(e.users),a.saveApiChats(e.chats),u.saveSeq(e.seq)&&u.saveUpdate({_:"updateNewMessage",message:e.message,pts:e.pts})})}),n.$broadcast("history_focus",{peerString:e.chatFull.peerString})})},e.kickFromGroup=function(t){var n=r.getUser(t);console.log({_:"inputUserForeign",user_id:t,access_hash:n.access_hash||"0"},n),o.invokeApi("messages.deleteChatUser",{chat_id:e.chatID,user_id:{_:"inputUserForeign",user_id:t,access_hash:n.access_hash||"0"}}).then(h)},e.flushHistory=function(){f.confirm({type:"HISTORY_FLUSH"}).then(function(){l.flushHistory(p.getInputPeerByID(-e.chatID)).then(function(){n.$broadcast("history_focus",{peerString:e.chatFull.peerString})})})},e.photo={},e.$watch("photo.file",m),e.deletePhoto=function(){e.photo.updating=!0,o.invokeApi("messages.editChatPhoto",{chat_id:e.chatID,photo:{_:"inputChatPhotoEmpty"}}).then(function(e){h(e)})["finally"](function(){e.photo.updating=!1})},e.editTitle=function(){var t=n.$new();t.chatID=e.chatID,i.open({templateUrl:"partials/chat_edit_modal.html",controller:"ChatEditModalController",scope:t,windowClass:"contacts_modal_window"})}}]).controller("SettingsModalController",["$rootScope","$scope","$timeout","$modal","AppUsersManager","AppChatsManager","MtpApiManager","AppConfigManager","NotificationsManager","MtpApiFileManager","ApiUpdatesManager","ErrorService",function(e,t,n,i,r,a,o,s,c,l,p,u){function d(e){e&&e.type&&0===e.type.indexOf("image")&&(t.photo.updating=!0,l.uploadFile(e).then(function(e){o.invokeApi("photos.uploadProfilePhoto",{file:e,caption:"",geo_point:{_:"inputGeoPointEmpty"},crop:{_:"inputPhotoCropAuto"}}).then(function(e){r.saveApiUsers(e.users),o.getUserID().then(function(e){p.saveUpdate({_:"updateUserPhoto",user_id:e,date:tsNow(!0),photo:r.getUser(e).photo,previous:!0}),t.photo=r.getUserPhoto(e,"User")})})})["finally"](function(){delete t.updating}))}t.profile={},t.photo={},o.getUserID().then(function(e){t.profile=r.getUser(e),t.photo=r.getUserPhoto(e,"User")}),t.notify={},t.send={},t.$watch("photo.file",d),t.deletePhoto=function(){t.photo.updating=!0,o.invokeApi("photos.updateProfilePhoto",{id:{_:"inputPhotoEmpty"},crop:{_:"inputPhotoCropAuto"}}).then(function(e){o.getUserID().then(function(n){p.saveUpdate({_:"updateUserPhoto",user_id:n,date:tsNow(!0),photo:e,previous:!0}),t.photo=r.getUserPhoto(n,"User")})})["finally"](function(){delete t.photo.updating})},t.editProfile=function(){i.open({templateUrl:"partials/profile_edit_modal.html",controller:"ProfileEditModalController",windowClass:"profile_edit_modal_window"})},t.terminateSessions=function(){u.confirm({type:"TERMINATE_SESSIONS"}).then(function(){o.invokeApi("auth.resetAuthorizations",{})})},s.get("notify_nodesktop","notify_nosound","send_ctrlenter").then(function(n){t.notify.desktop=!n[0],t.notify.sound=!n[1],t.send.enter=n[2]?"":"1",t.$watch("notify.sound",function(e,t){return e===t?!1:void(e?s.remove("notify_nosound"):(s.set({notify_nosound:!0}),c.clear()))}),t.$watch("notify.desktop",function(e,t){return e===t?!1:void(e?s.remove("notify_nodesktop"):s.set({notify_nodesktop:!0}))}),t.$watch("send.enter",function(t,n){return t===n?!1:(t?s.remove("send_ctrlenter"):s.set({send_ctrlenter:!0}),void e.$broadcast("settings_changed"))})})}]).controller("ProfileEditModalController",["$rootScope","$scope","$timeout","$modal","$modalInstance","AppUsersManager","AppChatsManager","MtpApiManager","AppConfigManager","NotificationsManager","MtpApiFileManager","ApiUpdatesManager",function(e,t,n,i,r,a,o,s){t.profile={},t.error={},s.getUserID().then(function(e){t.profile=a.getUser(e)}),t.updateProfile=function(){t.profile.updating=!0,s.invokeApi("account.updateProfile",{first_name:t.profile.first_name||"",last_name:t.profile.last_name||""}).then(function(e){t.error={},a.saveApiUser(e),r.close()},function(e){switch(e.type){case"FIRSTNAME_INVALID":t.error={field:"first_name"},e.handled=!0;break;case"LASTNAME_INVALID":t.error={field:"last_name"},e.handled=!0;break;case"NAME_NOT_MODIFIED":e.handled=!0,r.close()}})["finally"](function(){delete t.profile.updating})}}]).controller("ContactsModalController",["$scope","$modal","$modalInstance","AppUsersManager",function(e,t,n,i){function r(t){i.getContacts(t).then(function(t){e.contacts=[],angular.forEach(t,function(t){var n={userID:t,user:i.getUser(t),userPhoto:i.getUserPhoto(t,"User")};e.contacts.push(n)}),e.$broadcast("contacts_change")})}if(e.contacts=[],e.search={},e.selectedContacts={},e.disabledContacts={},e.selectedCount=0,e.disabled)for(var a=0;a<e.disabled.length;a++)e.disabledContacts[e.disabled[a]]=!0;if(e.selected)for(var a=0;a<e.selected.length;a++)e.selectedContacts[e.selected[a]]||(e.selectedContacts[e.selected[a]]=!0,e.selectedCount++);e.$watch("search.query",r),e.contactSelect=function(t){return e.disabledContacts[t]?!1:e.multiSelect?void(e.selectedContacts[t]?(delete e.selectedContacts[t],e.selectedCount--):(e.selectedContacts[t]=!0,e.selectedCount++)):n.close(t)},e.submitSelected=function(){if(e.selectedCount>0){var t=[];return angular.forEach(e.selectedContacts,function(e,n){t.push(n)}),n.close(t)}},e.importContact=function(){t.open({templateUrl:"partials/import_contact_modal.html",controller:"ImportContactModalController",windowClass:"import_contact_modal_window"}).result.then(function(t){t&&r(e.search&&e.search.query||"")})}}]).controller("PeerSelectController",["$scope","$modalInstance",function(e,t){e.dialogSelect=function(e){t.close(e)}}]).controller("ChatCreateModalController",["$scope","$modalInstance","$rootScope","MtpApiManager","AppUsersManager","AppChatsManager","ApiUpdatesManager",function(e,t,n,i,r,a,o){e.group={name:""},e.createGroup=function(){if(e.group.name){e.group.creating=!0;var t=[];return angular.forEach(e.userIDs,function(e){t.push({_:"inputUserContact",user_id:e})}),i.invokeApi("messages.createChat",{title:e.group.name,users:t}).then(function(e){r.saveApiUsers(e.users),a.saveApiChats(e.chats),o.saveSeq(e.seq)&&o.saveUpdate({_:"updateNewMessage",message:e.message,pts:e.pts});var t=a.getChatString(e.message.to_id.chat_id);n.$broadcast("history_focus",{peerString:t})})["finally"](function(){delete e.group.creating})}}}]).controller("ChatEditModalController",["$scope","$modalInstance","$rootScope","MtpApiManager","AppUsersManager","AppChatsManager","ApiUpdatesManager",function(e,t,n,i,r,a,o){var s=a.getChat(e.chatID);e.group={name:s.title},e.updateGroup=function(){return e.group.name?e.group.name==s.title?t.close():(e.group.updating=!0,i.invokeApi("messages.editChatTitle",{chat_id:e.chatID,title:e.group.name}).then(function(t){r.saveApiUsers(t.users),a.saveApiChats(t.chats),o.saveSeq(t.seq)&&o.saveUpdate({_:"updateNewMessage",message:t.message,pts:t.pts});var i=a.getChatString(e.chatID);n.$broadcast("history_focus",{peerString:i})})["finally"](function(){delete e.group.updating})):void 0}}]).controller("ImportContactModalController",["$scope","$modalInstance","$rootScope","AppUsersManager",function(e,t,n,i){void 0===e.importContact&&(e.importContact={}),e.doImport=function(){e.importContact&&e.importContact.phone&&(e.progress={enabled:!0},i.importContact(e.importContact.phone,e.importContact.first_name,e.importContact.last_name).then(function(e){t.close(e)})["finally"](function(){delete e.progress.enabled}))}}]),angular.module("myApp.filters",[]).filter("userName",[function(){return function(e){return e&&(e.first_name||e.last_name)?e.first_name+" "+e.last_name:"DELETED"}}]).filter("userFirstName",[function(){return function(e){return e&&(e.first_name||e.last_name)?e.first_name||e.last_name:"DELETED"}}]).filter("userStatus",["$filter",function(e){return function(t){return t&&t.status&&"userStatusEmpty"!=t.status._?"userStatusOnline"==t.status._?"online":"last seen "+e("relativeTime")(t.status.was_online):"offline"}}]).filter("chatTitle",[function(){return function(e){return e&&e.title?e.title:"DELETED"}}]).filter("dateOrTime",["$filter",function(e){var t={};return function(n){if(t[n])return t[n];var i=1e3*n,r=Math.abs(tsNow()-i),a="HH:mm";return r>5184e5?a="shortDate":r>432e5&&(a="EEE"),t[n]=e("date")(i,a)}}]).filter("duration",[function(){return function(e){var t=e%60,n=Math.floor((e-t)/60);return 10>t&&(t="0"+t),n+":"+t}}]).filter("phoneNumber",[function(){return function(e){var t=" ";return e=(e||"").replace(/\D/g,""),"7"==e.charAt(0)&&11==e.length?"+"+e.charAt(0)+t+"("+e.substr(1,3)+")"+t+e.substr(4,3)+"-"+e.substr(7,2)+"-"+e.substr(9,2):"+"+e}}]).filter("formatSize",[function(){return function(e){return e?1024>e?e+" b":1048576>e?Math.round(e/1024*10)/10+" Kb":Math.round(e/1048576*100)/100+" Mb":"0"}}]).filter("formatSizeProgress",["$filter",function(e){return function(t){var n=e("formatSize")(t.done),i=n.split(" "),r=e("formatSize")(t.total),a=r.split(" ");return a[1]===i[1]?i[0]+" of "+a[0]+" "+(i[1]||""):n+" of "+r}}]).filter("nl2br",[function(){return function(e){return e.replace(/\n/g,"<br/>")}}]).filter("richText",["$filter",function(e){return function(t){return e("linky")(t,"_blank").replace(/\n|&#10;/g,"<br/>")}}]).filter("relativeTime",["$filter",function(e){return function(t){var n=1e3*t,i=Math.abs(tsNow()-n);return 6e4>i?"just now":3e6>i?Math.ceil(i/6e4)+" minutes ago":1e7>i?Math.ceil(i/36e5)+" hours ago":e("dateOrTime")(t)}}]),angular.module("myApp.templates",[]).run(["$templateCache",function(e){e.put("partials/chat_create_modal.html",'<div class="contacts_modal_wrap" my-modal-position>\n\n <a class="modal-close-button" ng-click="$dismiss()"><i></i></a>\n\n <div class="modal-body">\n\n <form class="modal_simple_form" ng-submit="createGroup()">\n\n <h4>Create Group</h4>\n\n <div class="form-group">\n <input class="form-control input-sm" my-focused type="text" placeholder="Group name" ng-model="group.name"/>\n </div>\n\n </form>\n\n </div>\n\n <div class="modal-footer">\n <a class="btn btn-link" ng-click="$dismiss()">Cancel</a>\n <button class="btn btn-primary" ng-class="{disabled: group.creating}" ng-click="createGroup()" ng-bind="group.creating ? \'Creating...\' : \'Create Group\'" ng-disabled="group.creating"></button>\n </div>\n\n</div>'),e.put("partials/chat_edit_modal.html",'<div class="contacts_modal_wrap" my-modal-position>\n\n <a class="modal-close-button" ng-click="$dismiss()"><i></i></a>\n\n <div class="modal-body">\n\n <form class="modal_simple_form" ng-submit="updateGroup()">\n\n <h4>Edit Group</h4>\n\n <div class="form-group">\n <input class="form-control input-sm" my-focused type="text" placeholder="Group name" ng-model="group.name"/>\n </div>\n\n </form>\n\n </div>\n\n <div class="modal-footer">\n <a class="btn btn-link" ng-click="$dismiss()">Cancel</a>\n <button class="btn btn-primary" ng-class="{disabled: group.updating}" ng-click="updateGroup()" ng-bind="group.updating ? \'Saving...\' : \'Save\'" ng-disabled="group.updating"></button>\n </div>\n\n</div>'),e.put("partials/chat_modal.html",'<div class="chat_modal_wrap" my-modal-position>\n\n <a class="modal-close-button" ng-click="$close()"><i></i></a>\n\n <div class="modal-body">\n\n <div class="user_modal_photo_profile_wrap">\n\n <div class="user_modal_image_wrap pull-left">\n <img\n class="user_modal_image"\n my-load-thumb\n thumb="chatFull.thumb"\n />\n </div>\n\n <div class="chat_modal_info_wrap clearfix">\n <h4 class="chat_modal_header" ng-bind-html="chatFull.chat.rTitle"></h4>\n <p class="chat_modal_members_count" ng-if="chatFull.chat.participants_count > 0">\n <ng-pluralize count="chatFull.chat.participants_count"\n when="{\'0\': \'No members\', \'one\': \'1 member\', \'other\': \'{} members\'}">\n </ng-pluralize>\n </p>\n\n <div class="chat_modal_settings_wrap">\n\n <div class="chat_modal_actions_wrap clearfix">\n\n <button ng-if="!chatFull.chat.left &amp;&amp; chatFull.participants.participants.length" class="btn btn-primary chat_modal_invite_btn" ng-click="inviteToGroup()">Add member</button>\n <button ng-if="chatFull.chat._ != \'chatForbidden\' &amp;&amp; chatFull.chat.left" class="btn btn-primary chat_modal_main_btn" ng-click="returnToGroup()">Return to group</button>\n <button ng-if="chatFull.chat._ == \'chatForbidden\'" class="btn btn-danger chat_modal_delete_btn" ng-click="flushHistory()">Delete chat</button>\n\n <span ng-if="chatFull.chat._ != \'chatForbidden\' &amp;&amp; !chatFull.chat.left &amp;&amp; !photo.updating" class="btn btn-primary chat_modal_main_btn" >\n <input my-file-upload type="file" multiple="false" class="im_attach_input" size="120" multiple="false" accept="image/x-png, image/png, image/gif, image/jpeg" />\n Update photo\n </span>\n <span ng-if="photo.updating" class="btn btn-primary chat_modal_main_btn disabled" disabled>\n Updating<span my-loading-dots></span>\n </span>\n\n\n <div class="dropdown chat_modal_other_btn" ng-if="chatFull.chat._ != \'chatForbidden\' &amp;&amp; !chatFull.chat.left">\n <button class="btn btn-link dropdown-toggle">More<i class="icon icon-caret"></i></button>\n <ul class="dropdown-menu">\n <li ng-if="chatFull.thumb.location">\n <a ng-click="deletePhoto()">Delete photo</a>\n </li>\n <li>\n <a ng-click="editTitle()">Edit group</a>\n </li>\n <li>\n <a ng-click="leaveGroup()">Leave group</a>\n </li>\n <li>\n <a ng-click="flushHistory()">Delete chat</a>\n </li>\n </ul>\n </div>\n\n </div>\n </div>\n\n </div>\n </div>\n\n <div class="modal_section">\n <h3 class="modal_section_header">Settings</h3>\n <div class="modal_section_body">\n\n <div class="tg_form_group">\n <a class="tg_checkbox" ng-click="settings.notifications = !settings.notifications" ng-class="settings.notifications ? \'tg_checkbox_on\' : \'\'">\n <span class="icon icon-checkbox-outer"><i class="icon-checkbox-inner"></i></span>\n <span class="tg_checkbox_label">Notifications</span>\n </a>\n </div>\n </div>\n </div>\n\n <div class="modal_section">\n <h3 class="modal_section_header">Members</h3>\n <div class="modal_section_body">\n\n <div class="chat_modal_members_list">\n\n <div class="chat_modal_participant_wrap clearfix" ng-repeat="participant in chatFull.participants.participants | orderBy:\'-user.sortStatus\'">\n <a ng-if="participant.canKick" ng-click="kickFromGroup(participant.user_id)" class="chat_modal_participant_kick pull-right">Kick</a>\n <a ng-click="openUser(participant.user_id)" class="chat_modal_participant_photo pull-left">\n <img\n class="chat_modal_participant_photo"\n my-load-thumb\n thumb="participant.userPhoto"\n />\n <i class="icon status_online" ng-show="participant.user.status._ == \'userStatusOnline\'"></i>\n </a>\n <div class="chat_modal_participant_name">\n <a ng-click="openUser(participant.user.id)" ng-bind-html="participant.user.rFullName"></a>\n </div>\n <div class="chat_modal_participant_status">{{participant.user | userStatus}}</div>\n </div>\n\n </div>\n\n <div class="chat_modal_members_forbidden" ng-if="chatFull.chat._ == \'chatForbidden\' || chatFull.chat.left">\n Group members list is unavailable.\n </div>\n\n </div>\n </div>\n\n </div>\n\n</div>'),e.put("partials/confirm_modal.html",'<div class="confirm_modal_wrap" my-modal-position>\n\n <a class="modal-close-button" ng-click="$dismiss()"><i></i></a>\n\n <div class="modal-body">\n\n <div class="confirm_modal_description" ng-switch="type">\n <span ng-switch-when="LOGOUT">Are you sure you want to log out?</span>\n <span ng-switch-when="WEBOGRAM_UPDATED_RELOAD">A new version of Webogram is available. Load it?</span>\n <span ng-switch-when="HISTORY_FLUSH">Are you sure? This can not be undone!</span>\n <span ng-switch-when="TERMINATE_SESSIONS">Are you sure you want to log out all devices except for the current one?</span>\n <span ng-switch-when="FILES_CLIPBOARD_PASTE">\n <ng-pluralize count="files.length"\n when="{\'one\': \'Are you sure to send file from clipboard?\', \'other\': \'Are you sure to send {} files from clipboard?\'}">\n </ng-pluralize>\n </span>\n <span ng-switch-when="FILE_CLIPBOARD_PASTE">Are you sure to send file(s) from clipboard?</span>\n <span ng-switch-when="MESSAGE_DELETE">Are you sure to delete the message?</span>\n <span ng-switch-default ng-bind="message || \'Are you sure?\'"></span>\n </div>\n\n </div>\n\n <div class="modal-footer">\n <a class="btn btn-link" ng-click="$dismiss()" ng-switch="type">\n <span ng-switch-default>Cancel</span>\n </a>\n <button type="button" class="btn btn-primary" ng-switch="type" ng-click="$close()">\n <span ng-switch-when="LOGOUT">Log Out</span>\n <span ng-switch-when="HISTORY_FLUSH">Delete Chat</span>\n <span ng-switch-when="FILES_CLIPBOARD_PASTE">Send</span>\n <span ng-switch-when="FILE_CLIPBOARD_PASTE">Send</span>\n <span ng-switch-when="MESSAGE_DELETE">Delete</span>\n <span ng-switch-default>OK</span>\n </button>\n </div>\n\n</div>'),e.put("partials/contacts_modal.html",'<div class="contacts_modal_wrap" my-modal-position>\n\n <div class="modal-body">\n\n <div class="contacts_modal_search">\n <input class="form-control contacts_modal_search_field" my-focused type="search" placeholder="Search" ng-model="search.query"/>\n <a class="contacts_modal_search_clear" ng-click="search.query = \'\'" ng-show="search.query.length"></a>\n </div>\n\n\n <div my-contacts-list class="contacts_modal_col">\n\n <div class="contacts_wrap nano">\n <div class="contacts_scrollable_wrap content">\n\n <ul class="contacts_modal_members_list nav nav-pills nav-stacked">\n\n <li class="contacts_modal_contact_wrap clearfix" ng-repeat="contact in contacts | orderBy:\'user.sortName\' track by contact.userID" ng-class="{active: selectedContacts[contact.userID], disabled: disabledContacts[contact.userID]}">\n <a class="contacts_modal_contact" ng-click="contactSelect(contact.userID)">\n\n <i ng-if="multiSelect" class="icon icon-contact-tick"></i>\n\n <div class="contacts_modal_contact_photo pull-left">\n <img\n class="contacts_modal_contact_photo"\n my-load-thumb\n thumb="contact.userPhoto"\n />\n <i class="icon status_online" ng-show="contact.user.status._ == \'userStatusOnline\'"></i>\n </div>\n\n <div class="contacts_modal_contact_name" ng-bind-html="contact.user.rFullName"></div>\n <div class="contacts_modal_contact_status">{{contact.user | userStatus}}</div>\n\n </a>\n </li>\n\n </ul>\n\n </div>\n </div>\n\n </div>\n\n </div>\n\n <div class="modal-footer" ng-switch="multiSelect">\n <button ng-switch-when="true" class="btn btn-success btn-block" ng-class="{disabled: !selectedCount}" ng-disabled="!selectedCount" ng-click="submitSelected()" type="submit">\n Next »\n </button>\n <div ng-switch-default>\n <a class="btn btn-link pull-left" ng-click="importContact()">Add contact</a>\n <button type="button" class="btn btn-primary" ng-click="$dismiss()">Done</button>\n </div>\n </div>\n\n</div>'),e.put("partials/dialog.html",'<a class="im_dialog" ng-click="dialogSelect(dialogMessage.peerString)">\n\n <div class="im_dialog_meta pull-right text-right">\n <div class="im_dialog_date" ng-bind="dialogMessage.dateText"></div>\n <span\n class="im_dialog_badge badge"\n ng-show="dialogMessage.unreadCount > 0 &amp;&amp; !dialogMessage.out"\n ng-bind="dialogMessage.unreadCount"\n ></span>\n <i\n class="im_dialog_unread"\n ng-show="dialogMessage.out &amp;&amp; dialogMessage.unread"\n ></i>\n </div>\n\n <div class="im_dialog_photo pull-left">\n <img\n class="im_dialog_photo"\n my-load-thumb\n thumb="dialogMessage.peerPhoto"\n />\n </div>\n\n <div class="im_dialog_message_wrap">\n\n <div class="im_dialog_peer" ng-switch="dialogMessage.peerID > 0">\n <span class="im_dialog_user" ng-switch-when="true" ng-bind-html="dialogMessage.peerData.rFullName"></span>\n <span class="im_dialog_chat" ng-switch-default>\n <span ng-bind-html="dialogMessage.peerData.rTitle"></span>\n </span>\n </div>\n\n <div class="im_dialog_message">\n <span class="im_dialog_chat_from_wrap">\n <span\n class="im_dialog_chat_from"\n ng-if="!dialogMessage.out &amp;&amp; dialogMessage.chatID"\n ng-bind-html="dialogMessage.fromUser.rFirstName"\n ></span><span\n class="im_dialog_chat_from"\n ng-if="dialogMessage.out"\n >You</span>{{((dialogMessage.out || dialogMessage.peerID &lt; 0) &amp;&amp; (dialogMessage.message.length || dialogMessage.media &amp;&amp; dialogMessage.media._ != \'messageMediaEmpty\')) ? \':\' : \'\'}}\n </span>\n\n <span class="im_dialog_message_media" ng-if="dialogMessage.media &amp;&amp; dialogMessage.media._ != \'messageMediaEmpty\'" ng-switch="dialogMessage.media._">\n <span ng-switch-when="messageMediaPhoto">Photo</span>\n <span ng-switch-when="messageMediaVideo">Video</span>\n <span ng-switch-when="messageMediaDocument">Document</span>\n <span ng-switch-when="messageMediaAudio">Audio</span>\n <span ng-switch-when="messageMediaGeo">Location</span>\n <span ng-switch-when="messageMediaContact">Contact</span>\n </span>\n\n <span class="im_dialog_message_service" ng-if="dialogMessage._ == \'messageService\'" ng-switch="dialogMessage.action._">\n <span ng-switch-when="messageActionChatCreate"> created the group </span>\n <span ng-switch-when="messageActionChatEditTitle">changed group name</span>\n <span ng-switch-when="messageActionChatEditPhoto">changed group photo</span>\n <span ng-switch-when="messageActionChatDeletePhoto">removed group photo</span>\n\n <span ng-switch-when="messageActionChatAddUser" ng-switch="dialogMessage.from_id == dialogMessage.action.user_id">\n <span ng-switch-when="true">\n returned to group\n </span>\n <span ng-switch-default>\n invited <span ng-bind-html="dialogMessage.action.user.rFullName"></span>\n </span>\n </span>\n\n <span ng-switch-when="messageActionChatDeleteUser" ng-switch="dialogMessage.from_id == dialogMessage.action.user_id">\n <span ng-switch-when="true">\n left group\n </span>\n <span ng-switch-default>\n kicked <span ng-bind-html="dialogMessage.action.user.rFullName"></span>\n </span>\n </span>\n </span>\n\n <span class="im_dialog_message_text" ng-if="dialogMessage.message.length" ng-bind-html="dialogMessage.richMessage"></span>\n </div>\n\n </div>\n</a>\n'),e.put("partials/edit_contact_modal.html",'<div class="import_modal_wrap" my-modal-position>\n\n <a class="modal-close-button" ng-click="$dismiss()"><i></i></a>\n\n <div class="modal-body">\n\n <form class="modal_simple_form" ng-submit="doImport()">\n\n <h4>Edit contact</h4>\n\n <div class="form-group">\n <span class="form-control uneditable-input disabled" disabled ng-bind="importContact.phone | phoneNumber"></span>\n </div>\n <div class="form-group">\n <input class="form-control input-sm" my-focused type="text" placeholder="First name" ng-model="importContact.first_name"/>\n </div>\n <div class="form-group">\n <input class="form-control input-sm" type="text" placeholder="Last name" ng-model="importContact.last_name"/>\n </div>\n\n </form>\n\n </div>\n\n <div class="modal-footer">\n <a class="btn btn-link" ng-click="$dismiss()">Cancel</a>\n <button class="btn btn-primary" ng-class="{disabled: progress.enabled}" ng-click="doImport()" ng-bind="progress.enabled ? \'Saving...\' : \'Save\'" ng-disabled="progress.enabled"></button>\n </div>\n\n</div>'),e.put("partials/error_modal.html",'<div class="error_modal_wrap" my-modal-position>\n\n <a class="modal-close-button" ng-click="$close()"><i></i></a>\n\n <div class="modal-header">\n <h4 ng-if="error" class="modal-title" ng-switch="error.type">\n <span ng-switch-when="ACCOUNT_REQUIRED">No account</span>\n <span ng-switch-default ng-switch="error.code">\n <span ng-switch-when="400">Error</span>\n <span ng-switch-when="401">Unauthorized</span>\n <span ng-switch-when="403">Access denied</span>\n <span ng-switch-when="404">Not found</span>\n <span ng-switch-when="420">Too fast</span>\n <span ng-switch-default>Server error</span>\n </span>\n </h4>\n <h4 ng-if="!error" class="modal-title" ng-bind="title || \'Alert\'"></h4>\n </div>\n\n <div class="modal-body">\n\n <div ng-if="error" class="error_modal_description" ng-switch="error.type">\n <span ng-switch-when="FIRSTNAME_INVALID">\n The first name you entered is invalid.\n </span>\n <span ng-switch-when="LASTNAME_INVALID">\n The last name you entered is invalid.\n </span>\n <span ng-switch-when="PHONE_NUMBER_INVALID">\n The phone number you entered is invalid.\n </span>\n <span ng-switch-when="USERS_TOO_MUCH">\n You have selected too much users.\n </span>\n <span ng-switch-when="PHOTO_INVALID_DIMENSIONS">\n The photo dimensions are invalid, please select another file.\n </span>\n <span ng-switch-when="PHOTO_CROP_SIZE_SMALL">\n The photo you provided is too small.\n </span>\n <span ng-switch-when="ACCOUNT_REQUIRED">\n Sorry, there is no <strong>Telegram</strong> account for {{phone | phoneNumber}}<br/><br/>\n Please <strong>sign up</strong> using our mobile apps for <a href="https://telegram.org/" target="_blank">iOS</a> or <a href="https://telegram.org/" target="_blank">Android</a>.\n </span>\n\n\n <div ng-switch-default ng-switch="error.code">\n <span ng-switch-when="400">One of the params is missing or invalid.</span>\n <span ng-switch-when="401">This action requires authorization access. Please <a href="#/auth">log in</a>.</span>\n <span ng-switch-when="403">You are not allowed for this action.</span>\n <span ng-switch-when="404">The page was not found.</span>\n <span ng-switch-when="420">You are performing too many actions. Please try again later.</span>\n <span ng-switch-default>Internal server error occured. Please try again later.</span>\n </div>\n\n </div>\n\n <div ng-if="error" class="error_modal_details" ng-switch="error.detailsShown">\n <textarea ng-switch-when="true" rows="3" onclick="this.select()">Method: {{error.input || \'N/A\'}}\nResult: {{error.originalError ? error.originalError : (error.stack ? (error.name || \'\') + \' \' + (error.description || error.message) : error)}}\nStack: {{error.stack}}</textarea>\n <div ng-switch-default>\n <a href="" ng-click="error.detailsShown = true">Technical details here</a>\n </div>\n </div>\n\n <div ng-if="!error" class="error_modal_description" ng-bind="description"></div>\n\n </div>\n\n</div>'),e.put("partials/head.html",'<div class="tg_page_head">\n <div class="navbar navbar-static-top navbar-inverse" role="navigation">\n <div class="container">\n <div class="navbar-header">\n <a class="navbar-brand" href="{{isLoggedIn ? \'#/im\' : \'#/\'}}"><span class="tg_head_logo"></span><span class="tg_head_logo_text"></span></a>\n <ul class="nav navbar-nav navbar-quick-nav" ng-show="curDialog.peer">\n <li>\n <a href="#/im">\n <i class="icon icon-back"></i> Back\n </a>\n </li>\n </ul>\n </div>\n\n\n <div class="navbar-collapse collapse">\n\n <ul ng-if="offline" class="nav navbar-nav navbar-offline">\n <li ng-show="!offlineConnecting"><span class="navbar-offline-text">Waiting for network<span my-loading-dots></span></span></li>\n <li ng-show="!offlineConnecting"><a href="" ng-click="retryOnline()">Retry</a></li>\n <li ng-show="offlineConnecting"><span class="navbar-offline-text">Connecting<span my-loading-dots></span></span></li>\n </ul>\n\n <ul ng-if="!offline" class="nav navbar-nav navbar-right">\n <li ng-if="isLoggedIn"><a href="" ng-click="openContacts()">Contacts</a></li>\n <li ng-if="isLoggedIn"><a href="" ng-click="openSettings()">Settings</a></li>\n <li ng-if="isLoggedIn"><a href="" ng-click="logOut()">Log Out</a></li>\n </ul>\n\n </div>\n </div>\n </div>\n</div>'),e.put("partials/im.html",'<div ng-include="\'partials/head.html\'"></div>\n\n<div class="im_page_wrap" ng-class="{im_page_peer_not_selected: !curDialog.peer}">\n\n <div class="im_page_split clearfix">\n\n <div class="im_dialogs_col_wrap" ng-controller="AppImDialogsController">\n <div class="im_dialogs_panel">\n <div class="dropdown im_dialogs_panel_dropdown pull-right">\n <a class="dropdown-toggle">\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n <span class="icon-bar"></span>\n </a>\n <ul class="dropdown-menu">\n <li><a href="" ng-click="openGroup()">New Group</a></li>\n <li><a href="" ng-click="openContacts()">Contacts</a></li>\n <li><a href="" ng-click="openSettings()">Settings</a></li>\n </ul>\n </div>\n <div class="im_dialogs_search">\n <input class="form-control im_dialogs_search_field" type="search" placeholder="Search" ng-model="search.query"/>\n <a class="im_dialogs_search_clear" ng-click="search.query = \'\'" ng-show="search.query.length"></a>\n </div>\n </div>\n <div my-dialogs-list class="im_dialogs_col">\n <div class="im_dialogs_wrap nano">\n <div class="im_dialogs_scrollable_wrap content">\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" my-dialog dialog-message="dialogMessage" ng-repeat="dialogMessage in dialogs track by dialogMessage.peerID" ng-class="{active: curDialog.peerID == dialogMessage.peerID}"></li>\n </ul>\n <div class="im_dialogs_contacts_wrap" ng-show="contacts.length > 0">\n <h5>Contacts</h5>\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" ng-repeat="contact in contacts | orderBy:\'user.sortName\' track by contact.userID" ng-class="{active: curDialog.peerID == contact.userID}">\n <a class="im_dialog" ng-click="dialogSelect(contact.peerString)">\n <div class="im_dialog_photo pull-left">\n <img\n class="im_dialog_photo"\n my-load-thumb\n thumb="contact.userPhoto"\n />\n </div>\n <div class="im_dialog_message_wrap">\n <div class="im_dialog_peer">\n <span class="im_dialog_user" ng-bind-html="contact.user.rFullName"></span>\n </div>\n <div class="im_dialog_message">\n <span class="im_dialog_message_text">{{contact.user | userStatus}}</span>\n </div>\n </div>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div class="im_history_col_wrap" ng-controller="AppImHistoryController">\n <div ng-show="state.notSelected" class="im_history_not_selected" my-vertical-position="0.35">\n Please select a chat to start messaging\n </div>\n <div ng-show="!state.notSelected &amp;&amp; !state.loaded" class="im_history_not_selected" my-vertical-position="0.35">\n Loading history<span my-loading-dots></span>\n </div>\n\n <div ng-show="state.loaded">\n <div my-history class="im_history_col">\n\n <div class="im_history_panel_wrap">\n\n <div class="im_history_panel clearfix" ng-controller="AppImPanelController">\n <div class="im_history_panel_title">\n\n <a class="im_history_panel_info_link pull-right" ng-click="showPeerInfo()">Info</a>\n <a class="im_history_panel_edit_link pull-right" ng-click="toggleEdit()">Edit</a>\n\n <div class="dropdown im_history_panel_media_dropdown pull-right">\n <a class="dropdown-toggle">Media<i class="icon icon-caret"></i></a>\n <ul class="dropdown-menu">\n <li><a ng-click="toggleMedia(\'photos\')">Photos</a></li>\n <li><a ng-click="toggleMedia(\'video\')">Videos</a></li>\n <li><a ng-click="toggleMedia(\'documents\')">Documents</a></li>\n </ul>\n </div>\n <a ng-show="mediaType !== false" class="im_history_panel_return_link pull-right" ng-click="toggleMedia()">\n Show all messages\n <strong class="im_history_panel_return_count" ng-show="missedCount > 0">+{{missedCount}}</strong>\n </a>\n\n <div ng-switch="mediaType">\n <h4 ng-switch-when="photos">Photos</h4>\n <h4 ng-switch-when="video">Videos</h4>\n <h4 ng-switch-when="documents">Documents</h4>\n\n <h4 ng-switch-default ng-switch="historyPeer.id > 0" ng-click="showPeerInfo()">\n <div ng-switch-when="true">\n <span ng-bind-html="historyPeer.data.rFullName"></span>\n <small class="im_peer_online">{{historyPeer.data | userStatus}}</small>\n </div>\n <div ng-switch-default>\n <span ng-bind-html="historyPeer.data.rTitle"></span>\n <small class="im_chat_users">\n <ng-pluralize count="historyPeer.data.participants_count"\n when="{\'0\': \'No members\', \'one\': \'1 member\', \'other\': \'{} members\'}">\n </ng-pluralize>\n </small>\n </div>\n </h4>\n </div>\n\n </div>\n\n </div>\n\n </div>\n\n <div class="im_history_wrap nano">\n\n <div class="im_history_scrollable_wrap content">\n\n <div class="im_history_scrollable">\n <div class="im_history" ng-class="{im_history_selectable: selectActions}">\n <div ng-if="!history.length" class="im_history_empty" ng-switch="state.mayBeHasMore">\n <div my-vertical-position="0.25" ng-switch-when="true">\n Loading history<span my-loading-dots></span>\n </div>\n <div my-vertical-position="0.25" ng-switch-default>\n No messages here yet...\n </div>\n </div>\n\n <div class="im_history_messages">\n <div class="im_history_message_wrap" my-message bindonce ng-repeat="historyMessage in history"></div>\n </div>\n </div>\n\n <div class="im_history_typing_wrap">\n <div class="im_history_typing" ng-show="typing.user &amp;&amp; !mediaType">\n <strong class="im_history_typing_author" ng-bind-html="typing.user.rFullName"></strong> is typing<span my-loading-dots></span>\n </div>\n </div>\n\n </div>\n\n </div>\n\n </div>\n\n <div class="im_bottom_panel_wrap">\n\n <div class="im_edit_panel_wrap clearfix" ng-show="selectActions">\n <div class="im_edit_panel_border"></div>\n <a class="im_edit_flush_link" ng-click="selectedFlush()" ng-switch="historyPeer.id > 0">\n <span ng-switch-when="true">Delete Chat</span>\n <span ng-switch-default>Clear History</span>\n </a>\n <a class="im_edit_cancel_link" ng-click="selectedCancel()">Cancel</a>\n <div class="im_edit_selected_actions">\n <a class="btn btn-primary im_edit_forward_btn" ng-click="selectedForward()">\n Forward <strong class="im_selected_count" ng-show="selectedCount > 0" ng-bind="selectedCount"></strong>\n </a><a class="btn btn-danger im_edit_delete_btn" ng-click="selectedDelete()">\n Delete <strong class="im_selected_count" ng-show="selectedCount > 0" ng-bind="selectedCount"></strong>\n </a>\n </div>\n </div>\n\n <div class="im_send_panel_wrap" ng-hide="selectActions">\n\n <div class="im_send_form_wrap1">\n\n <div class="im_send_form_wrap clearfix" ng-controller="AppImSendController">\n <div class="pull-right im_panel_peer_photo" ng-click="showPeerInfo()">\n <img\n class="im_panel_peer_photo"\n my-load-thumb\n thumb="historyPeer.photo"\n />\n <i class="icon im_panel_peer_online" ng-show="historyPeer.id > 0 &amp;&amp; historyPeer.data.status._ == \'userStatusOnline\'"></i>\n </div>\n <div class="pull-left im_panel_own_photo">\n <img\n class="im_panel_own_photo"\n my-load-thumb\n thumb="ownPhoto"\n />\n </div>\n <form my-send-form draft-message="draftMessage" class="im_send_form" ng-submit="sendMessage($event)">\n <div class="im_send_dropbox_wrap"> Drop photos here to send </div>\n <textarea ng-model="draftMessage.text" placeholder="Write a message..." class="form-control im_message_field"></textarea>\n\n <div class="im_media_attach pull-right">\n <input type="file" class="im_media_attach_input" size="28" multiple="true" accept="image/*, video/*, audio/*" title="Send media"/>\n <i class="icon icon-camera"></i>\n </div>\n\n <div class="im_attach pull-right">\n <input type="file" class="im_attach_input" size="28" multiple="true" title="Send file" />\n <i class="icon icon-paperclip"></i>\n </div>\n\n <div class="im_emoji_btn pull-right" title="Insert emoticon">\n <i class="icon icon-emoji"></i>\n </div>\n\n <button type="submit" class="btn btn-success im_submit">Send</button>\n </form>\n </div>\n\n </div>\n\n </div>\n\n </div>\n\n </div>\n </div>\n\n </div>\n\n </div>\n\n\n</div>\n\n<div class="im_page_footer">\n <a class="im_page_footer_brand" target="_blank" href="https://github.com/zhukov/webogram">Telegram alpha</a> by izhukov &amp; toberg\n</div>\n\n<div id="notify_sound"></div>\n\n'),e.put("partials/import_contact_modal.html",'<div class="import_modal_wrap" my-modal-position>\n\n <a class="modal-close-button" ng-click="$dismiss()"><i></i></a>\n\n <div class="modal-body">\n\n <form class="modal_simple_form" ng-submit="doImport()">\n\n <h4>Add new contact</h4>\n\n <div class="form-group">\n <input class="form-control input-sm" my-focused type="text" placeholder="Phone number" ng-model="importContact.phone"/>\n </div>\n <div class="form-group">\n <input class="form-control input-sm" type="text" placeholder="First name" ng-model="importContact.first_name"/>\n </div>\n <div class="form-group">\n <input class="form-control input-sm" type="text" placeholder="Last name" ng-model="importContact.last_name"/>\n </div>\n\n </form>\n\n </div>\n\n <div class="modal-footer">\n <a class="btn btn-link" ng-click="$dismiss()">Cancel</a>\n <button class="btn btn-primary" ng-class="{disabled: progress.enabled}" ng-click="doImport()" ng-bind="progress.enabled ? \'Importing...\' : \'Save\'" ng-disabled="progress.enabled"></button>\n </div>\n\n</div>'),e.put("partials/login.html",'<div ng-include="\'partials/head.html\'"></div>\n\n\n<div class="login_form_wrap" my-vertical-position="0.4">\n <div class="error" ng-if="error.message">{{ error.message }}</div>\n <form name="mySendCodeForm" ng-if="!credentials.phone_code_hash" ng-submit="sendCode()">\n <h3 class="login_form_head">Sign in</h3>\n <p class="login_form_lead">Please enter your full phone number with country code.</p>\n\n <div class="form-group" ng-class="{\'has-error\': error.field == \'phone\'}">\n <label class="control-label" for="phone_number" ng-if="error.field == \'phone\'">Incorrect phone number</label>\n <input type="tel" class="form-control" my-focused name="phone_number" ng-model="credentials.phone_number" placeholder="Enter your phone" required>\n </div>\n <button class="btn btn-success btn-block" ng-class="{disabled: progress.enabled}" ng-disabled="progress.enabled" type="submit">\n {{progress.enabled ? \'Generating keys...\' : \'Next\'}}\n </button>\n </form>\n\n <form name="myLoginForm" ng-if="credentials.phone_code_hash" ng-submit="logIn()">\n <h3 class="login_form_head">{{ credentials.phone_number | phoneNumber }} <small>(<a ng-click="credentials.phone_code_hash = \'\'">edit</a>)</small></h3>\n <p class="login_form_lead">We have sent you a code via SMS.<br/>Please enter it below.</p>\n\n <p class="login_form_lead">\n <span ng-show="callPending.remaining > 0">Telegram will call you in {{callPending.remaining | duration}}</span>\n <span ng-show="!callPending.remaining &amp;&amp; !callPending.success">Telegram is calling you</span>\n <span ng-show="!callPending.remaining &amp;&amp; callPending.success">Telegram dialed your number</span>\n </p>\n\n <div class="form-group" ng-class="{\'has-error\': error.field == \'phone_code\'}">\n <label class="control-label" for="phone_code" ng-if="error.field == \'phone_code\'">Incorrect SMS code</label>\n <input type="number" my-focused maxlength="5" class="form-control" name="phone_code" ng-model="credentials.phone_code" placeholder="Enter your code" required>\n </div>\n\n <button class="btn btn-success btn-block" type="submit" ng-class="{disabled: progress.enabled}" ng-disabled="progress.enabled">\n {{progress.enabled ? \'Checking code...\' : \'Sign in\'}}\n </button>\n </form>\n</div>\n'),e.put("partials/message.html",'<div class="im_message_unread_split" bo-if="historyUnread.beforeID == historyMessage.id" ng-show="historyUnread.beforeID == historyMessage.id">\n <ng-pluralize count="historyUnread.count"\n when="{\'one\': \'1 unread message\', \'other\': \'{} unread messages\'}">\n </ng-pluralize>\n</div>\n\n<div class="im_message_outer_wrap" ng-class="{im_message_selected: selectedMsgs[historyMessage.id], im_message_grouped: historyMessage.grouped}" ng-click="toggleMessage(historyMessage.id, $event.target)">\n\n\n <div class="im_message_wrap clearfix" bindonce>\n\n <div class="im_service_message_wrap" bo-if="historyMessage._ == \'messageService\'">\n <div class="im_service_message">\n\n <a ng-click="openUser(historyMessage.from_id)" class="im_message_author" ng-bind-html="historyMessage.fromUser.rFullName"></a>\n\n <span class="im_message_service" bo-switch="historyMessage.action[\'_\']">\n <span bo-switch-when="messageActionChatCreate">\n created the group &laquo;<strong ng-bind-html="historyMessage.action.rTitle"></strong>&raquo;\n </span>\n <span bo-switch-when="messageActionChatEditTitle">\n changed group name to &laquo;<strong ng-bind-html="historyMessage.action.rTitle"></strong>&raquo;\n </span>\n <span bo-switch-when="messageActionChatEditPhoto">\n changed group photo\n </span>\n <span bo-switch-when="messageActionChatDeletePhoto">\n removed group photo\n </span>\n <span bo-switch-when="messageActionChatAddUser">\n <span bo-if="historyMessage.from_id != historyMessage.action.user_id">\n invited <a ng-click="openUser(historyMessage.action.user_id)" ng-bind-html="historyMessage.action.user.rFullName"></a>\n </span>\n <span bo-if="historyMessage.from_id == historyMessage.action.user_id">\n returned to group\n </span>\n </span>\n <span bo-switch-when="messageActionChatDeleteUser">\n <span bo-if="historyMessage.from_id != historyMessage.action.user_id">\n kicked <a ng-click="openUser(historyMessage.action.user_id)" ng-bind-html="historyMessage.action.user.rFullName"></a>\n </span>\n <span bo-if="historyMessage.from_id == historyMessage.action.user_id">\n left group\n </span>\n </span>\n\n <span bo-switch-default ng-bind="\'Unsupported action \' + historyMessage.action._"></span>\n </span>\n\n </div>\n\n <a bo-if="historyMessage.action._ == \'messageActionChatEditPhoto\'" class="im_service_message_photo_thumb" href="" ng-click="openPhoto(historyMessage.action.photo.id)">\n <img\n class="im_service_message_photo_thumb"\n my-load-thumb\n thumb="historyMessage.action.photo.thumb"\n />\n </a>\n\n </div>\n\n <div bindonce bo-if="historyMessage._ != \'messageService\'" class="im_content_message_wrap">\n <div class="im_content_message_select_area">\n <i class="icon icon-select-tick"></i>\n </div>\n\n <a bo-if="historyMessage.pending || historyMessage.error" ng-click="historyMessage.send()" ng-show="historyMessage.error">\n <i class="icon-message-status icon-message-status-error" tooltip="Try again"></i>\n </a>\n\n <i bo-if="historyMessage.unread || historyMessage.pending" class="icon-message-status" ng-class="{\'icon-message-status-unread\': historyMessage.unread, \'icon-message-status-pending\': historyMessage.pending}" ng-show="!historyMessage.error"></i>\n\n <a ng-click="openUser(historyMessage.from_id)" class="im_message_from_photo pull-left">\n <img\n class="im_message_from_photo"\n my-load-thumb\n thumb="historyMessage.fromPhoto"\n />\n </a>\n <div class="im_message_meta pull-right text-right">\n <span class="im_message_date" bo-bind="historyMessage.date | dateOrTime"></span>\n </div>\n\n <div class="im_message_body">\n\n <a bo-if="historyMessage.to_id.chat_id > 0" class="im_message_author" bo-class="\'user_color_\' + historyMessage.fromPhoto.num" ng-click="openUser(historyMessage.from_id)" ng-bind-html="historyMessage.fromUser.rFullName"></a>\n <a bo-if="!historyMessage.to_id.chat_id" class="im_message_author" ng-click="openUser(historyMessage.from_id)" ng-bind-html="historyMessage.fromUser.rFirstName" ></a>\n\n <div bo-if="historyMessage._ == \'messageForwarded\'" class="im_message_fwd_header">\n Forwarded message from <a class="im_message_fwd_author" ng-click="openUser(historyMessage.fwd_from_id)" ng-bind-html="historyMessage.fwdUser.rFirstName"></a>, <span class="im_message_fwd_date" ng-bind="historyMessage.fwd_date | dateOrTime"></span>\n </div>\n\n <div bo-if="historyMessage.media &amp;&amp; historyMessage.media._ != \'messageMediaEmpty\'" class="im_message_media" ng-switch="historyMessage.media._">\n\n <a ng-switch-when="messageMediaPhoto" class="im_message_photo_thumb" href="" ng-click="openPhoto(historyMessage.media.photo.id, historyMessage.id)" bo-style="{width: historyMessage.media.photo.thumb.width + \'px\'}" ng-mouseover="preloadPhoto(historyMessage.media.photo.id)">\n <img\n class="im_message_photo_thumb"\n my-load-thumb\n thumb="historyMessage.media.photo.thumb"\n />\n </a>\n\n <div ng-switch-when="messageMediaVideo" class="im_message_video im_message_document_thumbed">\n <a class="im_message_video_thumb" href="" ng-click="openVideo(historyMessage.media.video.id, historyMessage.id)" bo-style="{width: historyMessage.media.video.thumb.width + \'px\'}">\n <span class="im_message_video_duration" bo-bind="historyMessage.media.video.duration | duration"></span>\n <i class="icon icon-videoplay"></i>\n <img\n class="im_message_video_thumb"\n my-load-thumb\n thumb="historyMessage.media.video.thumb"\n />\n </a>\n\n <div class="im_message_document_info">\n <div class="im_message_document_name_wrap">\n <span class="im_message_document_name">Video</span>\n <span class="im_message_document_size" ng-if="!historyMessage.media.video.progress.enabled" bo-bind="historyMessage.media.video.size | formatSize"></span>\n <span class="im_message_document_size" ng-if="historyMessage.media.video.progress.enabled" ng-bind="historyMessage.media.video.progress | formatSizeProgress"></span>\n </div>\n <div class="im_message_document_actions" ng-if="!historyMessage.media.video.progress.enabled">\n <a href="" ng-click="downloadVideo(historyMessage.media.video.id)">Download</a>\n <a href="" ng-click="openVideo(historyMessage.media.video.id, historyMessage.id)">Play video</a>\n </div>\n <div class="clearfix cancelable_progress_wrap" ng-if="historyMessage.media.video.progress.enabled">\n <a class="im_message_media_progress_cancel pull-right" ng-click="historyMessage.media.video.progress.cancel()">Cancel</a>\n <div class="im_message_download_progress_wrap">\n <div class="progress tg_down_progress">\n <div class="progress-bar progress-bar-success" ng-style="{width: historyMessage.media.video.progress.percent + \'%\'}"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <div ng-switch-when="messageMediaDocument" class="im_message_document" ng-class="{im_message_document_thumbed: !!historyMessage.media.document.thumb}">\n <a href="" ng-click="downloadDoc(historyMessage.media.document.id, false, historyMessage.media.document.withPreview)" ng-class="{im_message_document_link_disabled: historyMessage.media.document.progress.enabled}">\n <i class="icon icon-document" bo-if="!historyMessage.media.document.thumb"></i>\n <div class="im_message_document_thumb_wrap" bo-if="historyMessage.media.document.thumb">\n <img\n class="im_message_document_thumb"\n my-load-thumb\n thumb="historyMessage.media.document.thumb"\n />\n </div>\n </a>\n\n <div class="im_message_document_info">\n <div class="im_message_document_name_wrap">\n <span class="im_message_document_name" bo-bind="historyMessage.media.document.file_name"></span>\n <span class="im_message_document_size" ng-if="!historyMessage.media.document.progress.enabled" bo-bind="historyMessage.media.document.size | formatSize"></span>\n <span class="im_message_document_size" ng-if="historyMessage.media.document.progress.enabled" ng-bind="historyMessage.media.document.progress | formatSizeProgress"></span>\n </div>\n <div class="im_message_document_actions" ng-if="!historyMessage.media.document.progress.enabled">\n <a href="" ng-click="downloadDoc(historyMessage.media.document.id)">Download</a>\n <a href="" ng-click="downloadDoc(historyMessage.media.document.id, false, true)" bo-if="historyMessage.media.document.withPreview">Open</a>\n </div>\n <div class="clearfix cancelable_progress_wrap" ng-if="historyMessage.media.document.progress.enabled">\n <a class="im_message_media_progress_cancel pull-right" ng-click="historyMessage.media.document.progress.cancel()">Cancel</a>\n <div class="im_message_download_progress_wrap">\n <div class="progress tg_down_progress">\n <div class="progress-bar progress-bar-success" ng-style="{width: historyMessage.media.document.progress.percent + \'%\'}"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n\n <div ng-switch-when="messageMediaAudio" class="im_message_document">\n <a href="" ng-click="openAudio(historyMessage.media.audio.id)" ng-if="!historyMessage.media.audio.progress.enabled &amp;&amp; !historyMessage.media.audio.url">\n <i class="icon icon-audio"></i>\n </a>\n <i class="icon icon-audio" ng-if="historyMessage.media.audio.progress.enabled || historyMessage.media.audio.url"></i>\n\n <div class="im_message_audio_info">\n <div class="im_message_audio_name_wrap" ng-if="!historyMessage.media.audio.url">\n <span class="im_message_audio_name">\n Voice message\n </span>\n <span class="im_message_audio_duration" ng-if="!historyMessage.media.audio.progress.enabled" bo-bind="historyMessage.media.audio.duration | duration"></span>\n <span class="im_message_audio_size" ng-if="historyMessage.media.audio.progress.enabled" ng-bind="historyMessage.media.audio.progress | formatSizeProgress"></span>\n </div>\n <div class="im_message_audio_actions" ng-if="!historyMessage.media.audio.progress.enabled &amp;&amp; !historyMessage.media.audio.url">\n <a href="" ng-click="openAudio(historyMessage.media.audio.id)">Play</a>\n </div>\n <div class="clearfix cancelable_progress_wrap" ng-if="historyMessage.media.audio.progress.enabled">\n <a class="im_message_media_progress_cancel pull-right" ng-click="historyMessage.media.audio.progress.cancel()">Cancel</a>\n <div class="im_message_download_progress_wrap">\n <div class="progress tg_down_progress">\n <div class="progress-bar progress-bar-success" ng-style="{width: historyMessage.media.audio.progress.percent + \'%\'}"></div>\n </div>\n </div>\n </div>\n <div class="im_message_audio_player_wrap" ng-if="historyMessage.media.audio.url">\n <audio my-audio-autoplay audio="historyMessage.media.audio" controls="controls">\n <source bo-src="historyMessage.media.audio.url" type="audio/mpeg" />\n <embed bo-src="historyMessage.media.audio.url" hidden="true" autostart="true" loop="false" />\n </audio>\n </div>\n </div>\n </div>\n\n <a ng-switch-when="messageMediaGeo" my-map-point point="historyMessage.media.geo" class="im_message_geopoint">\n <i class="icon icon-geo-point"></i>\n </a>\n\n <div ng-switch-when="messageMediaContact">\n <a bo-if="historyMessage.media.user" ng-click="openUser(historyMessage.media.user.id)" class="im_message_contact_photo pull-left">\n <img\n class="im_message_contact_photo"\n my-load-thumb\n thumb="historyMessage.media.userPhoto"\n />\n </a>\n <div class="im_message_contact_name" ng-switch="!!historyMessage.media.user">\n <a ng-switch-when="true" ng-click="openUser(historyMessage.media.user.id)" ng-bind-html="historyMessage.media.rFullName"></a>\n <span ng-switch-default ng-bind-html="historyMessage.media.rFullName"></span>\n </div>\n <div class="im_message_contact_phone" bo-bind="historyMessage.media.phone_number | phoneNumber"></div>\n </div>\n\n <div ng-switch-when="messageMediaPending" class="im_message_upload_file" bo-class="\'im_message_upload_\' + historyMessage.media.type">\n <i class="icon" bo-class="\'icon-\' + historyMessage.media.type"></i>\n <div class="im_message_document_info">\n <div class="im_message_document_name_wrap">\n <span class="im_message_document_name" bo-bind="historyMessage.media.file_name"></span>\n <span class="im_message_document_size" ng-if="historyMessage.media.progress" ng-bind="historyMessage.media.progress | formatSizeProgress"></span>\n </div>\n <div class="clearfix cancelable_progress_wrap">\n <a class="im_message_media_progress_cancel pull-right" ng-click="historyMessage.media.progress.cancel()">Cancel</a>\n <div class="im_message_download_progress_wrap">\n <div class="progress tg_down_progress">\n <div class="progress-bar progress-bar-success" role="progressbar" ng-style="{width: historyMessage.media.progress.percent + \'%\'}"></div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n\n </div>\n\n <div class="im_message_text" bo-if="historyMessage.message.length" ng-bind-html="historyMessage.richMessage"></div>\n </div>\n\n </div>\n </div>\n\n</div>\n\n'),e.put("partials/peer_select.html",'<div class="peer_select_modal_wrap" my-modal-position>\n\n <div class="modal-body">\n\n <div class="im_dialogs_modal_col_wrap" ng-controller="AppImDialogsController">\n <div class="im_dialogs_panel">\n <div class="im_dialogs_search">\n <input my-focused class="form-control im_dialogs_search_field" type="search" placeholder="Search" ng-model="search.query"/>\n <a class="im_dialogs_search_clear" ng-click="search.query = \'\'" ng-show="search.query.length"></a>\n </div>\n </div>\n <div my-dialogs-list modal="true" class="im_dialogs_modal_col">\n <div class="im_dialogs_wrap nano">\n <div class="im_dialogs_scrollable_wrap content">\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" my-dialog dialog-message="dialogMessage" ng-repeat="dialogMessage in dialogs track by dialogMessage.peerID"></li>\n </ul>\n <div class="im_dialogs_contacts_wrap" ng-show="contacts.length > 0">\n <h5>Contacts</h5>\n <ul class="nav nav-pills nav-stacked">\n <li class="im_dialog_wrap" ng-repeat="contact in contacts | orderBy:\'user.sortName\' track by contact.userID" ng-class="{active: curDialog.peerID == contact.userID}">\n <a class="im_dialog" ng-click="dialogSelect(contact.peerString)">\n <div class="im_dialog_photo pull-left">\n <img\n class="im_dialog_photo"\n my-load-thumb\n thumb="contact.userPhoto"\n />\n </div>\n <div class="im_dialog_message_wrap">\n <div class="im_dialog_peer">\n <span class="im_dialog_user" ng-bind-html="contact.user.rFullName"></span>\n </div>\n <div class="im_dialog_message">\n <span class="im_dialog_message_text">{{contact.user | userStatus}}</span>\n </div>\n </div>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>'),e.put("partials/photo_modal.html",'<div my-modal-width="{{photo.full.modalWidth}}" class="media_modal_wrap photo_modal_wrap" my-modal-position animation="no" my-modal-nav next="nav.next()" prev="nav.prev()">\n\n <div class="modal-body">\n\n <div class="photo_modal_image_wrap" my-load-full-photo full-photo="photo.full" thumb-location="photo.thumb.location" ng-click="nav.next()"> </div>\n\n <div class="media_modal_actions pull-right" ng-if="messageID">\n <a href="" class="media_modal_action_link" ng-click="forward()">Forward</a>\n <a href="" class="media_modal_action_link" ng-click="delete()">Delete</a>\n </div>\n\n <p class="media_modal_info">\n <span class="media_modal_author" ng-bind-html="photo.fromUser.rFullName"></span>, {{photo.date | dateOrTime}}\n </p>\n\n </div>\n\n</div>'),e.put("partials/profile_edit_modal.html",'<div class="profile_edit_modal_wrap" my-modal-position>\n\n <a class="modal-close-button" ng-click="$dismiss()"><i></i></a>\n\n <div class="modal-body">\n\n <form class="modal_simple_form" ng-submit="updateProfile()">\n\n <h4>Edit Profile</h4>\n\n <div class="form-group import_modal_field_wrap" ng-class="{\'has-error\': error.field == \'first_name\'}">\n <input class="form-control input-sm" my-focused type="text" placeholder="First name" ng-model="profile.first_name" name="first_name"/>\n </div>\n <div class="form-group import_modal_field_wrap" ng-class="{\'has-error\': error.field == \'last_name\'}">\n <input class="form-control input-sm" type="text" placeholder="Last name" ng-model="profile.last_name"/>\n </div>\n\n </form>\n\n </div>\n\n <div class="modal-footer">\n <a class="btn btn-link" ng-click="$dismiss()">Cancel</a>\n <button class="btn btn-primary" ng-class="{disabled: profile.updating}" ng-click="updateProfile()" ng-bind="profile.updating ? \'Saving...\' : \'Save\'" ng-disabled="profile.updating"></button>\n </div>\n\n</div>'),e.put("partials/settings_modal.html",'<div class="settings_modal_wrap modal_content_wrap" my-modal-position>\n\n <a class="modal-close-button" ng-click="$close()"><i></i></a>\n\n <div class="modal-body">\n\n <div class="user_modal_photo_profile_wrap">\n\n <div class="user_modal_image_wrap pull-left">\n <img\n class="user_modal_image"\n my-load-thumb\n thumb="photo"\n />\n </div>\n\n <div class="user_modal_info_wrap clearfix">\n <h4 class="user_modal_header" ng-bind-html="profile.rFullName"></h4>\n <p class="user_modal_status" ng-bind="profile | userStatus"></p>\n\n <div class="user_modal_actions_wrap clearfix">\n <span class="btn btn-primary user_modal_main_btn" ng-if="!photo.updating">\n <input my-file-upload type="file" multiple="false" class="im_attach_input" size="120" multiple="false" accept="image/x-png, image/png, image/gif, image/jpeg" />\n Set profile photo\n </span>\n <span class="btn btn-primary user_modal_main_btn disabled" disabled ng-if="photo.updating">\n Updating<span my-loading-dots></span>\n </span>\n\n <div class="dropdown user_modal_other_btn">\n <button class="btn btn-link dropdown-toggle">More<i class="icon icon-caret"></i></button>\n <ul class="dropdown-menu">\n <li ng-if="photo.location">\n <a ng-click="deletePhoto()">Delete profile photo</a>\n </li>\n <li>\n <a ng-click="editProfile()">Edit profile</a>\n </li>\n <li>\n <a ng-click="terminateSessions()">Terminate all sessions</a>\n </li>\n </ul>\n </div>\n\n </div>\n </div>\n\n </div>\n\n <div class="modal_section" ng-if="profile.phone">\n <h3 class="modal_section_header">Phone</h3>\n <div class="modal_section_body">\n <p><span ng-bind="profile.phone | phoneNumber"></span></p>\n </div>\n </div>\n\n <div class="modal_section">\n <h3 class="modal_section_header">Settings</h3>\n <div class="modal_section_body">\n\n <div class="tg_form_group">\n <a class="tg_checkbox" ng-click="notify.desktop = !notify.desktop" ng-class="notify.desktop ? \'tg_checkbox_on\' : \'\'">\n <span class="icon icon-checkbox-outer"><i class="icon-checkbox-inner"></i></span>\n <span class="tg_checkbox_label">Desktop notifications</span>\n </a>\n\n <a class="tg_checkbox" ng-click="notify.sound = !notify.sound" ng-class="notify.sound ? \'tg_checkbox_on\' : \'\'">\n <span class="icon icon-checkbox-outer"><i class="icon-checkbox-inner"></i></span>\n <span class="tg_checkbox_label">Sound</span>\n </a>\n </div>\n\n <div class="tg_form_group">\n <a class="tg_radio" ng-click="send.enter = 1" ng-class="send.enter == 1 ? \'tg_radio_on\' : \'\'">\n <i class="icon icon-radio"></i>\n <span>\n <strong>Enter</strong> - send message, <strong>Shift + Enter</strong> - new line\n </span>\n </a>\n\n <a class="tg_radio" ng-click="send.enter = 0" ng-class="send.enter == 0 ? \'tg_radio_on\' : \'\'">\n <i class="icon icon-radio"></i>\n <span>\n <strong>Ctrl + Enter</strong> - send message, <strong>Enter</strong> - new line\n </span>\n </a>\n </div>\n\n </div>\n </div>\n\n <div class="modal_section">\n <h3 class="modal_section_header">About</h3>\n <div class="modal_section_body">\n <p><strong>Webogram</strong> v0.0.21, <a href="https://github.com/zhukov/webogram" target="_blank">GitHub</a></p>\n </div>\n </div>\n\n </div>\n</div>\n'),e.put("partials/user_modal.html",'<div class="user_modal_wrap" my-modal-position>\n\n <a class="modal-close-button" ng-click="$close()"><i></i></a>\n\n <div class="modal-body">\n\n <div class="user_modal_photo_profile_wrap">\n\n <div class="user_modal_image_wrap pull-left">\n <img\n class="user_modal_image"\n my-load-thumb\n thumb="userPhoto"\n />\n </div>\n\n <div class="user_modal_info_wrap clearfix">\n <h4 class="user_modal_header" ng-bind="user | userName"></h4>\n <p class="user_modal_status" ng-if="user.status" ng-bind="user | userStatus"></p>\n\n <div class="user_modal_actions_wrap clearfix">\n <button class="btn btn-primary user_modal_main_btn" ng-click="goToHistory()">Send message</button>\n\n <div class="dropdown user_modal_other_btn">\n <button class="btn btn-link dropdown-toggle">More<i class="icon icon-caret"></i></button>\n <ul class="dropdown-menu">\n <li ng-if="user._ == \'userContact\'">\n <a ng-click="importContact(true)">Edit contact</a>\n </li>\n <li ng-if="user._ == \'userContact\'">\n <a ng-click="deleteContact()">Delete contact</a>\n </li>\n <li ng-if="user.phone.length > 0 &amp;&amp; user._ != \'userContact\'">\n <a ng-click="importContact()">Add to contacts</a>\n </li>\n <li ng-if="user.phone.length > 0">\n <a ng-click="shareContact()">Share contact</a>\n </li>\n <li>\n <a ng-click="flushHistory()">Delete chat</a>\n </li>\n </ul>\n </div>\n\n </div>\n </div>\n\n </div>\n\n <div class="modal_section" ng-if="user.phone">\n <h3 class="modal_section_header">Phone</h3>\n <div class="modal_section_body">\n <p><span ng-bind="user.phone | phoneNumber"></span></p>\n </div>\n </div>\n\n <div class="modal_section">\n <h3 class="modal_section_header">Settings</h3>\n <div class="modal_section_body">\n\n <div class="tg_form_group">\n <a class="tg_checkbox" ng-click="settings.notifications = !settings.notifications" ng-class="settings.notifications ? \'tg_checkbox_on\' : \'\'">\n <span class="icon icon-checkbox-outer"><i class="icon-checkbox-inner"></i></span>\n <span class="tg_checkbox_label">Notifications</span>\n </a>\n </div>\n </div>\n </div>\n\n </div>\n\n</div>'),e.put("partials/video_modal.html",'<div class="media_modal_wrap video_modal_wrap" my-modal-position>\n\n <div class="modal-body">\n\n <div class="video_modal_image_wrap" my-load-video video="video"></div>\n\n <div class="media_modal_actions pull-right" ng-if="messageID">\n <a href="" class="media_modal_action_link" ng-click="forward()">Forward</a>\n <a href="" class="media_modal_action_link" ng-click="delete()">Delete</a>\n </div>\n\n <p class="media_modal_info">\n <span class="media_modal_author" ng-bind-html="video.fromUser.rFullName" ></span>, {{video.date | dateOrTime}}\n </p>\n\n </div>\n\n</div>'),e.put("partials/welcome.html",'<div ng-include="\'partials/head.html\'"></div>\n\n\n<div ng-if="showWelcome">\n\n <div my-vertical-position="0.4">\n <div class="welcome_logo"></div>\n\n <div class="welcome_box_wrap">\n <div class="welcome_text">\n <p>Welcome to an unofficial web-client of mobile <strong>Telegram</strong> messenger.</p>\n <p>It is an alpha, which means it is still not 200% secure and functional.</p>\n <p>Visit <a target="_blank" href="https://telegram.org/">telegram.org</a> to learn more.</p>\n </div>\n <a href="#/login" class="btn btn-success btn-block">Start Messaging</a>\n </div>\n </div>\n\n</div>\n')
}]),angular.module("myApp.directives",["myApp.filters"]).directive("myDialog",function(){return{restrict:"AE",scope:!0,translude:!1,templateUrl:"partials/dialog.html"}}).directive("myMessage",function(){return{restrict:"AE",scope:!0,translude:!1,templateUrl:"partials/message.html"}}).directive("myDialogsList",["$window","$timeout",function(e,t){function n(n,i,r){function a(){return r.modal?($(i).css({height:$(e).height()-200}),void u()):(c&&c.offsetHeight||(c=$(".tg_page_head")[0]),l&&l.offsetHeight||(l=$(".im_page_footer")[0]),$(i).css({height:$(e).height()-l.offsetHeight-(c?c.offsetHeight:44)-72}),void u())}var o=$(".im_dialogs_wrap",i)[0],s=$(".im_dialogs_scrollable_wrap",i)[0],c=$(".tg_page_head")[0],l=$(".im_page_footer")[0],p=!1;onContentLoaded(function(){$(o).nanoScroller({preventPageScrolling:!0,tabIndex:-1,iOSNativeScrolling:!0})});var u=function(){onContentLoaded(function(){$(o).nanoScroller()})};n.$on("ui_dialogs_prepend",u),n.$on("ui_dialogs_append",function(){onContentLoaded(function(){u(),p=!1,t(function(){$(s).trigger("scroll")})})}),n.$on("ui_dialogs_change",function(){onContentLoaded(function(){u(),p=!1,t(function(){$(s).trigger("scroll")})})}),$(s).on("scroll",function(){!p&&s.scrollTop>=s.scrollHeight-s.clientHeight-300&&(n.$emit("dialogs_need_more"),p=!0)}),$(e).on("resize",a),a(),setTimeout(a,1e3)}return{link:n}}]).directive("myContactsList",["$window","$timeout",function(e){function t(t,n){function i(){$(n).css({height:$(e).height()-(a&&a.offsetHeight||0)-(r&&r.offsetHeight||0)-200}),$(o).nanoScroller()}var r=$(".contacts_modal_search")[0],a=$(".contacts_modal_panel")[0],o=$(".contacts_wrap",n)[0];onContentLoaded(function(){$(o).nanoScroller({preventPageScrolling:!0,tabIndex:-1,iOSNativeScrolling:!0}),i()}),$(e).on("resize",i),t.$on("contacts_change",function(){onContentLoaded(i)})}return{link:t}}]).directive("myHistory",["$window","$timeout","$transition",function(e,t,n){function i(i,r){function a(t){if(r.is(":visible")&&$(r[0].parentNode).is(":visible")){$(h).is(":visible")&&$(h).css({height:$(y).height()}),m&&m.offsetHeight||(m=$(".tg_page_head")[0]),g&&g.offsetHeight||(g=$(".im_page_footer")[0]);var n=$(e).height()-d.offsetHeight-f.offsetHeight-(m?m.offsetHeight:44)-g.offsetHeight;$(s).css({height:n}),$(l).css({minHeight:n-44}),o(),t!==!0&&(C&&onContentLoaded(function(){p.scrollTop=p.scrollHeight,b()}),b(100))}}function o(){$(c).css({marginTop:0}),c.offsetHeight>0&&c.offsetHeight<=p.offsetHeight&&$(c).css({marginTop:p.offsetHeight-c.offsetHeight-20-44+"px"}),$(s).nanoScroller()}var s=$(".im_history_wrap",r)[0],c=$(".im_history_messages",r)[0],l=$(".im_history",r)[0],p=$(".im_history_scrollable_wrap",r)[0],u=$(".im_history_scrollable",r)[0],d=$(".im_history_panel_wrap",r)[0],f=$(".im_bottom_panel_wrap",r)[0],h=$(".im_send_form_wrap",r)[0],m=$(".tg_page_head")[0],g=$(".im_page_footer")[0],y=$(".im_send_form",r)[0],v=!1;onContentLoaded(function(){p.scrollTop=p.scrollHeight,$(s).nanoScroller({preventPageScrolling:!0,tabIndex:-1,iOSNativeScrolling:!0})});var _,b=function(e){t(function(){$(p).hasClass("im_history_to_bottom")||$(s).nanoScroller()},e||0)},w=!1,S=["transform","webkitTransform","MozTransform","msTransform","OTransform"];for(_=0;_<S.length;_++)if(S[_]in c.style){w=S[_];break}var x=w?!0:!1,M=!1;i.$on("ui_history_append",function(e,t){if(C||t.my){x||($(u).css({bottom:0}),$(p).addClass("im_history_to_bottom"));var i=p.scrollHeight;onContentLoaded(function(){if(x){M=!0,$(c).removeClass("im_history_appending"),p.scrollTop=p.scrollHeight,$(c).css(w,"translate(0px, "+(p.scrollHeight-i)+"px)"),$(s).nanoScroller();var e={};e[w]="translate(0px, 0px)",$(c).addClass("im_history_appending"),n($(c),e).then(function(){M=!1,$(c).removeClass("im_history_appending"),o()})}else $(p).removeClass("im_history_to_bottom"),$(u).css({bottom:""}),p.scrollTop=p.scrollHeight,o(),$(s).nanoScroller()})}}),i.$on("ui_history_change",function(){$(p).addClass("im_history_to_bottom"),$(u).css({bottom:0}),onContentLoaded(function(){$(p).removeClass("im_history_to_bottom"),$(u).css({bottom:""}),a(!0);var e=$(".im_message_unread_split",p);e[0]?(p.scrollTop=Math.max(0,e[0].offsetTop-52),C=!1):p.scrollTop=p.scrollHeight,b(),v=!1,t(function(){$(p).trigger("scroll")})})}),i.$on("ui_history_focus",function(){C||(p.scrollTop=p.scrollHeight,b(),C=!0)}),i.$on("ui_history_prepend",function(){var e=p.scrollHeight,n=p.scrollTop,i=p.clientHeight;$(p).addClass("im_history_to_bottom"),p.scrollHeight,$(u).css({bottom:-(e-n-i)}),onContentLoaded(function(){$(p).removeClass("im_history_to_bottom"),$(u).css({bottom:""}),p.scrollTop=n+p.scrollHeight-e,o(),v=!1,t(function(){$(p).trigger("scroll")})})}),i.$on("ui_panel_update",function(){onContentLoaded(function(){a(),i.$broadcast("ui_message_send"),t(function(){$(p).trigger("scroll")})})}),i.$on("ui_editor_resize",a),i.$on("ui_height",function(){a()});var C=!0;$(p).on("scroll",function(e){return $(p).hasClass("im_history_to_bottom")?cancelEvent(e):void(M||(C=p.scrollTop>=p.scrollHeight-p.clientHeight,!v&&p.scrollTop<=300&&(v=!0,i.$emit("history_need_more"))))}),$(e).on("resize",a),a(),onContentLoaded(a)}return{link:i}}]).directive("mySendForm",["$timeout","AppConfigManager","ErrorService",function(e,t,n){function i(i,r){function a(){if(_){e.cancel(b);var t=$("<div>").text(i.draftMessage.text||"").html();t=t.replace(/\n/g,"<br/>"),$(_).html(t),s()}}function o(){_&&($(_).trigger("change"),s())}function s(){var e=_.offsetHeight;M!=e&&(M=e,i.$emit("ui_editor_resize"))}function c(){onContentLoaded(function(){v.focus()})}function l(e){var t,r=e&&e.target;if(r&&(t=r.src)&&0===t.indexOf("data")){r.parentNode.removeChild(r),t=t.substr(5).split(";");for(var a=t[0],o=atob(t[1].split(",")[1]),s=new Uint8Array(o.length),c=0;c<o.length;c++)s[c]=o.charCodeAt(c);var l=new Blob([s],{type:a});n.confirm({type:"FILE_CLIPBOARD_PASTE"}).then(function(){i.draftMessage.files=[l],i.draftMessage.isMedia=!0})}}function p(e){var t,r=(e.originalEvent||e).clipboardData,a=r&&r.items||[],o=[];for(t=0;t<a.length;t++)"file"==a[t].kind&&o.push(a[t].getAsFile());o.length>0&&n.confirm({type:"FILES_CLIPBOARD_PASTE",files:o}).then(function(){i.draftMessage.files=o,i.draftMessage.isMedia=!0})}function u(e){var t=!1;return d&&1!=d||(d=checkDragEvent(e)?2:1,t=!0),2==d&&(f&&setTimeout(function(){clearTimeout(f),f=!1},0),"dragenter"==e.type||"dragover"==e.type?t&&$(g).css({height:$(v).height()+12,width:$(v).width()+12}).show():("drop"==e.type&&i.$apply(function(){i.draftMessage.files=Array.prototype.slice.call(e.originalEvent.dataTransfer.files),i.draftMessage.isMedia=!0}),f=setTimeout(function(){$(g).hide(),d=!1,f=!1},300))),cancelEvent(e)}var d,f,h=$("textarea",r)[0],m=$("input",r),g=$(".im_send_dropbox_wrap",r)[0],y=$(".im_emoji_btn",r)[0],v=h,_=($(h).emojiarea({button:y,norealTime:!0}),$(".emoji-menu",r)[0],$(".emoji-wysiwyg-editor",r)[0]);if(_){v=_,$(_).addClass("form-control"),$(_).attr("placeholder",$(h).attr("placeholder"));var b;$(_).on("keyup",function(){s(),i.draftMessage.text=_.innerText,e.cancel(b),b=e(o,1e3)})}m.on("change",function(){var e=this;i.$apply(function(){i.draftMessage.files=Array.prototype.slice.call(e.files),i.draftMessage.isMedia=$(e).hasClass("im_media_attach_input"),setTimeout(function(){try{e.value=""}catch(t){}},1e3)})});var w=!0,S=function(){t.get("send_ctrlenter").then(function(e){w=!e})};i.$on("settings_changed",S),S(),$(v).on("keydown",function(e){if(_&&s(),13==e.keyCode){var t=!1;if(w&&!e.shiftKey?t=!0:w||!e.ctrlKey&&!e.metaKey||(t=!0),t)return $(r).trigger("submit"),cancelEvent(e)}});var x=0;$(v).on("keyup",function(){var e=tsNow();5e3>e-x||(x=e,i.$emit("ui_typing"))});var M=_.offsetHeight;$("body").on("dragenter dragleave dragover drop",u),$(document).on("paste",p),_&&$(_).on("DOMNodeInserted",l),i.$on("ui_peer_change",c),i.$on("ui_history_focus",c),i.$on("ui_history_change",c),i.$on("ui_message_send",c),i.$on("ui_peer_draft",a),i.$on("ui_message_before_send",o),i.$on("$destroy",function(){$("body").off("dragenter dragleave dragover drop",u),$(document).off("paste",p),_&&$(_).off("DOMNodeInserted",l)}),c()}return{link:i,scope:{draftMessage:"="}}}]).directive("myLoadThumb",["MtpApiFileManager",function(e){function t(t,n){var i=0,r=e.getCachedFile(t.thumb&&t.thumb.location&&!t.thumb.location.empty&&t.thumb.location);r&&n.attr("src",r),t.thumb&&t.thumb.width&&t.thumb.height&&(n.attr("width",t.thumb.width),n.attr("height",t.thumb.height));var a=(t.$watchCollection("thumb.location",function(r){t.thumb&&t.thumb.width&&t.thumb.height&&(n.attr("width",t.thumb.width),n.attr("height",t.thumb.height));var o=++i;if(!r||r.empty)return n.attr("src",t.thumb&&t.thumb.placeholder||"img/blank.gif"),void a();var s=e.getCachedFile(r);return s?(n.attr("src",s),void a()):(n.attr("src")||n.attr("src",t.thumb.placeholder||"img/blank.gif"),void e.downloadSmallFile(t.thumb.location).then(function(e){o==i&&(n.attr("src",e),a())},function(e){console.log("Download image failed",e,t.thumb.location,n[0]),o==i&&(n.attr("src",t.thumb.placeholder||"img/blank.gif"),a())}))}),angular.noop)}return{link:t,scope:{thumb:"="}}}]).directive("myLoadFullPhoto",["MtpApiFileManager",function(e){function t(t,n){var i=$("img",n)[0],r=$(".img_fullsize_with_progress_wrap",n).add(".img_fullsize_progress_wrap",n).add($(i)),a=function(){r.css({width:t.fullPhoto.width,height:t.fullPhoto.height}),t.$emit("ui_height")},o=0;t.$watchCollection("fullPhoto.location",function(){var n=e.getCachedFile(t.thumbLocation),r=++o;if(n?(i.src=n,a()):i.src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",t.fullPhoto.location){var s;if(t.fullPhoto.size){var c={_:"inputFileLocation",volume_id:t.fullPhoto.location.volume_id,local_id:t.fullPhoto.location.local_id,secret:t.fullPhoto.location.secret};s=e.downloadFile(t.fullPhoto.location.dc_id,c,t.fullPhoto.size)}else s=e.downloadSmallFile(t.fullPhoto.location);t.progress={enabled:!0,percent:0},s.then(function(e){r==o&&(t.progress.enabled=!1,i.src=e,a())},function(e){console.log("Download image failed",e,t.fullPhoto.location),t.progress.enabled=!1,t.error=e&&"FS_BROWSER_UNSUPPORTED"==e.type?{html:'Your browser doesn\'t support <a href="https://developer.mozilla.org/en-US/docs/Web/API/LocalFileSystem" target="_blank">LocalFileSystem</a> feature which is needed to display this image.<br/>Please, install <a href="http://google.com/chrome" target="_blank">Google Chrome</a> or use <a href="https://telegram.org/" target="_blank">mobile app</a> instead.'}:{text:"Download failed",error:e}},function(e){t.progress.percent=Math.max(1,Math.floor(100*e.done/e.total))})}}),a()}return{link:t,transclude:!0,template:'<div class="img_fullsize_with_progress_wrap""> <div class="img_fullsize_progress_overlay" ng-show="progress.enabled"> <div class="img_fullsize_progress_wrap""> <div class="img_fullsize_progress progress tg_progress" ng-show="progress.percent > 0"> <div class="progress-bar progress-bar-success" ng-style="{width: progress.percent + \'%\'}"> </div> </div> </div> </div> <div class="photo_full_wrap"> <a class="photo_modal_image"> <img class="photo_modal_image"/> </a> </div> <div class="photo_modal_error_wrap" ng-if="error"> <div class="photo_modal_error" ng-if="error.html" ng-bind-html="error.html"></div> <div class="photo_modal_error" ng-if="error.text">{{error.text}}</div> </div> </div>',scope:{fullPhoto:"=",thumbLocation:"="}}}]).directive("myLoadVideo",["$sce","MtpApiFileManager",function(e,t){function n(n){n.progress={enabled:!0,percent:1},n.player={};var i,r={_:"inputVideoFileLocation",id:n.video.id,access_hash:n.video.access_hash},a=!1;if(navigator.plugins)for(i=0;i<navigator.plugins.length;i++)navigator.plugins[i].name.indexOf("QuickTime")>=0&&(a=!0);var o=t.downloadFile(n.video.dc_id,r,n.video.size,null,{mime:"video/mp4"});o.then(function(t){n.progress.enabled=!1,n.player.hasQuicktime=a,n.player.quicktime=!1,n.player.src=e.trustAsResourceUrl(t)},function(e){console.log("Download video failed",e,n.video),n.progress.enabled=!1,n.player.src="",n.error=e&&"FS_BROWSER_UNSUPPORTED"==e.type?{html:'Your browser doesn\'t support <a href="https://developer.mozilla.org/en-US/docs/Web/API/LocalFileSystem" target="_blank">LocalFileSystem</a> feature which is needed to play this video.<br/>Please, install <a href="http://google.com/chrome" target="_blank">Google Chrome</a> or use <a href="https://telegram.org/" target="_blank">mobile app</a> instead.'}:{text:"Video download failed",error:e}},function(e){n.progress.percent=Math.max(1,Math.floor(100*e.done/e.total))}),n.$on("$destroy",function(){o.cancel()})}return{link:n,transclude:!0,template:'<div class="img_fullsize_with_progress_wrap" ng-style="{width: video.full.width + \'px\', height: video.full.height + \'px\'}"> <div class="img_fullsize_progress_overlay" ng-show="progress.enabled"> <div class="img_fullsize_progress_wrap" ng-style="{width: video.full.width + \'px\', height: video.full.height + \'px\'}"> <div class="img_fullsize_progress progress tg_progress"> <div class="progress-bar progress-bar-success" style="width: {{progress.percent}}%"></div> </div> </div> </div> <div class="img_fullsize_wrap" ng-if="!player.src"> <img class="img_fullsize" my-load-thumb thumb="video.fullThumb" /> </div> <div class="video_full_player" ng-if="player.src"> <embed ng-src="{{player.src}}" width="{{video.full.width}}" height="{{video.full.height}}" autoplay="true" CONTROLLER="TRUE" SHOWCONTROLS="TRUE" controller="true" loop="false" pluginspace="http://www.apple.com/quicktime/" ng-if="player.quicktime"/> <video width="{{video.full.width}}" height="{{video.full.height}}" controls autoplay ng-if="!player.quicktime"> <source ng-src="{{player.src}}" type="video/mp4"> </video> </div> <div class="video_full_error_wrap" ng-if="error"> <div class="video_full_error" ng-if="error.html" ng-bind-html="error.html"></div> <div class="video_full_error" ng-if="error.text" ng-bind="error.text"></div> </div> </div>',scope:{video:"="}}}]).directive("myMapPoint",["ExternalResourcesManager",function(e){function t(t,n){var i="AIzaSyC32ij28dCa0YzEV_HqbWfIwTZQql-RNS0",r="https://maps.googleapis.com/maps/api/staticmap?sensor=false&center="+t.point.lat+","+t.point["long"]+"&zoom=13&size=200x100&scale=2&key="+i;e.downloadImage(r).then(function(e){n.append('<img src="'+e+'" width="200" height="100"/>')}),n.attr("href","https://maps.google.com/?q="+t.point.lat+","+t.point["long"]),n.attr("target","_blank")}return{link:t,scope:{point:"="}}}]).directive("myLoadingDots",["$interval",function(){function e(e,n){n.html(t(n[0])?'<div class="loading_dots"><span></span><span></span><span></span></div>':"...")}function t(e){if(void 0===n&&(n=void 0!==e.style.animationName,n===!1)){var t,i="Webkit Moz O ms Khtml".split(" ");for(t=0;t<i.length;t++)if(void 0!==e.style[i[t]+"AnimationName"]){n=!0;break}}return n}return{link:e};var n}]).directive("myAudioAutoplay",function(){function e(e,t){e.$watch("audio.autoplay",function(e){e?(t.autoplay=!0,t[0].play()):t.autoplay=!1})}return{link:e,scope:{audio:"="}}}).directive("myFocused",function(){return{link:function(e,t){setTimeout(function(){t[0].focus()},100)}}}).directive("myFileUpload",function(){function e(e,t){t.on("change",function(){var t=this;e.$apply(function(){e.photo.file=t.files[0],setTimeout(function(){try{t.value=""}catch(e){}},1e3)})})}return{link:e}}).directive("myModalWidth",function(){function e(e,t,n){n.$observe("myModalWidth",function(e){$(t[0].parentNode.parentNode).css({width:parseInt(e)+36})})}return{link:e}}).directive("myModalNav",function(){function e(e,t,n){var i=function(t){var i=t.target;if(i&&("INPUT"==i.tagName||"TEXTAREA"==i.tagName))return!1;switch(t.keyCode){case 39:case 32:case 34:case 40:e.$eval(n.next);break;case 37:case 33:case 38:e.$eval(n.prev)}};$(document).on("keydown",i),e.$on("$destroy",function(){$(document).off("keydown",i)})}return{link:e}}).directive("myModalPosition",["$window","$timeout",function(e,t){function n(n,i,r){var a=function(){var e=i[0].parentNode.offsetHeight,n=i[0].parentNode.parentNode.parentNode.offsetHeight;n>e?$(i[0].parentNode).css("marginTop",(n-e)/2):$(i[0].parentNode).css("marginTop",""),"no"!=r.animation&&t(function(){$(i[0].parentNode).addClass("modal-content-animated")},300)};onContentLoaded(a),$(e).on("resize",a),n.$on("ui_height",function(){onContentLoaded(a)})}return{link:n}}]).directive("myVerticalPosition",["$window","$timeout",function(e){function t(t,n,i){var r=!1,a=function(){var a=n[0].offsetHeight,o=$(e).height(),s=i.myVerticalPosition&&parseFloat(i.myVerticalPosition)||.5,c=o>a?parseInt((o-a)*s):"";n.css({marginTop:c,marginBottom:c}),r!==c&&t.$emit("ui_height"),r=c};onContentLoaded(a),$(e).on("resize",a),t.$on("ui_height",function(){onContentLoaded(a)})}return{link:t}}]);