Merge branch 'master' of https://source.jalview.org/git/jalviewjs.git
[jalviewjs.git] / site / swingjs / j2s / JU / PT.js
index 55ed891..c976572 100644 (file)
-Clazz.declarePackage ("JU");\r
-Clazz.load (null, "JU.PT", ["java.lang.Boolean", "$.Double", "$.Float", "$.Number", "java.util.Map", "javajs.api.JSONEncodable", "JU.AU", "$.DF", "$.Lst", "$.M34", "$.M4", "$.SB"], function () {\r
-c$ = Clazz.declareType (JU, "PT");\r
-c$.parseInt = Clazz.defineMethod (c$, "parseInt", \r
-function (str) {\r
-return JU.PT.parseIntNext (str,  Clazz.newIntArray (-1, [0]));\r
-}, "~S");\r
-c$.parseIntNext = Clazz.defineMethod (c$, "parseIntNext", \r
-function (str, next) {\r
-var cch = str.length;\r
-if (next[0] < 0 || next[0] >= cch) return -2147483648;\r
-return JU.PT.parseIntChecked (str, cch, next);\r
-}, "~S,~A");\r
-c$.parseIntChecked = Clazz.defineMethod (c$, "parseIntChecked", \r
-function (str, ichMax, next) {\r
-var digitSeen = false;\r
-var value = 0;\r
-var ich = next[0];\r
-if (ich < 0) return -2147483648;\r
-var ch;\r
-while (ich < ichMax && JU.PT.isWhiteSpace (str, ich)) ++ich;\r
-\r
-var negative = false;\r
-if (ich < ichMax && str.charCodeAt (ich) == 45) {\r
-negative = true;\r
-++ich;\r
-}while (ich < ichMax && (ch = str.charCodeAt (ich)) >= 48 && ch <= 57) {\r
-value = value * 10 + (ch - 48);\r
-digitSeen = true;\r
-++ich;\r
-}\r
-if (!digitSeen) value = -2147483648;\r
- else if (negative) value = -value;\r
-next[0] = ich;\r
-return value;\r
-}, "~S,~N,~A");\r
-c$.isWhiteSpace = Clazz.defineMethod (c$, "isWhiteSpace", \r
-function (str, ich) {\r
-var ch;\r
-return (ich >= 0 && ((ch = str.charAt (ich)) == ' ' || ch == '\t' || ch == '\n'));\r
-}, "~S,~N");\r
-c$.parseFloatChecked = Clazz.defineMethod (c$, "parseFloatChecked", \r
-function (str, ichMax, next, isStrict) {\r
-var digitSeen = false;\r
-var ich = next[0];\r
-if (isStrict && str.indexOf ('\n') != str.lastIndexOf ('\n')) return NaN;\r
-while (ich < ichMax && JU.PT.isWhiteSpace (str, ich)) ++ich;\r
-\r
-var negative = false;\r
-if (ich < ichMax && str.charAt (ich) == '-') {\r
-++ich;\r
-negative = true;\r
-}var ch = 0;\r
-var ival = 0;\r
-var ival2 = 0;\r
-while (ich < ichMax && (ch = str.charCodeAt (ich)) >= 48 && ch <= 57) {\r
-ival = (ival * 10) + (ch - 48) * 1;\r
-++ich;\r
-digitSeen = true;\r
-}\r
-var isDecimal = false;\r
-var iscale = 0;\r
-var nzero = (ival == 0 ? -1 : 0);\r
-if (ch == 46) {\r
-isDecimal = true;\r
-while (++ich < ichMax && (ch = str.charCodeAt (ich)) >= 48 && ch <= 57) {\r
-digitSeen = true;\r
-if (nzero < 0) {\r
-if (ch == 48) {\r
-nzero--;\r
-continue;\r
-}nzero = -nzero;\r
-}if (iscale < JU.PT.decimalScale.length) {\r
-ival2 = (ival2 * 10) + (ch - 48) * 1;\r
-iscale++;\r
-}}\r
-}var value;\r
-if (!digitSeen) {\r
-value = NaN;\r
-} else if (ival2 > 0) {\r
-value = ival2 * JU.PT.decimalScale[iscale - 1];\r
-if (nzero > 1) {\r
-if (nzero - 2 < JU.PT.decimalScale.length) {\r
-value *= JU.PT.decimalScale[nzero - 2];\r
-} else {\r
-value *= Math.pow (10, 1 - nzero);\r
-}} else {\r
-value += ival;\r
-}} else {\r
-value = ival;\r
-}var isExponent = false;\r
-if (ich < ichMax && (ch == 69 || ch == 101 || ch == 68)) {\r
-isExponent = true;\r
-if (++ich >= ichMax) return NaN;\r
-ch = str.charCodeAt (ich);\r
-if ((ch == 43) && (++ich >= ichMax)) return NaN;\r
-next[0] = ich;\r
-var exponent = JU.PT.parseIntChecked (str, ichMax, next);\r
-if (exponent == -2147483648) return NaN;\r
-if (exponent > 0 && exponent <= JU.PT.tensScale.length) value *= JU.PT.tensScale[exponent - 1];\r
- else if (exponent < 0 && -exponent <= JU.PT.decimalScale.length) value *= JU.PT.decimalScale[-exponent - 1];\r
- else if (exponent != 0) value *= Math.pow (10, exponent);\r
-} else {\r
-next[0] = ich;\r
-}if (negative) value = -value;\r
-if (value == Infinity) value = 3.4028235E38;\r
-return (!isStrict || (!isExponent || isDecimal) && JU.PT.checkTrailingText (str, next[0], ichMax) ? value : NaN);\r
-}, "~S,~N,~A,~B");\r
-c$.checkTrailingText = Clazz.defineMethod (c$, "checkTrailingText", \r
-function (str, ich, ichMax) {\r
-var ch;\r
-while (ich < ichMax && (JU.PT.isWhitespace (ch = str.charAt (ich)) || ch == ';')) ++ich;\r
-\r
-return (ich == ichMax);\r
-}, "~S,~N,~N");\r
-c$.parseFloatArray = Clazz.defineMethod (c$, "parseFloatArray", \r
-function (str) {\r
-return JU.PT.parseFloatArrayNext (str,  Clazz.newIntArray (1, 0), null, null, null);\r
-}, "~S");\r
-c$.parseFloatArrayInfested = Clazz.defineMethod (c$, "parseFloatArrayInfested", \r
-function (tokens, data) {\r
-var len = data.length;\r
-var nTokens = tokens.length;\r
-var n = 0;\r
-var max = 0;\r
-for (var i = 0; i >= 0 && i < len && n < nTokens; i++) {\r
-var f;\r
-while (Float.isNaN (f = JU.PT.parseFloat (tokens[n++])) && n < nTokens) {\r
-}\r
-if (!Float.isNaN (f)) data[(max = i)] = f;\r
-if (n == nTokens) break;\r
-}\r
-return max + 1;\r
-}, "~A,~A");\r
-c$.parseFloatArrayNext = Clazz.defineMethod (c$, "parseFloatArrayNext", \r
-function (str, next, f, strStart, strEnd) {\r
-var n = 0;\r
-var pt = next[0];\r
-if (pt >= 0) {\r
-if (strStart != null) {\r
-var p = str.indexOf (strStart, pt);\r
-if (p >= 0) next[0] = p + strStart.length;\r
-}str = str.substring (next[0]);\r
-pt = (strEnd == null ? -1 : str.indexOf (strEnd));\r
-if (pt < 0) pt = str.length;\r
- else str = str.substring (0, pt);\r
-next[0] += pt + 1;\r
-var tokens = JU.PT.getTokens (str);\r
-if (f == null) f =  Clazz.newFloatArray (tokens.length, 0);\r
-n = JU.PT.parseFloatArrayInfested (tokens, f);\r
-}if (f == null) return  Clazz.newFloatArray (0, 0);\r
-for (var i = n; i < f.length; i++) f[i] = NaN;\r
-\r
-return f;\r
-}, "~S,~A,~A,~S,~S");\r
-c$.parseFloatRange = Clazz.defineMethod (c$, "parseFloatRange", \r
-function (str, ichMax, next) {\r
-var cch = str.length;\r
-if (ichMax > cch) ichMax = cch;\r
-if (next[0] < 0 || next[0] >= ichMax) return NaN;\r
-return JU.PT.parseFloatChecked (str, ichMax, next, false);\r
-}, "~S,~N,~A");\r
-c$.parseFloatNext = Clazz.defineMethod (c$, "parseFloatNext", \r
-function (str, next) {\r
-var cch = (str == null ? -1 : str.length);\r
-return (next[0] < 0 || next[0] >= cch ? NaN : JU.PT.parseFloatChecked (str, cch, next, false));\r
-}, "~S,~A");\r
-c$.parseFloatStrict = Clazz.defineMethod (c$, "parseFloatStrict", \r
-function (str) {\r
-var cch = str.length;\r
-if (cch == 0) return NaN;\r
-return JU.PT.parseFloatChecked (str, cch,  Clazz.newIntArray (-1, [0]), true);\r
-}, "~S");\r
-c$.parseFloat = Clazz.defineMethod (c$, "parseFloat", \r
-function (str) {\r
-return JU.PT.parseFloatNext (str,  Clazz.newIntArray (-1, [0]));\r
-}, "~S");\r
-c$.parseIntRadix = Clazz.defineMethod (c$, "parseIntRadix", \r
-function (s, i) {\r
-{\r
-return Integer.parseIntRadix(s, i);\r
-}}, "~S,~N");\r
-c$.getTokens = Clazz.defineMethod (c$, "getTokens", \r
-function (line) {\r
-return JU.PT.getTokensAt (line, 0);\r
-}, "~S");\r
-c$.parseToken = Clazz.defineMethod (c$, "parseToken", \r
-function (str) {\r
-return JU.PT.parseTokenNext (str,  Clazz.newIntArray (-1, [0]));\r
-}, "~S");\r
-c$.parseTrimmed = Clazz.defineMethod (c$, "parseTrimmed", \r
-function (str) {\r
-return JU.PT.parseTrimmedRange (str, 0, str.length);\r
-}, "~S");\r
-c$.parseTrimmedAt = Clazz.defineMethod (c$, "parseTrimmedAt", \r
-function (str, ichStart) {\r
-return JU.PT.parseTrimmedRange (str, ichStart, str.length);\r
-}, "~S,~N");\r
-c$.parseTrimmedRange = Clazz.defineMethod (c$, "parseTrimmedRange", \r
-function (str, ichStart, ichMax) {\r
-var cch = str.length;\r
-if (ichMax < cch) cch = ichMax;\r
-if (cch < ichStart) return "";\r
-return JU.PT.parseTrimmedChecked (str, ichStart, cch);\r
-}, "~S,~N,~N");\r
-c$.getTokensAt = Clazz.defineMethod (c$, "getTokensAt", \r
-function (line, ich) {\r
-if (line == null) return null;\r
-var cchLine = line.length;\r
-if (ich < 0 || ich > cchLine) return null;\r
-var tokenCount = JU.PT.countTokens (line, ich);\r
-var tokens =  new Array (tokenCount);\r
-var next =  Clazz.newIntArray (1, 0);\r
-next[0] = ich;\r
-for (var i = 0; i < tokenCount; ++i) tokens[i] = JU.PT.parseTokenChecked (line, cchLine, next);\r
-\r
-return tokens;\r
-}, "~S,~N");\r
-c$.countTokens = Clazz.defineMethod (c$, "countTokens", \r
-function (line, ich) {\r
-var tokenCount = 0;\r
-if (line != null) {\r
-var ichMax = line.length;\r
-while (true) {\r
-while (ich < ichMax && JU.PT.isWhiteSpace (line, ich)) ++ich;\r
-\r
-if (ich == ichMax) break;\r
-++tokenCount;\r
-do {\r
-++ich;\r
-} while (ich < ichMax && !JU.PT.isWhiteSpace (line, ich));\r
-}\r
-}return tokenCount;\r
-}, "~S,~N");\r
-c$.parseTokenNext = Clazz.defineMethod (c$, "parseTokenNext", \r
-function (str, next) {\r
-var cch = str.length;\r
-return (next[0] < 0 || next[0] >= cch ? null : JU.PT.parseTokenChecked (str, cch, next));\r
-}, "~S,~A");\r
-c$.parseTokenRange = Clazz.defineMethod (c$, "parseTokenRange", \r
-function (str, ichMax, next) {\r
-var cch = str.length;\r
-if (ichMax > cch) ichMax = cch;\r
-return (next[0] < 0 || next[0] >= ichMax ? null : JU.PT.parseTokenChecked (str, ichMax, next));\r
-}, "~S,~N,~A");\r
-c$.parseTokenChecked = Clazz.defineMethod (c$, "parseTokenChecked", \r
-function (str, ichMax, next) {\r
-var ich = next[0];\r
-while (ich < ichMax && JU.PT.isWhiteSpace (str, ich)) ++ich;\r
-\r
-var ichNonWhite = ich;\r
-while (ich < ichMax && !JU.PT.isWhiteSpace (str, ich)) ++ich;\r
-\r
-next[0] = ich;\r
-return (ichNonWhite == ich ? null : str.substring (ichNonWhite, ich));\r
-}, "~S,~N,~A");\r
-c$.parseTrimmedChecked = Clazz.defineMethod (c$, "parseTrimmedChecked", \r
-function (str, ich, ichMax) {\r
-while (ich < ichMax && JU.PT.isWhiteSpace (str, ich)) ++ich;\r
-\r
-var ichLast = ichMax - 1;\r
-while (ichLast >= ich && JU.PT.isWhiteSpace (str, ichLast)) --ichLast;\r
-\r
-return (ichLast < ich ? "" : str.substring (ich, ichLast + 1));\r
-}, "~S,~N,~N");\r
-c$.dVal = Clazz.defineMethod (c$, "dVal", \r
-function (s) {\r
-{\r
-if(s==null)\r
-throw new NumberFormatException("null");\r
-var d=parseFloat(s);\r
-if(isNaN(d))\r
-throw new NumberFormatException("Not a Number : "+s);\r
-return d\r
-}}, "~S");\r
-c$.fVal = Clazz.defineMethod (c$, "fVal", \r
-function (s) {\r
-{\r
-return this.dVal(s);\r
-}}, "~S");\r
-c$.parseIntRange = Clazz.defineMethod (c$, "parseIntRange", \r
-function (str, ichMax, next) {\r
-var cch = str.length;\r
-if (ichMax > cch) ichMax = cch;\r
-return (next[0] < 0 || next[0] >= ichMax ? -2147483648 : JU.PT.parseIntChecked (str, ichMax, next));\r
-}, "~S,~N,~A");\r
-c$.parseFloatArrayData = Clazz.defineMethod (c$, "parseFloatArrayData", \r
-function (tokens, data) {\r
-JU.PT.parseFloatArrayDataN (tokens, data, data.length);\r
-}, "~A,~A");\r
-c$.parseFloatArrayDataN = Clazz.defineMethod (c$, "parseFloatArrayDataN", \r
-function (tokens, data, nData) {\r
-for (var i = nData; --i >= 0; ) data[i] = (i >= tokens.length ? NaN : JU.PT.parseFloat (tokens[i]));\r
-\r
-}, "~A,~A,~N");\r
-c$.split = Clazz.defineMethod (c$, "split", \r
-function (text, run) {\r
-if (text.length == 0) return  new Array (0);\r
-var n = 1;\r
-var i = text.indexOf (run);\r
-var lines;\r
-var runLen = run.length;\r
-if (i < 0 || runLen == 0) {\r
-lines =  new Array (1);\r
-lines[0] = text;\r
-return lines;\r
-}var len = text.length - runLen;\r
-for (; i >= 0 && i < len; n++) i = text.indexOf (run, i + runLen);\r
-\r
-lines =  new Array (n);\r
-i = 0;\r
-var ipt = 0;\r
-var pt = 0;\r
-for (; (ipt = text.indexOf (run, i)) >= 0 && pt + 1 < n; ) {\r
-lines[pt++] = text.substring (i, ipt);\r
-i = ipt + runLen;\r
-}\r
-if (text.indexOf (run, len) != len) len += runLen;\r
-lines[pt] = text.substring (i, len);\r
-return lines;\r
-}, "~S,~S");\r
-c$.getQuotedStringAt = Clazz.defineMethod (c$, "getQuotedStringAt", \r
-function (line, ipt0) {\r
-var next =  Clazz.newIntArray (-1, [ipt0]);\r
-return JU.PT.getQuotedStringNext (line, next);\r
-}, "~S,~N");\r
-c$.getQuotedStringNext = Clazz.defineMethod (c$, "getQuotedStringNext", \r
-function (line, next) {\r
-var i = next[0];\r
-if (i < 0 || (i = line.indexOf ("\"", i)) < 0) return "";\r
-var pt = i + 1;\r
-var len = line.length;\r
-while (++i < len && line.charAt (i) != '"') if (line.charAt (i) == '\\') i++;\r
-\r
-next[0] = i + 1;\r
-return line.substring (pt, i);\r
-}, "~S,~A");\r
-c$.getCSVString = Clazz.defineMethod (c$, "getCSVString", \r
-function (line, next) {\r
-var i = next[1];\r
-if (i < 0 || (i = line.indexOf ("\"", i)) < 0) return null;\r
-var pt = next[0] = i;\r
-var len = line.length;\r
-var escaped = false;\r
-var haveEscape = false;\r
-while (++i < len && (line.charAt (i) != '"' || (escaped = (i + 1 < len && line.charAt (i + 1) == '"')))) if (escaped) {\r
-escaped = false;\r
-haveEscape = true;\r
-i++;\r
-}\r
-if (i >= len) {\r
-next[1] = -1;\r
-return null;\r
-}next[1] = i + 1;\r
-var s = line.substring (pt + 1, i);\r
-return (haveEscape ? JU.PT.rep (JU.PT.rep (s, "\"\"", "\0"), "\0", "\"") : s);\r
-}, "~S,~A");\r
-c$.isOneOf = Clazz.defineMethod (c$, "isOneOf", \r
-function (key, semiList) {\r
-if (semiList.length == 0) return false;\r
-if (semiList.charAt (0) != ';') semiList = ";" + semiList + ";";\r
-return key.indexOf (";") < 0 && semiList.indexOf (';' + key + ';') >= 0;\r
-}, "~S,~S");\r
-c$.getQuotedAttribute = Clazz.defineMethod (c$, "getQuotedAttribute", \r
-function (info, name) {\r
-var i = info.indexOf (name + "=");\r
-return (i < 0 ? null : JU.PT.getQuotedStringAt (info, i));\r
-}, "~S,~S");\r
-c$.approx = Clazz.defineMethod (c$, "approx", \r
-function (f, n) {\r
-return Math.round (f * n) / n;\r
-}, "~N,~N");\r
-c$.rep = Clazz.defineMethod (c$, "rep", \r
-function (str, strFrom, strTo) {\r
-if (str == null || strFrom.length == 0 || str.indexOf (strFrom) < 0) return str;\r
-var isOnce = (strTo.indexOf (strFrom) >= 0);\r
-do {\r
-str = str.$replace (strFrom, strTo);\r
-} while (!isOnce && str.indexOf (strFrom) >= 0);\r
-return str;\r
-}, "~S,~S,~S");\r
-c$.formatF = Clazz.defineMethod (c$, "formatF", \r
-function (value, width, precision, alignLeft, zeroPad) {\r
-return JU.PT.formatS (JU.DF.formatDecimal (value, precision), width, 0, alignLeft, zeroPad);\r
-}, "~N,~N,~N,~B,~B");\r
-c$.formatD = Clazz.defineMethod (c$, "formatD", \r
-function (value, width, precision, alignLeft, zeroPad, allowOverflow) {\r
-return JU.PT.formatS (JU.DF.formatDecimal (value, -1 - precision), width, 0, alignLeft, zeroPad);\r
-}, "~N,~N,~N,~B,~B,~B");\r
-c$.formatS = Clazz.defineMethod (c$, "formatS", \r
-function (value, width, precision, alignLeft, zeroPad) {\r
-if (value == null) return "";\r
-var len = value.length;\r
-if (precision != 2147483647 && precision > 0 && precision < len) value = value.substring (0, precision);\r
- else if (precision < 0 && len + precision >= 0) value = value.substring (len + precision + 1);\r
-var padLength = width - value.length;\r
-if (padLength <= 0) return value;\r
-var isNeg = (zeroPad && !alignLeft && value.charAt (0) == '-');\r
-var padChar = (zeroPad ? '0' : ' ');\r
-var padChar0 = (isNeg ? '-' : padChar);\r
-var sb =  new JU.SB ();\r
-if (alignLeft) sb.append (value);\r
-sb.appendC (padChar0);\r
-for (var i = padLength; --i > 0; ) sb.appendC (padChar);\r
-\r
-if (!alignLeft) sb.append (isNeg ? padChar + value.substring (1) : value);\r
-return sb.toString ();\r
-}, "~S,~N,~N,~B,~B");\r
-c$.replaceWithCharacter = Clazz.defineMethod (c$, "replaceWithCharacter", \r
-function (str, strFrom, chTo) {\r
-if (str == null) return null;\r
-for (var i = strFrom.length; --i >= 0; ) str = str.$replace (strFrom.charAt (i), chTo);\r
-\r
-return str;\r
-}, "~S,~S,~S");\r
-c$.replaceAllCharacters = Clazz.defineMethod (c$, "replaceAllCharacters", \r
-function (str, strFrom, strTo) {\r
-for (var i = strFrom.length; --i >= 0; ) {\r
-var chFrom = strFrom.substring (i, i + 1);\r
-str = JU.PT.rep (str, chFrom, strTo);\r
-}\r
-return str;\r
-}, "~S,~S,~S");\r
-c$.trim = Clazz.defineMethod (c$, "trim", \r
-function (str, chars) {\r
-if (chars.length == 0) return str.trim ();\r
-var len = str.length;\r
-var k = 0;\r
-while (k < len && chars.indexOf (str.charAt (k)) >= 0) k++;\r
-\r
-var m = str.length - 1;\r
-while (m > k && chars.indexOf (str.charAt (m)) >= 0) m--;\r
-\r
-return str.substring (k, m + 1);\r
-}, "~S,~S");\r
-c$.trimQuotes = Clazz.defineMethod (c$, "trimQuotes", \r
-function (value) {\r
-return (value != null && value.length > 1 && value.startsWith ("\"") && value.endsWith ("\"") ? value.substring (1, value.length - 1) : value);\r
-}, "~S");\r
-c$.isNonStringPrimitive = Clazz.defineMethod (c$, "isNonStringPrimitive", \r
-function (info) {\r
-return Clazz.instanceOf (info, Number) || Clazz.instanceOf (info, Boolean);\r
-}, "~O");\r
-c$.arrayGet = Clazz.defineMethod (c$, "arrayGet", \r
- function (info, i) {\r
-{\r
-return info[i];\r
-}}, "~O,~N");\r
-c$.toJSON = Clazz.defineMethod (c$, "toJSON", \r
-function (infoType, info) {\r
-if (info == null) return JU.PT.packageJSON (infoType, null);\r
-if (JU.PT.isNonStringPrimitive (info)) return JU.PT.packageJSON (infoType, info.toString ());\r
-var s = null;\r
-var sb = null;\r
-while (true) {\r
-if (Clazz.instanceOf (info, String)) {\r
-s = info;\r
-{\r
-if (typeof s == "undefined") s = "null"\r
-}if (s.indexOf ("{\"") != 0) {\r
-s = JU.PT.rep (s, "\"", "\\\"");\r
-s = JU.PT.rep (s, "\n", "\\n");\r
-s = "\"" + s + "\"";\r
-}break;\r
-}if (Clazz.instanceOf (info, javajs.api.JSONEncodable)) {\r
-if ((s = (info).toJSON ()) == null) s = "null";\r
-break;\r
-}sb =  new JU.SB ();\r
-if (Clazz.instanceOf (info, java.util.Map)) {\r
-sb.append ("{ ");\r
-var sep = "";\r
-for (var key, $key = (info).keySet ().iterator (); $key.hasNext () && ((key = $key.next ()) || true);) {\r
-sb.append (sep).append (JU.PT.packageJSON (key, JU.PT.toJSON (null, (info).get (key))));\r
-sep = ",";\r
-}\r
-sb.append (" }");\r
-break;\r
-}if (Clazz.instanceOf (info, JU.Lst)) {\r
-sb.append ("[ ");\r
-var n = (info).size ();\r
-for (var i = 0; i < n; i++) {\r
-if (i > 0) sb.appendC (',');\r
-sb.append (JU.PT.toJSON (null, (info).get (i)));\r
-}\r
-sb.append (" ]");\r
-break;\r
-}if (Clazz.instanceOf (info, JU.M34)) {\r
-var len = (Clazz.instanceOf (info, JU.M4) ? 4 : 3);\r
-var x =  Clazz.newFloatArray (len, 0);\r
-var m = info;\r
-sb.appendC ('[');\r
-for (var i = 0; i < len; i++) {\r
-if (i > 0) sb.appendC (',');\r
-m.getRow (i, x);\r
-sb.append (JU.PT.toJSON (null, x));\r
-}\r
-sb.appendC (']');\r
-break;\r
-}s = JU.PT.nonArrayString (info);\r
-if (s == null) {\r
-sb.append ("[");\r
-var n = JU.AU.getLength (info);\r
-for (var i = 0; i < n; i++) {\r
-if (i > 0) sb.appendC (',');\r
-sb.append (JU.PT.toJSON (null, JU.PT.arrayGet (info, i)));\r
-}\r
-sb.append ("]");\r
-break;\r
-}info = info.toString ();\r
-}\r
-return JU.PT.packageJSON (infoType, (s == null ? sb.toString () : s));\r
-}, "~S,~O");\r
-c$.nonArrayString = Clazz.defineMethod (c$, "nonArrayString", \r
-function (x) {\r
-{\r
-var s = x.toString(); return (s.startsWith("[object") &&\r
-s.endsWith("Array]") ? null : s);\r
-}}, "~O");\r
-c$.byteArrayToJSON = Clazz.defineMethod (c$, "byteArrayToJSON", \r
-function (data) {\r
-var sb =  new JU.SB ();\r
-sb.append ("[");\r
-var n = data.length;\r
-for (var i = 0; i < n; i++) {\r
-if (i > 0) sb.appendC (',');\r
-sb.appendI (data[i] & 0xFF);\r
-}\r
-sb.append ("]");\r
-return sb.toString ();\r
-}, "~A");\r
-c$.packageJSON = Clazz.defineMethod (c$, "packageJSON", \r
-function (infoType, info) {\r
-return (infoType == null ? info : "\"" + infoType + "\": " + info);\r
-}, "~S,~S");\r
-c$.isAS = Clazz.defineMethod (c$, "isAS", \r
-function (x) {\r
-{\r
-return Clazz.isAS(x);\r
-}}, "~O");\r
-c$.isASS = Clazz.defineMethod (c$, "isASS", \r
-function (x) {\r
-{\r
-return Clazz.isASS(x);\r
-}}, "~O");\r
-c$.isAP = Clazz.defineMethod (c$, "isAP", \r
-function (x) {\r
-{\r
-return Clazz.isAP(x);\r
-}}, "~O");\r
-c$.isAF = Clazz.defineMethod (c$, "isAF", \r
-function (x) {\r
-{\r
-return Clazz.isAF(x);\r
-}}, "~O");\r
-c$.isAFloat = Clazz.defineMethod (c$, "isAFloat", \r
-function (x) {\r
-{\r
-return Clazz.isAFloat(x);\r
-}}, "~O");\r
-c$.isAD = Clazz.defineMethod (c$, "isAD", \r
-function (x) {\r
-{\r
-return Clazz.isAF(x);\r
-}}, "~O");\r
-c$.isADD = Clazz.defineMethod (c$, "isADD", \r
-function (x) {\r
-{\r
-return Clazz.isAFF(x);\r
-}}, "~O");\r
-c$.isAB = Clazz.defineMethod (c$, "isAB", \r
-function (x) {\r
-{\r
-return Clazz.isAI(x);\r
-}}, "~O");\r
-c$.isAI = Clazz.defineMethod (c$, "isAI", \r
-function (x) {\r
-{\r
-return Clazz.isAI(x);\r
-}}, "~O");\r
-c$.isAII = Clazz.defineMethod (c$, "isAII", \r
-function (x) {\r
-{\r
-return Clazz.isAII(x);\r
-}}, "~O");\r
-c$.isAFF = Clazz.defineMethod (c$, "isAFF", \r
-function (x) {\r
-{\r
-return Clazz.isAFF(x);\r
-}}, "~O");\r
-c$.isAFFF = Clazz.defineMethod (c$, "isAFFF", \r
-function (x) {\r
-{\r
-return Clazz.isAFFF(x);\r
-}}, "~O");\r
-c$.escapeUrl = Clazz.defineMethod (c$, "escapeUrl", \r
-function (url) {\r
-url = JU.PT.rep (url, "\n", "");\r
-url = JU.PT.rep (url, "%", "%25");\r
-url = JU.PT.rep (url, "#", "%23");\r
-url = JU.PT.rep (url, "[", "%5B");\r
-url = JU.PT.rep (url, "]", "%5D");\r
-url = JU.PT.rep (url, " ", "%20");\r
-return url;\r
-}, "~S");\r
-c$.esc = Clazz.defineMethod (c$, "esc", \r
-function (str) {\r
-if (str == null || str.length == 0) return "\"\"";\r
-var haveEscape = false;\r
-var i = 0;\r
-for (; i < "\\\\\tt\rr\nn\"\"".length; i += 2) if (str.indexOf ("\\\\\tt\rr\nn\"\"".charAt (i)) >= 0) {\r
-haveEscape = true;\r
-break;\r
-}\r
-if (haveEscape) while (i < "\\\\\tt\rr\nn\"\"".length) {\r
-var pt = -1;\r
-var ch = "\\\\\tt\rr\nn\"\"".charAt (i++);\r
-var ch2 = "\\\\\tt\rr\nn\"\"".charAt (i++);\r
-var sb =  new JU.SB ();\r
-var pt0 = 0;\r
-while ((pt = str.indexOf (ch, pt + 1)) >= 0) {\r
-sb.append (str.substring (pt0, pt)).appendC ('\\').appendC (ch2);\r
-pt0 = pt + 1;\r
-}\r
-sb.append (str.substring (pt0, str.length));\r
-str = sb.toString ();\r
-}\r
-return "\"" + JU.PT.escUnicode (str) + "\"";\r
-}, "~S");\r
-c$.escUnicode = Clazz.defineMethod (c$, "escUnicode", \r
-function (str) {\r
-for (var i = str.length; --i >= 0; ) if (str.charCodeAt (i) > 0x7F) {\r
-var s = "0000" + Integer.toHexString (str.charCodeAt (i));\r
-str = str.substring (0, i) + "\\u" + s.substring (s.length - 4) + str.substring (i + 1);\r
-}\r
-return str;\r
-}, "~S");\r
-c$.escF = Clazz.defineMethod (c$, "escF", \r
-function (f) {\r
-var sf = "" + f;\r
-{\r
-if (sf.indexOf(".") < 0 && sf.indexOf("e") < 0)\r
-sf += ".0";\r
-}return sf;\r
-}, "~N");\r
-c$.join = Clazz.defineMethod (c$, "join", \r
-function (s, c, i0) {\r
-if (s.length < i0) return null;\r
-var sb =  new JU.SB ();\r
-sb.append (s[i0++]);\r
-for (var i = i0; i < s.length; i++) sb.appendC (c).append (s[i]);\r
-\r
-return sb.toString ();\r
-}, "~A,~S,~N");\r
-c$.isLike = Clazz.defineMethod (c$, "isLike", \r
-function (a, b) {\r
-var areEqual = a.equals (b);\r
-if (areEqual) return true;\r
-var isStart = b.startsWith ("*");\r
-var isEnd = b.endsWith ("*");\r
-return (!isStart && !isEnd) ? areEqual : isStart && isEnd ? b.length == 1 || a.contains (b.substring (1, b.length - 1)) : isStart ? a.endsWith (b.substring (1)) : a.startsWith (b.substring (0, b.length - 1));\r
-}, "~S,~S");\r
-c$.getMapValueNoCase = Clazz.defineMethod (c$, "getMapValueNoCase", \r
-function (h, key) {\r
-if ("this".equals (key)) return h;\r
-var val = h.get (key);\r
-if (val == null) for (var e, $e = h.entrySet ().iterator (); $e.hasNext () && ((e = $e.next ()) || true);) if (e.getKey ().equalsIgnoreCase (key)) return e.getValue ();\r
-\r
-return val;\r
-}, "java.util.Map,~S");\r
-c$.getMapSubset = Clazz.defineMethod (c$, "getMapSubset", \r
-function (h, key, h2) {\r
-var val = h.get (key);\r
-if (val != null) {\r
-h2.put (key, val);\r
-return;\r
-}for (var e, $e = h.entrySet ().iterator (); $e.hasNext () && ((e = $e.next ()) || true);) {\r
-var k = e.getKey ();\r
-if (JU.PT.isLike (k, key)) h2.put (k, e.getValue ());\r
-}\r
-}, "java.util.Map,~S,java.util.Map");\r
-c$.clean = Clazz.defineMethod (c$, "clean", \r
-function (s) {\r
-return JU.PT.rep (JU.PT.replaceAllCharacters (s, " \t\n\r", " "), "  ", " ").trim ();\r
-}, "~S");\r
-c$.fdup = Clazz.defineMethod (c$, "fdup", \r
-function (f, pt, n) {\r
-var ch;\r
-var count = 0;\r
-for (var i = pt; --i >= 1; ) {\r
-if (JU.PT.isDigit (ch = f.charAt (i))) continue;\r
-switch (ch) {\r
-case '.':\r
-if (count++ != 0) return f;\r
-continue;\r
-case '-':\r
-if (i != 1 && f.charAt (i - 1) != '.') return f;\r
-continue;\r
-default:\r
-return f;\r
-}\r
-}\r
-var s = f.substring (0, pt + 1);\r
-var sb =  new JU.SB ();\r
-for (var i = 0; i < n; i++) sb.append (s);\r
-\r
-sb.append (f.substring (pt + 1));\r
-return sb.toString ();\r
-}, "~S,~N,~N");\r
-c$.formatString = Clazz.defineMethod (c$, "formatString", \r
-function (strFormat, key, strT, floatT, doubleT, doOne) {\r
-if (strFormat == null) return null;\r
-if ("".equals (strFormat)) return "";\r
-var len = key.length;\r
-if (strFormat.indexOf ("%") < 0 || len == 0 || strFormat.indexOf (key) < 0) return strFormat;\r
-var strLabel = "";\r
-var ich;\r
-var ichPercent;\r
-var ichKey;\r
-for (ich = 0; (ichPercent = strFormat.indexOf ('%', ich)) >= 0 && (ichKey = strFormat.indexOf (key, ichPercent + 1)) >= 0; ) {\r
-if (ich != ichPercent) strLabel += strFormat.substring (ich, ichPercent);\r
-ich = ichPercent + 1;\r
-if (ichKey > ichPercent + 6) {\r
-strLabel += '%';\r
-continue;\r
-}try {\r
-var alignLeft = false;\r
-if (strFormat.charAt (ich) == '-') {\r
-alignLeft = true;\r
-++ich;\r
-}var zeroPad = false;\r
-if (strFormat.charAt (ich) == '0') {\r
-zeroPad = true;\r
-++ich;\r
-}var ch;\r
-var width = 0;\r
-while ((ch = strFormat.charAt (ich)) >= '0' && (ch <= '9')) {\r
-width = (10 * width) + (ch.charCodeAt (0) - 48);\r
-++ich;\r
-}\r
-var precision = 2147483647;\r
-var isExponential = false;\r
-if (strFormat.charAt (ich) == '.') {\r
-++ich;\r
-if ((ch = strFormat.charAt (ich)) == '-') {\r
-isExponential = true;\r
-++ich;\r
-}if ((ch = strFormat.charAt (ich)) >= '0' && ch <= '9') {\r
-precision = ch.charCodeAt (0) - 48;\r
-++ich;\r
-}if (isExponential) precision = -precision - (strT == null ? 1 : 0);\r
-}var st = strFormat.substring (ich, ich + len);\r
-if (!st.equals (key)) {\r
-ich = ichPercent + 1;\r
-strLabel += '%';\r
-continue;\r
-}ich += len;\r
-if (!Float.isNaN (floatT)) strLabel += JU.PT.formatF (floatT, width, precision, alignLeft, zeroPad);\r
- else if (strT != null) strLabel += JU.PT.formatS (strT, width, precision, alignLeft, zeroPad);\r
- else if (!Double.isNaN (doubleT)) strLabel += JU.PT.formatD (doubleT, width, precision, alignLeft, zeroPad, true);\r
-if (doOne) break;\r
-} catch (ioobe) {\r
-if (Clazz.exceptionOf (ioobe, IndexOutOfBoundsException)) {\r
-ich = ichPercent;\r
-break;\r
-} else {\r
-throw ioobe;\r
-}\r
-}\r
-}\r
-strLabel += strFormat.substring (ich);\r
-return strLabel;\r
-}, "~S,~S,~S,~N,~N,~B");\r
-c$.formatStringS = Clazz.defineMethod (c$, "formatStringS", \r
-function (strFormat, key, strT) {\r
-return JU.PT.formatString (strFormat, key, strT, NaN, NaN, false);\r
-}, "~S,~S,~S");\r
-c$.formatStringF = Clazz.defineMethod (c$, "formatStringF", \r
-function (strFormat, key, floatT) {\r
-return JU.PT.formatString (strFormat, key, null, floatT, NaN, false);\r
-}, "~S,~S,~N");\r
-c$.formatStringI = Clazz.defineMethod (c$, "formatStringI", \r
-function (strFormat, key, intT) {\r
-return JU.PT.formatString (strFormat, key, "" + intT, NaN, NaN, false);\r
-}, "~S,~S,~N");\r
-c$.sprintf = Clazz.defineMethod (c$, "sprintf", \r
-function (strFormat, list, values) {\r
-if (values == null) return strFormat;\r
-var n = list.length;\r
-if (n == values.length) try {\r
-for (var o = 0; o < n; o++) {\r
-if (values[o] == null) continue;\r
-switch (list.charAt (o)) {\r
-case 's':\r
-strFormat = JU.PT.formatString (strFormat, "s", values[o], NaN, NaN, true);\r
-break;\r
-case 'f':\r
-strFormat = JU.PT.formatString (strFormat, "f", null, (values[o]).floatValue (), NaN, true);\r
-break;\r
-case 'i':\r
-strFormat = JU.PT.formatString (strFormat, "d", "" + values[o], NaN, NaN, true);\r
-strFormat = JU.PT.formatString (strFormat, "i", "" + values[o], NaN, NaN, true);\r
-break;\r
-case 'd':\r
-strFormat = JU.PT.formatString (strFormat, "e", null, NaN, (values[o]).doubleValue (), true);\r
-break;\r
-case 'p':\r
-var pVal = values[o];\r
-strFormat = JU.PT.formatString (strFormat, "p", null, pVal.x, NaN, true);\r
-strFormat = JU.PT.formatString (strFormat, "p", null, pVal.y, NaN, true);\r
-strFormat = JU.PT.formatString (strFormat, "p", null, pVal.z, NaN, true);\r
-break;\r
-case 'q':\r
-var qVal = values[o];\r
-strFormat = JU.PT.formatString (strFormat, "q", null, qVal.x, NaN, true);\r
-strFormat = JU.PT.formatString (strFormat, "q", null, qVal.y, NaN, true);\r
-strFormat = JU.PT.formatString (strFormat, "q", null, qVal.z, NaN, true);\r
-strFormat = JU.PT.formatString (strFormat, "q", null, qVal.w, NaN, true);\r
-break;\r
-case 'S':\r
-var sVal = values[o];\r
-for (var i = 0; i < sVal.length; i++) strFormat = JU.PT.formatString (strFormat, "s", sVal[i], NaN, NaN, true);\r
-\r
-break;\r
-case 'F':\r
-var fVal = values[o];\r
-for (var i = 0; i < fVal.length; i++) strFormat = JU.PT.formatString (strFormat, "f", null, fVal[i], NaN, true);\r
-\r
-break;\r
-case 'I':\r
-var iVal = values[o];\r
-for (var i = 0; i < iVal.length; i++) strFormat = JU.PT.formatString (strFormat, "d", "" + iVal[i], NaN, NaN, true);\r
-\r
-for (var i = 0; i < iVal.length; i++) strFormat = JU.PT.formatString (strFormat, "i", "" + iVal[i], NaN, NaN, true);\r
-\r
-break;\r
-case 'D':\r
-var dVal = values[o];\r
-for (var i = 0; i < dVal.length; i++) strFormat = JU.PT.formatString (strFormat, "e", null, NaN, dVal[i], true);\r
-\r
-}\r
-}\r
-return JU.PT.rep (strFormat, "%%", "%");\r
-} catch (e) {\r
-if (Clazz.exceptionOf (e, Exception)) {\r
-} else {\r
-throw e;\r
-}\r
-}\r
-System.out.println ("TextFormat.sprintf error " + list + " " + strFormat);\r
-return JU.PT.rep (strFormat, "%", "?");\r
-}, "~S,~S,~A");\r
-c$.formatCheck = Clazz.defineMethod (c$, "formatCheck", \r
-function (strFormat) {\r
-if (strFormat == null || strFormat.indexOf ('p') < 0 && strFormat.indexOf ('q') < 0) return strFormat;\r
-strFormat = JU.PT.rep (strFormat, "%%", "\1");\r
-strFormat = JU.PT.rep (strFormat, "%p", "%6.2p");\r
-strFormat = JU.PT.rep (strFormat, "%q", "%6.2q");\r
-var format = JU.PT.split (strFormat, "%");\r
-var sb =  new JU.SB ();\r
-sb.append (format[0]);\r
-for (var i = 1; i < format.length; i++) {\r
-var f = "%" + format[i];\r
-var pt;\r
-if (f.length >= 3) {\r
-if ((pt = f.indexOf ('p')) >= 0) f = JU.PT.fdup (f, pt, 3);\r
-if ((pt = f.indexOf ('q')) >= 0) f = JU.PT.fdup (f, pt, 4);\r
-}sb.append (f);\r
-}\r
-return sb.toString ().$replace ('\1', '%');\r
-}, "~S");\r
-c$.leftJustify = Clazz.defineMethod (c$, "leftJustify", \r
-function (s, s1, s2) {\r
-s.append (s2);\r
-var n = s1.length - s2.length;\r
-if (n > 0) s.append (s1.substring (0, n));\r
-}, "JU.SB,~S,~S");\r
-c$.rightJustify = Clazz.defineMethod (c$, "rightJustify", \r
-function (s, s1, s2) {\r
-var n = s1.length - s2.length;\r
-if (n > 0) s.append (s1.substring (0, n));\r
-s.append (s2);\r
-}, "JU.SB,~S,~S");\r
-c$.safeTruncate = Clazz.defineMethod (c$, "safeTruncate", \r
-function (f, n) {\r
-if (f > -0.001 && f < 0.001) f = 0;\r
-return (f + "         ").substring (0, n);\r
-}, "~N,~N");\r
-c$.isWild = Clazz.defineMethod (c$, "isWild", \r
-function (s) {\r
-return s != null && (s.indexOf ("*") >= 0 || s.indexOf ("?") >= 0);\r
-}, "~S");\r
-c$.isMatch = Clazz.defineMethod (c$, "isMatch", \r
-function (search, match, checkStar, allowInitialStar) {\r
-if (search.equals (match)) return true;\r
-var mLen = match.length;\r
-if (mLen == 0) return false;\r
-var isStar0 = (checkStar && allowInitialStar ? match.charAt (0) == '*' : false);\r
-if (mLen == 1 && isStar0) return true;\r
-var isStar1 = (checkStar && match.endsWith ("*"));\r
-var haveQ = (match.indexOf ('?') >= 0);\r
-if (!haveQ) {\r
-if (isStar0) return (isStar1 ? (mLen < 3 || search.indexOf (match.substring (1, mLen - 1)) >= 0) : search.endsWith (match.substring (1)));\r
- else if (isStar1) return search.startsWith (match.substring (0, mLen - 1));\r
-}var sLen = search.length;\r
-var qqqq = "????";\r
-var nq = 4;\r
-while (nq < sLen) {\r
-qqqq += qqqq;\r
-nq += 4;\r
-}\r
-if (checkStar) {\r
-if (isStar0) {\r
-match = qqqq + match.substring (1);\r
-mLen += nq - 1;\r
-}if (isStar1) {\r
-match = match.substring (0, mLen - 1) + qqqq;\r
-mLen += nq - 1;\r
-}}if (mLen < sLen) return false;\r
-var ich = 0;\r
-while (mLen > sLen) {\r
-if (allowInitialStar && match.charAt (ich) == '?') {\r
-++ich;\r
-} else if (match.charAt (ich + mLen - 1) != '?') {\r
-return false;\r
-}--mLen;\r
-}\r
-for (var i = sLen; --i >= 0; ) {\r
-var chm = match.charAt (ich + i);\r
-if (chm == '?') continue;\r
-var chs = search.charAt (i);\r
-if (chm != chs && (chm != '\1' || chs != '?')) return false;\r
-}\r
-return true;\r
-}, "~S,~S,~B,~B");\r
-c$.replaceQuotedStrings = Clazz.defineMethod (c$, "replaceQuotedStrings", \r
-function (s, list, newList) {\r
-var n = list.size ();\r
-for (var i = 0; i < n; i++) {\r
-var name = list.get (i);\r
-var newName = newList.get (i);\r
-if (!newName.equals (name)) s = JU.PT.rep (s, "\"" + name + "\"", "\"" + newName + "\"");\r
-}\r
-return s;\r
-}, "~S,JU.Lst,JU.Lst");\r
-c$.replaceStrings = Clazz.defineMethod (c$, "replaceStrings", \r
-function (s, list, newList) {\r
-var n = list.size ();\r
-for (var i = 0; i < n; i++) {\r
-var name = list.get (i);\r
-var newName = newList.get (i);\r
-if (!newName.equals (name)) s = JU.PT.rep (s, name, newName);\r
-}\r
-return s;\r
-}, "~S,JU.Lst,JU.Lst");\r
-c$.isDigit = Clazz.defineMethod (c$, "isDigit", \r
-function (ch) {\r
-var c = (ch).charCodeAt (0);\r
-return (48 <= c && c <= 57);\r
-}, "~S");\r
-c$.isUpperCase = Clazz.defineMethod (c$, "isUpperCase", \r
-function (ch) {\r
-var c = (ch).charCodeAt (0);\r
-return (65 <= c && c <= 90);\r
-}, "~S");\r
-c$.isLowerCase = Clazz.defineMethod (c$, "isLowerCase", \r
-function (ch) {\r
-var c = (ch).charCodeAt (0);\r
-return (97 <= c && c <= 122);\r
-}, "~S");\r
-c$.isLetter = Clazz.defineMethod (c$, "isLetter", \r
-function (ch) {\r
-var c = (ch).charCodeAt (0);\r
-return (65 <= c && c <= 90 || 97 <= c && c <= 122);\r
-}, "~S");\r
-c$.isLetterOrDigit = Clazz.defineMethod (c$, "isLetterOrDigit", \r
-function (ch) {\r
-var c = (ch).charCodeAt (0);\r
-return (65 <= c && c <= 90 || 97 <= c && c <= 122 || 48 <= c && c <= 57);\r
-}, "~S");\r
-c$.isWhitespace = Clazz.defineMethod (c$, "isWhitespace", \r
-function (ch) {\r
-var c = (ch).charCodeAt (0);\r
-return (c >= 0x1c && c <= 0x20 || c >= 0x9 && c <= 0xd);\r
-}, "~S");\r
-c$.fixPtFloats = Clazz.defineMethod (c$, "fixPtFloats", \r
-function (pt, f) {\r
-pt.x = Math.round (pt.x * f) / f;\r
-pt.y = Math.round (pt.y * f) / f;\r
-pt.z = Math.round (pt.z * f) / f;\r
-}, "JU.T3,~N");\r
-c$.fixDouble = Clazz.defineMethod (c$, "fixDouble", \r
-function (d, f) {\r
-return Math.round (d * f) / f;\r
-}, "~N,~N");\r
-c$.parseFloatFraction = Clazz.defineMethod (c$, "parseFloatFraction", \r
-function (s) {\r
-var pt = s.indexOf ("/");\r
-return (pt < 0 ? JU.PT.parseFloat (s) : JU.PT.parseFloat (s.substring (0, pt)) / JU.PT.parseFloat (s.substring (pt + 1)));\r
-}, "~S");\r
-Clazz.defineStatics (c$,\r
-"tensScale",  Clazz.newFloatArray (-1, [10, 100, 1000, 10000, 100000, 1000000]),\r
-"decimalScale",  Clazz.newFloatArray (-1, [0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001, 0.0000001, 0.00000001, 0.000000001]),\r
-"FLOAT_MIN_SAFE", 2E-45,\r
-"escapable", "\\\\\tt\rr\nn\"\"",\r
-"FRACTIONAL_PRECISION", 100000,\r
-"CARTESIAN_PRECISION", 10000);\r
-});\r
+Clazz.declarePackage ("JU");
+Clazz.load (null, "JU.PT", ["java.lang.Boolean", "$.Double", "$.Float", "$.Number", "java.util.Map", "javajs.api.JSONEncodable", "JU.AU", "$.DF", "$.Lst", "$.M34", "$.M4", "$.SB"], function () {
+c$ = Clazz.declareType (JU, "PT");
+c$.parseInt = Clazz.defineMethod (c$, "parseInt", 
+function (str) {
+return JU.PT.parseIntNext (str,  Clazz.newIntArray (-1, [0]));
+}, "~S");
+c$.parseIntNext = Clazz.defineMethod (c$, "parseIntNext", 
+function (str, next) {
+var cch = str.length;
+if (next[0] < 0 || next[0] >= cch) return -2147483648;
+return JU.PT.parseIntChecked (str, cch, next);
+}, "~S,~A");
+c$.parseIntChecked = Clazz.defineMethod (c$, "parseIntChecked", 
+function (str, ichMax, next) {
+var digitSeen = false;
+var value = 0;
+var ich = next[0];
+if (ich < 0) return -2147483648;
+var ch;
+while (ich < ichMax && JU.PT.isWhiteSpace (str, ich)) ++ich;
+
+var negative = false;
+if (ich < ichMax && str.charCodeAt (ich) == 45) {
+negative = true;
+++ich;
+}while (ich < ichMax && (ch = str.charCodeAt (ich)) >= 48 && ch <= 57) {
+value = value * 10 + (ch - 48);
+digitSeen = true;
+++ich;
+}
+if (!digitSeen) value = -2147483648;
+ else if (negative) value = -value;
+next[0] = ich;
+return value;
+}, "~S,~N,~A");
+c$.isWhiteSpace = Clazz.defineMethod (c$, "isWhiteSpace", 
+function (str, ich) {
+var ch;
+return (ich >= 0 && ((ch = str.charAt (ich)) == ' ' || ch == '\t' || ch == '\n'));
+}, "~S,~N");
+c$.parseFloatChecked = Clazz.defineMethod (c$, "parseFloatChecked", 
+function (str, ichMax, next, isStrict) {
+var digitSeen = false;
+var ich = next[0];
+if (isStrict && str.indexOf ('\n') != str.lastIndexOf ('\n')) return NaN;
+while (ich < ichMax && JU.PT.isWhiteSpace (str, ich)) ++ich;
+
+var negative = false;
+if (ich < ichMax && str.charAt (ich) == '-') {
+++ich;
+negative = true;
+}var ch = 0;
+var ival = 0;
+var ival2 = 0;
+while (ich < ichMax && (ch = str.charCodeAt (ich)) >= 48 && ch <= 57) {
+ival = (ival * 10) + (ch - 48) * 1;
+++ich;
+digitSeen = true;
+}
+var isDecimal = false;
+var iscale = 0;
+var nzero = (ival == 0 ? -1 : 0);
+if (ch == 46) {
+isDecimal = true;
+while (++ich < ichMax && (ch = str.charCodeAt (ich)) >= 48 && ch <= 57) {
+digitSeen = true;
+if (nzero < 0) {
+if (ch == 48) {
+nzero--;
+continue;
+}nzero = -nzero;
+}if (iscale < JU.PT.decimalScale.length) {
+ival2 = (ival2 * 10) + (ch - 48) * 1;
+iscale++;
+}}
+}var value;
+if (!digitSeen) {
+value = NaN;
+} else if (ival2 > 0) {
+value = ival2 * JU.PT.decimalScale[iscale - 1];
+if (nzero > 1) {
+if (nzero - 2 < JU.PT.decimalScale.length) {
+value *= JU.PT.decimalScale[nzero - 2];
+} else {
+value *= Math.pow (10, 1 - nzero);
+}} else {
+value += ival;
+}} else {
+value = ival;
+}var isExponent = false;
+if (ich < ichMax && (ch == 69 || ch == 101 || ch == 68)) {
+isExponent = true;
+if (++ich >= ichMax) return NaN;
+ch = str.charCodeAt (ich);
+if ((ch == 43) && (++ich >= ichMax)) return NaN;
+next[0] = ich;
+var exponent = JU.PT.parseIntChecked (str, ichMax, next);
+if (exponent == -2147483648) return NaN;
+if (exponent > 0 && exponent <= JU.PT.tensScale.length) value *= JU.PT.tensScale[exponent - 1];
+ else if (exponent < 0 && -exponent <= JU.PT.decimalScale.length) value *= JU.PT.decimalScale[-exponent - 1];
+ else if (exponent != 0) value *= Math.pow (10, exponent);
+} else {
+next[0] = ich;
+}if (negative) value = -value;
+if (value == Infinity) value = 3.4028235E38;
+return (!isStrict || (!isExponent || isDecimal) && JU.PT.checkTrailingText (str, next[0], ichMax) ? value : NaN);
+}, "~S,~N,~A,~B");
+c$.checkTrailingText = Clazz.defineMethod (c$, "checkTrailingText", 
+function (str, ich, ichMax) {
+var ch;
+while (ich < ichMax && (JU.PT.isWhitespace (ch = str.charAt (ich)) || ch == ';')) ++ich;
+
+return (ich == ichMax);
+}, "~S,~N,~N");
+c$.parseFloatArray = Clazz.defineMethod (c$, "parseFloatArray", 
+function (str) {
+return JU.PT.parseFloatArrayNext (str,  Clazz.newIntArray (1, 0), null, null, null);
+}, "~S");
+c$.parseFloatArrayInfested = Clazz.defineMethod (c$, "parseFloatArrayInfested", 
+function (tokens, data) {
+var len = data.length;
+var nTokens = tokens.length;
+var n = 0;
+var max = 0;
+for (var i = 0; i >= 0 && i < len && n < nTokens; i++) {
+var f;
+while (Float.isNaN (f = JU.PT.parseFloat (tokens[n++])) && n < nTokens) {
+}
+if (!Float.isNaN (f)) data[(max = i)] = f;
+if (n == nTokens) break;
+}
+return max + 1;
+}, "~A,~A");
+c$.parseFloatArrayNext = Clazz.defineMethod (c$, "parseFloatArrayNext", 
+function (str, next, f, strStart, strEnd) {
+var n = 0;
+var pt = next[0];
+if (pt >= 0) {
+if (strStart != null) {
+var p = str.indexOf (strStart, pt);
+if (p >= 0) next[0] = p + strStart.length;
+}str = str.substring (next[0]);
+pt = (strEnd == null ? -1 : str.indexOf (strEnd));
+if (pt < 0) pt = str.length;
+ else str = str.substring (0, pt);
+next[0] += pt + 1;
+var tokens = JU.PT.getTokens (str);
+if (f == null) f =  Clazz.newFloatArray (tokens.length, 0);
+n = JU.PT.parseFloatArrayInfested (tokens, f);
+}if (f == null) return  Clazz.newFloatArray (0, 0);
+for (var i = n; i < f.length; i++) f[i] = NaN;
+
+return f;
+}, "~S,~A,~A,~S,~S");
+c$.parseFloatRange = Clazz.defineMethod (c$, "parseFloatRange", 
+function (str, ichMax, next) {
+var cch = str.length;
+if (ichMax > cch) ichMax = cch;
+if (next[0] < 0 || next[0] >= ichMax) return NaN;
+return JU.PT.parseFloatChecked (str, ichMax, next, false);
+}, "~S,~N,~A");
+c$.parseFloatNext = Clazz.defineMethod (c$, "parseFloatNext", 
+function (str, next) {
+var cch = (str == null ? -1 : str.length);
+return (next[0] < 0 || next[0] >= cch ? NaN : JU.PT.parseFloatChecked (str, cch, next, false));
+}, "~S,~A");
+c$.parseFloatStrict = Clazz.defineMethod (c$, "parseFloatStrict", 
+function (str) {
+var cch = str.length;
+if (cch == 0) return NaN;
+return JU.PT.parseFloatChecked (str, cch,  Clazz.newIntArray (-1, [0]), true);
+}, "~S");
+c$.parseFloat = Clazz.defineMethod (c$, "parseFloat", 
+function (str) {
+return JU.PT.parseFloatNext (str,  Clazz.newIntArray (-1, [0]));
+}, "~S");
+c$.parseIntRadix = Clazz.defineMethod (c$, "parseIntRadix", 
+function (s, i) {
+{
+return Integer.parseIntRadix(s, i);
+}}, "~S,~N");
+c$.getTokens = Clazz.defineMethod (c$, "getTokens", 
+function (line) {
+return JU.PT.getTokensAt (line, 0);
+}, "~S");
+c$.parseToken = Clazz.defineMethod (c$, "parseToken", 
+function (str) {
+return JU.PT.parseTokenNext (str,  Clazz.newIntArray (-1, [0]));
+}, "~S");
+c$.parseTrimmed = Clazz.defineMethod (c$, "parseTrimmed", 
+function (str) {
+return JU.PT.parseTrimmedRange (str, 0, str.length);
+}, "~S");
+c$.parseTrimmedAt = Clazz.defineMethod (c$, "parseTrimmedAt", 
+function (str, ichStart) {
+return JU.PT.parseTrimmedRange (str, ichStart, str.length);
+}, "~S,~N");
+c$.parseTrimmedRange = Clazz.defineMethod (c$, "parseTrimmedRange", 
+function (str, ichStart, ichMax) {
+var cch = str.length;
+if (ichMax < cch) cch = ichMax;
+if (cch < ichStart) return "";
+return JU.PT.parseTrimmedChecked (str, ichStart, cch);
+}, "~S,~N,~N");
+c$.getTokensAt = Clazz.defineMethod (c$, "getTokensAt", 
+function (line, ich) {
+if (line == null) return null;
+var cchLine = line.length;
+if (ich < 0 || ich > cchLine) return null;
+var tokenCount = JU.PT.countTokens (line, ich);
+var tokens =  new Array (tokenCount);
+var next =  Clazz.newIntArray (1, 0);
+next[0] = ich;
+for (var i = 0; i < tokenCount; ++i) tokens[i] = JU.PT.parseTokenChecked (line, cchLine, next);
+
+return tokens;
+}, "~S,~N");
+c$.countTokens = Clazz.defineMethod (c$, "countTokens", 
+function (line, ich) {
+var tokenCount = 0;
+if (line != null) {
+var ichMax = line.length;
+while (true) {
+while (ich < ichMax && JU.PT.isWhiteSpace (line, ich)) ++ich;
+
+if (ich == ichMax) break;
+++tokenCount;
+do {
+++ich;
+} while (ich < ichMax && !JU.PT.isWhiteSpace (line, ich));
+}
+}return tokenCount;
+}, "~S,~N");
+c$.parseTokenNext = Clazz.defineMethod (c$, "parseTokenNext", 
+function (str, next) {
+var cch = str.length;
+return (next[0] < 0 || next[0] >= cch ? null : JU.PT.parseTokenChecked (str, cch, next));
+}, "~S,~A");
+c$.parseTokenRange = Clazz.defineMethod (c$, "parseTokenRange", 
+function (str, ichMax, next) {
+var cch = str.length;
+if (ichMax > cch) ichMax = cch;
+return (next[0] < 0 || next[0] >= ichMax ? null : JU.PT.parseTokenChecked (str, ichMax, next));
+}, "~S,~N,~A");
+c$.parseTokenChecked = Clazz.defineMethod (c$, "parseTokenChecked", 
+function (str, ichMax, next) {
+var ich = next[0];
+while (ich < ichMax && JU.PT.isWhiteSpace (str, ich)) ++ich;
+
+var ichNonWhite = ich;
+while (ich < ichMax && !JU.PT.isWhiteSpace (str, ich)) ++ich;
+
+next[0] = ich;
+return (ichNonWhite == ich ? null : str.substring (ichNonWhite, ich));
+}, "~S,~N,~A");
+c$.parseTrimmedChecked = Clazz.defineMethod (c$, "parseTrimmedChecked", 
+function (str, ich, ichMax) {
+while (ich < ichMax && JU.PT.isWhiteSpace (str, ich)) ++ich;
+
+var ichLast = ichMax - 1;
+while (ichLast >= ich && JU.PT.isWhiteSpace (str, ichLast)) --ichLast;
+
+return (ichLast < ich ? "" : str.substring (ich, ichLast + 1));
+}, "~S,~N,~N");
+c$.dVal = Clazz.defineMethod (c$, "dVal", 
+function (s) {
+{
+if(s==null)
+throw new NumberFormatException("null");
+var d=parseFloat(s);
+if(isNaN(d))
+throw new NumberFormatException("Not a Number : "+s);
+return d
+}}, "~S");
+c$.fVal = Clazz.defineMethod (c$, "fVal", 
+function (s) {
+{
+return this.dVal(s);
+}}, "~S");
+c$.parseIntRange = Clazz.defineMethod (c$, "parseIntRange", 
+function (str, ichMax, next) {
+var cch = str.length;
+if (ichMax > cch) ichMax = cch;
+return (next[0] < 0 || next[0] >= ichMax ? -2147483648 : JU.PT.parseIntChecked (str, ichMax, next));
+}, "~S,~N,~A");
+c$.parseFloatArrayData = Clazz.defineMethod (c$, "parseFloatArrayData", 
+function (tokens, data) {
+JU.PT.parseFloatArrayDataN (tokens, data, data.length);
+}, "~A,~A");
+c$.parseFloatArrayDataN = Clazz.defineMethod (c$, "parseFloatArrayDataN", 
+function (tokens, data, nData) {
+for (var i = nData; --i >= 0; ) data[i] = (i >= tokens.length ? NaN : JU.PT.parseFloat (tokens[i]));
+
+}, "~A,~A,~N");
+c$.split = Clazz.defineMethod (c$, "split", 
+function (text, run) {
+if (text.length == 0) return  new Array (0);
+var n = 1;
+var i = text.indexOf (run);
+var lines;
+var runLen = run.length;
+if (i < 0 || runLen == 0) {
+lines =  new Array (1);
+lines[0] = text;
+return lines;
+}var len = text.length - runLen;
+for (; i >= 0 && i < len; n++) i = text.indexOf (run, i + runLen);
+
+lines =  new Array (n);
+i = 0;
+var ipt = 0;
+var pt = 0;
+for (; (ipt = text.indexOf (run, i)) >= 0 && pt + 1 < n; ) {
+lines[pt++] = text.substring (i, ipt);
+i = ipt + runLen;
+}
+if (text.indexOf (run, len) != len) len += runLen;
+lines[pt] = text.substring (i, len);
+return lines;
+}, "~S,~S");
+c$.getQuotedStringAt = Clazz.defineMethod (c$, "getQuotedStringAt", 
+function (line, ipt0) {
+var next =  Clazz.newIntArray (-1, [ipt0]);
+return JU.PT.getQuotedStringNext (line, next);
+}, "~S,~N");
+c$.getQuotedStringNext = Clazz.defineMethod (c$, "getQuotedStringNext", 
+function (line, next) {
+var i = next[0];
+if (i < 0 || (i = line.indexOf ("\"", i)) < 0) return "";
+var pt = i + 1;
+var len = line.length;
+while (++i < len && line.charAt (i) != '"') if (line.charAt (i) == '\\') i++;
+
+next[0] = i + 1;
+return line.substring (pt, i);
+}, "~S,~A");
+c$.getCSVString = Clazz.defineMethod (c$, "getCSVString", 
+function (line, next) {
+var i = next[1];
+if (i < 0 || (i = line.indexOf ("\"", i)) < 0) return null;
+var pt = next[0] = i;
+var len = line.length;
+var escaped = false;
+var haveEscape = false;
+while (++i < len && (line.charAt (i) != '"' || (escaped = (i + 1 < len && line.charAt (i + 1) == '"')))) if (escaped) {
+escaped = false;
+haveEscape = true;
+i++;
+}
+if (i >= len) {
+next[1] = -1;
+return null;
+}next[1] = i + 1;
+var s = line.substring (pt + 1, i);
+return (haveEscape ? JU.PT.rep (JU.PT.rep (s, "\"\"", "\0"), "\0", "\"") : s);
+}, "~S,~A");
+c$.isOneOf = Clazz.defineMethod (c$, "isOneOf", 
+function (key, semiList) {
+if (semiList.length == 0) return false;
+if (semiList.charAt (0) != ';') semiList = ";" + semiList + ";";
+return key.indexOf (";") < 0 && semiList.indexOf (';' + key + ';') >= 0;
+}, "~S,~S");
+c$.getQuotedAttribute = Clazz.defineMethod (c$, "getQuotedAttribute", 
+function (info, name) {
+var i = info.indexOf (name + "=");
+return (i < 0 ? null : JU.PT.getQuotedStringAt (info, i));
+}, "~S,~S");
+c$.approx = Clazz.defineMethod (c$, "approx", 
+function (f, n) {
+return Math.round (f * n) / n;
+}, "~N,~N");
+c$.rep = Clazz.defineMethod (c$, "rep", 
+function (str, strFrom, strTo) {
+if (str == null || strFrom.length == 0 || str.indexOf (strFrom) < 0) return str;
+var isOnce = (strTo.indexOf (strFrom) >= 0);
+do {
+str = str.$replace (strFrom, strTo);
+} while (!isOnce && str.indexOf (strFrom) >= 0);
+return str;
+}, "~S,~S,~S");
+c$.formatF = Clazz.defineMethod (c$, "formatF", 
+function (value, width, precision, alignLeft, zeroPad) {
+return JU.PT.formatS (JU.DF.formatDecimal (value, precision), width, 0, alignLeft, zeroPad);
+}, "~N,~N,~N,~B,~B");
+c$.formatD = Clazz.defineMethod (c$, "formatD", 
+function (value, width, precision, alignLeft, zeroPad, allowOverflow) {
+return JU.PT.formatS (JU.DF.formatDecimal (value, -1 - precision), width, 0, alignLeft, zeroPad);
+}, "~N,~N,~N,~B,~B,~B");
+c$.formatS = Clazz.defineMethod (c$, "formatS", 
+function (value, width, precision, alignLeft, zeroPad) {
+if (value == null) return "";
+var len = value.length;
+if (precision != 2147483647 && precision > 0 && precision < len) value = value.substring (0, precision);
+ else if (precision < 0 && len + precision >= 0) value = value.substring (len + precision + 1);
+var padLength = width - value.length;
+if (padLength <= 0) return value;
+var isNeg = (zeroPad && !alignLeft && value.charAt (0) == '-');
+var padChar = (zeroPad ? '0' : ' ');
+var padChar0 = (isNeg ? '-' : padChar);
+var sb =  new JU.SB ();
+if (alignLeft) sb.append (value);
+sb.appendC (padChar0);
+for (var i = padLength; --i > 0; ) sb.appendC (padChar);
+
+if (!alignLeft) sb.append (isNeg ? padChar + value.substring (1) : value);
+return sb.toString ();
+}, "~S,~N,~N,~B,~B");
+c$.replaceWithCharacter = Clazz.defineMethod (c$, "replaceWithCharacter", 
+function (str, strFrom, chTo) {
+if (str == null) return null;
+for (var i = strFrom.length; --i >= 0; ) str = str.$replace (strFrom.charAt (i), chTo);
+
+return str;
+}, "~S,~S,~S");
+c$.replaceAllCharacters = Clazz.defineMethod (c$, "replaceAllCharacters", 
+function (str, strFrom, strTo) {
+for (var i = strFrom.length; --i >= 0; ) {
+var chFrom = strFrom.substring (i, i + 1);
+str = JU.PT.rep (str, chFrom, strTo);
+}
+return str;
+}, "~S,~S,~S");
+c$.trim = Clazz.defineMethod (c$, "trim", 
+function (str, chars) {
+if (chars.length == 0) return str.trim ();
+var len = str.length;
+var k = 0;
+while (k < len && chars.indexOf (str.charAt (k)) >= 0) k++;
+
+var m = str.length - 1;
+while (m > k && chars.indexOf (str.charAt (m)) >= 0) m--;
+
+return str.substring (k, m + 1);
+}, "~S,~S");
+c$.trimQuotes = Clazz.defineMethod (c$, "trimQuotes", 
+function (value) {
+return (value != null && value.length > 1 && value.startsWith ("\"") && value.endsWith ("\"") ? value.substring (1, value.length - 1) : value);
+}, "~S");
+c$.isNonStringPrimitive = Clazz.defineMethod (c$, "isNonStringPrimitive", 
+function (info) {
+return Clazz.instanceOf (info, Number) || Clazz.instanceOf (info, Boolean);
+}, "~O");
+c$.arrayGet = Clazz.defineMethod (c$, "arrayGet", 
+ function (info, i) {
+{
+return info[i];
+}}, "~O,~N");
+c$.toJSON = Clazz.defineMethod (c$, "toJSON", 
+function (infoType, info) {
+if (info == null) return JU.PT.packageJSON (infoType, null);
+if (JU.PT.isNonStringPrimitive (info)) return JU.PT.packageJSON (infoType, info.toString ());
+var s = null;
+var sb = null;
+while (true) {
+if (Clazz.instanceOf (info, String)) {
+s = info;
+{
+if (typeof s == "undefined") s = "null"
+}if (s.indexOf ("{\"") != 0) {
+s = JU.PT.rep (s, "\"", "\\\"");
+s = JU.PT.rep (s, "\n", "\\n");
+s = "\"" + s + "\"";
+}break;
+}if (Clazz.instanceOf (info, javajs.api.JSONEncodable)) {
+if ((s = (info).toJSON ()) == null) s = "null";
+break;
+}sb =  new JU.SB ();
+if (Clazz.instanceOf (info, java.util.Map)) {
+sb.append ("{ ");
+var sep = "";
+for (var key, $key = (info).keySet ().iterator (); $key.hasNext () && ((key = $key.next ()) || true);) {
+sb.append (sep).append (JU.PT.packageJSON (key, JU.PT.toJSON (null, (info).get (key))));
+sep = ",";
+}
+sb.append (" }");
+break;
+}if (Clazz.instanceOf (info, JU.Lst)) {
+sb.append ("[ ");
+var n = (info).size ();
+for (var i = 0; i < n; i++) {
+if (i > 0) sb.appendC (',');
+sb.append (JU.PT.toJSON (null, (info).get (i)));
+}
+sb.append (" ]");
+break;
+}if (Clazz.instanceOf (info, JU.M34)) {
+var len = (Clazz.instanceOf (info, JU.M4) ? 4 : 3);
+var x =  Clazz.newFloatArray (len, 0);
+var m = info;
+sb.appendC ('[');
+for (var i = 0; i < len; i++) {
+if (i > 0) sb.appendC (',');
+m.getRow (i, x);
+sb.append (JU.PT.toJSON (null, x));
+}
+sb.appendC (']');
+break;
+}s = JU.PT.nonArrayString (info);
+if (s == null) {
+sb.append ("[");
+var n = JU.AU.getLength (info);
+for (var i = 0; i < n; i++) {
+if (i > 0) sb.appendC (',');
+sb.append (JU.PT.toJSON (null, JU.PT.arrayGet (info, i)));
+}
+sb.append ("]");
+break;
+}info = info.toString ();
+}
+return JU.PT.packageJSON (infoType, (s == null ? sb.toString () : s));
+}, "~S,~O");
+c$.nonArrayString = Clazz.defineMethod (c$, "nonArrayString", 
+function (x) {
+{
+var s = x.toString(); return (s.startsWith("[object") &&
+s.endsWith("Array]") ? null : s);
+}}, "~O");
+c$.byteArrayToJSON = Clazz.defineMethod (c$, "byteArrayToJSON", 
+function (data) {
+var sb =  new JU.SB ();
+sb.append ("[");
+var n = data.length;
+for (var i = 0; i < n; i++) {
+if (i > 0) sb.appendC (',');
+sb.appendI (data[i] & 0xFF);
+}
+sb.append ("]");
+return sb.toString ();
+}, "~A");
+c$.packageJSON = Clazz.defineMethod (c$, "packageJSON", 
+function (infoType, info) {
+return (infoType == null ? info : "\"" + infoType + "\": " + info);
+}, "~S,~S");
+c$.isAS = Clazz.defineMethod (c$, "isAS", 
+function (x) {
+{
+return Clazz.isAS(x);
+}}, "~O");
+c$.isASS = Clazz.defineMethod (c$, "isASS", 
+function (x) {
+{
+return Clazz.isASS(x);
+}}, "~O");
+c$.isAP = Clazz.defineMethod (c$, "isAP", 
+function (x) {
+{
+return Clazz.isAP(x);
+}}, "~O");
+c$.isAF = Clazz.defineMethod (c$, "isAF", 
+function (x) {
+{
+return Clazz.isAF(x);
+}}, "~O");
+c$.isAFloat = Clazz.defineMethod (c$, "isAFloat", 
+function (x) {
+{
+return Clazz.isAFloat(x);
+}}, "~O");
+c$.isAD = Clazz.defineMethod (c$, "isAD", 
+function (x) {
+{
+return Clazz.isAF(x);
+}}, "~O");
+c$.isADD = Clazz.defineMethod (c$, "isADD", 
+function (x) {
+{
+return Clazz.isAFF(x);
+}}, "~O");
+c$.isAB = Clazz.defineMethod (c$, "isAB", 
+function (x) {
+{
+return Clazz.isAI(x);
+}}, "~O");
+c$.isAI = Clazz.defineMethod (c$, "isAI", 
+function (x) {
+{
+return Clazz.isAI(x);
+}}, "~O");
+c$.isAII = Clazz.defineMethod (c$, "isAII", 
+function (x) {
+{
+return Clazz.isAII(x);
+}}, "~O");
+c$.isAFF = Clazz.defineMethod (c$, "isAFF", 
+function (x) {
+{
+return Clazz.isAFF(x);
+}}, "~O");
+c$.isAFFF = Clazz.defineMethod (c$, "isAFFF", 
+function (x) {
+{
+return Clazz.isAFFF(x);
+}}, "~O");
+c$.escapeUrl = Clazz.defineMethod (c$, "escapeUrl", 
+function (url) {
+url = JU.PT.rep (url, "\n", "");
+url = JU.PT.rep (url, "%", "%25");
+url = JU.PT.rep (url, "#", "%23");
+url = JU.PT.rep (url, "[", "%5B");
+url = JU.PT.rep (url, "]", "%5D");
+url = JU.PT.rep (url, " ", "%20");
+return url;
+}, "~S");
+c$.esc = Clazz.defineMethod (c$, "esc", 
+function (str) {
+if (str == null || str.length == 0) return "\"\"";
+var haveEscape = false;
+var i = 0;
+for (; i < "\\\\\tt\rr\nn\"\"".length; i += 2) if (str.indexOf ("\\\\\tt\rr\nn\"\"".charAt (i)) >= 0) {
+haveEscape = true;
+break;
+}
+if (haveEscape) while (i < "\\\\\tt\rr\nn\"\"".length) {
+var pt = -1;
+var ch = "\\\\\tt\rr\nn\"\"".charAt (i++);
+var ch2 = "\\\\\tt\rr\nn\"\"".charAt (i++);
+var sb =  new JU.SB ();
+var pt0 = 0;
+while ((pt = str.indexOf (ch, pt + 1)) >= 0) {
+sb.append (str.substring (pt0, pt)).appendC ('\\').appendC (ch2);
+pt0 = pt + 1;
+}
+sb.append (str.substring (pt0, str.length));
+str = sb.toString ();
+}
+return "\"" + JU.PT.escUnicode (str) + "\"";
+}, "~S");
+c$.escUnicode = Clazz.defineMethod (c$, "escUnicode", 
+function (str) {
+for (var i = str.length; --i >= 0; ) if (str.charCodeAt (i) > 0x7F) {
+var s = "0000" + Integer.toHexString (str.charCodeAt (i));
+str = str.substring (0, i) + "\\u" + s.substring (s.length - 4) + str.substring (i + 1);
+}
+return str;
+}, "~S");
+c$.escF = Clazz.defineMethod (c$, "escF", 
+function (f) {
+var sf = "" + f;
+{
+if (sf.indexOf(".") < 0 && sf.indexOf("e") < 0)
+sf += ".0";
+}return sf;
+}, "~N");
+c$.join = Clazz.defineMethod (c$, "join", 
+function (s, c, i0) {
+if (s.length < i0) return null;
+var sb =  new JU.SB ();
+sb.append (s[i0++]);
+for (var i = i0; i < s.length; i++) sb.appendC (c).append (s[i]);
+
+return sb.toString ();
+}, "~A,~S,~N");
+c$.isLike = Clazz.defineMethod (c$, "isLike", 
+function (a, b) {
+var areEqual = a.equals (b);
+if (areEqual) return true;
+var isStart = b.startsWith ("*");
+var isEnd = b.endsWith ("*");
+return (!isStart && !isEnd) ? areEqual : isStart && isEnd ? b.length == 1 || a.contains (b.substring (1, b.length - 1)) : isStart ? a.endsWith (b.substring (1)) : a.startsWith (b.substring (0, b.length - 1));
+}, "~S,~S");
+c$.getMapValueNoCase = Clazz.defineMethod (c$, "getMapValueNoCase", 
+function (h, key) {
+if ("this".equals (key)) return h;
+var val = h.get (key);
+if (val == null) for (var e, $e = h.entrySet ().iterator (); $e.hasNext () && ((e = $e.next ()) || true);) if (e.getKey ().equalsIgnoreCase (key)) return e.getValue ();
+
+return val;
+}, "java.util.Map,~S");
+c$.getMapSubset = Clazz.defineMethod (c$, "getMapSubset", 
+function (h, key, h2) {
+var val = h.get (key);
+if (val != null) {
+h2.put (key, val);
+return;
+}for (var e, $e = h.entrySet ().iterator (); $e.hasNext () && ((e = $e.next ()) || true);) {
+var k = e.getKey ();
+if (JU.PT.isLike (k, key)) h2.put (k, e.getValue ());
+}
+}, "java.util.Map,~S,java.util.Map");
+c$.clean = Clazz.defineMethod (c$, "clean", 
+function (s) {
+return JU.PT.rep (JU.PT.replaceAllCharacters (s, " \t\n\r", " "), "  ", " ").trim ();
+}, "~S");
+c$.fdup = Clazz.defineMethod (c$, "fdup", 
+function (f, pt, n) {
+var ch;
+var count = 0;
+for (var i = pt; --i >= 1; ) {
+if (JU.PT.isDigit (ch = f.charAt (i))) continue;
+switch (ch) {
+case '.':
+if (count++ != 0) return f;
+continue;
+case '-':
+if (i != 1 && f.charAt (i - 1) != '.') return f;
+continue;
+default:
+return f;
+}
+}
+var s = f.substring (0, pt + 1);
+var sb =  new JU.SB ();
+for (var i = 0; i < n; i++) sb.append (s);
+
+sb.append (f.substring (pt + 1));
+return sb.toString ();
+}, "~S,~N,~N");
+c$.formatString = Clazz.defineMethod (c$, "formatString", 
+function (strFormat, key, strT, floatT, doubleT, doOne) {
+if (strFormat == null) return null;
+if ("".equals (strFormat)) return "";
+var len = key.length;
+if (strFormat.indexOf ("%") < 0 || len == 0 || strFormat.indexOf (key) < 0) return strFormat;
+var strLabel = "";
+var ich;
+var ichPercent;
+var ichKey;
+for (ich = 0; (ichPercent = strFormat.indexOf ('%', ich)) >= 0 && (ichKey = strFormat.indexOf (key, ichPercent + 1)) >= 0; ) {
+if (ich != ichPercent) strLabel += strFormat.substring (ich, ichPercent);
+ich = ichPercent + 1;
+if (ichKey > ichPercent + 6) {
+strLabel += '%';
+continue;
+}try {
+var alignLeft = false;
+if (strFormat.charAt (ich) == '-') {
+alignLeft = true;
+++ich;
+}var zeroPad = false;
+if (strFormat.charAt (ich) == '0') {
+zeroPad = true;
+++ich;
+}var ch;
+var width = 0;
+while ((ch = strFormat.charAt (ich)) >= '0' && (ch <= '9')) {
+width = (10 * width) + (ch.charCodeAt (0) - 48);
+++ich;
+}
+var precision = 2147483647;
+var isExponential = false;
+if (strFormat.charAt (ich) == '.') {
+++ich;
+if ((ch = strFormat.charAt (ich)) == '-') {
+isExponential = true;
+++ich;
+}if ((ch = strFormat.charAt (ich)) >= '0' && ch <= '9') {
+precision = ch.charCodeAt (0) - 48;
+++ich;
+}if (isExponential) precision = -precision - (strT == null ? 1 : 0);
+}var st = strFormat.substring (ich, ich + len);
+if (!st.equals (key)) {
+ich = ichPercent + 1;
+strLabel += '%';
+continue;
+}ich += len;
+if (!Float.isNaN (floatT)) strLabel += JU.PT.formatF (floatT, width, precision, alignLeft, zeroPad);
+ else if (strT != null) strLabel += JU.PT.formatS (strT, width, precision, alignLeft, zeroPad);
+ else if (!Double.isNaN (doubleT)) strLabel += JU.PT.formatD (doubleT, width, precision, alignLeft, zeroPad, true);
+if (doOne) break;
+} catch (ioobe) {
+if (Clazz.exceptionOf (ioobe, IndexOutOfBoundsException)) {
+ich = ichPercent;
+break;
+} else {
+throw ioobe;
+}
+}
+}
+strLabel += strFormat.substring (ich);
+return strLabel;
+}, "~S,~S,~S,~N,~N,~B");
+c$.formatStringS = Clazz.defineMethod (c$, "formatStringS", 
+function (strFormat, key, strT) {
+return JU.PT.formatString (strFormat, key, strT, NaN, NaN, false);
+}, "~S,~S,~S");
+c$.formatStringF = Clazz.defineMethod (c$, "formatStringF", 
+function (strFormat, key, floatT) {
+return JU.PT.formatString (strFormat, key, null, floatT, NaN, false);
+}, "~S,~S,~N");
+c$.formatStringI = Clazz.defineMethod (c$, "formatStringI", 
+function (strFormat, key, intT) {
+return JU.PT.formatString (strFormat, key, "" + intT, NaN, NaN, false);
+}, "~S,~S,~N");
+c$.sprintf = Clazz.defineMethod (c$, "sprintf", 
+function (strFormat, list, values) {
+if (values == null) return strFormat;
+var n = list.length;
+if (n == values.length) try {
+for (var o = 0; o < n; o++) {
+if (values[o] == null) continue;
+switch (list.charAt (o)) {
+case 's':
+strFormat = JU.PT.formatString (strFormat, "s", values[o], NaN, NaN, true);
+break;
+case 'f':
+strFormat = JU.PT.formatString (strFormat, "f", null, (values[o]).floatValue (), NaN, true);
+break;
+case 'i':
+strFormat = JU.PT.formatString (strFormat, "d", "" + values[o], NaN, NaN, true);
+strFormat = JU.PT.formatString (strFormat, "i", "" + values[o], NaN, NaN, true);
+break;
+case 'd':
+strFormat = JU.PT.formatString (strFormat, "e", null, NaN, (values[o]).doubleValue (), true);
+break;
+case 'p':
+var pVal = values[o];
+strFormat = JU.PT.formatString (strFormat, "p", null, pVal.x, NaN, true);
+strFormat = JU.PT.formatString (strFormat, "p", null, pVal.y, NaN, true);
+strFormat = JU.PT.formatString (strFormat, "p", null, pVal.z, NaN, true);
+break;
+case 'q':
+var qVal = values[o];
+strFormat = JU.PT.formatString (strFormat, "q", null, qVal.x, NaN, true);
+strFormat = JU.PT.formatString (strFormat, "q", null, qVal.y, NaN, true);
+strFormat = JU.PT.formatString (strFormat, "q", null, qVal.z, NaN, true);
+strFormat = JU.PT.formatString (strFormat, "q", null, qVal.w, NaN, true);
+break;
+case 'S':
+var sVal = values[o];
+for (var i = 0; i < sVal.length; i++) strFormat = JU.PT.formatString (strFormat, "s", sVal[i], NaN, NaN, true);
+
+break;
+case 'F':
+var fVal = values[o];
+for (var i = 0; i < fVal.length; i++) strFormat = JU.PT.formatString (strFormat, "f", null, fVal[i], NaN, true);
+
+break;
+case 'I':
+var iVal = values[o];
+for (var i = 0; i < iVal.length; i++) strFormat = JU.PT.formatString (strFormat, "d", "" + iVal[i], NaN, NaN, true);
+
+for (var i = 0; i < iVal.length; i++) strFormat = JU.PT.formatString (strFormat, "i", "" + iVal[i], NaN, NaN, true);
+
+break;
+case 'D':
+var dVal = values[o];
+for (var i = 0; i < dVal.length; i++) strFormat = JU.PT.formatString (strFormat, "e", null, NaN, dVal[i], true);
+
+}
+}
+return JU.PT.rep (strFormat, "%%", "%");
+} catch (e) {
+if (Clazz.exceptionOf (e, Exception)) {
+} else {
+throw e;
+}
+}
+System.out.println ("TextFormat.sprintf error " + list + " " + strFormat);
+return JU.PT.rep (strFormat, "%", "?");
+}, "~S,~S,~A");
+c$.formatCheck = Clazz.defineMethod (c$, "formatCheck", 
+function (strFormat) {
+if (strFormat == null || strFormat.indexOf ('p') < 0 && strFormat.indexOf ('q') < 0) return strFormat;
+strFormat = JU.PT.rep (strFormat, "%%", "\1");
+strFormat = JU.PT.rep (strFormat, "%p", "%6.2p");
+strFormat = JU.PT.rep (strFormat, "%q", "%6.2q");
+var format = JU.PT.split (strFormat, "%");
+var sb =  new JU.SB ();
+sb.append (format[0]);
+for (var i = 1; i < format.length; i++) {
+var f = "%" + format[i];
+var pt;
+if (f.length >= 3) {
+if ((pt = f.indexOf ('p')) >= 0) f = JU.PT.fdup (f, pt, 3);
+if ((pt = f.indexOf ('q')) >= 0) f = JU.PT.fdup (f, pt, 4);
+}sb.append (f);
+}
+return sb.toString ().$replace ('\1', '%');
+}, "~S");
+c$.leftJustify = Clazz.defineMethod (c$, "leftJustify", 
+function (s, s1, s2) {
+s.append (s2);
+var n = s1.length - s2.length;
+if (n > 0) s.append (s1.substring (0, n));
+}, "JU.SB,~S,~S");
+c$.rightJustify = Clazz.defineMethod (c$, "rightJustify", 
+function (s, s1, s2) {
+var n = s1.length - s2.length;
+if (n > 0) s.append (s1.substring (0, n));
+s.append (s2);
+}, "JU.SB,~S,~S");
+c$.safeTruncate = Clazz.defineMethod (c$, "safeTruncate", 
+function (f, n) {
+if (f > -0.001 && f < 0.001) f = 0;
+return (f + "         ").substring (0, n);
+}, "~N,~N");
+c$.isWild = Clazz.defineMethod (c$, "isWild", 
+function (s) {
+return s != null && (s.indexOf ("*") >= 0 || s.indexOf ("?") >= 0);
+}, "~S");
+c$.isMatch = Clazz.defineMethod (c$, "isMatch", 
+function (search, match, checkStar, allowInitialStar) {
+if (search.equals (match)) return true;
+var mLen = match.length;
+if (mLen == 0) return false;
+var isStar0 = (checkStar && allowInitialStar ? match.charAt (0) == '*' : false);
+if (mLen == 1 && isStar0) return true;
+var isStar1 = (checkStar && match.endsWith ("*"));
+var haveQ = (match.indexOf ('?') >= 0);
+if (!haveQ) {
+if (isStar0) return (isStar1 ? (mLen < 3 || search.indexOf (match.substring (1, mLen - 1)) >= 0) : search.endsWith (match.substring (1)));
+ else if (isStar1) return search.startsWith (match.substring (0, mLen - 1));
+}var sLen = search.length;
+var qqqq = "????";
+var nq = 4;
+while (nq < sLen) {
+qqqq += qqqq;
+nq += 4;
+}
+if (checkStar) {
+if (isStar0) {
+match = qqqq + match.substring (1);
+mLen += nq - 1;
+}if (isStar1) {
+match = match.substring (0, mLen - 1) + qqqq;
+mLen += nq - 1;
+}}if (mLen < sLen) return false;
+var ich = 0;
+while (mLen > sLen) {
+if (allowInitialStar && match.charAt (ich) == '?') {
+++ich;
+} else if (match.charAt (ich + mLen - 1) != '?') {
+return false;
+}--mLen;
+}
+for (var i = sLen; --i >= 0; ) {
+var chm = match.charAt (ich + i);
+if (chm == '?') continue;
+var chs = search.charAt (i);
+if (chm != chs && (chm != '\1' || chs != '?')) return false;
+}
+return true;
+}, "~S,~S,~B,~B");
+c$.replaceQuotedStrings = Clazz.defineMethod (c$, "replaceQuotedStrings", 
+function (s, list, newList) {
+var n = list.size ();
+for (var i = 0; i < n; i++) {
+var name = list.get (i);
+var newName = newList.get (i);
+if (!newName.equals (name)) s = JU.PT.rep (s, "\"" + name + "\"", "\"" + newName + "\"");
+}
+return s;
+}, "~S,JU.Lst,JU.Lst");
+c$.replaceStrings = Clazz.defineMethod (c$, "replaceStrings", 
+function (s, list, newList) {
+var n = list.size ();
+for (var i = 0; i < n; i++) {
+var name = list.get (i);
+var newName = newList.get (i);
+if (!newName.equals (name)) s = JU.PT.rep (s, name, newName);
+}
+return s;
+}, "~S,JU.Lst,JU.Lst");
+c$.isDigit = Clazz.defineMethod (c$, "isDigit", 
+function (ch) {
+var c = (ch).charCodeAt (0);
+return (48 <= c && c <= 57);
+}, "~S");
+c$.isUpperCase = Clazz.defineMethod (c$, "isUpperCase", 
+function (ch) {
+var c = (ch).charCodeAt (0);
+return (65 <= c && c <= 90);
+}, "~S");
+c$.isLowerCase = Clazz.defineMethod (c$, "isLowerCase", 
+function (ch) {
+var c = (ch).charCodeAt (0);
+return (97 <= c && c <= 122);
+}, "~S");
+c$.isLetter = Clazz.defineMethod (c$, "isLetter", 
+function (ch) {
+var c = (ch).charCodeAt (0);
+return (65 <= c && c <= 90 || 97 <= c && c <= 122);
+}, "~S");
+c$.isLetterOrDigit = Clazz.defineMethod (c$, "isLetterOrDigit", 
+function (ch) {
+var c = (ch).charCodeAt (0);
+return (65 <= c && c <= 90 || 97 <= c && c <= 122 || 48 <= c && c <= 57);
+}, "~S");
+c$.isWhitespace = Clazz.defineMethod (c$, "isWhitespace", 
+function (ch) {
+var c = (ch).charCodeAt (0);
+return (c >= 0x1c && c <= 0x20 || c >= 0x9 && c <= 0xd);
+}, "~S");
+c$.fixPtFloats = Clazz.defineMethod (c$, "fixPtFloats", 
+function (pt, f) {
+pt.x = Math.round (pt.x * f) / f;
+pt.y = Math.round (pt.y * f) / f;
+pt.z = Math.round (pt.z * f) / f;
+}, "JU.T3,~N");
+c$.fixDouble = Clazz.defineMethod (c$, "fixDouble", 
+function (d, f) {
+return Math.round (d * f) / f;
+}, "~N,~N");
+c$.parseFloatFraction = Clazz.defineMethod (c$, "parseFloatFraction", 
+function (s) {
+var pt = s.indexOf ("/");
+return (pt < 0 ? JU.PT.parseFloat (s) : JU.PT.parseFloat (s.substring (0, pt)) / JU.PT.parseFloat (s.substring (pt + 1)));
+}, "~S");
+Clazz.defineStatics (c$,
+"tensScale",  Clazz.newFloatArray (-1, [10, 100, 1000, 10000, 100000, 1000000]),
+"decimalScale",  Clazz.newFloatArray (-1, [0.1, 0.01, 0.001, 0.0001, 0.00001, 0.000001, 0.0000001, 0.00000001, 0.000000001]),
+"FLOAT_MIN_SAFE", 2E-45,
+"escapable", "\\\\\tt\rr\nn\"\"",
+"FRACTIONAL_PRECISION", 100000,
+"CARTESIAN_PRECISION", 10000);
+});