(function(Clazz
,Clazz_getClassName
,Clazz_newLongArray
,Clazz_doubleToByte
,Clazz_doubleToInt
,Clazz_doubleToLong
,Clazz_declarePackage
,Clazz_instanceOf
,Clazz_load
,Clazz_instantialize
,Clazz_decorateAsClass
,Clazz_floatToInt
,Clazz_floatToLong
,Clazz_makeConstructor
,Clazz_defineEnumConstant
,Clazz_exceptionOf
,Clazz_newIntArray
,Clazz_newFloatArray
,Clazz_declareType
,Clazz_prepareFields
,Clazz_superConstructor
,Clazz_newByteArray
,Clazz_declareInterface
,Clazz_newShortArray
,Clazz_innerTypeInstance
,Clazz_isClassDefined
,Clazz_prepareCallback
,Clazz_newArray
,Clazz_castNullAs
,Clazz_floatToShort
,Clazz_superCall
,Clazz_decorateAsType
,Clazz_newBooleanArray
,Clazz_newCharArray
,Clazz_implementOf
,Clazz_newDoubleArray
,Clazz_overrideConstructor
,Clazz_clone
,Clazz_doubleToShort
,Clazz_getInheritedLevel
,Clazz_getParamsType
,Clazz_isAF
,Clazz_isAB
,Clazz_isAI
,Clazz_isAS
,Clazz_isASS
,Clazz_isAP
,Clazz_isAFloat
,Clazz_isAII
,Clazz_isAFF
,Clazz_isAFFF
,Clazz_tryToSearchAndExecute
,Clazz_getStackTrace
,Clazz_inheritArgs
,Clazz_alert
,Clazz_defineMethod
,Clazz_overrideMethod
,Clazz_declareAnonymous
//,Clazz_checkPrivateMethod
,Clazz_cloneFinals
){
var $t$;
//var c$;
Clazz_load(["java.io.FilterInputStream"], "java.io.PushbackInputStream", null, function(){
var c$ = Clazz_decorateAsClass(function(){
this.buf = null;
this.pos = 0;
Clazz_instantialize(this, arguments);}, java.io, "PushbackInputStream", java.io.FilterInputStream);
Clazz_makeConstructor(c$, 
function($in, size){
Clazz_superConstructor(this, java.io.PushbackInputStream, [$in]);
if (size <= 0) {
throw  new IllegalArgumentException("size <= 0");
}this.buf =  Clazz_newByteArray (size, 0);
this.pos = size;
}, "java.io.InputStream,~N");
Clazz_defineMethod(c$, "ensureOpen", 
function(){
if (this.$in == null) throw  new java.io.IOException("Stream closed");
});
Clazz_overrideMethod(c$, "readByteAsInt", 
function(){
this.ensureOpen();
if (this.pos < this.buf.length) {
return this.buf[this.pos++] & 0xff;
}return this.$in.readByteAsInt();
});
Clazz_defineMethod(c$, "read", 
function(b, off, len){
this.ensureOpen();
if (b == null) {
throw  new NullPointerException();
} else if (off < 0 || len < 0 || len > b.length - off) {
throw  new IndexOutOfBoundsException();
} else if (len == 0) {
return 0;
}var avail = this.buf.length - this.pos;
if (avail > 0) {
if (len < avail) {
avail = len;
}System.arraycopy(this.buf, this.pos, b, off, avail);
this.pos += avail;
off += avail;
len -= avail;
}if (len > 0) {
len = this.$in.read(b, off, len);
if (len == -1) {
return avail == 0 ? -1 : avail;
}return avail + len;
}return avail;
}, "~A,~N,~N");
Clazz_defineMethod(c$, "unreadByte", 
function(b){
this.ensureOpen();
if (this.pos == 0) {
throw  new java.io.IOException("Push back buffer is full");
}this.buf[--this.pos] = b;
}, "~N");
Clazz_defineMethod(c$, "unread", 
function(b, off, len){
this.ensureOpen();
if (len > this.pos) {
throw  new java.io.IOException("Push back buffer is full");
}this.pos -= len;
System.arraycopy(b, off, this.buf, this.pos, len);
}, "~A,~N,~N");
Clazz_overrideMethod(c$, "available", 
function(){
this.ensureOpen();
var n = this.buf.length - this.pos;
var avail = this.$in.available();
return n > (2147483647 - avail) ? 2147483647 : n + avail;
});
Clazz_overrideMethod(c$, "skip", 
function(n){
this.ensureOpen();
if (n <= 0) {
return 0;
}var pskip = this.buf.length - this.pos;
if (pskip > 0) {
if (n < pskip) {
pskip = n;
}this.pos += pskip;
n -= pskip;
}if (n > 0) {
pskip += this.$in.skip(n);
}return pskip;
}, "~N");
Clazz_overrideMethod(c$, "markSupported", 
function(){
return false;
});
Clazz_overrideMethod(c$, "mark", 
function(readlimit){
}, "~N");
Clazz_overrideMethod(c$, "reset", 
function(){
throw  new java.io.IOException("mark/reset not supported");
});
Clazz_overrideMethod(c$, "close", 
function(){
if (this.$in == null) return;
this.$in.close();
this.$in = null;
this.buf = null;
});
});
;//5.0.1-v2 Thu Feb 08 09:49:36 CST 2024
Clazz_declarePackage("java.util.zip");
Clazz_load(["java.io.FilterInputStream"], "java.util.zip.CheckedInputStream", null, function(){
var c$ = Clazz_decorateAsClass(function(){
this.cksum = null;
Clazz_instantialize(this, arguments);}, java.util.zip, "CheckedInputStream", java.io.FilterInputStream);
Clazz_defineMethod(c$, "set", 
function(cksum){
this.$in = this.$in;
this.cksum = cksum;
return this;
}, "com.jcraft.jzlib.Checksum");
Clazz_overrideMethod(c$, "readByteAsInt", 
function(){
var b = this.$in.readByteAsInt();
if (b != -1) {
this.cksum.updateByteAsInt(b);
}return b;
});
Clazz_defineMethod(c$, "read", 
function(buf, off, len){
len = this.$in.read(buf, off, len);
if (len != -1) {
this.cksum.update(buf, off, len);
}return len;
}, "~A,~N,~N");
Clazz_overrideMethod(c$, "skip", 
function(n){
var buf =  Clazz_newByteArray (512, 0);
var total = 0;
while (total < n) {
var len = n - total;
len = this.read(buf, 0, len < buf.length ? len : buf.length);
if (len == -1) {
return total;
}total += len;
}
return total;
}, "~N");
Clazz_defineMethod(c$, "getChecksum", 
function(){
return this.cksum;
});
});
;//5.0.1-v2 Thu Feb 08 09:49:36 CST 2024
Clazz_declarePackage("java.util.zip");
Clazz_load(["com.jcraft.jzlib.Inflater"], "java.util.zip.Inflater", null, function(){
var c$ = Clazz_declareType(java.util.zip, "Inflater", com.jcraft.jzlib.Inflater);
Clazz_defineMethod(c$, "initialize", 
function(nowrap){
return this.init(0, nowrap);
}, "~B");
});
;//5.0.1-v2 Thu Feb 08 09:49:36 CST 2024
Clazz_declarePackage("java.util.zip");
Clazz_load(["java.io.IOException"], "java.util.zip.ZipException", null, function(){
var c$ = Clazz_declareType(java.util.zip, "ZipException", java.io.IOException);
});
;//5.0.1-v2 Thu Feb 08 09:49:36 CST 2024
Clazz_declarePackage("java.util.zip");
(function(){
var c$ = Clazz_declareInterface(java.util.zip, "ZipConstants");
c$.LOCSIG = 0x04034b50;
c$.EXTSIG = 0x08074b50;
c$.CENSIG = 0x02014b50;
c$.ENDSIG = 0x06054b50;
})();
;//5.0.1-v2 Thu Feb 08 09:49:36 CST 2024
Clazz_declarePackage("java.util.zip");
Clazz_load(["java.util.zip.ZipConstants"], "java.util.zip.ZipEntry", ["java.util.Date"], function(){
var c$ = Clazz_decorateAsClass(function(){
this.offset = 0;
this.name = null;
this.time = -1;
this.crc = -1;
this.size = -1;
this.csize = -1;
this.method = -1;
this.flag = 0;
this.extra = null;
this.comment = null;
Clazz_instantialize(this, arguments);}, java.util.zip, "ZipEntry", null, [java.util.zip.ZipConstants, Cloneable]);
Clazz_makeConstructor(c$, 
function(name){
if (name == null) {
throw  new NullPointerException();
}if (name.length > 0xFFFF) {
throw  new IllegalArgumentException("entry name too long");
}this.name = name;
}, "~S");
Clazz_defineMethod(c$, "getName", 
function(){
return this.name;
});
Clazz_defineMethod(c$, "setTime", 
function(time){
this.time = java.util.zip.ZipEntry.javaToDosTime(time);
}, "~N");
Clazz_defineMethod(c$, "getTime", 
function(){
return this.time != -1 ? java.util.zip.ZipEntry.dosToJavaTime(this.time) : -1;
});
Clazz_defineMethod(c$, "setSize", 
function(size){
if (size < 0) {
throw  new IllegalArgumentException("invalid entry size");
}this.size = size;
}, "~N");
Clazz_defineMethod(c$, "getSize", 
function(){
return this.size;
});
Clazz_defineMethod(c$, "getCompressedSize", 
function(){
return this.csize;
});
Clazz_defineMethod(c$, "setCompressedSize", 
function(csize){
this.csize = csize;
}, "~N");
Clazz_defineMethod(c$, "setCrc", 
function(crc){
if (crc < 0 || crc > 0xFFFFFFFF) {
throw  new IllegalArgumentException("invalid entry crc-32");
}this.crc = crc;
}, "~N");
Clazz_defineMethod(c$, "getCrc", 
function(){
return this.crc;
});
Clazz_defineMethod(c$, "setMethod", 
function(method){
if (method != 0 && method != 8) {
throw  new IllegalArgumentException("invalid compression method");
}this.method = method;
}, "~N");
Clazz_defineMethod(c$, "getMethod", 
function(){
return this.method;
});
Clazz_defineMethod(c$, "setExtra", 
function(extra){
if (extra != null && extra.length > 0xFFFF) {
throw  new IllegalArgumentException("invalid extra field length");
}this.extra = extra;
}, "~A");
Clazz_defineMethod(c$, "getExtra", 
function(){
return this.extra;
});
Clazz_defineMethod(c$, "setComment", 
function(comment){
this.comment = comment;
}, "~S");
Clazz_defineMethod(c$, "getComment", 
function(){
return this.comment;
});
Clazz_defineMethod(c$, "isDirectory", 
function(){
return this.name.endsWith("/");
});
Clazz_overrideMethod(c$, "toString", 
function(){
return this.getName();
});
c$.dosToJavaTime = Clazz_defineMethod(c$, "dosToJavaTime", 
function(dtime){
var d =  new java.util.Date((((dtime >> 25) & 0x7f) + 80), (((dtime >> 21) & 0x0f) - 1), ((dtime >> 16) & 0x1f), ((dtime >> 11) & 0x1f), ((dtime >> 5) & 0x3f), ((dtime << 1) & 0x3e));
return d.getTime();
}, "~N");
c$.javaToDosTime = Clazz_defineMethod(c$, "javaToDosTime", 
function(time){
var d =  new java.util.Date(time);
var year = d.getYear() + 1900;
if (year < 1980) {
return 2162688;
}return (year - 1980) << 25 | (d.getMonth() + 1) << 21 | d.getDate() << 16 | d.getHours() << 11 | d.getMinutes() << 5 | d.getSeconds() >> 1;
}, "~N");
Clazz_overrideMethod(c$, "hashCode", 
function(){
return this.name.hashCode();
});
Clazz_defineMethod(c$, "clone", 
function(){
try {
var e = Clazz_superCall(this, java.util.zip.ZipEntry, "clone", []);
if (this.extra != null) {
e.extra =  Clazz_newByteArray (this.extra.length, 0);
System.arraycopy(this.extra, 0, e.extra, 0, this.extra.length);
}return e;
} catch (e) {
if (Clazz_exceptionOf(e,"CloneNotSupportedException")){
throw  new InternalError();
} else {
throw e;
}
}
});
});
;//5.0.1-v2 Thu Feb 08 09:49:36 CST 2024
Clazz_declarePackage("java.util.zip");
(function(){
var c$ = Clazz_declareType(java.util.zip, "ZipConstants64", null);
})();
;//5.0.1-v2 Thu Feb 08 09:49:36 CST 2024
Clazz_declarePackage("java.util.zip");
Clazz_load(["java.util.zip.InflaterInputStream", "$.ZipConstants", "$.CRC32"], "java.util.zip.ZipInputStream", ["java.io.PushbackInputStream", "java.util.zip.Inflater", "$.ZipEntry"], function(){
var c$ = Clazz_decorateAsClass(function(){
this.entry = null;
this.flag = 0;
this.crc = null;
this.remaining = 0;
this.tmpbuf = null;
this.$closed = false;
this.entryEOF = false;
this.zc = null;
this.byteTest = null;
this.$b = null;
Clazz_instantialize(this, arguments);}, java.util.zip, "ZipInputStream", java.util.zip.InflaterInputStream, java.util.zip.ZipConstants);
Clazz_prepareFields (c$, function(){
this.crc =  new java.util.zip.CRC32();
this.tmpbuf =  Clazz_newByteArray (512, 0);
this.byteTest =  Clazz_newByteArray(-1, [0x20]);
this.$b =  Clazz_newByteArray (256, 0);
});
Clazz_makeConstructor(c$, 
function($in){
Clazz_superConstructor(this, java.util.zip.ZipInputStream, [ new java.io.PushbackInputStream($in, 1024), java.util.zip.ZipInputStream.newInflater(), 512]);
var charset = "UTF-8";
try {
 String.instantialize(this.byteTest, charset);
} catch (e) {
if (Clazz_exceptionOf(e,"java.io.UnsupportedEncodingException")){
throw  new NullPointerException("charset is invalid");
} else {
throw e;
}
}
this.zc = charset;
}, "java.io.InputStream");
Clazz_defineMethod(c$, "ensureOpen", 
function(){
if (this.$closed) {
throw  new java.io.IOException("Stream closed");
}});
c$.newInflater = Clazz_defineMethod(c$, "newInflater", 
function(){
return  new java.util.zip.Inflater().init(0, true);
});
Clazz_defineMethod(c$, "getNextEntry", 
function(){
this.ensureOpen();
if (this.entry != null) {
this.closeEntry();
}this.crc.reset();
this.inflater = this.inf = java.util.zip.ZipInputStream.newInflater();
if ((this.entry = this.readLOC()) == null) {
return null;
}if (this.entry.method == 0) {
this.remaining = this.entry.size;
}this.entryEOF = false;
return this.entry;
});
Clazz_defineMethod(c$, "closeEntry", 
function(){
this.ensureOpen();
while (this.read(this.tmpbuf, 0, this.tmpbuf.length) != -1) {
}
this.entryEOF = true;
});
Clazz_overrideMethod(c$, "available", 
function(){
this.ensureOpen();
return (this.entryEOF ? 0 : 1);
});
Clazz_defineMethod(c$, "read", 
function(b, off, len){
this.ensureOpen();
if (off < 0 || len < 0 || off > b.length - len) {
throw  new IndexOutOfBoundsException();
} else if (len == 0) {
return 0;
}if (this.entry == null) {
return -1;
}switch (this.entry.method) {
case 8:
len = this.readInf(b, off, len);
if (len == -1) {
this.readEnd(this.entry);
this.entryEOF = true;
this.entry = null;
} else {
this.crc.update(b, off, len);
}return len;
case 0:
if (this.remaining <= 0) {
this.entryEOF = true;
this.entry = null;
return -1;
}if (len > this.remaining) {
len = this.remaining;
}len = this.$in.read(b, off, len);
if (len == -1) {
throw  new java.util.zip.ZipException("unexpected EOF");
}this.crc.update(b, off, len);
this.remaining -= len;
if (this.remaining == 0 && this.entry.crc != this.crc.getValue()) {
throw  new java.util.zip.ZipException("invalid entry CRC (expected 0x" + Long.toHexString(this.entry.crc) + " but got 0x" + Long.toHexString(this.crc.getValue()) + ")");
}return len;
default:
throw  new java.util.zip.ZipException("invalid compression method");
}
}, "~A,~N,~N");
Clazz_overrideMethod(c$, "skip", 
function(n){
if (n < 0) {
throw  new IllegalArgumentException("negative skip length");
}this.ensureOpen();
var max = Math.min(n, 2147483647);
var total = 0;
while (total < max) {
var len = max - total;
if (len > this.tmpbuf.length) {
len = this.tmpbuf.length;
}len = this.read(this.tmpbuf, 0, len);
if (len == -1) {
this.entryEOF = true;
break;
}total += len;
}
return total;
}, "~N");
Clazz_defineMethod(c$, "close", 
function(){
if (!this.$closed) {
Clazz_superCall(this, java.util.zip.ZipInputStream, "close", []);
this.$closed = true;
}});
Clazz_defineMethod(c$, "readLOC", 
function(){
try {
this.readFully(this.tmpbuf, 0, 30);
} catch (e) {
if (Clazz_exceptionOf(e,"java.io.EOFException")){
return null;
} else {
throw e;
}
}
if (java.util.zip.ZipInputStream.get32(this.tmpbuf, 0) != 67324752) {
return null;
}this.flag = java.util.zip.ZipInputStream.get16(this.tmpbuf, 6);
var len = java.util.zip.ZipInputStream.get16(this.tmpbuf, 26);
var blen = this.$b.length;
if (len > blen) {
do blen = blen * 2;
 while (len > blen);
this.$b =  Clazz_newByteArray (blen, 0);
}this.readFully(this.$b, 0, len);
var e = this.createZipEntry(((this.flag & 2048) != 0) ? this.toStringUTF8(this.$b, len) : this.toStringb2(this.$b, len));
if ((this.flag & 1) == 1) {
throw  new java.util.zip.ZipException("encrypted ZIP entry not supported");
}e.method = java.util.zip.ZipInputStream.get16(this.tmpbuf, 8);
e.time = java.util.zip.ZipInputStream.get32(this.tmpbuf, 10);
if ((this.flag & 8) == 8) {
if (e.method != 8) {
throw  new java.util.zip.ZipException("only DEFLATED entries can have EXT descriptor");
}} else {
e.crc = java.util.zip.ZipInputStream.get32(this.tmpbuf, 14);
e.csize = java.util.zip.ZipInputStream.get32(this.tmpbuf, 18);
e.size = java.util.zip.ZipInputStream.get32(this.tmpbuf, 22);
}len = java.util.zip.ZipInputStream.get16(this.tmpbuf, 28);
if (len > 0) {
var bb =  Clazz_newByteArray (len, 0);
this.readFully(bb, 0, len);
e.setExtra(bb);
if (e.csize == 4294967295 || e.size == 4294967295) {
var off = 0;
while (off + 4 < len) {
var sz = java.util.zip.ZipInputStream.get16(bb, off + 2);
if (java.util.zip.ZipInputStream.get16(bb, off) == 1) {
off += 4;
if (sz < 16 || (off + sz) > len) {
return e;
}e.size = java.util.zip.ZipInputStream.get64(bb, off);
e.csize = java.util.zip.ZipInputStream.get64(bb, off + 8);
break;
}off += (sz + 4);
}
}}return e;
});
Clazz_defineMethod(c$, "toStringUTF8", 
function(b2, len){
try {
return  String.instantialize(b2, 0, len, this.zc);
} catch (e) {
if (Clazz_exceptionOf(e,"java.io.UnsupportedEncodingException")){
return this.toStringb2(b2, len);
} else {
throw e;
}
}
}, "~A,~N");
Clazz_defineMethod(c$, "toStringb2", 
function(b2, len){
return  String.instantialize(b2, 0, len);
}, "~A,~N");
Clazz_defineMethod(c$, "createZipEntry", 
function(name){
return  new java.util.zip.ZipEntry(name);
}, "~S");
Clazz_defineMethod(c$, "readEnd", 
function(e){
var n = this.inf.getAvailIn();
if (n > 0) {
(this.$in).unread(this.buf, this.len - n, n);
this.eof = false;
}if ((this.flag & 8) == 8) {
if (this.inf.getTotalOut() > 4294967295 || this.inf.getTotalIn() > 4294967295) {
this.readFully(this.tmpbuf, 0, 24);
var sig = java.util.zip.ZipInputStream.get32(this.tmpbuf, 0);
if (sig != 134695760) {
e.crc = sig;
e.csize = java.util.zip.ZipInputStream.get64(this.tmpbuf, 4);
e.size = java.util.zip.ZipInputStream.get64(this.tmpbuf, 12);
(this.$in).unread(this.tmpbuf, 19, 4);
} else {
e.crc = java.util.zip.ZipInputStream.get32(this.tmpbuf, 4);
e.csize = java.util.zip.ZipInputStream.get64(this.tmpbuf, 8);
e.size = java.util.zip.ZipInputStream.get64(this.tmpbuf, 16);
}} else {
this.readFully(this.tmpbuf, 0, 16);
var sig = java.util.zip.ZipInputStream.get32(this.tmpbuf, 0);
if (sig != 134695760) {
e.crc = sig;
e.csize = java.util.zip.ZipInputStream.get32(this.tmpbuf, 4);
e.size = java.util.zip.ZipInputStream.get32(this.tmpbuf, 8);
(this.$in).unread(this.tmpbuf, 11, 4);
} else {
e.crc = java.util.zip.ZipInputStream.get32(this.tmpbuf, 4);
e.csize = java.util.zip.ZipInputStream.get32(this.tmpbuf, 8);
e.size = java.util.zip.ZipInputStream.get32(this.tmpbuf, 12);
}}}if (e.size != this.inf.getTotalOut()) {
throw  new java.util.zip.ZipException("invalid entry size (expected " + e.size + " but got " + this.inf.getTotalOut() + " bytes)");
}if (e.csize != this.inf.getTotalIn()) {
throw  new java.util.zip.ZipException("invalid entry compressed size (expected " + e.csize + " but got " + this.inf.getTotalIn() + " bytes)");
}if (e.crc != this.crc.getValue()) {
throw  new java.util.zip.ZipException("invalid entry CRC (expected 0x" + Long.toHexString(e.crc) + " but got 0x" + Long.toHexString(this.crc.getValue()) + ")");
}}, "java.util.zip.ZipEntry");
Clazz_defineMethod(c$, "readFully", 
function(b, off, len){
while (len > 0) {
var n = this.$in.read(b, off, len);
if (n == -1) {
throw  new java.io.EOFException();
}off += n;
len -= n;
}
}, "~A,~N,~N");
c$.get16 = Clazz_defineMethod(c$, "get16", 
function(b, off){
return (b[off] & 0xff) | ((b[off + 1] & 0xff) << 8);
}, "~A,~N");
c$.get32 = Clazz_defineMethod(c$, "get32", 
function(b, off){
return (java.util.zip.ZipInputStream.get16(b, off) | (java.util.zip.ZipInputStream.get16(b, off + 2) << 16)) & 0xffffffff;
}, "~A,~N");
c$.get64 = Clazz_defineMethod(c$, "get64", 
function(b, off){
return java.util.zip.ZipInputStream.get32(b, off) | (java.util.zip.ZipInputStream.get32(b, off + 4) << 32);
}, "~A,~N");
});
;//5.0.1-v2 Thu Feb 08 09:49:36 CST 2024
Clazz_declarePackage("java.util.zip");
Clazz_load(["com.jcraft.jzlib.CRC32"], "java.util.zip.CRC32", null, function(){
var c$ = Clazz_declareType(java.util.zip, "CRC32", com.jcraft.jzlib.CRC32);
});
;//5.0.1-v2 Thu Feb 08 09:49:36 CST 2024
Clazz_declarePackage("java.util.zip");
Clazz_load(["com.jcraft.jzlib.InflaterInputStream"], "java.util.zip.InflaterInputStream", null, function(){
var c$ = Clazz_decorateAsClass(function(){
this.inf = null;
Clazz_instantialize(this, arguments);}, java.util.zip, "InflaterInputStream", com.jcraft.jzlib.InflaterInputStream);
Clazz_makeConstructor(c$, 
function($in, inflater, size){
Clazz_superConstructor(this, java.util.zip.InflaterInputStream, [$in, inflater, size, true]);
this.inf = inflater;
}, "java.io.InputStream,java.util.zip.Inflater,~N");
});
;//5.0.1-v2 Thu Feb 08 09:49:36 CST 2024
Clazz_declarePackage("java.util.zip");
Clazz_load(["java.util.zip.InflaterInputStream", "$.CRC32"], "java.util.zip.GZIPInputStream", ["java.util.zip.CheckedInputStream", "$.Inflater"], function(){
var c$ = Clazz_decorateAsClass(function(){
this.crc = null;
this.eos = false;
this.$closed = false;
this.tmpbuf = null;
Clazz_instantialize(this, arguments);}, java.util.zip, "GZIPInputStream", java.util.zip.InflaterInputStream);
Clazz_prepareFields (c$, function(){
this.crc =  new java.util.zip.CRC32();
this.tmpbuf =  Clazz_newByteArray (128, 0);
});
Clazz_makeConstructor(c$, 
function($in, size){
Clazz_superConstructor(this, java.util.zip.GZIPInputStream, [$in,  new java.util.zip.Inflater().init(0, true), size]);
this.readHeader($in);
}, "java.io.InputStream,~N");
Clazz_defineMethod(c$, "ensureOpen", 
function(){
if (this.$closed) {
throw  new java.io.IOException("Stream closed");
}});
Clazz_defineMethod(c$, "read", 
function(buf, off, len){
this.ensureOpen();
if (this.eos) {
return -1;
}var n = this.readInf(buf, off, len);
if (n == -1) {
if (this.readTrailer()) this.eos = true;
 else return this.read(buf, off, len);
} else {
this.crc.update(buf, off, n);
}return n;
}, "~A,~N,~N");
Clazz_defineMethod(c$, "close", 
function(){
if (!this.$closed) {
Clazz_superCall(this, java.util.zip.GZIPInputStream, "close", []);
this.eos = true;
this.$closed = true;
}});
Clazz_defineMethod(c$, "readHeader", 
function(this_in){
var $in =  new java.util.zip.CheckedInputStream(this_in).set(this.crc);
this.crc.reset();
if (this.readUShort($in) != 35615) {
throw  new java.util.zip.ZipException("Not in GZIP format");
}if (this.readUByte($in) != 8) {
throw  new java.util.zip.ZipException("Unsupported compression method");
}var flg = this.readUByte($in);
this.skipBytes($in, 6);
var n = 10;
if ((flg & 4) == 4) {
var m = this.readUShort($in);
this.skipBytes($in, m);
n += m + 2;
}if ((flg & 8) == 8) {
do {
n++;
} while (this.readUByte($in) != 0);
}if ((flg & 16) == 16) {
do {
n++;
} while (this.readUByte($in) != 0);
}if ((flg & 2) == 2) {
var v = this.crc.getValue() & 0xffff;
if (this.readUShort($in) != v) {
throw  new java.util.zip.ZipException("Corrupt GZIP header");
}n += 2;
}this.crc.reset();
return n;
}, "java.io.InputStream");
Clazz_defineMethod(c$, "readTrailer", 
function(){
return true;
});
Clazz_defineMethod(c$, "readUShort", 
function($in){
var b = this.readUByte($in);
return (this.readUByte($in) << 8) | b;
}, "java.io.InputStream");
Clazz_defineMethod(c$, "readUByte", 
function($in){
var b = $in.readByteAsInt();
if (b == -1) {
throw  new java.io.EOFException();
}if (b < -1 || b > 255) {
throw  new java.io.IOException(this.$in.getClass().getName() + ".read() returned value out of range -1..255: " + b);
}return b;
}, "java.io.InputStream");
Clazz_defineMethod(c$, "skipBytes", 
function($in, n){
while (n > 0) {
var len = $in.read(this.tmpbuf, 0, n < this.tmpbuf.length ? n : this.tmpbuf.length);
if (len == -1) {
throw  new java.io.EOFException();
}n -= len;
}
}, "java.io.InputStream,~N");
});
;//5.0.1-v2 Thu Feb 08 09:49:36 CST 2024
Clazz_declarePackage("javajs.api");
Clazz_load(["java.util.zip.ZipInputStream", "javajs.api.ZInputStream"], "javajs.api.GenericZipInputStream", null, function(){
var c$ = Clazz_declareType(javajs.api, "GenericZipInputStream", java.util.zip.ZipInputStream, javajs.api.ZInputStream);
});
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
Clazz_declarePackage("JU");
Clazz_load(["javajs.api.GenericZipTools"], "JU.ZipTools", ["java.io.BufferedInputStream", "java.util.zip.CRC32", "$.GZIPInputStream", "$.ZipEntry", "javajs.api.GenericZipInputStream", "$.Interface", "JU.BArray", "$.Lst", "$.Rdr", "$.SB"], function(){
var c$ = Clazz_declareType(JU, "ZipTools", null, javajs.api.GenericZipTools);
/*LV!1824 unnec constructor*/Clazz_overrideMethod(c$, "newZipInputStream", 
function(is){
return JU.ZipTools.newZIS(is);
}, "java.io.InputStream");
c$.newZIS = Clazz_defineMethod(c$, "newZIS", 
function(is){
return (Clazz_instanceOf(is,"java.util.zip.ZipInputStream") ? is : Clazz_instanceOf(is,"java.io.BufferedInputStream") ?  new javajs.api.GenericZipInputStream(is) :  new javajs.api.GenericZipInputStream( new java.io.BufferedInputStream(is)));
}, "java.io.InputStream");
Clazz_overrideMethod(c$, "getAllZipData", 
function(is, subfileList, name0, binaryFileList, exclude, fileData){
}, "java.io.InputStream,~A,~S,~S,~S,java.util.Map");
Clazz_overrideMethod(c$, "getZipFileDirectory", 
function(bis, list, listPtr, asBufferedInputStream){
var ret;
var justDir = (list == null || listPtr >= list.length);
var fileName = (justDir ? "." : list[listPtr]);
if (JU.Rdr.isTar(bis)) return JU.ZipTools.getTarFileDirectory(bis, fileName, asBufferedInputStream);
if (justDir) return this.getZipDirectoryAsStringAndClose(bis);
bis = JU.Rdr.getPngZipStream(bis, true);
var zis = JU.ZipTools.newZIS(bis);
var ze;
try {
var isAll = (fileName.equals("."));
if (isAll || fileName.lastIndexOf("/") == fileName.length - 1) {
ret =  new JU.SB();
while ((ze = zis.getNextEntry()) != null) {
var name = ze.getName();
if (isAll || name.startsWith(fileName)) ret.append(name).appendC('\n');
}
var str = ret.toString();
return (asBufferedInputStream ? JU.Rdr.getBIS(str.getBytes()) : str);
}var pt = fileName.indexOf(":asBinaryString");
var asBinaryString = (pt > 0);
if (asBinaryString) fileName = fileName.substring(0, pt);
fileName = fileName.$replace('\\', '/');
while ((ze = zis.getNextEntry()) != null && !fileName.equals(ze.getName())) {
}
var bytes = (ze == null ? null : JU.Rdr.getLimitedStreamBytes(zis, ze.getSize()));
ze = null;
zis.close();
if (bytes == null) return "";
if (JU.Rdr.isZipB(bytes) || JU.Rdr.isPngZipB(bytes)) return this.getZipFileDirectory(JU.Rdr.getBIS(bytes), list, ++listPtr, asBufferedInputStream);
if (asBufferedInputStream) return JU.Rdr.getBIS(bytes);
if (asBinaryString) {
ret =  new JU.SB();
for (var i = 0; i < bytes.length; i++) ret.append(Integer.toHexString(bytes[i] & 0xFF)).appendC(' ');

return ret.toString();
}if (JU.Rdr.isGzipB(bytes)) bytes = JU.Rdr.getLimitedStreamBytes(this.getUnGzippedInputStream(bytes), -1);
return JU.Rdr.fixUTF(bytes);
} catch (e) {
if (Clazz_exceptionOf(e, Exception)){
return "";
} else {
throw e;
}
}
}, "java.io.BufferedInputStream,~A,~N,~B");
c$.getTarFileDirectory = Clazz_defineMethod(c$, "getTarFileDirectory", 
function(bis, fileName, asBufferedInputStream){
var ret;
try {
var isAll = (fileName.equals("."));
if (isAll || fileName.lastIndexOf("/") == fileName.length - 1) {
ret =  new JU.SB();
JU.ZipTools.getTarContents(bis, fileName, ret);
var str = ret.toString();
return (asBufferedInputStream ? JU.Rdr.getBIS(str.getBytes()) : str);
}fileName = fileName.$replace('\\', '/');
var bytes = JU.ZipTools.getTarContents(bis, fileName, null);
bis.close();
return (bytes == null ? "" : asBufferedInputStream ? JU.Rdr.getBIS(bytes) : JU.Rdr.fixUTF(bytes));
} catch (e) {
if (Clazz_exceptionOf(e, Exception)){
return "";
} else {
throw e;
}
}
}, "java.io.BufferedInputStream,~S,~B");
Clazz_overrideMethod(c$, "getZipFileContentsAsBytes", 
function(bis, list, listPtr){
var ret =  Clazz_newByteArray (0, 0);
var fileName = list[listPtr];
if (fileName.lastIndexOf("/") == fileName.length - 1) return ret;
try {
if (JU.Rdr.isTar(bis)) return JU.ZipTools.getTarContents(bis, fileName, null);
bis = JU.Rdr.getPngZipStream(bis, true);
var zis = JU.ZipTools.newZIS(bis);
var ze;
while ((ze = zis.getNextEntry()) != null) {
if (!fileName.equals(ze.getName())) continue;
var bytes = JU.Rdr.getLimitedStreamBytes(zis, ze.getSize());
return ((JU.Rdr.isZipB(bytes) || JU.Rdr.isPngZipB(bytes)) && ++listPtr < list.length ? this.getZipFileContentsAsBytes(JU.Rdr.getBIS(bytes), list, listPtr) : bytes);
}
} catch (e) {
if (Clazz_exceptionOf(e, Exception)){
} else {
throw e;
}
}
return ret;
}, "java.io.BufferedInputStream,~A,~N");
c$.getTarContents = Clazz_defineMethod(c$, "getTarContents", 
function(bis, fileName, sb){
if (JU.ZipTools.b512 == null) JU.ZipTools.b512 =  Clazz_newByteArray (512, 0);
var len = fileName.length;
while (bis.read(JU.ZipTools.b512, 0, 512) > 0) {
var bytes = JU.ZipTools.getTarFile(bis, fileName, len, sb, null, false);
if (bytes != null) return bytes;
}
return null;
}, "java.io.BufferedInputStream,~S,JU.SB");
c$.getTarFile = Clazz_defineMethod(c$, "getTarFile", 
function(bis, fileName, len, sb, cache, oneFile){
var j = 124;
while (JU.ZipTools.b512[j] == 48) j++;

var isAll = (sb != null && fileName.equals("."));
var nbytes = 0;
while (j < 135) nbytes = (nbytes << 3) + (JU.ZipTools.b512[j++] - 48);

if (nbytes == 0) return null;
var fname =  String.instantialize(JU.ZipTools.b512, 0, 100).trim();
var prefix =  String.instantialize(JU.ZipTools.b512, 345, 155).trim();
var name = prefix + fname;
var found = false;
if (sb != null) {
if (name.length == 0) return null;
if (isAll || (oneFile ? name.equalsIgnoreCase(fileName) : name.startsWith(fileName))) {
found = (cache != null);
sb.append(name).appendC('\n');
}len = -1;
}var nul = (512 - (nbytes % 512)) % 512;
if (!found && (len != name.length || !fileName.equals(name))) {
var nBlocks = (nbytes + nul) >> 9;
for (var i = nBlocks; --i >= 0; ) bis.read(JU.ZipTools.b512, 0, 512);

return null;
}var bytes = JU.Rdr.getLimitedStreamBytes(bis, nbytes);
if (cache != null) {
cache.put(name,  new JU.BArray(bytes));
bis.read(JU.ZipTools.b512, 0, nul);
}return bytes;
}, "java.io.BufferedInputStream,~S,~N,JU.SB,java.util.Map,~B");
Clazz_overrideMethod(c$, "getZipDirectoryAsStringAndClose", 
function(bis){
var sb =  new JU.SB();
var s =  new Array(0);
try {
s = this.getZipDirectoryOrErrorAndClose(bis, null);
bis.close();
} catch (e) {
if (Clazz_exceptionOf(e, Exception)){
System.out.println(e.toString());
} else {
throw e;
}
}
for (var i = 0; i < s.length; i++) sb.append(s[i]).appendC('\n');

return sb.toString();
}, "java.io.BufferedInputStream");
Clazz_overrideMethod(c$, "getZipDirectoryAndClose", 
function(bis, manifestID){
var s =  new Array(0);
try {
s = this.getZipDirectoryOrErrorAndClose(bis, manifestID);
bis.close();
} catch (e) {
if (Clazz_exceptionOf(e, Exception)){
System.out.println(e.toString());
} else {
throw e;
}
}
return s;
}, "java.io.BufferedInputStream,~S");
Clazz_defineMethod(c$, "getZipDirectoryOrErrorAndClose", 
function(bis, manifestID){
bis = JU.Rdr.getPngZipStream(bis, true);
var v =  new JU.Lst();
var zis = JU.ZipTools.newZIS(bis);
var ze;
var manifest = null;
while ((ze = zis.getNextEntry()) != null) {
var fileName = ze.getName();
if (manifestID != null && fileName.startsWith(manifestID)) manifest = JU.ZipTools.getStreamAsString(zis);
 else if (!fileName.startsWith("__MACOS")) v.addLast(fileName);
}
zis.close();
if (manifestID != null) v.add(0, manifest == null ? "" : manifest + "\n############\n");
return v.toArray( new Array(v.size()));
}, "java.io.BufferedInputStream,~S");
c$.getStreamAsString = Clazz_defineMethod(c$, "getStreamAsString", 
function(is){
return JU.Rdr.fixUTF(JU.Rdr.getLimitedStreamBytes(is, -1));
}, "java.io.InputStream");
Clazz_overrideMethod(c$, "newGZIPInputStream", 
function(is){
return  new java.io.BufferedInputStream( new java.util.zip.GZIPInputStream(is, 512));
}, "java.io.InputStream");
Clazz_overrideMethod(c$, "newBZip2InputStream", 
function(is){
return  new java.io.BufferedInputStream((javajs.api.Interface.getInterface("org.apache.tools.bzip2.CBZip2InputStreamFactory")).getStream(is));
}, "java.io.InputStream");
Clazz_overrideMethod(c$, "getUnGzippedInputStream", 
function(bytes){
try {
return JU.Rdr.getUnzippedInputStream(this, JU.Rdr.getBIS(bytes));
} catch (e) {
if (Clazz_exceptionOf(e, Exception)){
return null;
} else {
throw e;
}
}
}, "~A");
Clazz_overrideMethod(c$, "addZipEntry", 
function(zos, fileName){
(zos).putNextEntry( new java.util.zip.ZipEntry(fileName));
}, "~O,~S");
Clazz_overrideMethod(c$, "closeZipEntry", 
function(zos){
(zos).closeEntry();
}, "~O");
Clazz_overrideMethod(c$, "getZipOutputStream", 
function(bos){
{
return javajs.api.Interface.getInterface(
"java.util.zip.ZipOutputStream").setZOS(bos);
}}, "~O");
Clazz_overrideMethod(c$, "getCrcValue", 
function(bytes){
var crc =  new java.util.zip.CRC32();
crc.update(bytes, 0, bytes.length);
return crc.getValue();
}, "~A");
Clazz_overrideMethod(c$, "readFileAsMap", 
function(bis, bdata, name){
JU.ZipTools.readFileAsMapStatic(bis, bdata, name);
}, "java.io.BufferedInputStream,java.util.Map,~S");
c$.readFileAsMapStatic = Clazz_defineMethod(c$, "readFileAsMapStatic", 
function(bis, bdata, name){
var pt = (name == null ? -1 : name.indexOf("|"));
name = (pt >= 0 ? name.substring(pt + 1) : null);
try {
var isZip = false;
if (JU.Rdr.isPngZipStream(bis)) {
var isImage = "_IMAGE_".equals(name);
if (name == null || isImage) bdata.put((isImage ? "_DATA_" : "_IMAGE_"),  new JU.BArray(JU.ZipTools.getPngImageBytes(bis)));
isZip = !isImage;
} else if (JU.Rdr.isZipS(bis)) {
isZip = true;
} else if (JU.Rdr.isTar(bis)) {
JU.ZipTools.cacheTarContentsStatic(bis, name, bdata);
} else if (name == null) {
bdata.put("_DATA_",  new JU.BArray(JU.Rdr.getLimitedStreamBytes(bis, -1)));
} else {
throw  new java.io.IOException("ZIP file " + name + " not found");
}if (isZip) JU.ZipTools.cacheZipContentsStatic(bis, name, bdata, true);
bdata.put("$_BINARY_$", Boolean.TRUE);
} catch (e) {
if (Clazz_exceptionOf(e,"java.io.IOException")){
bdata.clear();
bdata.put("_ERROR_", e.getMessage());
} else {
throw e;
}
}
}, "java.io.BufferedInputStream,java.util.Map,~S");
c$.cacheTarContentsStatic = Clazz_defineMethod(c$, "cacheTarContentsStatic", 
function(bis, fileName, cache){
var listing =  new JU.SB();
var n = 0;
if (fileName != null && fileName.endsWith("/.")) fileName = fileName.substring(0, fileName.length - 1);
var isPath = (fileName != null && fileName.endsWith("/"));
var justOne = (fileName != null && !isPath);
try {
if (JU.ZipTools.b512 == null) JU.ZipTools.b512 =  Clazz_newByteArray (512, 0);
while (bis.read(JU.ZipTools.b512, 0, 512) > 0) {
var bytes = JU.ZipTools.getTarFile(bis, fileName == null ? "." : fileName, -1, listing, cache, justOne);
if (bytes != null) {
n += bytes.length;
if (justOne) break;
}}
bis.close();
} catch (e) {
if (Clazz_exceptionOf(e, Exception)){
try {
bis.close();
} catch (e1) {
if (Clazz_exceptionOf(e1,"java.io.IOException")){
} else {
throw e1;
}
}
return null;
} else {
throw e;
}
}
if (n == 0 || fileName == null) return null;
System.out.println("ZipTools cached " + n + " bytes from " + fileName);
return listing.toString();
}, "java.io.BufferedInputStream,~S,java.util.Map");
Clazz_overrideMethod(c$, "cacheZipContents", 
function(bis, fileName, cache, asByteArray){
return JU.ZipTools.cacheZipContentsStatic(bis, fileName, cache, asByteArray);
}, "java.io.BufferedInputStream,~S,java.util.Map,~B");
c$.cacheZipContentsStatic = Clazz_defineMethod(c$, "cacheZipContentsStatic", 
function(bis, fileName, cache, asByteArray){
var zis = JU.ZipTools.newZIS(bis);
var ze;
var listing =  new JU.SB();
var n = 0;
if (fileName != null && fileName.endsWith("/.")) fileName = fileName.substring(0, fileName.length - 1);
var isPath = (fileName != null && fileName.endsWith("/"));
var oneFile = (fileName != null && !isPath && asByteArray);
var pt = (oneFile ? fileName.indexOf("|") : -1);
var zipEntryRoot = (pt >= 0 ? fileName : null);
if (pt >= 0) fileName = fileName.substring(0, pt);
var prefix = (fileName == null || isPath ? "" : fileName + "|");
try {
while ((ze = zis.getNextEntry()) != null) {
if (ze.isDirectory()) continue;
var name = ze.getName();
if (fileName != null) {
if (oneFile) {
if (!name.equalsIgnoreCase(fileName)) continue;
} else {
if (isPath && !name.startsWith(fileName)) continue;
listing.append(name).appendC('\n');
}}var nBytes = ze.getSize();
var bytes = JU.Rdr.getLimitedStreamBytes(zis, nBytes);
if (zipEntryRoot != null) {
JU.ZipTools.readFileAsMapStatic(JU.Rdr.getBIS(bytes), cache, zipEntryRoot);
return null;
}n += bytes.length;
var o = (asByteArray ?  new JU.BArray(bytes) : bytes);
cache.put((oneFile ? "_DATA_" : prefix + name), o);
if (oneFile) break;
}
zis.close();
} catch (e) {
if (Clazz_exceptionOf(e, Exception)){
try {
zis.close();
} catch (e1) {
if (Clazz_exceptionOf(e1,"java.io.IOException")){
} else {
throw e1;
}
}
return null;
} else {
throw e;
}
}
if (n == 0 || fileName == null) return null;
System.out.println("ZipTools cached " + n + " bytes from " + fileName);
return listing.toString();
}, "java.io.BufferedInputStream,~S,java.util.Map,~B");
c$.getPngImageBytes = Clazz_defineMethod(c$, "getPngImageBytes", 
function(bis){
try {
if (JU.Rdr.isPngZipStream(bis)) {
var pt_count =  Clazz_newIntArray (2, 0);
JU.Rdr.getPngZipPointAndCount(bis, pt_count);
if (pt_count[1] != 0) return JU.ZipTools.deActivatePngZipB(JU.Rdr.getLimitedStreamBytes(bis, pt_count[0]));
}return JU.Rdr.getLimitedStreamBytes(bis, -1);
} catch (e) {
if (Clazz_exceptionOf(e,"java.io.IOException")){
return null;
} else {
throw e;
}
}
}, "java.io.BufferedInputStream");
c$.deActivatePngZipB = Clazz_defineMethod(c$, "deActivatePngZipB", 
function(bytes){
if (JU.Rdr.isPngZipB(bytes)) bytes[51] = 32;
return bytes;
}, "~A");
Clazz_overrideMethod(c$, "isZipStream", 
function(br){
return Clazz_instanceOf(br,"javajs.api.ZInputStream");
}, "~O");
c$.b512 = null;
});
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
Clazz_declarePackage("JU");
Clazz_declareInterface(JU, "Checksum");
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
Clazz_declarePackage("JU");
Clazz_load(["JU.Checksum"], "JU.CRC32", null, function(){
var c$ = Clazz_decorateAsClass(function(){
this.crc = 0;
this.b1 = null;
Clazz_instantialize(this, arguments);}, JU, "CRC32", null, JU.Checksum);
Clazz_prepareFields (c$, function(){
this.b1 =  Clazz_newByteArray (1, 0);
});
Clazz_overrideMethod(c$, "update", 
function(buf, index, len){
var c = ~this.crc;
while (--len >= 0) c = JU.CRC32.crc_table[(c ^ buf[index++]) & 0xff] ^ (c >>> 8);

this.crc = ~c;
}, "~A,~N,~N");
Clazz_overrideMethod(c$, "reset", 
function(){
this.crc = 0;
});
Clazz_overrideMethod(c$, "resetLong", 
function(vv){
this.crc = (vv & 0xffffffff);
}, "~N");
Clazz_overrideMethod(c$, "getValue", 
function(){
return this.crc & 0xffffffff;
});
Clazz_overrideMethod(c$, "updateByteAsInt", 
function(b){
this.b1[0] = b;
this.update(this.b1, 0, 1);
}, "~N");
c$.crc_table =  Clazz_newIntArray(-1, [0, 1996959894, -301047508, -1727442502, 124634137, 1886057615, -379345611, -1637575261, 249268274, 2044508324, -522852066, -1747789432, 162941995, 2125561021, -407360249, -1866523247, 498536548, 1789927666, -205950648, -2067906082, 450548861, 1843258603, -187386543, -2083289657, 325883990, 1684777152, -43845254, -1973040660, 335633487, 1661365465, -99664541, -1928851979, 997073096, 1281953886, -715111964, -1570279054, 1006888145, 1258607687, -770865667, -1526024853, 901097722, 1119000684, -608450090, -1396901568, 853044451, 1172266101, -589951537, -1412350631, 651767980, 1373503546, -925412992, -1076862698, 565507253, 1454621731, -809855591, -1195530993, 671266974, 1594198024, -972236366, -1324619484, 795835527, 1483230225, -1050600021, -1234817731, 1994146192, 31158534, -1731059524, -271249366, 1907459465, 112637215, -1614814043, -390540237, 2013776290, 251722036, -1777751922, -519137256, 2137656763, 141376813, -1855689577, -429695999, 1802195444, 476864866, -2056965928, -228458418, 1812370925, 453092731, -2113342271, -183516073, 1706088902, 314042704, -1950435094, -54949764, 1658658271, 366619977, -1932296973, -69972891, 1303535960, 984961486, -1547960204, -725929758, 1256170817, 1037604311, -1529756563, -740887301, 1131014506, 879679996, -1385723834, -631195440, 1141124467, 855842277, -1442165665, -586318647, 1342533948, 654459306, -1106571248, -921952122, 1466479909, 544179635, -1184443383, -832445281, 1591671054, 702138776, -1328506846, -942167884, 1504918807, 783551873, -1212326853, -1061524307, -306674912, -1698712650, 62317068, 1957810842, -355121351, -1647151185, 81470997, 1943803523, -480048366, -1805370492, 225274430, 2053790376, -468791541, -1828061283, 167816743, 2097651377, -267414716, -2029476910, 503444072, 1762050814, -144550051, -2140837941, 426522225, 1852507879, -19653770, -1982649376, 282753626, 1742555852, -105259153, -1900089351, 397917763, 1622183637, -690576408, -1580100738, 953729732, 1340076626, -776247311, -1497606297, 1068828381, 1219638859, -670225446, -1358292148, 906185462, 1090812512, -547295293, -1469587627, 829329135, 1181335161, -882789492, -1134132454, 628085408, 1382605366, -871598187, -1156888829, 570562233, 1426400815, -977650754, -1296233688, 733239954, 1555261956, -1026031705, -1244606671, 752459403, 1541320221, -1687895376, -328994266, 1969922972, 40735498, -1677130071, -351390145, 1913087877, 83908371, -1782625662, -491226604, 2075208622, 213261112, -1831694693, -438977011, 2094854071, 198958881, -2032938284, -237706686, 1759359992, 534414190, -2118248755, -155638181, 1873836001, 414664567, -2012718362, -15766928, 1711684554, 285281116, -1889165569, -127750551, 1634467795, 376229701, -1609899400, -686959890, 1308918612, 956543938, -1486412191, -799009033, 1231636301, 1047427035, -1362007478, -640263460, 1088359270, 936918000, -1447252397, -558129467, 1202900863, 817233897, -1111625188, -893730166, 1404277552, 615818150, -1160759803, -841546093, 1423857449, 601450431, -1285129682, -1000256840, 1567103746, 711928724, -1274298825, -1022587231, 1510334235, 755167117]);
});
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
Clazz_declarePackage("JU");
Clazz_load(["java.io.FilterInputStream"], "JU.InflaterInputStream", null, function(){
var c$ = Clazz_decorateAsClass(function(){
this.inflater = null;
this.buf = null;
this.len = 0;
this.closed = false;
this.eof = false;
this.close_in = true;
this.myinflater = false;
this.byte1 = null;
this.b = null;
Clazz_instantialize(this, arguments);}, JU, "InflaterInputStream", java.io.FilterInputStream);
Clazz_prepareFields (c$, function(){
this.byte1 =  Clazz_newByteArray (1, 0);
this.b =  Clazz_newByteArray (512, 0);
});
Clazz_makeConstructor(c$, 
function($in, inflater, size, close_in){
Clazz_superConstructor(this, JU.InflaterInputStream, [$in]);
this.inflater = inflater;
this.buf =  Clazz_newByteArray (size, 0);
this.close_in = close_in;
}, "java.io.InputStream,JU.Inflater,~N,~B");
Clazz_defineMethod(c$, "readByteAsInt", 
function(){
if (this.closed) {
throw  new java.io.IOException("Stream closed");
}return this.read(this.byte1, 0, 1) == -1 ? -1 : this.byte1[0] & 0xff;
});
Clazz_defineMethod(c$, "read", 
function(b, off, len){
return this.readInf(b, off, len);
}, "~A,~N,~N");
Clazz_defineMethod(c$, "readInf", 
function(b, off, len){
if (this.closed) {
throw  new java.io.IOException("Stream closed");
}if (b == null) {
throw  new NullPointerException();
} else if (off < 0 || len < 0 || len > b.length - off) {
throw  new IndexOutOfBoundsException();
} else if (len == 0) {
return 0;
} else if (this.eof) {
return -1;
}var n = 0;
this.inflater.setOutput(b, off, len);
while (!this.eof) {
if (this.inflater.avail_in == 0) this.fill();
var err = this.inflater.inflate(0);
n += this.inflater.next_out_index - off;
off = this.inflater.next_out_index;
switch (err) {
case -3:
throw  new java.io.IOException(this.inflater.msg);
case 1:
case 2:
this.eof = true;
if (err == 2) return -1;
break;
default:
}
if (this.inflater.avail_out == 0) break;
}
return n;
}, "~A,~N,~N");
Clazz_overrideMethod(c$, "available", 
function(){
if (this.closed) {
throw  new java.io.IOException("Stream closed");
}return (this.eof ? 0 : 1);
});
Clazz_overrideMethod(c$, "skip", 
function(n){
if (n < 0) {
throw  new IllegalArgumentException("negative skip length");
}if (this.closed) {
throw  new java.io.IOException("Stream closed");
}var max = Math.min(n, 2147483647);
var total = 0;
while (total < max) {
var len = max - total;
if (len > this.b.length) {
len = this.b.length;
}len = this.read(this.b, 0, len);
if (len == -1) {
this.eof = true;
break;
}total += len;
}
return total;
}, "~N");
Clazz_overrideMethod(c$, "close", 
function(){
if (!this.closed) {
if (this.myinflater) this.inflater.end();
if (this.close_in) this.$in.close();
this.closed = true;
}});
Clazz_defineMethod(c$, "fill", 
function(){
if (this.closed) {
throw  new java.io.IOException("Stream closed");
}this.len = this.$in.read(this.buf, 0, this.buf.length);
if (this.len == -1) {
if (this.inflater.istate.wrap == 0 && !this.inflater.finished()) {
this.buf[0] = 0;
this.len = 1;
} else if (this.inflater.istate.was != -1) {
throw  new java.io.IOException("footer is not found");
} else {
throw  new java.io.EOFException("Unexpected end of ZLIB input stream");
}}this.inflater.setInput(this.buf, 0, this.len, true);
});
Clazz_overrideMethod(c$, "markSupported", 
function(){
return false;
});
Clazz_overrideMethod(c$, "mark", 
function(readlimit){
}, "~N");
Clazz_overrideMethod(c$, "reset", 
function(){
throw  new java.io.IOException("mark/reset not supported");
});
Clazz_defineMethod(c$, "getTotalIn", 
function(){
return this.inflater.getTotalIn();
});
Clazz_defineMethod(c$, "getTotalOut", 
function(){
return this.inflater.getTotalOut();
});
Clazz_defineMethod(c$, "getAvailIn", 
function(){
if (this.inflater.avail_in <= 0) return null;
var tmp =  Clazz_newByteArray (this.inflater.avail_in, 0);
System.arraycopy(this.inflater.next_in, this.inflater.next_in_index, tmp, 0, this.inflater.avail_in);
return tmp;
});
Clazz_defineMethod(c$, "readHeader", 
function(){
var empty = "".getBytes();
this.inflater.setInput(empty, 0, 0, false);
this.inflater.setOutput(empty, 0, 0);
var err = this.inflater.inflate(0);
if (!this.inflater.istate.inParsingHeader()) {
return;
}var b1 =  Clazz_newByteArray (1, 0);
do {
var i = this.$in.read(b1, 0, 1);
if (i <= 0) throw  new java.io.IOException("no input");
this.inflater.setInput(b1, 0, b1.length, false);
err = this.inflater.inflate(0);
if (err != 0) throw  new java.io.IOException(this.inflater.msg);
} while (this.inflater.istate.inParsingHeader());
});
Clazz_defineMethod(c$, "getInflater", 
function(){
return this.inflater;
});
});
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
Clazz_declarePackage("JU");
Clazz_load(null, "JU.ZStream", ["JU.Adler32"], function(){
var c$ = Clazz_decorateAsClass(function(){
this.next_in = null;
this.next_in_index = 0;
this.avail_in = 0;
this.total_in = 0;
this.next_out = null;
this.next_out_index = 0;
this.avail_out = 0;
this.total_out = 0;
this.msg = null;
this.dstate = null;
this.istate = null;
this.data_type = 0;
this.checksum = null;
Clazz_instantialize(this, arguments);}, JU, "ZStream", null);
Clazz_defineMethod(c$, "setAdler32", 
function(){
this.checksum =  new JU.Adler32();
});
Clazz_defineMethod(c$, "inflate", 
function(f){
if (this.istate == null) return -2;
return this.istate.inflate(f);
}, "~N");
Clazz_defineMethod(c$, "deflate", 
function(flush){
if (this.dstate == null) {
return -2;
}return this.dstate.deflate(flush);
}, "~N");
Clazz_defineMethod(c$, "flush_pending", 
function(){
var len = this.dstate.pending;
if (len > this.avail_out) len = this.avail_out;
if (len == 0) return;
System.arraycopy(this.dstate.pending_buf, this.dstate.pending_out, this.next_out, this.next_out_index, len);
this.next_out_index += len;
this.dstate.pending_out += len;
this.total_out += len;
this.avail_out -= len;
this.dstate.pending -= len;
if (this.dstate.pending == 0) {
this.dstate.pending_out = 0;
}});
Clazz_defineMethod(c$, "read_buf", 
function(buf, start, size){
var len = this.avail_in;
if (len > size) len = size;
if (len == 0) return 0;
this.avail_in -= len;
if (this.dstate.wrap != 0) {
this.checksum.update(this.next_in, this.next_in_index, len);
}System.arraycopy(this.next_in, this.next_in_index, buf, start, len);
this.next_in_index += len;
this.total_in += len;
return len;
}, "~A,~N,~N");
Clazz_defineMethod(c$, "getAdler", 
function(){
return this.checksum.getValue();
});
Clazz_defineMethod(c$, "free", 
function(){
this.next_in = null;
this.next_out = null;
this.msg = null;
});
Clazz_defineMethod(c$, "setOutput", 
function(buf, off, len){
this.next_out = buf;
this.next_out_index = off;
this.avail_out = len;
}, "~A,~N,~N");
Clazz_defineMethod(c$, "setInput", 
function(buf, off, len, append){
if (len <= 0 && append && this.next_in != null) return;
if (this.avail_in > 0 && append) {
var tmp =  Clazz_newByteArray (this.avail_in + len, 0);
System.arraycopy(this.next_in, this.next_in_index, tmp, 0, this.avail_in);
System.arraycopy(buf, off, tmp, this.avail_in, len);
this.next_in = tmp;
this.next_in_index = 0;
this.avail_in += len;
} else {
this.next_in = buf;
this.next_in_index = off;
this.avail_in = len;
}}, "~A,~N,~N,~B");
Clazz_defineMethod(c$, "getAvailIn", 
function(){
return this.avail_in;
});
Clazz_defineMethod(c$, "getTotalOut", 
function(){
return this.total_out;
});
Clazz_defineMethod(c$, "getTotalIn", 
function(){
return this.total_in;
});
c$.getBytes = Clazz_defineMethod(c$, "getBytes", 
function(s){
{
var x = [];
for (var i = 0; i < s.length;i++) {
var pt = s.charCodeAt(i);
if (pt <= 0x7F) {
x.push(pt);
} else if (pt <= 0x7FF) {
x.push(0xC0|((pt>>6)&0x1F));
x.push(0x80|(pt&0x3F));
} else if (pt <= 0xFFFF) {
x.push(0xE0|((pt>>12)&0xF));
x.push(0x80|((pt>>6)&0x3F));
x.push(0x80|(pt&0x3F));
} else {
x.push(0x3F); // '?'
}
}
return (Int32Array != Array ? new Int32Array(x) : x);
}}, "~S");
});
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
Clazz_declarePackage("JU");
Clazz_load(["JU.ZStream"], "JU.Inflater", ["JU.Inflate"], function(){
var c$ = Clazz_declareType(JU, "Inflater", JU.ZStream);
Clazz_defineMethod(c$, "init", 
function(w, nowrap){
this.setAdler32();
if (w == 0) w = 15;
this.istate =  new JU.Inflate(this);
this.istate.inflateInit(nowrap ? -w : w);
return this;
}, "~N,~B");
Clazz_overrideMethod(c$, "inflate", 
function(f){
if (this.istate == null) return -2;
var ret = this.istate.inflate(f);
return ret;
}, "~N");
Clazz_overrideMethod(c$, "end", 
function(){
if (this.istate == null) return -2;
var ret = this.istate.inflateEnd();
return ret;
});
Clazz_defineMethod(c$, "sync", 
function(){
if (this.istate == null) return -2;
return this.istate.inflateSync();
});
Clazz_defineMethod(c$, "syncPoint", 
function(){
if (this.istate == null) return -2;
return this.istate.inflateSyncPoint();
});
Clazz_defineMethod(c$, "setDictionary", 
function(dictionary, dictLength){
if (this.istate == null) return -2;
return this.istate.inflateSetDictionary(dictionary, dictLength);
}, "~A,~N");
Clazz_overrideMethod(c$, "finished", 
function(){
return this.istate.mode == 12;
});
Clazz_defineMethod(c$, "reset", 
function(){
this.avail_in = 0;
if (this.istate != null) this.istate.reset();
});
});
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
Clazz_declarePackage("JU");
Clazz_load(["JU.Checksum"], "JU.Adler32", null, function(){
var c$ = Clazz_decorateAsClass(function(){
this.s1 = 1;
this.s2 = 0;
this.b1 = null;
Clazz_instantialize(this, arguments);}, JU, "Adler32", null, JU.Checksum);
Clazz_prepareFields (c$, function(){
this.b1 =  Clazz_newByteArray (1, 0);
});
Clazz_overrideMethod(c$, "resetLong", 
function(init){
this.s1 = init & 0xffff;
this.s2 = (init >> 16) & 0xffff;
}, "~N");
Clazz_overrideMethod(c$, "reset", 
function(){
this.s1 = 1;
this.s2 = 0;
});
Clazz_overrideMethod(c$, "getValue", 
function(){
return ((this.s2 << 16) | this.s1);
});
Clazz_overrideMethod(c$, "update", 
function(buf, index, len){
if (len == 1) {
this.s1 += buf[index++] & 0xff;
this.s2 += this.s1;
this.s1 %= 65521;
this.s2 %= 65521;
return;
}var len1 = Clazz_doubleToInt(len / 5552);
var len2 = len % 5552;
while (len1-- > 0) {
var k = 5552;
len -= k;
while (k-- > 0) {
this.s1 += buf[index++] & 0xff;
this.s2 += this.s1;
}
this.s1 %= 65521;
this.s2 %= 65521;
}
var k = len2;
len -= k;
while (k-- > 0) {
this.s1 += buf[index++] & 0xff;
this.s2 += this.s1;
}
this.s1 %= 65521;
this.s2 %= 65521;
}, "~A,~N,~N");
Clazz_overrideMethod(c$, "updateByteAsInt", 
function(b){
this.b1[0] = b;
this.update(this.b1, 0, 1);
}, "~N");
});
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
Clazz_declarePackage("JU");
(function(){
var c$ = Clazz_decorateAsClass(function(){
this.dyn_tree = null;
this.max_code = 0;
this.stat_desc = null;
Clazz_instantialize(this, arguments);}, JU, "Tree", null);
c$.d_code = Clazz_defineMethod(c$, "d_code", 
function(dist){
return ((dist) < 256 ? JU.Tree._dist_code[dist] : JU.Tree._dist_code[256 + ((dist) >>> 7)]);
}, "~N");
Clazz_defineMethod(c$, "gen_bitlen", 
function(s){
var tree = this.dyn_tree;
var stree = this.stat_desc.static_tree;
var extra = this.stat_desc.extra_bits;
var base = this.stat_desc.extra_base;
var max_length = this.stat_desc.max_length;
var h;
var n;
var m;
var bits;
var xbits;
var f;
var overflow = 0;
for (bits = 0; bits <= 15; bits++) s.bl_count[bits] = 0;

tree[s.heap[s.heap_max] * 2 + 1] = 0;
for (h = s.heap_max + 1; h < 573; h++) {
n = s.heap[h];
bits = tree[tree[n * 2 + 1] * 2 + 1] + 1;
if (bits > max_length) {
bits = max_length;
overflow++;
}tree[n * 2 + 1] = bits;
if (n > this.max_code) continue;
s.bl_count[bits]++;
xbits = 0;
if (n >= base) xbits = extra[n - base];
f = tree[n * 2];
s.opt_len += f * (bits + xbits);
if (stree != null) s.static_len += f * (stree[n * 2 + 1] + xbits);
}
if (overflow == 0) return;
do {
bits = max_length - 1;
while (s.bl_count[bits] == 0) bits--;

s.bl_count[bits]--;
s.bl_count[bits + 1] += 2;
s.bl_count[max_length]--;
overflow -= 2;
} while (overflow > 0);
for (bits = max_length; bits != 0; bits--) {
n = s.bl_count[bits];
while (n != 0) {
m = s.heap[--h];
if (m > this.max_code) continue;
if (tree[m * 2 + 1] != bits) {
s.opt_len += (bits - tree[m * 2 + 1]) * tree[m * 2];
tree[m * 2 + 1] = bits;
}n--;
}
}
}, "JU.Deflate");
Clazz_defineMethod(c$, "build_tree", 
function(s){
var tree = this.dyn_tree;
var stree = this.stat_desc.static_tree;
var elems = this.stat_desc.elems;
var n;
var m;
var max_code = -1;
var node;
s.heap_len = 0;
s.heap_max = 573;
for (n = 0; n < elems; n++) {
if (tree[n * 2] != 0) {
s.heap[++s.heap_len] = max_code = n;
s.depth[n] = 0;
} else {
tree[n * 2 + 1] = 0;
}}
while (s.heap_len < 2) {
node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);
tree[node * 2] = 1;
s.depth[node] = 0;
s.opt_len--;
if (stree != null) s.static_len -= stree[node * 2 + 1];
}
this.max_code = max_code;
for (n = Clazz_doubleToInt(s.heap_len / 2); n >= 1; n--) s.pqdownheap(tree, n);

node = elems;
do {
n = s.heap[1];
s.heap[1] = s.heap[s.heap_len--];
s.pqdownheap(tree, 1);
m = s.heap[1];
s.heap[--s.heap_max] = n;
s.heap[--s.heap_max] = m;
tree[node * 2] = (tree[n * 2] + tree[m * 2]);
s.depth[node] = (Math.max(s.depth[n], s.depth[m]) + 1);
tree[n * 2 + 1] = tree[m * 2 + 1] = node;
s.heap[1] = node++;
s.pqdownheap(tree, 1);
} while (s.heap_len >= 2);
s.heap[--s.heap_max] = s.heap[1];
this.gen_bitlen(s);
JU.Tree.gen_codes(tree, max_code, s.bl_count);
}, "JU.Deflate");
c$.gen_codes = Clazz_defineMethod(c$, "gen_codes", 
function(tree, max_code, bl_count){
var code = 0;
var bits;
var n;
JU.Tree.next_code[0] = 0;
for (bits = 1; bits <= 15; bits++) {
JU.Tree.next_code[bits] = code = ((code + bl_count[bits - 1]) << 1);
}
for (n = 0; n <= max_code; n++) {
var len = tree[n * 2 + 1];
if (len == 0) continue;
tree[n * 2] = (JU.Tree.bi_reverse(JU.Tree.next_code[len]++, len));
}
}, "~A,~N,~A");
c$.bi_reverse = Clazz_defineMethod(c$, "bi_reverse", 
function(code, len){
var res = 0;
do {
res |= code & 1;
code >>>= 1;
res <<= 1;
} while (--len > 0);
return res >>> 1;
}, "~N,~N");
c$.extra_lbits =  Clazz_newIntArray(-1, [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]);
c$.extra_dbits =  Clazz_newIntArray(-1, [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]);
c$.extra_blbits =  Clazz_newIntArray(-1, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7]);
c$.bl_order =  Clazz_newByteArray(-1, [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
c$._dist_code =  Clazz_newByteArray(-1, [0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 16, 17, 18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29]);
c$._length_code =  Clazz_newByteArray(-1, [0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28]);
c$.base_length =  Clazz_newIntArray(-1, [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 0]);
c$.base_dist =  Clazz_newIntArray(-1, [0, 1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48, 64, 96, 128, 192, 256, 384, 512, 768, 1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576]);
c$.next_code =  Clazz_newShortArray (16, 0);
})();
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
Clazz_declarePackage("JU");
Clazz_load(["JU.Tree"], "JU.StaticTree", null, function(){
var c$ = Clazz_decorateAsClass(function(){
this.static_tree = null;
this.extra_bits = null;
this.extra_base = 0;
this.elems = 0;
this.max_length = 0;
Clazz_instantialize(this, arguments);}, JU, "StaticTree", null);
Clazz_makeConstructor(c$, 
function(static_tree, extra_bits, extra_base, elems, max_length){
this.static_tree = static_tree;
this.extra_bits = extra_bits;
this.extra_base = extra_base;
this.elems = elems;
this.max_length = max_length;
}, "~A,~A,~N,~N,~N");
c$.static_ltree =  Clazz_newShortArray(-1, [12, 8, 140, 8, 76, 8, 204, 8, 44, 8, 172, 8, 108, 8, 236, 8, 28, 8, 156, 8, 92, 8, 220, 8, 60, 8, 188, 8, 124, 8, 252, 8, 2, 8, 130, 8, 66, 8, 194, 8, 34, 8, 162, 8, 98, 8, 226, 8, 18, 8, 146, 8, 82, 8, 210, 8, 50, 8, 178, 8, 114, 8, 242, 8, 10, 8, 138, 8, 74, 8, 202, 8, 42, 8, 170, 8, 106, 8, 234, 8, 26, 8, 154, 8, 90, 8, 218, 8, 58, 8, 186, 8, 122, 8, 250, 8, 6, 8, 134, 8, 70, 8, 198, 8, 38, 8, 166, 8, 102, 8, 230, 8, 22, 8, 150, 8, 86, 8, 214, 8, 54, 8, 182, 8, 118, 8, 246, 8, 14, 8, 142, 8, 78, 8, 206, 8, 46, 8, 174, 8, 110, 8, 238, 8, 30, 8, 158, 8, 94, 8, 222, 8, 62, 8, 190, 8, 126, 8, 254, 8, 1, 8, 129, 8, 65, 8, 193, 8, 33, 8, 161, 8, 97, 8, 225, 8, 17, 8, 145, 8, 81, 8, 209, 8, 49, 8, 177, 8, 113, 8, 241, 8, 9, 8, 137, 8, 73, 8, 201, 8, 41, 8, 169, 8, 105, 8, 233, 8, 25, 8, 153, 8, 89, 8, 217, 8, 57, 8, 185, 8, 121, 8, 249, 8, 5, 8, 133, 8, 69, 8, 197, 8, 37, 8, 165, 8, 101, 8, 229, 8, 21, 8, 149, 8, 85, 8, 213, 8, 53, 8, 181, 8, 117, 8, 245, 8, 13, 8, 141, 8, 77, 8, 205, 8, 45, 8, 173, 8, 109, 8, 237, 8, 29, 8, 157, 8, 93, 8, 221, 8, 61, 8, 189, 8, 125, 8, 253, 8, 19, 9, 275, 9, 147, 9, 403, 9, 83, 9, 339, 9, 211, 9, 467, 9, 51, 9, 307, 9, 179, 9, 435, 9, 115, 9, 371, 9, 243, 9, 499, 9, 11, 9, 267, 9, 139, 9, 395, 9, 75, 9, 331, 9, 203, 9, 459, 9, 43, 9, 299, 9, 171, 9, 427, 9, 107, 9, 363, 9, 235, 9, 491, 9, 27, 9, 283, 9, 155, 9, 411, 9, 91, 9, 347, 9, 219, 9, 475, 9, 59, 9, 315, 9, 187, 9, 443, 9, 123, 9, 379, 9, 251, 9, 507, 9, 7, 9, 263, 9, 135, 9, 391, 9, 71, 9, 327, 9, 199, 9, 455, 9, 39, 9, 295, 9, 167, 9, 423, 9, 103, 9, 359, 9, 231, 9, 487, 9, 23, 9, 279, 9, 151, 9, 407, 9, 87, 9, 343, 9, 215, 9, 471, 9, 55, 9, 311, 9, 183, 9, 439, 9, 119, 9, 375, 9, 247, 9, 503, 9, 15, 9, 271, 9, 143, 9, 399, 9, 79, 9, 335, 9, 207, 9, 463, 9, 47, 9, 303, 9, 175, 9, 431, 9, 111, 9, 367, 9, 239, 9, 495, 9, 31, 9, 287, 9, 159, 9, 415, 9, 95, 9, 351, 9, 223, 9, 479, 9, 63, 9, 319, 9, 191, 9, 447, 9, 127, 9, 383, 9, 255, 9, 511, 9, 0, 7, 64, 7, 32, 7, 96, 7, 16, 7, 80, 7, 48, 7, 112, 7, 8, 7, 72, 7, 40, 7, 104, 7, 24, 7, 88, 7, 56, 7, 120, 7, 4, 7, 68, 7, 36, 7, 100, 7, 20, 7, 84, 7, 52, 7, 116, 7, 3, 8, 131, 8, 67, 8, 195, 8, 35, 8, 163, 8, 99, 8, 227, 8]);
c$.static_dtree =  Clazz_newShortArray(-1, [0, 5, 16, 5, 8, 5, 24, 5, 4, 5, 20, 5, 12, 5, 28, 5, 2, 5, 18, 5, 10, 5, 26, 5, 6, 5, 22, 5, 14, 5, 30, 5, 1, 5, 17, 5, 9, 5, 25, 5, 5, 5, 21, 5, 13, 5, 29, 5, 3, 5, 19, 5, 11, 5, 27, 5, 7, 5, 23, 5]);
c$.static_l_desc =  new JU.StaticTree(JU.StaticTree.static_ltree, JU.Tree.extra_lbits, 257, 286, 15);
c$.static_d_desc =  new JU.StaticTree(JU.StaticTree.static_dtree, JU.Tree.extra_dbits, 0, 30, 15);
c$.static_bl_desc =  new JU.StaticTree(null, JU.Tree.extra_blbits, 0, 19, 7);
});
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
Clazz_declarePackage("JU");
Clazz_load(null, "JU.GZIPHeader", ["JU.ZStream"], function(){
var c$ = Clazz_decorateAsClass(function(){
this.text = false;
this.fhcrc = false;
this.time = 0;
this.xflags = 0;
this.os = 255;
this.extra = null;
this.name = null;
this.comment = null;
this.hcrc = 0;
this.crc = 0;
this.done = false;
this.mtime = 0;
Clazz_instantialize(this, arguments);}, JU, "GZIPHeader", null, Cloneable);
Clazz_defineMethod(c$, "setModifiedTime", 
function(mtime){
this.mtime = mtime;
}, "~N");
Clazz_defineMethod(c$, "getModifiedTime", 
function(){
return this.mtime;
});
Clazz_defineMethod(c$, "setOS", 
function(os){
if ((0 <= os && os <= 13) || os == 255) this.os = os;
 else throw  new IllegalArgumentException("os: " + os);
}, "~N");
Clazz_defineMethod(c$, "getOS", 
function(){
return this.os;
});
Clazz_defineMethod(c$, "setName", 
function(name){
this.name = JU.ZStream.getBytes(name);
}, "~S");
Clazz_defineMethod(c$, "getName", 
function(){
if (this.name == null) return "";
try {
return  String.instantialize(this.name, "ISO-8859-1");
} catch (e) {
if (Clazz_exceptionOf(e,"java.io.UnsupportedEncodingException")){
throw  new InternalError(e.toString());
} else {
throw e;
}
}
});
Clazz_defineMethod(c$, "setComment", 
function(comment){
this.comment = JU.ZStream.getBytes(comment);
}, "~S");
Clazz_defineMethod(c$, "getComment", 
function(){
if (this.comment == null) return "";
try {
return  String.instantialize(this.comment, "ISO-8859-1");
} catch (e) {
if (Clazz_exceptionOf(e,"java.io.UnsupportedEncodingException")){
throw  new InternalError(e.toString());
} else {
throw e;
}
}
});
Clazz_defineMethod(c$, "setCRC", 
function(crc){
this.crc = crc;
}, "~N");
Clazz_defineMethod(c$, "getCRC", 
function(){
return this.crc;
});
Clazz_defineMethod(c$, "put", 
function(d){
var flag = 0;
if (this.text) {
flag |= 1;
}if (this.fhcrc) {
flag |= 2;
}if (this.extra != null) {
flag |= 4;
}if (this.name != null) {
flag |= 8;
}if (this.comment != null) {
flag |= 16;
}var xfl = 0;
if (d.level == 1) {
xfl |= 4;
} else if (d.level == 9) {
xfl |= 2;
}d.put_short(0x8b1f);
d.put_byteB(8);
d.put_byteB(flag);
d.put_byteB(this.mtime);
d.put_byteB((this.mtime >> 8));
d.put_byteB((this.mtime >> 16));
d.put_byteB((this.mtime >> 24));
d.put_byteB(xfl);
d.put_byteB(this.os);
if (this.extra != null) {
d.put_byteB(this.extra.length);
d.put_byteB((this.extra.length >> 8));
d.put_byte(this.extra, 0, this.extra.length);
}if (this.name != null) {
d.put_byte(this.name, 0, this.name.length);
d.put_byteB(0);
}if (this.comment != null) {
d.put_byte(this.comment, 0, this.comment.length);
d.put_byteB(0);
}}, "JU.Deflate");
Clazz_defineMethod(c$, "clone", 
function(){
var gheader = Clazz_superCall(this, JU.GZIPHeader, "clone", []);
var tmp;
if (gheader.extra != null) {
tmp =  Clazz_newByteArray (gheader.extra.length, 0);
System.arraycopy(gheader.extra, 0, tmp, 0, tmp.length);
gheader.extra = tmp;
}if (gheader.name != null) {
tmp =  Clazz_newByteArray (gheader.name.length, 0);
System.arraycopy(gheader.name, 0, tmp, 0, tmp.length);
gheader.name = tmp;
}if (gheader.comment != null) {
tmp =  Clazz_newByteArray (gheader.comment.length, 0);
System.arraycopy(gheader.comment, 0, tmp, 0, tmp.length);
gheader.comment = tmp;
}return gheader;
});
});
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
Clazz_declarePackage("JU");
Clazz_load(["java.lang.Exception"], "JU.Inflate", ["JU.Adler32", "$.CRC32", "$.GZIPHeader", "$.InfBlocks", "java.io.ByteArrayOutputStream"], function(){
var c$ = Clazz_decorateAsClass(function(){
this.mode = 0;
this.method = 0;
this.was = -1;
this.need = 0;
this.marker = 0;
this.wrap = 0;
this.wbits = 0;
this.blocks = null;
this.z = null;
this.flags = 0;
this.need_bytes = -1;
this.crcbuf = null;
this.gheader = null;
if (!Clazz_isClassDefined("JU.Inflate.Return")) {
JU.Inflate.$Inflate$Return$ ();
}
this.tmp_string = null;
Clazz_instantialize(this, arguments);}, JU, "Inflate", null);
Clazz_prepareFields (c$, function(){
this.crcbuf =  Clazz_newByteArray (4, 0);
});
Clazz_makeConstructor(c$, 
function(z){
this.z = z;
}, "JU.ZStream");
Clazz_defineMethod(c$, "reset", 
function(){
this.inflateReset();
});
Clazz_defineMethod(c$, "inflateReset", 
function(){
if (this.z == null) return -2;
this.z.total_in = this.z.total_out = 0;
this.z.msg = null;
this.mode = 14;
this.need_bytes = -1;
this.blocks.reset();
return 0;
});
Clazz_defineMethod(c$, "inflateEnd", 
function(){
if (this.blocks != null) {
this.blocks.free();
}return 0;
});
Clazz_defineMethod(c$, "inflateInit", 
function(w){
this.z.msg = null;
this.blocks = null;
this.wrap = 0;
if (w < 0) {
w = -w;
} else {
this.wrap = (w >> 4) + 1;
if (w < 48) w &= 15;
}if (w < 8 || w > 15) {
this.inflateEnd();
return -2;
}if (this.blocks != null && this.wbits != w) {
this.blocks.free();
this.blocks = null;
}this.wbits = w;
this.blocks =  new JU.InfBlocks(this.z, 1 << w);
this.inflateReset();
return 0;
}, "~N");
Clazz_defineMethod(c$, "inflate", 
function(f){
var r;
var b;
if (this.z == null || this.z.next_in == null) {
if (f == 4 && this.mode == 14) return 0;
return -2;
}f = f == 4 ? -5 : 0;
r = -5;
while (true) {
switch (this.mode) {
case 14:
if (this.wrap == 0) {
this.mode = 7;
break;
}try {
r = this.readBytes(2, r, f);
} catch (e) {
if (Clazz_exceptionOf(e,"JU.Inflate.Return")){
return e.r;
} else {
throw e;
}
}
if ((this.wrap & 2) != 0 && this.need == 0x8b1f) {
this.z.checksum =  new JU.CRC32();
this.checksum(2, this.need);
if (this.gheader == null) this.gheader =  new JU.GZIPHeader();
this.mode = 23;
break;
}this.flags = 0;
this.method = (this.need) & 0xff;
b = ((this.need >> 8)) & 0xff;
if ((this.wrap & 1) == 0 || (((this.method << 8) + b) % 31) != 0) {
this.mode = 13;
this.z.msg = "incorrect header check";
break;
}if ((this.method & 0xf) != 8) {
this.mode = 13;
this.z.msg = "unknown compression method";
break;
}if ((this.method >> 4) + 8 > this.wbits) {
this.mode = 13;
this.z.msg = "invalid window size";
break;
}this.z.checksum =  new JU.Adler32();
if ((b & 32) == 0) {
this.mode = 7;
break;
}this.mode = 2;
case 2:
if (this.z.avail_in == 0) return r;
r = f;
this.z.avail_in--;
this.z.total_in++;
this.need = ((this.z.next_in[this.z.next_in_index++] & 0xff) << 24) & 0xff000000;
this.mode = 3;
case 3:
if (this.z.avail_in == 0) return r;
r = f;
this.z.avail_in--;
this.z.total_in++;
this.need += ((this.z.next_in[this.z.next_in_index++] & 0xff) << 16) & 0xff0000;
this.mode = 4;
case 4:
if (this.z.avail_in == 0) return r;
r = f;
this.z.avail_in--;
this.z.total_in++;
this.need += ((this.z.next_in[this.z.next_in_index++] & 0xff) << 8) & 0xff00;
this.mode = 5;
case 5:
if (this.z.avail_in == 0) return r;
r = f;
this.z.avail_in--;
this.z.total_in++;
this.need += (this.z.next_in[this.z.next_in_index++] & 0xff);
this.z.checksum.resetLong(this.need);
this.mode = 6;
return 2;
case 6:
this.mode = 13;
this.z.msg = "need dictionary";
this.marker = 0;
return -2;
case 7:
r = this.blocks.proc(r);
if (r == -3) {
this.mode = 13;
this.marker = 0;
break;
}if (r == 0) {
r = f;
}if (r != 1) {
return r;
}r = f;
this.was = this.z.checksum.getValue();
this.blocks.reset();
if (this.wrap == 0) {
this.mode = 12;
break;
}this.mode = 8;
case 8:
if (this.z.avail_in == 0) return r;
r = f;
this.z.avail_in--;
this.z.total_in++;
this.need = ((this.z.next_in[this.z.next_in_index++] & 0xff) << 24) & 0xff000000;
this.mode = 9;
case 9:
if (this.z.avail_in == 0) return r;
r = f;
this.z.avail_in--;
this.z.total_in++;
this.need += ((this.z.next_in[this.z.next_in_index++] & 0xff) << 16) & 0xff0000;
this.mode = 10;
case 10:
if (this.z.avail_in == 0) return r;
r = f;
this.z.avail_in--;
this.z.total_in++;
this.need += ((this.z.next_in[this.z.next_in_index++] & 0xff) << 8) & 0xff00;
this.mode = 11;
case 11:
if (this.z.avail_in == 0) return r;
r = f;
this.z.avail_in--;
this.z.total_in++;
this.need += (this.z.next_in[this.z.next_in_index++] & 0xff);
if (this.flags != 0) {
this.need = ((this.need & 0xff000000) >> 24 | (this.need & 0x00ff0000) >> 8 | (this.need & 0x0000ff00) << 8 | (this.need & 0x0000ffff) << 24) & 0xffffffff;
}if (((this.was)) != ((this.need))) {
this.z.msg = "incorrect data check";
} else if (this.flags != 0 && this.gheader != null) {
this.gheader.crc = this.need;
}this.mode = 15;
case 15:
if (this.wrap != 0 && this.flags != 0) {
try {
r = this.readBytes(4, r, f);
} catch (e) {
if (Clazz_exceptionOf(e,"JU.Inflate.Return")){
return e.r;
} else {
throw e;
}
}
if (this.z.msg != null && this.z.msg.equals("incorrect data check")) {
this.mode = 13;
this.marker = 5;
break;
}if (this.need != (this.z.total_out & 0xffffffff)) {
this.z.msg = "incorrect length check";
this.mode = 13;
break;
}this.z.msg = null;
} else {
if (this.z.msg != null && this.z.msg.equals("incorrect data check")) {
this.mode = 13;
this.marker = 5;
break;
}}this.mode = 12;
case 12:
return 1;
case 13:
return -3;
case 23:
try {
r = this.readBytes(2, r, f);
} catch (e) {
if (Clazz_exceptionOf(e,"JU.Inflate.Return")){
return e.r;
} else {
throw e;
}
}
this.flags = (this.need) & 0xffff;
if ((this.flags & 0xff) != 8) {
this.z.msg = "unknown compression method";
this.mode = 13;
break;
}if ((this.flags & 0xe000) != 0) {
this.z.msg = "unknown header flags set";
this.mode = 13;
break;
}if ((this.flags & 0x0200) != 0) {
this.checksum(2, this.need);
}this.mode = 16;
case 16:
try {
r = this.readBytes(4, r, f);
} catch (e) {
if (Clazz_exceptionOf(e,"JU.Inflate.Return")){
return e.r;
} else {
throw e;
}
}
if (this.gheader != null) this.gheader.time = this.need;
if ((this.flags & 0x0200) != 0) {
this.checksum(4, this.need);
}this.mode = 17;
case 17:
try {
r = this.readBytes(2, r, f);
} catch (e) {
if (Clazz_exceptionOf(e,"JU.Inflate.Return")){
return e.r;
} else {
throw e;
}
}
if (this.gheader != null) {
this.gheader.xflags = (this.need) & 0xff;
this.gheader.os = ((this.need) >> 8) & 0xff;
}if ((this.flags & 0x0200) != 0) {
this.checksum(2, this.need);
}this.mode = 18;
case 18:
if ((this.flags & 0x0400) != 0) {
try {
r = this.readBytes(2, r, f);
} catch (e) {
if (Clazz_exceptionOf(e,"JU.Inflate.Return")){
return e.r;
} else {
throw e;
}
}
if (this.gheader != null) {
this.gheader.extra =  Clazz_newByteArray ((this.need) & 0xffff, 0);
}if ((this.flags & 0x0200) != 0) {
this.checksum(2, this.need);
}} else if (this.gheader != null) {
this.gheader.extra = null;
}this.mode = 19;
case 19:
if ((this.flags & 0x0400) != 0) {
try {
r = this.readBytes(r, f);
if (this.gheader != null) {
var foo = this.tmp_string.toByteArray();
this.tmp_string = null;
if (foo.length == this.gheader.extra.length) {
System.arraycopy(foo, 0, this.gheader.extra, 0, foo.length);
} else {
this.z.msg = "bad extra field length";
this.mode = 13;
break;
}}} catch (e) {
if (Clazz_exceptionOf(e,"JU.Inflate.Return")){
return e.r;
} else {
throw e;
}
}
} else if (this.gheader != null) {
this.gheader.extra = null;
}this.mode = 20;
case 20:
if ((this.flags & 0x0800) != 0) {
try {
r = this.readString(r, f);
if (this.gheader != null) {
this.gheader.name = this.tmp_string.toByteArray();
}this.tmp_string = null;
} catch (e) {
if (Clazz_exceptionOf(e,"JU.Inflate.Return")){
return e.r;
} else {
throw e;
}
}
} else if (this.gheader != null) {
this.gheader.name = null;
}this.mode = 21;
case 21:
if ((this.flags & 0x1000) != 0) {
try {
r = this.readString(r, f);
if (this.gheader != null) {
this.gheader.comment = this.tmp_string.toByteArray();
}this.tmp_string = null;
} catch (e) {
if (Clazz_exceptionOf(e,"JU.Inflate.Return")){
return e.r;
} else {
throw e;
}
}
} else if (this.gheader != null) {
this.gheader.comment = null;
}this.mode = 22;
case 22:
if ((this.flags & 0x0200) != 0) {
try {
r = this.readBytes(2, r, f);
} catch (e) {
if (Clazz_exceptionOf(e,"JU.Inflate.Return")){
return e.r;
} else {
throw e;
}
}
if (this.gheader != null) {
this.gheader.hcrc = (this.need & 0xffff);
}if (this.need != (this.z.checksum.getValue() & 0xffff)) {
this.mode = 13;
this.z.msg = "header crc mismatch";
this.marker = 5;
break;
}}this.z.checksum =  new JU.CRC32();
this.mode = 7;
break;
default:
return -2;
}
}
}, "~N");
Clazz_defineMethod(c$, "inflateSetDictionary", 
function(dictionary, dictLength){
if (this.z == null || (this.mode != 6 && this.wrap != 0)) {
return -2;
}var index = 0;
var length = dictLength;
if (this.mode == 6) {
var adler_need = this.z.checksum.getValue();
this.z.checksum.reset();
this.z.checksum.update(dictionary, 0, dictLength);
if (this.z.checksum.getValue() != adler_need) {
return -3;
}}this.z.checksum.reset();
if (length >= (1 << this.wbits)) {
length = (1 << this.wbits) - 1;
index = dictLength - length;
}this.blocks.set_dictionary(dictionary, index, length);
this.mode = 7;
return 0;
}, "~A,~N");
Clazz_defineMethod(c$, "inflateSync", 
function(){
var n;
var p;
var m;
var r;
var w;
if (this.z == null) return -2;
if (this.mode != 13) {
this.mode = 13;
this.marker = 0;
}if ((n = this.z.avail_in) == 0) return -5;
p = this.z.next_in_index;
m = this.marker;
while (n != 0 && m < 4) {
if (this.z.next_in[p] == JU.Inflate.mark[m]) {
m++;
} else if (this.z.next_in[p] != 0) {
m = 0;
} else {
m = 4 - m;
}p++;
n--;
}
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.z.avail_in = n;
this.marker = m;
if (m != 4) {
return -3;
}r = this.z.total_in;
w = this.z.total_out;
this.inflateReset();
this.z.total_in = r;
this.z.total_out = w;
this.mode = 7;
return 0;
});
Clazz_defineMethod(c$, "inflateSyncPoint", 
function(){
if (this.z == null || this.blocks == null) return -2;
return this.blocks.sync_point();
});
Clazz_defineMethod(c$, "readBytes", 
function(n, r, f){
if (this.need_bytes == -1) {
this.need_bytes = n;
this.need = 0;
}while (this.need_bytes > 0) {
if (this.z.avail_in == 0) {
throw Clazz_innerTypeInstance(JU.Inflate.Return, this, null, r);
}r = f;
this.z.avail_in--;
this.z.total_in++;
this.need = this.need | ((this.z.next_in[this.z.next_in_index++] & 0xff) << ((n - this.need_bytes) * 8));
this.need_bytes--;
}
if (n == 2) {
this.need &= 0xffff;
} else if (n == 4) {
this.need &= 0xffffffff;
}this.need_bytes = -1;
return r;
}, "~N,~N,~N");
Clazz_defineMethod(c$, "readString", 
function(r, f){
if (this.tmp_string == null) {
this.tmp_string =  new java.io.ByteArrayOutputStream();
}var b = 0;
do {
if (this.z.avail_in == 0) {
throw Clazz_innerTypeInstance(JU.Inflate.Return, this, null, r);
}r = f;
this.z.avail_in--;
this.z.total_in++;
b = this.z.next_in[this.z.next_in_index];
if (b != 0) this.tmp_string.write(this.z.next_in, this.z.next_in_index, 1);
this.z.checksum.update(this.z.next_in, this.z.next_in_index, 1);
this.z.next_in_index++;
} while (b != 0);
return r;
}, "~N,~N");
Clazz_defineMethod(c$, "readBytes", 
function(r, f){
if (this.tmp_string == null) {
this.tmp_string =  new java.io.ByteArrayOutputStream();
}while (this.need > 0) {
if (this.z.avail_in == 0) {
throw Clazz_innerTypeInstance(JU.Inflate.Return, this, null, r);
}r = f;
this.z.avail_in--;
this.z.total_in++;
this.tmp_string.write(this.z.next_in, this.z.next_in_index, 1);
this.z.checksum.update(this.z.next_in, this.z.next_in_index, 1);
this.z.next_in_index++;
this.need--;
}
return r;
}, "~N,~N");
Clazz_defineMethod(c$, "checksum", 
function(n, v){
for (var i = 0; i < n; i++) {
this.crcbuf[i] = (v & 0xff);
v >>= 8;
}
this.z.checksum.update(this.crcbuf, 0, n);
}, "~N,~N");
Clazz_defineMethod(c$, "getGZIPHeader", 
function(){
return this.gheader;
});
Clazz_defineMethod(c$, "inParsingHeader", 
function(){
switch (this.mode) {
case 14:
case 2:
case 3:
case 4:
case 5:
case 23:
case 16:
case 17:
case 18:
case 19:
case 20:
case 21:
case 22:
return true;
default:
return false;
}
});
c$.$Inflate$Return$ = function(){
/*if4*/;(function(){
var c$ = Clazz_decorateAsClass(function(){
Clazz_prepareCallback(this, arguments);
this.r = 0;
Clazz_instantialize(this, arguments);}, JU.Inflate, "Return", Exception);
Clazz_makeConstructor(c$, 
function(r){
Clazz_superConstructor (this, JU.Inflate.Return, []);
this.r = r;
}, "~N");
/*eoif4*/})();
};
c$.mark =  Clazz_newByteArray(-1, [0, 0, 0xff, 0xff]);
});
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
Clazz_declarePackage("JU");
(function(){
var c$ = Clazz_decorateAsClass(function(){
this.hn = null;
this.v = null;
this.c = null;
this.r = null;
this.u = null;
this.x = null;
Clazz_instantialize(this, arguments);}, JU, "InfTree", null);
Clazz_defineMethod(c$, "huft_build", 
function(b, bindex, n, s, d, e, t, m, hp, hn, v){
var a;
var f;
var g;
var h;
var i;
var j;
var k;
var l;
var mask;
var p;
var q;
var w;
var xp;
var y;
var z;
p = 0;
i = n;
do {
this.c[b[bindex + p]]++;
p++;
i--;
} while (i != 0);
if (this.c[0] == n) {
t[0] = -1;
m[0] = 0;
return 0;
}l = m[0];
for (j = 1; j <= 15; j++) if (this.c[j] != 0) break;

k = j;
if (l < j) {
l = j;
}for (i = 15; i != 0; i--) {
if (this.c[i] != 0) break;
}
g = i;
if (l > i) {
l = i;
}m[0] = l;
for (y = 1 << j; j < i; j++, y <<= 1) {
if ((y -= this.c[j]) < 0) {
return -3;
}}
if ((y -= this.c[i]) < 0) {
return -3;
}this.c[i] += y;
this.x[1] = j = 0;
p = 1;
xp = 2;
while (--i != 0) {
this.x[xp] = (j += this.c[p]);
xp++;
p++;
}
i = 0;
p = 0;
do {
if ((j = b[bindex + p]) != 0) {
v[this.x[j]++] = i;
}p++;
} while (++i < n);
n = this.x[g];
this.x[0] = i = 0;
p = 0;
h = -1;
w = -l;
this.u[0] = 0;
q = 0;
z = 0;
for (; k <= g; k++) {
a = this.c[k];
while (a-- != 0) {
while (k > w + l) {
h++;
w += l;
z = g - w;
z = (z > l) ? l : z;
if ((f = 1 << (j = k - w)) > a + 1) {
f -= a + 1;
xp = k;
if (j < z) {
while (++j < z) {
if ((f <<= 1) <= this.c[++xp]) break;
f -= this.c[xp];
}
}}z = 1 << j;
if (hn[0] + z > 1440) {
return -3;
}this.u[h] = q = hn[0];
hn[0] += z;
if (h != 0) {
this.x[h] = i;
this.r[0] = j;
this.r[1] = l;
j = i >>> (w - l);
this.r[2] = (q - this.u[h - 1] - j);
System.arraycopy(this.r, 0, hp, (this.u[h - 1] + j) * 3, 3);
} else {
t[0] = q;
}}
this.r[1] = (k - w);
if (p >= n) {
this.r[0] = 192;
} else if (v[p] < s) {
this.r[0] = (v[p] < 256 ? 0 : 96);
this.r[2] = v[p++];
} else {
this.r[0] = (e[v[p] - s] + 16 + 64);
this.r[2] = d[v[p++] - s];
}f = 1 << (k - w);
for (j = i >>> w; j < z; j += f) {
System.arraycopy(this.r, 0, hp, (q + j) * 3, 3);
}
for (j = 1 << (k - 1); (i & j) != 0; j >>>= 1) {
i ^= j;
}
i ^= j;
mask = (1 << w) - 1;
while ((i & mask) != this.x[h]) {
h--;
w -= l;
mask = (1 << w) - 1;
}
}
}
return y != 0 && g != 1 ? -5 : 0;
}, "~A,~N,~N,~N,~A,~A,~A,~A,~A,~A,~A");
Clazz_defineMethod(c$, "inflate_trees_bits", 
function(c, bb, tb, hp, z){
var result;
this.initWorkArea(19);
this.hn[0] = 0;
result = this.huft_build(c, 0, 19, 19, null, null, tb, bb, hp, this.hn, this.v);
if (result == -3) {
z.msg = "oversubscribed dynamic bit lengths tree";
} else if (result == -5 || bb[0] == 0) {
z.msg = "incomplete dynamic bit lengths tree";
result = -3;
}return result;
}, "~A,~A,~A,~A,JU.ZStream");
Clazz_defineMethod(c$, "inflate_trees_dynamic", 
function(nl, nd, c, bl, bd, tl, td, hp, z){
var result;
this.initWorkArea(288);
this.hn[0] = 0;
result = this.huft_build(c, 0, nl, 257, JU.InfTree.cplens, JU.InfTree.cplext, tl, bl, hp, this.hn, this.v);
if (result != 0 || bl[0] == 0) {
if (result == -3) {
z.msg = "oversubscribed literal/length tree";
} else if (result != -4) {
z.msg = "incomplete literal/length tree";
result = -3;
}return result;
}this.initWorkArea(288);
result = this.huft_build(c, nl, nd, 0, JU.InfTree.cpdist, JU.InfTree.cpdext, td, bd, hp, this.hn, this.v);
if (result != 0 || (bd[0] == 0 && nl > 257)) {
if (result == -3) {
z.msg = "oversubscribed distance tree";
} else if (result == -5) {
z.msg = "incomplete distance tree";
result = -3;
} else if (result != -4) {
z.msg = "empty distance tree with lengths";
result = -3;
}return result;
}return 0;
}, "~N,~N,~A,~A,~A,~A,~A,~A,JU.ZStream");
c$.inflate_trees_fixed = Clazz_defineMethod(c$, "inflate_trees_fixed", 
function(bl, bd, tl, td, z){
bl[0] = 9;
bd[0] = 5;
tl[0] = JU.InfTree.fixed_tl;
td[0] = JU.InfTree.fixed_td;
return 0;
}, "~A,~A,~A,~A,JU.ZStream");
Clazz_defineMethod(c$, "initWorkArea", 
function(vsize){
if (this.hn == null) {
this.hn =  Clazz_newIntArray (1, 0);
this.v =  Clazz_newIntArray (vsize, 0);
this.c =  Clazz_newIntArray (16, 0);
this.r =  Clazz_newIntArray (3, 0);
this.u =  Clazz_newIntArray (15, 0);
this.x =  Clazz_newIntArray (16, 0);
}if (this.v.length < vsize) {
this.v =  Clazz_newIntArray (vsize, 0);
}for (var i = 0; i < vsize; i++) {
this.v[i] = 0;
}
for (var i = 0; i < 16; i++) {
this.c[i] = 0;
}
for (var i = 0; i < 3; i++) {
this.r[i] = 0;
}
System.arraycopy(this.c, 0, this.u, 0, 15);
System.arraycopy(this.c, 0, this.x, 0, 16);
}, "~N");
c$.fixed_tl =  Clazz_newIntArray(-1, [96, 7, 256, 0, 8, 80, 0, 8, 16, 84, 8, 115, 82, 7, 31, 0, 8, 112, 0, 8, 48, 0, 9, 192, 80, 7, 10, 0, 8, 96, 0, 8, 32, 0, 9, 160, 0, 8, 0, 0, 8, 128, 0, 8, 64, 0, 9, 224, 80, 7, 6, 0, 8, 88, 0, 8, 24, 0, 9, 144, 83, 7, 59, 0, 8, 120, 0, 8, 56, 0, 9, 208, 81, 7, 17, 0, 8, 104, 0, 8, 40, 0, 9, 176, 0, 8, 8, 0, 8, 136, 0, 8, 72, 0, 9, 240, 80, 7, 4, 0, 8, 84, 0, 8, 20, 85, 8, 227, 83, 7, 43, 0, 8, 116, 0, 8, 52, 0, 9, 200, 81, 7, 13, 0, 8, 100, 0, 8, 36, 0, 9, 168, 0, 8, 4, 0, 8, 132, 0, 8, 68, 0, 9, 232, 80, 7, 8, 0, 8, 92, 0, 8, 28, 0, 9, 152, 84, 7, 83, 0, 8, 124, 0, 8, 60, 0, 9, 216, 82, 7, 23, 0, 8, 108, 0, 8, 44, 0, 9, 184, 0, 8, 12, 0, 8, 140, 0, 8, 76, 0, 9, 248, 80, 7, 3, 0, 8, 82, 0, 8, 18, 85, 8, 163, 83, 7, 35, 0, 8, 114, 0, 8, 50, 0, 9, 196, 81, 7, 11, 0, 8, 98, 0, 8, 34, 0, 9, 164, 0, 8, 2, 0, 8, 130, 0, 8, 66, 0, 9, 228, 80, 7, 7, 0, 8, 90, 0, 8, 26, 0, 9, 148, 84, 7, 67, 0, 8, 122, 0, 8, 58, 0, 9, 212, 82, 7, 19, 0, 8, 106, 0, 8, 42, 0, 9, 180, 0, 8, 10, 0, 8, 138, 0, 8, 74, 0, 9, 244, 80, 7, 5, 0, 8, 86, 0, 8, 22, 192, 8, 0, 83, 7, 51, 0, 8, 118, 0, 8, 54, 0, 9, 204, 81, 7, 15, 0, 8, 102, 0, 8, 38, 0, 9, 172, 0, 8, 6, 0, 8, 134, 0, 8, 70, 0, 9, 236, 80, 7, 9, 0, 8, 94, 0, 8, 30, 0, 9, 156, 84, 7, 99, 0, 8, 126, 0, 8, 62, 0, 9, 220, 82, 7, 27, 0, 8, 110, 0, 8, 46, 0, 9, 188, 0, 8, 14, 0, 8, 142, 0, 8, 78, 0, 9, 252, 96, 7, 256, 0, 8, 81, 0, 8, 17, 85, 8, 131, 82, 7, 31, 0, 8, 113, 0, 8, 49, 0, 9, 194, 80, 7, 10, 0, 8, 97, 0, 8, 33, 0, 9, 162, 0, 8, 1, 0, 8, 129, 0, 8, 65, 0, 9, 226, 80, 7, 6, 0, 8, 89, 0, 8, 25, 0, 9, 146, 83, 7, 59, 0, 8, 121, 0, 8, 57, 0, 9, 210, 81, 7, 17, 0, 8, 105, 0, 8, 41, 0, 9, 178, 0, 8, 9, 0, 8, 137, 0, 8, 73, 0, 9, 242, 80, 7, 4, 0, 8, 85, 0, 8, 21, 80, 8, 258, 83, 7, 43, 0, 8, 117, 0, 8, 53, 0, 9, 202, 81, 7, 13, 0, 8, 101, 0, 8, 37, 0, 9, 170, 0, 8, 5, 0, 8, 133, 0, 8, 69, 0, 9, 234, 80, 7, 8, 0, 8, 93, 0, 8, 29, 0, 9, 154, 84, 7, 83, 0, 8, 125, 0, 8, 61, 0, 9, 218, 82, 7, 23, 0, 8, 109, 0, 8, 45, 0, 9, 186, 0, 8, 13, 0, 8, 141, 0, 8, 77, 0, 9, 250, 80, 7, 3, 0, 8, 83, 0, 8, 19, 85, 8, 195, 83, 7, 35, 0, 8, 115, 0, 8, 51, 0, 9, 198, 81, 7, 11, 0, 8, 99, 0, 8, 35, 0, 9, 166, 0, 8, 3, 0, 8, 131, 0, 8, 67, 0, 9, 230, 80, 7, 7, 0, 8, 91, 0, 8, 27, 0, 9, 150, 84, 7, 67, 0, 8, 123, 0, 8, 59, 0, 9, 214, 82, 7, 19, 0, 8, 107, 0, 8, 43, 0, 9, 182, 0, 8, 11, 0, 8, 139, 0, 8, 75, 0, 9, 246, 80, 7, 5, 0, 8, 87, 0, 8, 23, 192, 8, 0, 83, 7, 51, 0, 8, 119, 0, 8, 55, 0, 9, 206, 81, 7, 15, 0, 8, 103, 0, 8, 39, 0, 9, 174, 0, 8, 7, 0, 8, 135, 0, 8, 71, 0, 9, 238, 80, 7, 9, 0, 8, 95, 0, 8, 31, 0, 9, 158, 84, 7, 99, 0, 8, 127, 0, 8, 63, 0, 9, 222, 82, 7, 27, 0, 8, 111, 0, 8, 47, 0, 9, 190, 0, 8, 15, 0, 8, 143, 0, 8, 79, 0, 9, 254, 96, 7, 256, 0, 8, 80, 0, 8, 16, 84, 8, 115, 82, 7, 31, 0, 8, 112, 0, 8, 48, 0, 9, 193, 80, 7, 10, 0, 8, 96, 0, 8, 32, 0, 9, 161, 0, 8, 0, 0, 8, 128, 0, 8, 64, 0, 9, 225, 80, 7, 6, 0, 8, 88, 0, 8, 24, 0, 9, 145, 83, 7, 59, 0, 8, 120, 0, 8, 56, 0, 9, 209, 81, 7, 17, 0, 8, 104, 0, 8, 40, 0, 9, 177, 0, 8, 8, 0, 8, 136, 0, 8, 72, 0, 9, 241, 80, 7, 4, 0, 8, 84, 0, 8, 20, 85, 8, 227, 83, 7, 43, 0, 8, 116, 0, 8, 52, 0, 9, 201, 81, 7, 13, 0, 8, 100, 0, 8, 36, 0, 9, 169, 0, 8, 4, 0, 8, 132, 0, 8, 68, 0, 9, 233, 80, 7, 8, 0, 8, 92, 0, 8, 28, 0, 9, 153, 84, 7, 83, 0, 8, 124, 0, 8, 60, 0, 9, 217, 82, 7, 23, 0, 8, 108, 0, 8, 44, 0, 9, 185, 0, 8, 12, 0, 8, 140, 0, 8, 76, 0, 9, 249, 80, 7, 3, 0, 8, 82, 0, 8, 18, 85, 8, 163, 83, 7, 35, 0, 8, 114, 0, 8, 50, 0, 9, 197, 81, 7, 11, 0, 8, 98, 0, 8, 34, 0, 9, 165, 0, 8, 2, 0, 8, 130, 0, 8, 66, 0, 9, 229, 80, 7, 7, 0, 8, 90, 0, 8, 26, 0, 9, 149, 84, 7, 67, 0, 8, 122, 0, 8, 58, 0, 9, 213, 82, 7, 19, 0, 8, 106, 0, 8, 42, 0, 9, 181, 0, 8, 10, 0, 8, 138, 0, 8, 74, 0, 9, 245, 80, 7, 5, 0, 8, 86, 0, 8, 22, 192, 8, 0, 83, 7, 51, 0, 8, 118, 0, 8, 54, 0, 9, 205, 81, 7, 15, 0, 8, 102, 0, 8, 38, 0, 9, 173, 0, 8, 6, 0, 8, 134, 0, 8, 70, 0, 9, 237, 80, 7, 9, 0, 8, 94, 0, 8, 30, 0, 9, 157, 84, 7, 99, 0, 8, 126, 0, 8, 62, 0, 9, 221, 82, 7, 27, 0, 8, 110, 0, 8, 46, 0, 9, 189, 0, 8, 14, 0, 8, 142, 0, 8, 78, 0, 9, 253, 96, 7, 256, 0, 8, 81, 0, 8, 17, 85, 8, 131, 82, 7, 31, 0, 8, 113, 0, 8, 49, 0, 9, 195, 80, 7, 10, 0, 8, 97, 0, 8, 33, 0, 9, 163, 0, 8, 1, 0, 8, 129, 0, 8, 65, 0, 9, 227, 80, 7, 6, 0, 8, 89, 0, 8, 25, 0, 9, 147, 83, 7, 59, 0, 8, 121, 0, 8, 57, 0, 9, 211, 81, 7, 17, 0, 8, 105, 0, 8, 41, 0, 9, 179, 0, 8, 9, 0, 8, 137, 0, 8, 73, 0, 9, 243, 80, 7, 4, 0, 8, 85, 0, 8, 21, 80, 8, 258, 83, 7, 43, 0, 8, 117, 0, 8, 53, 0, 9, 203, 81, 7, 13, 0, 8, 101, 0, 8, 37, 0, 9, 171, 0, 8, 5, 0, 8, 133, 0, 8, 69, 0, 9, 235, 80, 7, 8, 0, 8, 93, 0, 8, 29, 0, 9, 155, 84, 7, 83, 0, 8, 125, 0, 8, 61, 0, 9, 219, 82, 7, 23, 0, 8, 109, 0, 8, 45, 0, 9, 187, 0, 8, 13, 0, 8, 141, 0, 8, 77, 0, 9, 251, 80, 7, 3, 0, 8, 83, 0, 8, 19, 85, 8, 195, 83, 7, 35, 0, 8, 115, 0, 8, 51, 0, 9, 199, 81, 7, 11, 0, 8, 99, 0, 8, 35, 0, 9, 167, 0, 8, 3, 0, 8, 131, 0, 8, 67, 0, 9, 231, 80, 7, 7, 0, 8, 91, 0, 8, 27, 0, 9, 151, 84, 7, 67, 0, 8, 123, 0, 8, 59, 0, 9, 215, 82, 7, 19, 0, 8, 107, 0, 8, 43, 0, 9, 183, 0, 8, 11, 0, 8, 139, 0, 8, 75, 0, 9, 247, 80, 7, 5, 0, 8, 87, 0, 8, 23, 192, 8, 0, 83, 7, 51, 0, 8, 119, 0, 8, 55, 0, 9, 207, 81, 7, 15, 0, 8, 103, 0, 8, 39, 0, 9, 175, 0, 8, 7, 0, 8, 135, 0, 8, 71, 0, 9, 239, 80, 7, 9, 0, 8, 95, 0, 8, 31, 0, 9, 159, 84, 7, 99, 0, 8, 127, 0, 8, 63, 0, 9, 223, 82, 7, 27, 0, 8, 111, 0, 8, 47, 0, 9, 191, 0, 8, 15, 0, 8, 143, 0, 8, 79, 0, 9, 255]);
c$.fixed_td =  Clazz_newIntArray(-1, [80, 5, 1, 87, 5, 257, 83, 5, 17, 91, 5, 4097, 81, 5, 5, 89, 5, 1025, 85, 5, 65, 93, 5, 16385, 80, 5, 3, 88, 5, 513, 84, 5, 33, 92, 5, 8193, 82, 5, 9, 90, 5, 2049, 86, 5, 129, 192, 5, 24577, 80, 5, 2, 87, 5, 385, 83, 5, 25, 91, 5, 6145, 81, 5, 7, 89, 5, 1537, 85, 5, 97, 93, 5, 24577, 80, 5, 4, 88, 5, 769, 84, 5, 49, 92, 5, 12289, 82, 5, 13, 90, 5, 3073, 86, 5, 193, 192, 5, 24577]);
c$.cplens =  Clazz_newIntArray(-1, [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, 0, 0]);
c$.cplext =  Clazz_newIntArray(-1, [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, 112, 112]);
c$.cpdist =  Clazz_newIntArray(-1, [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]);
c$.cpdext =  Clazz_newIntArray(-1, [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]);
})();
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
Clazz_declarePackage("JU");
Clazz_load(["JU.InfTree"], "JU.InfBlocks", ["JU.InfCodes"], function(){
var c$ = Clazz_decorateAsClass(function(){
this.mode = 0;
this.left = 0;
this.table = 0;
this.index = 0;
this.blens = null;
this.bb = null;
this.tb = null;
this.bl = null;
this.bd = null;
this.tl = null;
this.td = null;
this.tli = null;
this.tdi = null;
this.codes = null;
this.last = 0;
this.bitk = 0;
this.bitb = 0;
this.hufts = null;
this.window = null;
this.end = 0;
this.read = 0;
this.write = 0;
this.check = false;
this.inftree = null;
this.z = null;
Clazz_instantialize(this, arguments);}, JU, "InfBlocks", null);
Clazz_prepareFields (c$, function(){
this.bb =  Clazz_newIntArray (1, 0);
this.tb =  Clazz_newIntArray (1, 0);
this.bl =  Clazz_newIntArray (1, 0);
this.bd =  Clazz_newIntArray (1, 0);
this.tli =  Clazz_newIntArray (1, 0);
this.tdi =  Clazz_newIntArray (1, 0);
this.inftree =  new JU.InfTree();
});
Clazz_makeConstructor(c$, 
function(z, w){
this.z = z;
this.codes =  new JU.InfCodes(this.z, this);
this.hufts =  Clazz_newIntArray (4320, 0);
this.window =  Clazz_newByteArray (w, 0);
this.end = w;
this.check = (z.istate.wrap == 0) ? false : true;
this.mode = 0;
{
this.tl = Clazz_newArray(1, null);
this.td = Clazz_newArray(1, null);
}this.reset();
}, "JU.ZStream,~N");
Clazz_defineMethod(c$, "reset", 
function(){
if (this.mode == 6) {
this.codes.free(this.z);
}this.mode = 0;
this.bitk = 0;
this.bitb = 0;
this.read = this.write = 0;
if (this.check) {
this.z.checksum.reset();
}});
Clazz_defineMethod(c$, "proc", 
function(r){
var t;
var b;
var k;
var p;
var n;
var q;
var m;
{
p = this.z.next_in_index;
n = this.z.avail_in;
b = this.bitb;
k = this.bitk;
}{
q = this.write;
m = (q < this.read ? this.read - q - 1 : this.end - q);
}while (true) {
switch (this.mode) {
case 0:
while (k < (3)) {
if (n != 0) {
r = 0;
} else {
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}n--;
b |= (this.z.next_in[p++] & 0xff) << k;
k += 8;
}
t = (b & 7);
this.last = t & 1;
switch (t >>> 1) {
case 0:
{
b >>>= (3);
k -= (3);
}t = k & 7;
{
b >>>= (t);
k -= (t);
}this.mode = 1;
break;
case 1:
JU.InfTree.inflate_trees_fixed(this.bl, this.bd, this.tl, this.td, this.z);
this.codes.init(this.bl[0], this.bd[0], this.tl[0], 0, this.td[0], 0);
{
b >>>= (3);
k -= (3);
}this.mode = 6;
break;
case 2:
{
b >>>= (3);
k -= (3);
}this.mode = 3;
break;
case 3:
{
b >>>= (3);
k -= (3);
}this.mode = 9;
this.z.msg = "invalid block type";
r = -3;
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}
break;
case 1:
while (k < (32)) {
if (n != 0) {
r = 0;
} else {
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}n--;
b |= (this.z.next_in[p++] & 0xff) << k;
k += 8;
}
if ((((~b) >>> 16) & 0xffff) != (b & 0xffff)) {
this.mode = 9;
this.z.msg = "invalid stored block lengths";
r = -3;
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}this.left = (b & 0xffff);
b = k = 0;
this.mode = this.left != 0 ? 2 : (this.last != 0 ? 7 : 0);
break;
case 2:
if (n == 0) {
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}if (m == 0) {
if (q == this.end && this.read != 0) {
q = 0;
m = (q < this.read ? this.read - q - 1 : this.end - q);
}if (m == 0) {
this.write = q;
r = this.inflate_flush(r);
q = this.write;
m = (q < this.read ? this.read - q - 1 : this.end - q);
if (q == this.end && this.read != 0) {
q = 0;
m = (q < this.read ? this.read - q - 1 : this.end - q);
}if (m == 0) {
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}}}r = 0;
t = this.left;
if (t > n) t = n;
if (t > m) t = m;
System.arraycopy(this.z.next_in, p, this.window, q, t);
p += t;
n -= t;
q += t;
m -= t;
if ((this.left -= t) != 0) break;
this.mode = this.last != 0 ? 7 : 0;
break;
case 3:
while (k < (14)) {
if (n != 0) {
r = 0;
} else {
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}n--;
b |= (this.z.next_in[p++] & 0xff) << k;
k += 8;
}
this.table = t = (b & 0x3fff);
if ((t & 0x1f) > 29 || ((t >> 5) & 0x1f) > 29) {
this.mode = 9;
this.z.msg = "too many length or distance symbols";
r = -3;
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}t = 258 + (t & 0x1f) + ((t >> 5) & 0x1f);
if (this.blens == null || this.blens.length < t) {
this.blens =  Clazz_newIntArray (t, 0);
} else {
for (var i = 0; i < t; i++) {
this.blens[i] = 0;
}
}{
b >>>= (14);
k -= (14);
}this.index = 0;
this.mode = 4;
case 4:
while (this.index < 4 + (this.table >>> 10)) {
while (k < (3)) {
if (n != 0) {
r = 0;
} else {
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}n--;
b |= (this.z.next_in[p++] & 0xff) << k;
k += 8;
}
this.blens[JU.InfBlocks.border[this.index++]] = b & 7;
{
b >>>= (3);
k -= (3);
}}
while (this.index < 19) {
this.blens[JU.InfBlocks.border[this.index++]] = 0;
}
this.bb[0] = 7;
t = this.inftree.inflate_trees_bits(this.blens, this.bb, this.tb, this.hufts, this.z);
if (t != 0) {
r = t;
if (r == -3) {
this.blens = null;
this.mode = 9;
}this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}this.index = 0;
this.mode = 5;
case 5:
while (true) {
t = this.table;
if (!(this.index < 258 + (t & 0x1f) + ((t >> 5) & 0x1f))) {
break;
}var i;
var j;
var c;
t = this.bb[0];
while (k < (t)) {
if (n != 0) {
r = 0;
} else {
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}n--;
b |= (this.z.next_in[p++] & 0xff) << k;
k += 8;
}
t = this.hufts[(this.tb[0] + (b & JU.InfBlocks.inflate_mask[t])) * 3 + 1];
c = this.hufts[(this.tb[0] + (b & JU.InfBlocks.inflate_mask[t])) * 3 + 2];
if (c < 16) {
b >>>= (t);
k -= (t);
this.blens[this.index++] = c;
} else {
i = c == 18 ? 7 : c - 14;
j = c == 18 ? 11 : 3;
while (k < (t + i)) {
if (n != 0) {
r = 0;
} else {
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}n--;
b |= (this.z.next_in[p++] & 0xff) << k;
k += 8;
}
b >>>= (t);
k -= (t);
j += (b & JU.InfBlocks.inflate_mask[i]);
b >>>= (i);
k -= (i);
i = this.index;
t = this.table;
if (i + j > 258 + (t & 0x1f) + ((t >> 5) & 0x1f) || (c == 16 && i < 1)) {
this.blens = null;
this.mode = 9;
this.z.msg = "invalid bit length repeat";
r = -3;
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}c = c == 16 ? this.blens[i - 1] : 0;
do {
this.blens[i++] = c;
} while (--j != 0);
this.index = i;
}}
this.tb[0] = -1;
{
this.bl[0] = 9;
this.bd[0] = 6;
t = this.table;
t = this.inftree.inflate_trees_dynamic(257 + (t & 0x1f), 1 + ((t >> 5) & 0x1f), this.blens, this.bl, this.bd, this.tli, this.tdi, this.hufts, this.z);
if (t != 0) {
if (t == -3) {
this.blens = null;
this.mode = 9;
}r = t;
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}this.codes.init(this.bl[0], this.bd[0], this.hufts, this.tli[0], this.hufts, this.tdi[0]);
}this.mode = 6;
case 6:
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
if ((r = this.codes.proc(r)) != 1) {
return this.inflate_flush(r);
}r = 0;
this.codes.free(this.z);
p = this.z.next_in_index;
n = this.z.avail_in;
b = this.bitb;
k = this.bitk;
q = this.write;
m = (q < this.read ? this.read - q - 1 : this.end - q);
if (this.last == 0) {
this.mode = 0;
break;
}this.mode = 7;
case 7:
this.write = q;
r = this.inflate_flush(r);
q = this.write;
m = (q < this.read ? this.read - q - 1 : this.end - q);
if (this.read != this.write) {
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}this.mode = 8;
case 8:
r = 1;
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
case 9:
r = -3;
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
default:
r = -2;
this.bitb = b;
this.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.write = q;
return this.inflate_flush(r);
}
}
}, "~N");
Clazz_defineMethod(c$, "free", 
function(){
this.reset();
this.window = null;
this.hufts = null;
});
Clazz_defineMethod(c$, "set_dictionary", 
function(d, start, n){
System.arraycopy(d, start, this.window, 0, n);
this.read = this.write = n;
}, "~A,~N,~N");
Clazz_defineMethod(c$, "sync_point", 
function(){
return this.mode == 1 ? 1 : 0;
});
Clazz_defineMethod(c$, "inflate_flush", 
function(r){
var n;
var p;
var q;
p = this.z.next_out_index;
q = this.read;
n = ((q <= this.write ? this.write : this.end) - q);
if (n > this.z.avail_out) n = this.z.avail_out;
if (n != 0 && r == -5) r = 0;
this.z.avail_out -= n;
this.z.total_out += n;
if (this.check && n > 0) {
this.z.checksum.update(this.window, q, n);
}System.arraycopy(this.window, q, this.z.next_out, p, n);
p += n;
q += n;
if (q == this.end) {
q = 0;
if (this.write == this.end) this.write = 0;
n = this.write - q;
if (n > this.z.avail_out) n = this.z.avail_out;
if (n != 0 && r == -5) r = 0;
this.z.avail_out -= n;
this.z.total_out += n;
if (this.check && n > 0) {
this.z.checksum.update(this.window, q, n);
}System.arraycopy(this.window, q, this.z.next_out, p, n);
p += n;
q += n;
}this.z.next_out_index = p;
this.read = q;
return r;
}, "~N");
c$.inflate_mask =  Clazz_newIntArray(-1, [0x00000000, 0x00000001, 0x00000003, 0x00000007, 0x0000000f, 0x0000001f, 0x0000003f, 0x0000007f, 0x000000ff, 0x000001ff, 0x000003ff, 0x000007ff, 0x00000fff, 0x00001fff, 0x00003fff, 0x00007fff, 0x0000ffff]);
c$.border =  Clazz_newIntArray(-1, [16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
});
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
Clazz_declarePackage("JU");
(function(){
var c$ = Clazz_decorateAsClass(function(){
this.mode = 0;
this.len = 0;
this.tree = null;
this.tree_index = 0;
this.need = 0;
this.lit = 0;
this.get = 0;
this.dist = 0;
this.lbits = 0;
this.dbits = 0;
this.ltree = null;
this.ltree_index = 0;
this.dtree = null;
this.dtree_index = 0;
this.z = null;
this.s = null;
Clazz_instantialize(this, arguments);}, JU, "InfCodes", null);
Clazz_makeConstructor(c$, 
function(z, s){
this.z = z;
this.s = s;
}, "JU.ZStream,JU.InfBlocks");
Clazz_defineMethod(c$, "init", 
function(bl, bd, tl, tl_index, td, td_index){
this.mode = 0;
this.lbits = bl;
this.dbits = bd;
this.ltree = tl;
this.ltree_index = tl_index;
this.dtree = td;
this.dtree_index = td_index;
this.tree = null;
}, "~N,~N,~A,~N,~A,~N");
Clazz_defineMethod(c$, "proc", 
function(r){
var j;
var tindex;
var e;
var b = 0;
var k = 0;
var p = 0;
var n;
var q;
var m;
var f;
p = this.z.next_in_index;
n = this.z.avail_in;
b = this.s.bitb;
k = this.s.bitk;
q = this.s.write;
m = q < this.s.read ? this.s.read - q - 1 : this.s.end - q;
while (true) {
switch (this.mode) {
case 0:
if (m >= 258 && n >= 10) {
this.s.bitb = b;
this.s.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.s.write = q;
r = this.inflate_fast(this.lbits, this.dbits, this.ltree, this.ltree_index, this.dtree, this.dtree_index, this.s, this.z);
p = this.z.next_in_index;
n = this.z.avail_in;
b = this.s.bitb;
k = this.s.bitk;
q = this.s.write;
m = q < this.s.read ? this.s.read - q - 1 : this.s.end - q;
if (r != 0) {
this.mode = r == 1 ? 7 : 9;
break;
}}this.need = this.lbits;
this.tree = this.ltree;
this.tree_index = this.ltree_index;
this.mode = 1;
case 1:
j = this.need;
while (k < (j)) {
if (n != 0) r = 0;
 else {
this.s.bitb = b;
this.s.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.s.write = q;
return this.s.inflate_flush(r);
}n--;
b |= (this.z.next_in[p++] & 0xff) << k;
k += 8;
}
tindex = (this.tree_index + (b & JU.InfCodes.inflate_mask[j])) * 3;
b >>>= (this.tree[tindex + 1]);
k -= (this.tree[tindex + 1]);
e = this.tree[tindex];
if (e == 0) {
this.lit = this.tree[tindex + 2];
this.mode = 6;
break;
}if ((e & 16) != 0) {
this.get = e & 15;
this.len = this.tree[tindex + 2];
this.mode = 2;
break;
}if ((e & 64) == 0) {
this.need = e;
this.tree_index = Clazz_doubleToInt(tindex / 3) + this.tree[tindex + 2];
break;
}if ((e & 32) != 0) {
this.mode = 7;
break;
}this.mode = 9;
this.z.msg = "invalid literal/length code";
r = -3;
this.s.bitb = b;
this.s.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.s.write = q;
return this.s.inflate_flush(r);
case 2:
j = this.get;
while (k < (j)) {
if (n != 0) r = 0;
 else {
this.s.bitb = b;
this.s.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.s.write = q;
return this.s.inflate_flush(r);
}n--;
b |= (this.z.next_in[p++] & 0xff) << k;
k += 8;
}
this.len += (b & JU.InfCodes.inflate_mask[j]);
b >>= j;
k -= j;
this.need = this.dbits;
this.tree = this.dtree;
this.tree_index = this.dtree_index;
this.mode = 3;
case 3:
j = this.need;
while (k < (j)) {
if (n != 0) r = 0;
 else {
this.s.bitb = b;
this.s.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.s.write = q;
return this.s.inflate_flush(r);
}n--;
b |= (this.z.next_in[p++] & 0xff) << k;
k += 8;
}
tindex = (this.tree_index + (b & JU.InfCodes.inflate_mask[j])) * 3;
b >>= this.tree[tindex + 1];
k -= this.tree[tindex + 1];
e = (this.tree[tindex]);
if ((e & 16) != 0) {
this.get = e & 15;
this.dist = this.tree[tindex + 2];
this.mode = 4;
break;
}if ((e & 64) == 0) {
this.need = e;
this.tree_index = Clazz_doubleToInt(tindex / 3) + this.tree[tindex + 2];
break;
}this.mode = 9;
this.z.msg = "invalid distance code";
r = -3;
this.s.bitb = b;
this.s.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.s.write = q;
return this.s.inflate_flush(r);
case 4:
j = this.get;
while (k < (j)) {
if (n != 0) r = 0;
 else {
this.s.bitb = b;
this.s.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.s.write = q;
return this.s.inflate_flush(r);
}n--;
b |= (this.z.next_in[p++] & 0xff) << k;
k += 8;
}
this.dist += (b & JU.InfCodes.inflate_mask[j]);
b >>= j;
k -= j;
this.mode = 5;
case 5:
f = q - this.dist;
while (f < 0) {
f += this.s.end;
}
while (this.len != 0) {
if (m == 0) {
if (q == this.s.end && this.s.read != 0) {
q = 0;
m = q < this.s.read ? this.s.read - q - 1 : this.s.end - q;
}if (m == 0) {
this.s.write = q;
r = this.s.inflate_flush(r);
q = this.s.write;
m = q < this.s.read ? this.s.read - q - 1 : this.s.end - q;
if (q == this.s.end && this.s.read != 0) {
q = 0;
m = q < this.s.read ? this.s.read - q - 1 : this.s.end - q;
}if (m == 0) {
this.s.bitb = b;
this.s.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.s.write = q;
return this.s.inflate_flush(r);
}}}this.s.window[q++] = this.s.window[f++];
m--;
if (f == this.s.end) f = 0;
this.len--;
}
this.mode = 0;
break;
case 6:
if (m == 0) {
if (q == this.s.end && this.s.read != 0) {
q = 0;
m = q < this.s.read ? this.s.read - q - 1 : this.s.end - q;
}if (m == 0) {
this.s.write = q;
r = this.s.inflate_flush(r);
q = this.s.write;
m = q < this.s.read ? this.s.read - q - 1 : this.s.end - q;
if (q == this.s.end && this.s.read != 0) {
q = 0;
m = q < this.s.read ? this.s.read - q - 1 : this.s.end - q;
}if (m == 0) {
this.s.bitb = b;
this.s.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.s.write = q;
return this.s.inflate_flush(r);
}}}r = 0;
this.s.window[q++] = this.lit;
m--;
this.mode = 0;
break;
case 7:
if (k > 7) {
k -= 8;
n++;
p--;
}this.s.write = q;
r = this.s.inflate_flush(r);
q = this.s.write;
m = q < this.s.read ? this.s.read - q - 1 : this.s.end - q;
if (this.s.read != this.s.write) {
this.s.bitb = b;
this.s.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.s.write = q;
return this.s.inflate_flush(r);
}this.mode = 8;
case 8:
r = 1;
this.s.bitb = b;
this.s.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.s.write = q;
return this.s.inflate_flush(r);
case 9:
r = -3;
this.s.bitb = b;
this.s.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.s.write = q;
return this.s.inflate_flush(r);
default:
r = -2;
this.s.bitb = b;
this.s.bitk = k;
this.z.avail_in = n;
this.z.total_in += p - this.z.next_in_index;
this.z.next_in_index = p;
this.s.write = q;
return this.s.inflate_flush(r);
}
}
}, "~N");
Clazz_defineMethod(c$, "free", 
function(z){
}, "JU.ZStream");
Clazz_defineMethod(c$, "inflate_fast", 
function(bl, bd, tl, tl_index, td, td_index, s, z){
var t;
var tp;
var tp_index;
var e;
var b;
var k;
var p;
var n;
var q;
var m;
var ml;
var md;
var c;
var d;
var r;
var tp_index_t_3;
p = z.next_in_index;
n = z.avail_in;
b = s.bitb;
k = s.bitk;
q = s.write;
m = q < s.read ? s.read - q - 1 : s.end - q;
ml = JU.InfCodes.inflate_mask[bl];
md = JU.InfCodes.inflate_mask[bd];
do {
while (k < (20)) {
n--;
b |= (z.next_in[p++] & 0xff) << k;
k += 8;
}
t = b & ml;
tp = tl;
tp_index = tl_index;
tp_index_t_3 = (tp_index + t) * 3;
if ((e = tp[tp_index_t_3]) == 0) {
b >>= (tp[tp_index_t_3 + 1]);
k -= (tp[tp_index_t_3 + 1]);
s.window[q++] = tp[tp_index_t_3 + 2];
m--;
continue;
}do {
b >>= (tp[tp_index_t_3 + 1]);
k -= (tp[tp_index_t_3 + 1]);
if ((e & 16) != 0) {
e &= 15;
c = tp[tp_index_t_3 + 2] + (b & JU.InfCodes.inflate_mask[e]);
b >>= e;
k -= e;
while (k < (15)) {
n--;
b |= (z.next_in[p++] & 0xff) << k;
k += 8;
}
t = b & md;
tp = td;
tp_index = td_index;
tp_index_t_3 = (tp_index + t) * 3;
e = tp[tp_index_t_3];
do {
b >>= (tp[tp_index_t_3 + 1]);
k -= (tp[tp_index_t_3 + 1]);
if ((e & 16) != 0) {
e &= 15;
while (k < (e)) {
n--;
b |= (z.next_in[p++] & 0xff) << k;
k += 8;
}
d = tp[tp_index_t_3 + 2] + (b & JU.InfCodes.inflate_mask[e]);
b >>= (e);
k -= (e);
m -= c;
if (q >= d) {
r = q - d;
if (q - r > 0 && 2 > (q - r)) {
s.window[q++] = s.window[r++];
s.window[q++] = s.window[r++];
c -= 2;
} else {
System.arraycopy(s.window, r, s.window, q, 2);
q += 2;
r += 2;
c -= 2;
}} else {
r = q - d;
do {
r += s.end;
} while (r < 0);
e = s.end - r;
if (c > e) {
c -= e;
if (q - r > 0 && e > (q - r)) {
do {
s.window[q++] = s.window[r++];
} while (--e != 0);
} else {
System.arraycopy(s.window, r, s.window, q, e);
q += e;
r += e;
e = 0;
}r = 0;
}}if (q - r > 0 && c > (q - r)) {
do {
s.window[q++] = s.window[r++];
} while (--c != 0);
} else {
System.arraycopy(s.window, r, s.window, q, c);
q += c;
r += c;
c = 0;
}break;
} else if ((e & 64) == 0) {
t += tp[tp_index_t_3 + 2];
t += (b & JU.InfCodes.inflate_mask[e]);
tp_index_t_3 = (tp_index + t) * 3;
e = tp[tp_index_t_3];
} else {
z.msg = "invalid distance code";
c = z.avail_in - n;
c = (k >> 3) < c ? k >> 3 : c;
n += c;
p -= c;
k -= c << 3;
s.bitb = b;
s.bitk = k;
z.avail_in = n;
z.total_in += p - z.next_in_index;
z.next_in_index = p;
s.write = q;
return -3;
}} while (true);
break;
}if ((e & 64) == 0) {
t += tp[tp_index_t_3 + 2];
t += (b & JU.InfCodes.inflate_mask[e]);
tp_index_t_3 = (tp_index + t) * 3;
if ((e = tp[tp_index_t_3]) == 0) {
b >>= (tp[tp_index_t_3 + 1]);
k -= (tp[tp_index_t_3 + 1]);
s.window[q++] = tp[tp_index_t_3 + 2];
m--;
break;
}} else if ((e & 32) != 0) {
c = z.avail_in - n;
c = (k >> 3) < c ? k >> 3 : c;
n += c;
p -= c;
k -= c << 3;
s.bitb = b;
s.bitk = k;
z.avail_in = n;
z.total_in += p - z.next_in_index;
z.next_in_index = p;
s.write = q;
return 1;
} else {
z.msg = "invalid literal/length code";
c = z.avail_in - n;
c = (k >> 3) < c ? k >> 3 : c;
n += c;
p -= c;
k -= c << 3;
s.bitb = b;
s.bitk = k;
z.avail_in = n;
z.total_in += p - z.next_in_index;
z.next_in_index = p;
s.write = q;
return -3;
}} while (true);
} while (m >= 258 && n >= 10);
c = z.avail_in - n;
c = (k >> 3) < c ? k >> 3 : c;
n += c;
p -= c;
k -= c << 3;
s.bitb = b;
s.bitk = k;
z.avail_in = n;
z.total_in += p - z.next_in_index;
z.next_in_index = p;
s.write = q;
return 0;
}, "~N,~N,~A,~N,~A,~N,JU.InfBlocks,JU.ZStream");
c$.inflate_mask =  Clazz_newIntArray(-1, [0x00000000, 0x00000001, 0x00000003, 0x00000007, 0x0000000f, 0x0000001f, 0x0000003f, 0x0000007f, 0x000000ff, 0x000001ff, 0x000003ff, 0x000007ff, 0x00000fff, 0x00001fff, 0x00003fff, 0x00007fff, 0x0000ffff]);
})();
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
Clazz_declarePackage("J.io");
Clazz_load(null, "J.io.JmolUtil", ["java.net.URL", "java.util.Hashtable", "JU.AU", "$.Lst", "$.OC", "$.PT", "$.Rdr", "J.adapter.smarter.AtomSetCollection", "J.api.Interface", "JU.Logger", "JV.FileManager", "$.Viewer"], function(){
var c$ = Clazz_declareType(J.io, "JmolUtil", null);
/*LV!1824 unnec constructor*/Clazz_defineMethod(c$, "getImage", 
function(vwr, fullPathNameOrBytes, echoName, forceSync){
var image = null;
var info = null;
var apiPlatform = vwr.apiPlatform;
var createImage = false;
var fullPathName = "" + fullPathNameOrBytes;
if ((typeof(fullPathNameOrBytes)=='string')) {
var isBMP = fullPathName.toUpperCase().endsWith("BMP");
if (forceSync || fullPathName.indexOf("|") > 0 || isBMP) {
var ret = vwr.fm.getFileAsBytes(fullPathName, null);
if (!JU.AU.isAB(ret)) return "" + ret;
if (JV.Viewer.isJS) info =  Clazz_newArray(-1, [echoName, fullPathNameOrBytes, ret]);
 else image = apiPlatform.createImage(ret);
} else if (JU.OC.urlTypeIndex(fullPathName) >= 0) {
if (JV.Viewer.isJS) info =  Clazz_newArray(-1, [echoName, fullPathNameOrBytes, null]);
 else try {
image = apiPlatform.createImage( new java.net.URL(Clazz_castNullAs("java.net.URL"), fullPathName, null));
} catch (e) {
if (Clazz_exceptionOf(e, Exception)){
return "bad URL: " + fullPathName;
} else {
throw e;
}
}
} else {
createImage = true;
}} else if (JV.Viewer.isJS) {
info =  Clazz_newArray(-1, [echoName, JU.Rdr.guessMimeTypeForBytes(fullPathNameOrBytes), fullPathNameOrBytes]);
} else {
createImage = true;
}if (createImage) image = apiPlatform.createImage("\1close".equals(fullPathNameOrBytes) ? "\1close" + echoName : fullPathNameOrBytes);
 else if (info != null) image = apiPlatform.createImage(info);
{
return image;
}}, "JV.Viewer,~O,~S,~B");
Clazz_defineMethod(c$, "getAtomSetCollectionOrBufferedReaderFromZip", 
function(vwr, is, fileName, zipDirectory, htParams, subFilePtr, asBufferedReader){
var adapter = vwr.getModelAdapter();
var doCombine = (subFilePtr == 1);
htParams.put("zipSet", fileName);
var subFileList = htParams.get("subFileList");
if (subFileList == null) subFileList = this.getSpartanSubfiles(zipDirectory);
var subFileName = (subFileList == null || subFilePtr >= subFileList.length ? htParams.get("SubFileName") : subFileList[subFilePtr]);
if (subFileName != null && (subFileName.startsWith("/") || subFileName.startsWith("\\"))) subFileName = subFileName.substring(1);
var selectedFile = 0;
if (subFileName == null && htParams.containsKey("modelNumber")) {
selectedFile = (htParams.get("modelNumber")).intValue();
if (selectedFile > 0 && doCombine) htParams.remove("modelNumber");
}var manifest = htParams.get("manifest");
var useFileManifest = (manifest == null);
if (useFileManifest) manifest = (zipDirectory.length > 0 ? zipDirectory[0] : "");
var haveManifest = (manifest.length > 0);
if (haveManifest) {
if (JU.Logger.debugging) JU.Logger.debug("manifest for  " + fileName + ":\n" + manifest);
}var ignoreErrors = (manifest.indexOf("IGNORE_ERRORS") >= 0);
var selectAll = (manifest.indexOf("IGNORE_MANIFEST") >= 0);
var exceptFiles = (manifest.indexOf("EXCEPT_FILES") >= 0);
if (selectAll || subFileName != null) haveManifest = false;
if (useFileManifest && haveManifest) {
var path = JV.FileManager.getManifestScriptPath(manifest);
if (path != null) {
return "NOTE: file recognized as a script file: " + fileName + path + "\n";
}}var vCollections =  new JU.Lst();
var htCollections = (haveManifest ?  new java.util.Hashtable() : null);
var nFiles = 0;
try {
var spartanData = (this.isSpartanZip(zipDirectory) ? vwr.fm.spartanUtil().getData(is, zipDirectory) : null);
var zpt = vwr.getJzt();
var ret;
if (spartanData != null) {
var reader = JU.Rdr.getBR(spartanData.toString());
if (asBufferedReader) return reader;
ret = adapter.getAtomSetCollectionFromReader(fileName, reader, htParams);
if ((typeof(ret)=='string')) return ret;
if (Clazz_instanceOf(ret,"J.adapter.smarter.AtomSetCollection")) {
var atomSetCollection = ret;
if (atomSetCollection.errorMessage != null) {
if (ignoreErrors) return null;
return atomSetCollection.errorMessage;
}return atomSetCollection;
}if (ignoreErrors) return null;
return "unknown reader error";
}if (Clazz_instanceOf(is,"java.io.BufferedInputStream")) is = JU.Rdr.getPngZipStream(is, true);
var zis = zpt.newZipInputStream(is);
var ze;
if (haveManifest) manifest = '|' + manifest.$replace('\r', '|').$replace('\n', '|') + '|';
while ((ze = zis.getNextEntry()) != null && (selectedFile <= 0 || vCollections.size() < selectedFile)) {
if (ze.isDirectory()) continue;
var thisEntry = ze.getName();
if (subFileName != null && !thisEntry.equals(subFileName)) continue;
if (subFileName != null) htParams.put("subFileName", subFileName);
if (thisEntry.startsWith("JmolManifest") || haveManifest && exceptFiles == manifest.indexOf("|" + thisEntry + "|") >= 0) continue;
var bytes = JU.Rdr.getLimitedStreamBytes(zis, ze.getSize());
if (JU.Rdr.isGzipB(bytes)) bytes = JU.Rdr.getLimitedStreamBytes(zpt.getUnGzippedInputStream(bytes), -1);
if (JU.Rdr.isZipB(bytes) || JU.Rdr.isPngZipB(bytes)) {
var bis = JU.Rdr.getBIS(bytes);
var zipDir2 = zpt.getZipDirectoryAndClose(bis, "JmolManifest");
bis = JU.Rdr.getBIS(bytes);
var atomSetCollections = this.getAtomSetCollectionOrBufferedReaderFromZip(vwr, bis, fileName + "|" + thisEntry, zipDir2, htParams, ++subFilePtr, asBufferedReader);
if ((typeof(atomSetCollections)=='string')) {
if (ignoreErrors) continue;
return atomSetCollections;
} else if (Clazz_instanceOf(atomSetCollections,"J.adapter.smarter.AtomSetCollection") || Clazz_instanceOf(atomSetCollections,"JU.Lst")) {
if (haveManifest && !exceptFiles) htCollections.put(thisEntry, atomSetCollections);
 else vCollections.addLast(atomSetCollections);
} else if (Clazz_instanceOf(atomSetCollections,"java.io.BufferedReader")) {
if (doCombine) zis.close();
return atomSetCollections;
} else {
if (ignoreErrors) continue;
zis.close();
return "unknown zip reader error";
}} else if (JU.Rdr.isPickleB(bytes)) {
var bis = JU.Rdr.getBIS(bytes);
if (doCombine) zis.close();
return bis;
} else {
var sData;
if (JU.Rdr.isCompoundDocumentB(bytes)) {
var jd = J.api.Interface.getInterface("JU.CompoundDocument", vwr, "file");
jd.setDocStream(zpt, JU.Rdr.getBIS(bytes));
sData = jd.getAllDataFiles("Molecule", "Input").toString();
} else {
sData = JU.Rdr.fixUTF(bytes);
}var reader = JU.Rdr.getBR(sData);
if (asBufferedReader) {
if (doCombine) zis.close();
return reader;
}var fname = fileName + "|" + ze.getName();
ret = adapter.getAtomSetCollectionFromReader(fname, reader, htParams);
if (!(Clazz_instanceOf(ret,"J.adapter.smarter.AtomSetCollection"))) {
if (ignoreErrors) continue;
zis.close();
return "" + ret;
}if (haveManifest && !exceptFiles) htCollections.put(thisEntry, ret);
 else vCollections.addLast(ret);
var a = ret;
if (a.errorMessage != null) {
if (ignoreErrors) continue;
zis.close();
return a.errorMessage;
}}}
if (doCombine) zis.close();
if (haveManifest && !exceptFiles) {
var list = JU.PT.split(manifest, "|");
for (var i = 0; i < list.length; i++) {
var file = list[i];
if (file.length == 0 || file.indexOf("#") == 0) continue;
if (htCollections.containsKey(file)) vCollections.addLast(htCollections.get(file));
 else if (JU.Logger.debugging) JU.Logger.debug("manifested file " + file + " was not found in " + fileName);
}
}if (!doCombine) return vCollections;
var result = (vCollections.size() == 1 && Clazz_instanceOf(vCollections.get(0),"J.adapter.smarter.AtomSetCollection") ? vCollections.get(0) :  new J.adapter.smarter.AtomSetCollection("Array", null, null, vCollections));
if (result.errorMessage != null) {
if (ignoreErrors) return null;
return result.errorMessage;
}if (nFiles == 1) selectedFile = 1;
if (selectedFile > 0 && selectedFile <= vCollections.size()) return vCollections.get(selectedFile - 1);
return result;
} catch (e$$) {
if (Clazz_exceptionOf(e$$, Exception)){
var e = e$$;
{
if (ignoreErrors) return null;
JU.Logger.error("" + e);
return "" + e;
}
} else if (Clazz_exceptionOf(e$$, Error)){
var er = e$$;
{
JU.Logger.errorEx(null, er);
return "" + er;
}
} else {
throw e$$;
}
}
}, "JV.Viewer,java.io.InputStream,~S,~A,java.util.Map,~N,~B");
Clazz_defineMethod(c$, "getCachedPngjBytes", 
function(fm, pathName){
if (pathName.startsWith("file:///")) pathName = "file:" + pathName.substring(7);
JU.Logger.info("JmolUtil checking PNGJ cache for " + pathName);
var shortName = this.shortSceneFilename(pathName);
if (fm.pngjCache == null && !this.clearAndCachePngjFile(fm,  Clazz_newArray(-1, [pathName, null]))) return null;
var cache = fm.pngjCache;
var isMin = (pathName.indexOf(".min.") >= 0);
if (!isMin) {
var cName = fm.getCanonicalName(JU.Rdr.getZipRoot(pathName));
if (!cache.containsKey(cName) && !this.clearAndCachePngjFile(fm,  Clazz_newArray(-1, [pathName, null]))) return null;
if (pathName.indexOf("|") < 0) shortName = cName;
}if (cache.containsKey(shortName)) {
JU.Logger.info("FileManager using memory cache " + shortName);
return fm.pngjCache.get(shortName);
}if (!isMin || !this.clearAndCachePngjFile(fm,  Clazz_newArray(-1, [pathName, null]))) return null;
JU.Logger.info("FileManager using memory cache " + shortName);
return cache.get(shortName);
}, "JV.FileManager,~S");
Clazz_defineMethod(c$, "clearAndCachePngjFile", 
function(fm, data){
fm.pngjCache =  new java.util.Hashtable();
if (data == null || data[0] == null) return false;
data[0] = JU.Rdr.getZipRoot(data[0]);
var shortName = this.shortSceneFilename(data[0]);
var cache = fm.pngjCache;
try {
data[1] = fm.vwr.getJzt().cacheZipContents(JU.Rdr.getPngZipStream(fm.getBufferedInputStreamOrErrorMessageFromName(data[0], null, false, false, null, false, true), true), shortName, cache, false);
} catch (e) {
if (Clazz_exceptionOf(e, Exception)){
return false;
} else {
throw e;
}
}
if (data[1] == null) return false;
var bytes = data[1].getBytes();
cache.put(fm.getCanonicalName(data[0]), bytes);
if (shortName.indexOf("_scene_") >= 0) {
cache.put(this.shortSceneFilename(data[0]), bytes);
bytes = cache.remove(shortName + "|state.spt");
if (bytes != null) cache.put(this.shortSceneFilename(data[0] + "|state.spt"), bytes);
}return true;
}, "JV.FileManager,~A");
Clazz_defineMethod(c$, "shortSceneFilename", 
function(pathName){
var pt = pathName.indexOf("_scene_") + 7;
if (pt < 7) return pathName;
var s = "";
if (pathName.endsWith("|state.spt")) {
var pt1 = pathName.indexOf('.', pt);
if (pt1 < 0) return pathName;
s = pathName.substring(pt, pt1);
}var pt2 = pathName.lastIndexOf("|");
return pathName.substring(0, pt) + s + (pt2 > 0 ? pathName.substring(pt2) : "");
}, "~S");
Clazz_defineMethod(c$, "getSpartanSubfiles", 
function(zipDirectory){
var name = (zipDirectory.length < 2 ? null : zipDirectory[1]);
return (name == null || zipDirectory.length != 2 || !name.endsWith(".spardir/") ? null :  Clazz_newArray(-1, ["", JU.PT.trim(name, "/")]));
}, "~A");
Clazz_defineMethod(c$, "isSpartanZip", 
function(zipDirectory){
for (var i = 1; i < zipDirectory.length; i++) if (zipDirectory[i].endsWith(".spardir/") || zipDirectory[i].indexOf("_spartandir") >= 0) return true;

return false;
}, "~A");
});
;//5.0.1-v2 Mon Mar 04 12:59:58 CST 2024
})(Clazz
,Clazz.getClassName
,Clazz.newLongArray
,Clazz.doubleToByte
,Clazz.doubleToInt
,Clazz.doubleToLong
,Clazz.declarePackage
,Clazz.instanceOf
,Clazz.load
,Clazz.instantialize
,Clazz.decorateAsClass
,Clazz.floatToInt
,Clazz.floatToLong
,Clazz.makeConstructor
,Clazz.defineEnumConstant
,Clazz.exceptionOf
,Clazz.newIntArray
,Clazz.newFloatArray
,Clazz.declareType
,Clazz.prepareFields
,Clazz.superConstructor
,Clazz.newByteArray
,Clazz.declareInterface
,Clazz.newShortArray
,Clazz.innerTypeInstance
,Clazz.isClassDefined
,Clazz.prepareCallback
,Clazz.newArray
,Clazz.castNullAs
,Clazz.floatToShort
,Clazz.superCall
,Clazz.decorateAsType
,Clazz.newBooleanArray
,Clazz.newCharArray
,Clazz.implementOf
,Clazz.newDoubleArray
,Clazz.overrideConstructor
,Clazz.clone
,Clazz.doubleToShort
,Clazz.getInheritedLevel
,Clazz.getParamsType
,Clazz.isAF
,Clazz.isAB
,Clazz.isAI
,Clazz.isAS
,Clazz.isASS
,Clazz.isAP
,Clazz.isAFloat
,Clazz.isAII
,Clazz.isAFF
,Clazz.isAFFF
,Clazz.tryToSearchAndExecute
,Clazz.getStackTrace
,Clazz.inheritArgs
,Clazz.alert
,Clazz.defineMethod
,Clazz.overrideMethod
,Clazz.declareAnonymous
//,Clazz.checkPrivateMethod
,Clazz.cloneFinals
);
