@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
49 lines (48 loc) • 12.6 kB
JavaScript
// src/data-types/standard/decimal.ts
import {
CBOR_TAG_DECIMAL
} from "../encodable/index.mjs";
import { Big } from "big.js";
import { defineAsDecimal } from "../_internals/define.mjs";
var Decimal = /* @__PURE__ */ Big();
/* @__PURE__ */ defineAsDecimal(Decimal.prototype);
/* @__PURE__ */ Object.assign(Decimal.prototype, {
[Symbol.toPrimitive](hint) {
switch (hint) {
case "number":
return this.toNumber();
case "string":
case "default":
return this.toString();
default:
throw TypeError("Invalid hint: " + String(hint));
}
},
toCBOR() {
return [
CBOR_TAG_DECIMAL,
this.toString()
];
},
toSurql() {
return this.toString() + "dec";
},
toPlainObject() {
return {
sign: this.s,
value: this.toString(),
exponent: this.e,
singleDigits: this.c.slice()
// copy
};
},
clone() {
const This = this.constructor;
return new This(this.toString());
}
});
var decimal_default = Decimal;
export {
decimal_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RhdGEtdHlwZXMvc3RhbmRhcmQvZGVjaW1hbC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHtcbiAgQ0JPUl9UQUdfREVDSU1BTCxcbiAgdHlwZSBFbmNvZGFibGUsXG59IGZyb20gXCJAdGFpLWt1bi9zdXJyZWFsZGIvZW5jb2RhYmxlLWRhdGF0eXBlc1wiO1xuaW1wb3J0IHsgQmlnIH0gZnJvbSBcImJpZy5qc1wiO1xuaW1wb3J0IHsgZGVmaW5lQXNEZWNpbWFsIH0gZnJvbSBcIi4uL19pbnRlcm5hbHMvZGVmaW5lXCI7XG5cbmV4cG9ydCB0eXBlIERlY2ltYWxSb3VuZGluZ01vZGUgPSAwIHwgMSB8IDIgfCAzO1xuXG5leHBvcnQgaW50ZXJmYWNlIERlY2ltYWxDb25zdHJ1Y3RvciB7XG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gQ09OU1RSVUNUT1IgICAgICAgICAgICAgICAgICAgICAgICAgICAvL1xuICAvLyBodHRwczovL21pa2VtY2wuZ2l0aHViLmlvL2JpZy5qcy8jYmlnIC8vXG4gIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAvKipcbiAgICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vbWlrZW1jbC5naXRodWIuaW8vYmlnLmpzLyNiaWcpXG4gICAqL1xuICBuZXcoc291cmNlOiBzdHJpbmcgfCBudW1iZXIgfCBEZWNpbWFsKTogRGVjaW1hbDtcblxuICAvKipcbiAgICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vbWlrZW1jbC5naXRodWIuaW8vYmlnLmpzLyNiaWcpXG4gICAqL1xuICAoc291cmNlOiBzdHJpbmcgfCBudW1iZXIgfCBEZWNpbWFsKTogRGVjaW1hbDtcblxuICAvKipcbiAgICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vbWlrZW1jbC5naXRodWIuaW8vYmlnLmpzLyNiaWcpXG4gICAqL1xuICAoc291cmNlPzogdW5kZWZpbmVkKTogRGVjaW1hbENvbnN0cnVjdG9yO1xuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI2RwKVxuICAgKi9cbiAgRFA6IG51bWJlcjtcblxuICAvKipcbiAgICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vbWlrZW1jbC5naXRodWIuaW8vYmlnLmpzLyNybSlcbiAgICovXG4gIFJNOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL21pa2VtY2wuZ2l0aHViLmlvL2JpZy5qcy8jZW5lZylcbiAgICovXG4gIE5FOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL21pa2VtY2wuZ2l0aHViLmlvL2JpZy5qcy8jZXBvcylcbiAgICovXG4gIFBFOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL21pa2VtY2wuZ2l0aHViLmlvL2JpZy5qcy8jc3RyaWN0KVxuICAgKi9cbiAgc3RyaWN0OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI3JtKVxuICAgKi9cbiAgcmVhZG9ubHkgcm91bmREb3duOiAwO1xuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI3JtKVxuICAgKi9cbiAgcmVhZG9ubHkgcm91bmRIYWxmVXA6IDE7XG5cbiAgLyoqXG4gICAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL21pa2VtY2wuZ2l0aHViLmlvL2JpZy5qcy8jcm0pXG4gICAqL1xuICByZWFkb25seSByb3VuZEhhbGZFdmVuOiAyO1xuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI3JtKVxuICAgKi9cbiAgcmVhZG9ubHkgcm91bmRVcDogMztcbn1cblxuaW50ZXJmYWNlIERlY2ltYWwgZXh0ZW5kcyBFbmNvZGFibGUge1xuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gTUVUSE9EUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vXG4gIC8vIGh0dHBzOi8vbWlrZW1jbC5naXRodWIuaW8vYmlnLmpzLyNwcm90b3R5cGUtbWV0aG9kcyAvL1xuICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAvKipcbiAgICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vbWlrZW1jbC5naXRodWIuaW8vYmlnLmpzLyNhYnMpXG4gICAqL1xuICBhYnMoKTogdGhpcztcblxuICAvKipcbiAgICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vbWlrZW1jbC5naXRodWIuaW8vYmlnLmpzLyNhZGQpXG4gICAqL1xuICBhZGQobjogc3RyaW5nIHwgbnVtYmVyIHwgRGVjaW1hbCk6IHRoaXM7XG5cbiAgLyoqXG4gICAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL21pa2VtY2wuZ2l0aHViLmlvL2JpZy5qcy8jY21wKVxuICAgKi9cbiAgY21wKG46IHN0cmluZyB8IG51bWJlciB8IERlY2ltYWwpOiAtMSB8IDAgfCAxO1xuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI2RpdilcbiAgICovXG4gIGRpdihuOiBzdHJpbmcgfCBudW1iZXIgfCBEZWNpbWFsKTogdGhpcztcblxuICAvKipcbiAgICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vbWlrZW1jbC5naXRodWIuaW8vYmlnLmpzLyNlcSlcbiAgICovXG4gIGVxKG46IHN0cmluZyB8IG51bWJlciB8IERlY2ltYWwpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI2d0KVxuICAgKi9cbiAgZ3Qobjogc3RyaW5nIHwgbnVtYmVyIHwgRGVjaW1hbCk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL21pa2VtY2wuZ2l0aHViLmlvL2JpZy5qcy8jZ3RlKVxuICAgKi9cbiAgZ3RlKG46IHN0cmluZyB8IG51bWJlciB8IERlY2ltYWwpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI2x0KVxuICAgKi9cbiAgbHQobjogc3RyaW5nIHwgbnVtYmVyIHwgRGVjaW1hbCk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL21pa2VtY2wuZ2l0aHViLmlvL2JpZy5qcy8jbHRlKVxuICAgKi9cbiAgbHRlKG46IHN0cmluZyB8IG51bWJlciB8IERlY2ltYWwpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI21pbnVzKVxuICAgKi9cbiAgbWludXMobjogc3RyaW5nIHwgbnVtYmVyIHwgRGVjaW1hbCk6IHRoaXM7XG5cbiAgLyoqXG4gICAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL21pa2VtY2wuZ2l0aHViLmlvL2JpZy5qcy8jbW9kKVxuICAgKi9cbiAgbW9kKG46IHN0cmluZyB8IG51bWJlciB8IERlY2ltYWwpOiB0aGlzO1xuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI211bClcbiAgICovXG4gIG11bChuOiBzdHJpbmcgfCBudW1iZXIgfCBEZWNpbWFsKTogdGhpcztcblxuICAvKipcbiAgICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vbWlrZW1jbC5naXRodWIuaW8vYmlnLmpzLyNuZWcpXG4gICAqL1xuICBuZWcoKTogdGhpcztcblxuICAvKipcbiAgICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vbWlrZW1jbC5naXRodWIuaW8vYmlnLmpzLyNwbHVzKVxuICAgKi9cbiAgcGx1cyhuOiBzdHJpbmcgfCBudW1iZXIgfCBEZWNpbWFsKTogdGhpcztcblxuICAvKipcbiAgICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vbWlrZW1jbC5naXRodWIuaW8vYmlnLmpzLyNwb3cpXG4gICAqL1xuICBwb3coZXhwOiBudW1iZXIpOiB0aGlzO1xuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI3ByZWMpXG4gICAqL1xuICBwcmVjKHNkOiBudW1iZXIsIHJtPzogRGVjaW1hbFJvdW5kaW5nTW9kZSk6IHRoaXM7XG5cbiAgLyoqXG4gICAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL21pa2VtY2wuZ2l0aHViLmlvL2JpZy5qcy8jcm91bmQpXG4gICAqL1xuICByb3VuZChkcD86IG51bWJlciwgcm0/OiBEZWNpbWFsUm91bmRpbmdNb2RlKTogdGhpcztcblxuICAvKipcbiAgICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vbWlrZW1jbC5naXRodWIuaW8vYmlnLmpzLyNzcXJ0KVxuICAgKi9cbiAgc3FydCgpOiB0aGlzO1xuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI3N1YilcbiAgICovXG4gIHN1YihuOiBzdHJpbmcgfCBudW1iZXIgfCBEZWNpbWFsKTogdGhpcztcblxuICAvKipcbiAgICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vbWlrZW1jbC5naXRodWIuaW8vYmlnLmpzLyN0aW1lcylcbiAgICovXG4gIHRpbWVzKG46IHN0cmluZyB8IG51bWJlciB8IERlY2ltYWwpOiB0aGlzO1xuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI3RvRXhwb25lbnRpYWwpXG4gICAqL1xuICB0b0V4cG9uZW50aWFsKGRwPzogbnVtYmVyLCBybT86IERlY2ltYWxSb3VuZGluZ01vZGUpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL21pa2VtY2wuZ2l0aHViLmlvL2JpZy5qcy8jdG9GaXhlZClcbiAgICovXG4gIHRvRml4ZWQoZHA/OiBudW1iZXIsIHJtPzogRGVjaW1hbFJvdW5kaW5nTW9kZSk6IHN0cmluZztcblxuICAvKipcbiAgICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vbWlrZW1jbC5naXRodWIuaW8vYmlnLmpzLyN0b1ByZWNpc2lvbilcbiAgICovXG4gIHRvUHJlY2lzaW9uKHNkPzogbnVtYmVyLCBybT86IERlY2ltYWxSb3VuZGluZ01vZGUpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL21pa2VtY2wuZ2l0aHViLmlvL2JpZy5qcy8jdG9TdHJpbmcpXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL21pa2VtY2wuZ2l0aHViLmlvL2JpZy5qcy8jdG9OdW1iZXIpXG4gICAqL1xuICB0b051bWJlcigpOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL21pa2VtY2wuZ2l0aHViLmlvL2JpZy5qcy8jdmFsdWVPZilcbiAgICovXG4gIHZhbHVlT2YoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI3RvSlNPTilcbiAgICovXG4gIHRvSlNPTigpOiBzdHJpbmc7XG5cbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gUFJPUEVSVElFUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9cbiAgLy8gaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI2luc3RhbmNlLXByb3BlcnRpZXMgLy9cbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICAvKipcbiAgICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vbWlrZW1jbC5naXRodWIuaW8vYmlnLmpzLyNjb2VmZmljaWVudClcbiAgICovXG4gIGM6ICgwIHwgMSB8IDIgfCAzIHwgNCB8IDUgfCA2IHwgNyB8IDggfCA5KVtdO1xuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI2V4cG9uZW50KVxuICAgKi9cbiAgZTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly9taWtlbWNsLmdpdGh1Yi5pby9iaWcuanMvI3NpZ24pXG4gICAqL1xuICBzOiAtMSB8IDE7XG5cbiAgLy8vLy8vLy8vLy8vLy8vXG4gIC8vIEVOQ09EQUJMRSAvL1xuICAvLy8vLy8vLy8vLy8vLy9cblxuICBbU3ltYm9sLnRvUHJpbWl0aXZlXToge1xuICAgIChoaW50OiBcImRlZmF1bHRcIiB8IFwic3RyaW5nXCIpOiBzdHJpbmc7XG4gICAgKGhpbnQ6IFwibnVtYmVyXCIpOiBudW1iZXI7XG4gICAgKGhpbnQ6IHN0cmluZyk6IHN0cmluZyB8IG51bWJlcjtcbiAgfTtcblxuICB0b0NCT1IoKTogW1xuICAgIHRhZzogdHlwZW9mIENCT1JfVEFHX0RFQ0lNQUwsXG4gICAgdmFsdWU6IHN0cmluZyxcbiAgXTtcblxuICB0b1BsYWluT2JqZWN0KCk6IHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIHNpbmdsZURpZ2l0czogKDAgfCAxIHwgMiB8IDMgfCA0IHwgNSB8IDYgfCA3IHwgOCB8IDkpW107XG4gICAgLyoqIEludGVnZXIsIC0xZSs2IH4gMWUrNiAqL1xuICAgIGV4cG9uZW50OiBudW1iZXI7XG4gICAgc2lnbjogLTEgfCAxO1xuICB9O1xuXG4gIGNsb25lKCk6IHRoaXM7XG59XG5cbi8qKlxuICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vdGFpLWt1bi5naXRodWIuaW8vc3VycmVhbGRiLmpzL3YyL2FwaS9kYXRhL2RlY2ltYWwpXG4gKi9cbmNvbnN0IERlY2ltYWwgPSAvKiBAX19QVVJFX18gKi8gQmlnKCkgYXMgdW5rbm93biBhcyBEZWNpbWFsQ29uc3RydWN0b3I7XG5cbi8qIEBfX1BVUkVfXyAqLyBkZWZpbmVBc0RlY2ltYWwoRGVjaW1hbC5wcm90b3R5cGUpO1xuLyogQF9fUFVSRV9fICovIE9iamVjdC5hc3NpZ248XG4gIGFueSxcbiAgUGljazxcbiAgICBEZWNpbWFsLFxuICAgIHwgdHlwZW9mIFN5bWJvbC50b1ByaW1pdGl2ZVxuICAgIHwgXCJ0b0NCT1JcIlxuICAgIHwgXCJ0b1N1cnFsXCJcbiAgICB8IFwidG9QbGFpbk9iamVjdFwiXG4gICAgfCBcImNsb25lXCJcbiAgPlxuPihEZWNpbWFsLnByb3RvdHlwZSwge1xuICBbU3ltYm9sLnRvUHJpbWl0aXZlXSh0aGlzOiBCaWcsIGhpbnQ6IHN0cmluZyk6IGFueSB7XG4gICAgc3dpdGNoIChoaW50KSB7XG4gICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgIHJldHVybiB0aGlzLnRvTnVtYmVyKCk7XG5cbiAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgIGNhc2UgXCJkZWZhdWx0XCI6XG4gICAgICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKCk7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IFR5cGVFcnJvcihcIkludmFsaWQgaGludDogXCIgKyBTdHJpbmcoaGludCkpO1xuICAgIH1cbiAgfSxcbiAgdG9DQk9SKHRoaXM6IERlY2ltYWwpOiBbXG4gICAgdGFnOiB0eXBlb2YgQ0JPUl9UQUdfREVDSU1BTCxcbiAgICB2YWx1ZTogc3RyaW5nLFxuICBdIHtcbiAgICByZXR1cm4gW1xuICAgICAgQ0JPUl9UQUdfREVDSU1BTCxcbiAgICAgIHRoaXMudG9TdHJpbmcoKSxcbiAgICBdO1xuICB9LFxuICB0b1N1cnFsKHRoaXM6IERlY2ltYWwpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKCkgKyBcImRlY1wiO1xuICB9LFxuICB0b1BsYWluT2JqZWN0KHRoaXM6IERlY2ltYWwpOiB7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBzaW5nbGVEaWdpdHM6ICgwIHwgMSB8IDIgfCAzIHwgNCB8IDUgfCA2IHwgNyB8IDggfCA5KVtdO1xuICAgIGV4cG9uZW50OiBudW1iZXI7XG4gICAgc2lnbjogLTEgfCAxO1xuICB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgc2lnbjogdGhpcy5zLFxuICAgICAgdmFsdWU6IHRoaXMudG9TdHJpbmcoKSxcbiAgICAgIGV4cG9uZW50OiB0aGlzLmUsXG4gICAgICBzaW5nbGVEaWdpdHM6IHRoaXMuYy5zbGljZSgpLCAvLyBjb3B5XG4gICAgfTtcbiAgfSxcbiAgY2xvbmUodGhpczogRGVjaW1hbCkge1xuICAgIGNvbnN0IFRoaXMgPSB0aGlzLmNvbnN0cnVjdG9yIGFzIHR5cGVvZiBEZWNpbWFsO1xuXG4gICAgcmV0dXJuIG5ldyBUaGlzKHRoaXMudG9TdHJpbmcoKSk7XG4gIH0sXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgRGVjaW1hbDtcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBQTtBQUFBLEVBQ0U7QUFBQSxPQUVLO0FBQ1AsU0FBUyxXQUFXO0FBQ3BCLFNBQVMsdUJBQXVCO0FBcVFoQyxJQUFNLFVBQTBCLG9CQUFJO0FBRXBCLGdDQUFnQixRQUFRLFNBQVM7QUFDakMsdUJBQU8sT0FVckIsUUFBUSxXQUFXO0FBQUEsRUFDbkIsQ0FBQyxPQUFPLFdBQVcsRUFBYSxNQUFtQjtBQUNqRCxZQUFRLE1BQU07QUFBQSxNQUNaLEtBQUs7QUFDSCxlQUFPLEtBQUssU0FBUztBQUFBLE1BRXZCLEtBQUs7QUFBQSxNQUNMLEtBQUs7QUFDSCxlQUFPLEtBQUssU0FBUztBQUFBLE1BRXZCO0FBQ0UsY0FBTSxVQUFVLG1CQUFtQixPQUFPLElBQUksQ0FBQztBQUFBLElBQ25EO0FBQUEsRUFDRjtBQUFBLEVBQ0EsU0FHRTtBQUNBLFdBQU87QUFBQSxNQUNMO0FBQUEsTUFDQSxLQUFLLFNBQVM7QUFBQSxJQUNoQjtBQUFBLEVBQ0Y7QUFBQSxFQUNBLFVBQStCO0FBQzdCLFdBQU8sS0FBSyxTQUFTLElBQUk7QUFBQSxFQUMzQjtBQUFBLEVBQ0EsZ0JBS0U7QUFDQSxXQUFPO0FBQUEsTUFDTCxNQUFNLEtBQUs7QUFBQSxNQUNYLE9BQU8sS0FBSyxTQUFTO0FBQUEsTUFDckIsVUFBVSxLQUFLO0FBQUEsTUFDZixjQUFjLEtBQUssRUFBRSxNQUFNO0FBQUE7QUFBQSxJQUM3QjtBQUFBLEVBQ0Y7QUFBQSxFQUNBLFFBQXFCO0FBQ25CLFVBQU0sT0FBTyxLQUFLO0FBRWxCLFdBQU8sSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQUEsRUFDakM7QUFDRixDQUFDO0FBRUQsSUFBTyxrQkFBUTsiLAogICJuYW1lcyI6IFtdCn0K