if (!Array.prototype.Add){Array.prototype.Add= function (item){ this[this.length]=item; } ; }if (!Array.prototype.InsertAt){Array.prototype.InsertAt= function (index,item){ this[index]=item; } ; }if (!Array.prototype.Remove){Array.prototype.Remove= function (item){var I1v= false; for (var i=0; i<this.length; i++){if (item==this[i]){I1v= true; }if (I1v){ this[i]=this[i+1]; }}if (I1v){ this.length-=1; }} ; }if (!Array.prototype.RemoveAt){Array.prototype.RemoveAt= function (index){for (var i=index; 0<=i && i<this.length; i++){ this[i]=this[i+1]; }if (0<=index && index<this.length){ this.length-=1; }} ; }if (!Array.prototype.Clear){Array.prototype.Clear= function (){ this.length=0; } ; }if (!Array.prototype.o1w){Array.prototype.o1w= function (item){for (var i=0; i<this.length; i++){if (this[i]==item){return i; }}return -1; } ; }if (!Array.prototype.Serialize){Array.prototype.Serialize= function (O1w){var l1w=""; if (typeof(O1w)=="\x75\x6edefi\x6eed" || O1w==null){O1w=","; }if (this.length<=0){return l1w; }for (var i=0; i<this.length; i++){l1w=l1w+((l1w=="")?"":O1w)+this[i].toString(); }return l1w; } ; }if (!Array.prototype.ClassicSort){Array.prototype.ClassicSort= function (){var i,P; for (i=this.length-1; i>=0; i--){for (P=0; P<=i; P++){if (this[P+1]<this[P]){var O1g=this[P]; this[P]=this[P+1]; this[P+1]=O1g; }}}return i1w; };}if (!Array.prototype.ToNumber){Array.prototype.ToNumber= function (I1w){switch (typeof(I1w)){case "\x6eum\x62\x65r":return I1w; case "string":var o1x=parseInt(I1w); if (!O1x(o1x) && ("\x43"+o1x=="C"+I1w)){return o1x; }break; default:break; }};}if (!Array.prototype.HighestIndex){Array.prototype.HighestIndex= function (){var l1x; for (var i in this ){var i1x=this.ToNumber(i); if ((typeof(i1x)!="und\x65fined") && ((typeof(l1x)=="u\x6edef\x69\x6e\x65d") || (i1x>l1x))){l1x=i1x; }}return l1x; };}if (!Array.prototype.push){Array.prototype.push= function (){var l1x=this.HighestIndex(); if (typeof(l1x)=="\x75\x6e\x64efi\x6eed"){l1x=-1; }for (var i=0; i<arguments.length; i++){ this[ ++l1x]=arguments[i]; }};}if (!Array.prototype.pop){Array.prototype.pop= function (){var l1x=this.HighestIndex(); var I1x; if (typeof(l1x)!="\x75\x6e\x64efi\x6eed"){I1x=this[l1x]; delete this[l1x]; }return I1x; };}if (!Array.prototype.shift){Array.prototype.shift= function (){var o1y=this[0]; for (var i=1; i<this.length; ++i){ this[i-1]=this[i]; } this.length--; return o1y; };}if (!Array.prototype.unshift){Array.prototype.unshift= function (){var i=unshift.arguments.length; for (var P=this.length-1; P>=0; --P){ this[P+i]=this[P]; }for (P=0; P<i; ++P){ this[P]=unshift.O1y[P]; }};}if (!String.prototype.Format){String.prototype.Format= function (){var l1y=this ; for (var i=0; i<this.Format.arguments.length; i++){l1y=l1y.replace(new RegExp("\134\x7b"+i+"\x5c}","\x69g"),this.Format.arguments[i]); }return l1y; };}if (!String.prototype.StartsWith){String.prototype.StartsWith= function (value){if (typeof(value)!="\x73trin\x67"){return false; }return (0==this.indexOf(value)); };}if (!String.prototype.EndsWith){String.prototype.EndsWith= function (value){if (typeof(value)!="stri\x6eg"){return false; }return (this.lastIndexOf(value)+value.length==this.length-1); };}if (!String.prototype.IsEmpty){String.prototype.IsEmpty= function (){var l1y=this ; return (l1y=="")? true : false; };}function Hashtable(){ this.Keys=new Array(); this.Values=new Array(); }Hashtable.prototype.Add= function (i1y){if (!i1y.ID){return; }var I1y=i1y.ID; if (this.IsValidKey(I1y)){ this.Values[this.Values.length]=i1y; if (this.Keys[I1y]){ this.Keys[I1y].length++; this.Keys[I1y][this.Keys[I1y].length-1]=(this.Values.length-1); }else { this.Keys[I1y]=new Array(1); this.Keys[I1y][0]=(this.Values.length-1); }}};Hashtable.prototype.AddItem= function (o1z,O1z){if (!o1z || !O1z){return; }if (this.IsValidKey(o1z)){ this.Values[this.Values.length]=O1z; if (this.Keys[o1z]){ this.Keys[o1z].length++; this.Keys[o1z][this.Keys[o1z].length-1]=(this.Values.length-1); }else { this.Keys[o1z]=new Array(1); this.Keys[o1z][0]=(this.Values.length-1); }}};Hashtable.prototype.l1z= function (i1z){for (var i=0; i<i1z.length; i++){ this.Add(i1z[i]); }};Hashtable.prototype.Remove= function (I1y){ delete this.Values[this.Keys[I1y][0]]; delete this.Keys[I1y]; };Hashtable.prototype.A= function (I1y){if (this.Keys[I1y]){return this.Values[(this.Keys[I1y][0])]; }else {return null; }};Hashtable.prototype.Set= function (i1y){var I1y=i1y.ID; if (this.Keys[I1y]){ this.Values[(this.Keys[I1y][0])]=i1y; }};Hashtable.prototype.CopyTo= function (I1z){for (var i=0; i<this.Values.length; i++){I1z[i]=this.Values[i].toSource;}};Hashtable.prototype.o20= function (I1z){for (var i=0; i<this.Keys.length; i++){}};Hashtable.prototype.O20= function (I1y){if (this.Keys[I1y]){var l20=this.Keys[I1y]; l20=this.Keys[I1y].length; return ((l20<=1)? true : false); }else {return true; }};Hashtable.prototype.IsValidKey= function (i20){var I20=""+i20; var o21=I20.charCodeAt(0); return ((o21<48) || (o21>57)); };Hashtable.prototype.length= function (){return this.Values.length; };
