← Files Vocabloot Deck KitARCHIVED FILE
packer/kotlinx-serialization-kotlinx-serialization-json.js
145 KB · Oct 5, 2026 · 18:35 UTC
(function (factory) {
if (typeof define === 'function' && define.amd)
define(['exports', './kotlinx-serialization-kotlinx-serialization-core.js', './kotlin-kotlin-stdlib.js'], factory);
else if (typeof exports === 'object')
factory(module.exports, require('./kotlinx-serialization-kotlinx-serialization-core.js'), require('./kotlin-kotlin-stdlib.js'));
else {
if (typeof globalThis['kotlinx-serialization-kotlinx-serialization-core'] === 'undefined') {
throw new Error("Error loading module 'kotlinx-serialization-kotlinx-serialization-json'. Its dependency 'kotlinx-serialization-kotlinx-serialization-core' was not found. Please, check whether 'kotlinx-serialization-kotlinx-serialization-core' is loaded prior to 'kotlinx-serialization-kotlinx-serialization-json'.");
}
if (typeof globalThis['kotlin-kotlin-stdlib'] === 'undefined') {
throw new Error("Error loading module 'kotlinx-serialization-kotlinx-serialization-json'. Its dependency 'kotlin-kotlin-stdlib' was not found. Please, check whether 'kotlin-kotlin-stdlib' is loaded prior to 'kotlinx-serialization-kotlinx-serialization-json'.");
}
globalThis['kotlinx-serialization-kotlinx-serialization-json'] = factory(typeof globalThis['kotlinx-serialization-kotlinx-serialization-json'] === 'undefined' ? {} : globalThis['kotlinx-serialization-kotlinx-serialization-json'], globalThis['kotlinx-serialization-kotlinx-serialization-core'], globalThis['kotlin-kotlin-stdlib']);
}
}(function (_, kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core, kotlin_kotlin) {
'use strict';
//region block: imports
var imul = Math.imul;
var EmptySerializersModule = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.m1;
var protoOf = kotlin_kotlin.$_$.u4;
var initMetadataForObject = kotlin_kotlin.$_$.n4;
var VOID = kotlin_kotlin.$_$.a;
var Unit_instance = kotlin_kotlin.$_$.c;
var initMetadataForClass = kotlin_kotlin.$_$.i4;
var toString = kotlin_kotlin.$_$.w4;
var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.v;
var charSequenceLength = kotlin_kotlin.$_$.b4;
var charSequenceGet = kotlin_kotlin.$_$.a4;
var _Char___init__impl__6a9atx = kotlin_kotlin.$_$.a1;
var equals = kotlin_kotlin.$_$.d4;
var toString_0 = kotlin_kotlin.$_$.r6;
var Enum = kotlin_kotlin.$_$.d6;
var initMetadataForCompanion = kotlin_kotlin.$_$.j4;
var StringBuilder_init_$Create$ = kotlin_kotlin.$_$.r;
var hashCode = kotlin_kotlin.$_$.h4;
var joinToString = kotlin_kotlin.$_$.i2;
var THROW_CCE = kotlin_kotlin.$_$.h6;
var KtMap = kotlin_kotlin.$_$.l1;
var getKClassFromExpression = kotlin_kotlin.$_$.d5;
var getBooleanHashCode = kotlin_kotlin.$_$.e4;
var getStringHashCode = kotlin_kotlin.$_$.g4;
var KtList = kotlin_kotlin.$_$.k1;
var StringCompanionObject_instance = kotlin_kotlin.$_$.b;
var serializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.p;
var InlinePrimitiveDescriptor = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.g1;
var fromInt = kotlin_kotlin.$_$.l3;
var ElementMarker = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.d1;
var captureStack = kotlin_kotlin.$_$.w3;
var charSequenceSubSequence = kotlin_kotlin.$_$.c4;
var coerceAtLeast = kotlin_kotlin.$_$.y4;
var coerceAtMost = kotlin_kotlin.$_$.z4;
var SerializationException = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.s1;
var SerializationException_init_$Init$ = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.k;
var Collection = kotlin_kotlin.$_$.i1;
var isInterface = kotlin_kotlin.$_$.p4;
var CLASS_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.c;
var ENUM_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.b;
var LinkedHashMap_init_$Create$ = kotlin_kotlin.$_$.m;
var ArrayList_init_$Create$ = kotlin_kotlin.$_$.f;
var singleOrNull = kotlin_kotlin.$_$.u2;
var emptyMap = kotlin_kotlin.$_$.a2;
var getValue = kotlin_kotlin.$_$.e2;
var copyOf = kotlin_kotlin.$_$.v1;
var copyOf_0 = kotlin_kotlin.$_$.w1;
var LIST_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.d;
var SerialDescriptor = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.s;
var CONTEXTUAL_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.a;
var PolymorphicKind = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.q;
var PrimitiveKind = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.r;
var MAP_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.e;
var ENUM = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.t;
var contextual = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.n1;
var SerializersModuleCollector = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.o1;
var DeepRecursiveFunction = kotlin_kotlin.$_$.b6;
var invoke = kotlin_kotlin.$_$.m6;
var CoroutineImpl = kotlin_kotlin.$_$.b3;
var DeepRecursiveScope = kotlin_kotlin.$_$.c6;
var Unit = kotlin_kotlin.$_$.j6;
var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.a3;
var initMetadataForLambda = kotlin_kotlin.$_$.m4;
var initMetadataForCoroutine = kotlin_kotlin.$_$.k4;
var SealedClassSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.r1;
var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.x;
var jsonCachedSerialNames = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.k1;
var AbstractDecoder = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.v;
var AbstractPolymorphicSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.b1;
var DeserializationStrategy = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.p1;
var getKClass = kotlin_kotlin.$_$.e5;
var findPolymorphicSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.u1;
var ensureNotNull = kotlin_kotlin.$_$.l6;
var substringBefore = kotlin_kotlin.$_$.v5;
var removeSuffix = kotlin_kotlin.$_$.q5;
var substringAfter = kotlin_kotlin.$_$.u5;
var contains = kotlin_kotlin.$_$.h5;
var plus = kotlin_kotlin.$_$.p6;
var MissingFieldException = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.q1;
var convertToInt = kotlin_kotlin.$_$.j3;
var equalsLong = kotlin_kotlin.$_$.k3;
var Decoder = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.z;
var CompositeDecoder = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.x;
var objectCreate = kotlin_kotlin.$_$.t4;
var AbstractEncoder = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.w;
var OBJECT_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.f;
var noWhenBranchMatchedException = kotlin_kotlin.$_$.o6;
var findPolymorphicSerializer_0 = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.v1;
var SerializationStrategy = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.t1;
var CompositeEncoder = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.y;
var Encoder = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.a1;
var Char__toInt_impl_vasixd = kotlin_kotlin.$_$.c1;
var numberToChar = kotlin_kotlin.$_$.s4;
var charCodeAt = kotlin_kotlin.$_$.z3;
var equals_0 = kotlin_kotlin.$_$.j5;
var toString_1 = kotlin_kotlin.$_$.d1;
var toByte = kotlin_kotlin.$_$.v4;
var startsWith = kotlin_kotlin.$_$.s5;
var NamedValueDecoder = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.i1;
var IllegalArgumentException = kotlin_kotlin.$_$.f6;
var numberRangeToNumber = kotlin_kotlin.$_$.r4;
var ClosedRange = kotlin_kotlin.$_$.x4;
var contains_0 = kotlin_kotlin.$_$.a5;
var emptySet = kotlin_kotlin.$_$.b2;
var plus_0 = kotlin_kotlin.$_$.r2;
var toInt = kotlin_kotlin.$_$.z5;
var toList = kotlin_kotlin.$_$.w2;
var enumEntries = kotlin_kotlin.$_$.c3;
var getContextualDescriptor = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.u;
var toNumber = kotlin_kotlin.$_$.t3;
var last = kotlin_kotlin.$_$.m2;
var removeLast = kotlin_kotlin.$_$.t2;
var lastIndexOf = kotlin_kotlin.$_$.o5;
var Long = kotlin_kotlin.$_$.g6;
var Char__minus_impl_a2frrh = kotlin_kotlin.$_$.b1;
var multiply = kotlin_kotlin.$_$.n3;
var add = kotlin_kotlin.$_$.e3;
var subtract = kotlin_kotlin.$_$.s3;
var compare = kotlin_kotlin.$_$.h3;
var numberToLong = kotlin_kotlin.$_$.p3;
var negate = kotlin_kotlin.$_$.o3;
var charArray = kotlin_kotlin.$_$.y3;
var indexOf = kotlin_kotlin.$_$.k5;
var indexOf_0 = kotlin_kotlin.$_$.l5;
var substring = kotlin_kotlin.$_$.w5;
var StringBuilder_init_$Create$_0 = kotlin_kotlin.$_$.q;
var HashMap_init_$Create$ = kotlin_kotlin.$_$.h;
//endregion
//region block: pre-declaration
initMetadataForClass(Json, 'Json');
initMetadataForObject(Default, 'Default', VOID, Json);
initMetadataForClass(JsonBuilder, 'JsonBuilder');
initMetadataForClass(JsonImpl, 'JsonImpl', VOID, Json);
initMetadataForClass(JsonClassDiscriminator, 'JsonClassDiscriminator');
initMetadataForClass(JsonIgnoreUnknownKeys, 'JsonIgnoreUnknownKeys');
initMetadataForClass(JsonNames, 'JsonNames');
initMetadataForClass(JsonConfiguration, 'JsonConfiguration');
initMetadataForClass(ClassDiscriminatorMode, 'ClassDiscriminatorMode', VOID, Enum);
initMetadataForCompanion(Companion);
initMetadataForClass(JsonElement, 'JsonElement');
initMetadataForCompanion(Companion_0);
initMetadataForClass(JsonObject, 'JsonObject', VOID, JsonElement, [KtMap]);
initMetadataForClass(JsonPrimitive, 'JsonPrimitive', VOID, JsonElement);
initMetadataForObject(JsonNull, 'JsonNull', VOID, JsonPrimitive);
initMetadataForCompanion(Companion_1);
initMetadataForClass(JsonLiteral, 'JsonLiteral', VOID, JsonPrimitive);
initMetadataForCompanion(Companion_2);
initMetadataForClass(JsonArray, 'JsonArray', VOID, JsonElement, [KtList]);
initMetadataForClass(Composer, 'Composer');
initMetadataForClass(ComposerWithPrettyPrint, 'ComposerWithPrettyPrint', VOID, Composer);
initMetadataForClass(JsonElementMarker, 'JsonElementMarker');
initMetadataForClass(JsonException, 'JsonException', VOID, SerializationException);
initMetadataForClass(JsonEncodingException, 'JsonEncodingException', VOID, JsonException);
initMetadataForClass(JsonDecodingException, 'JsonDecodingException', VOID, JsonException);
initMetadataForObject(Tombstone, 'Tombstone');
initMetadataForClass(JsonPath, 'JsonPath', JsonPath);
initMetadataForClass(JsonSerializersModuleValidator, 'JsonSerializersModuleValidator', VOID, VOID, [SerializersModuleCollector]);
initMetadataForLambda(JsonTreeReader$readDeepRecursive$slambda, CoroutineImpl, VOID, [2]);
initMetadataForCoroutine($readObjectCOROUTINE$, CoroutineImpl);
initMetadataForClass(JsonTreeReader, 'JsonTreeReader', VOID, VOID, VOID, [1]);
initMetadataForClass(Key, 'Key', Key);
initMetadataForClass(DescriptorSchemaCache, 'DescriptorSchemaCache', DescriptorSchemaCache);
initMetadataForClass(DiscriminatorHolder, 'DiscriminatorHolder');
initMetadataForClass(StreamingJsonDecoder, 'StreamingJsonDecoder', VOID, AbstractDecoder, [Decoder, CompositeDecoder]);
initMetadataForClass(StreamingJsonEncoder, 'StreamingJsonEncoder', VOID, AbstractEncoder, [CompositeEncoder, Encoder]);
initMetadataForClass(AbstractJsonTreeDecoder, 'AbstractJsonTreeDecoder', VOID, NamedValueDecoder, [Decoder, CompositeDecoder]);
initMetadataForClass(JsonTreeDecoder, 'JsonTreeDecoder', VOID, AbstractJsonTreeDecoder);
initMetadataForClass(JsonTreeListDecoder, 'JsonTreeListDecoder', VOID, AbstractJsonTreeDecoder);
initMetadataForClass(JsonTreeMapDecoder, 'JsonTreeMapDecoder', VOID, JsonTreeDecoder);
initMetadataForClass(WriteMode, 'WriteMode', VOID, Enum);
initMetadataForClass(AbstractJsonLexer, 'AbstractJsonLexer');
initMetadataForObject(CharMappings, 'CharMappings');
initMetadataForClass(StringJsonLexer, 'StringJsonLexer', VOID, AbstractJsonLexer);
initMetadataForClass(StringJsonLexerWithComments, 'StringJsonLexerWithComments', VOID, StringJsonLexer);
initMetadataForClass(JsonToStringWriter, 'JsonToStringWriter', JsonToStringWriter);
//endregion
function Default() {
Default_instance = this;
Json.call(this, new JsonConfiguration(), EmptySerializersModule());
}
var Default_instance;
function Default_getInstance() {
if (Default_instance == null)
new Default();
return Default_instance;
}
function Json(configuration, serializersModule) {
Default_getInstance();
this.hp_1 = configuration;
this.ip_1 = serializersModule;
this.jp_1 = new DescriptorSchemaCache();
}
protoOf(Json).af = function () {
return this.ip_1;
};
protoOf(Json).kp = function (serializer, value) {
var result = new JsonToStringWriter();
try {
encodeByWriter(this, result, serializer, value);
return result.toString();
}finally {
result.np();
}
};
protoOf(Json).lp = function (deserializer, string) {
var lexer = StringJsonLexer_0(this, string);
var input = new StreamingJsonDecoder(this, WriteMode_OBJ_getInstance(), lexer, deserializer.hd(), null);
var result = input.qe(deserializer);
lexer.aq();
return result;
};
function Json_0(from, builderAction) {
from = from === VOID ? Default_getInstance() : from;
var builder = new JsonBuilder(from);
builderAction(builder);
var conf = builder.tq();
return new JsonImpl(conf, builder.sq_1);
}
function JsonBuilder(json) {
this.bq_1 = json.hp_1.uq_1;
this.cq_1 = json.hp_1.zq_1;
this.dq_1 = json.hp_1.vq_1;
this.eq_1 = json.hp_1.wq_1;
this.fq_1 = json.hp_1.yq_1;
this.gq_1 = json.hp_1.ar_1;
this.hq_1 = json.hp_1.br_1;
this.iq_1 = json.hp_1.dr_1;
this.jq_1 = json.hp_1.kr_1;
this.kq_1 = json.hp_1.fr_1;
this.lq_1 = json.hp_1.gr_1;
this.mq_1 = json.hp_1.hr_1;
this.nq_1 = json.hp_1.ir_1;
this.oq_1 = json.hp_1.jr_1;
this.pq_1 = json.hp_1.er_1;
this.qq_1 = json.hp_1.xq_1;
this.rq_1 = json.hp_1.cr_1;
this.sq_1 = json.af();
}
protoOf(JsonBuilder).tq = function () {
if (this.rq_1) {
// Inline function 'kotlin.require' call
if (!(this.iq_1 === 'type')) {
var message = 'Class discriminator should not be specified when array polymorphism is specified';
throw IllegalArgumentException_init_$Create$(toString(message));
}
// Inline function 'kotlin.require' call
if (!this.jq_1.equals(ClassDiscriminatorMode_POLYMORPHIC_getInstance())) {
var message_0 = 'useArrayPolymorphism option can only be used if classDiscriminatorMode in a default POLYMORPHIC state.';
throw IllegalArgumentException_init_$Create$(toString(message_0));
}
}
if (!this.fq_1) {
// Inline function 'kotlin.require' call
if (!(this.gq_1 === ' ')) {
var message_1 = 'Indent should not be specified when default printing mode is used';
throw IllegalArgumentException_init_$Create$(toString(message_1));
}
} else if (!(this.gq_1 === ' ')) {
var tmp0 = this.gq_1;
var tmp$ret$6;
$l$block: {
// Inline function 'kotlin.text.all' call
var inductionVariable = 0;
while (inductionVariable < charSequenceLength(tmp0)) {
var element = charSequenceGet(tmp0, inductionVariable);
inductionVariable = inductionVariable + 1 | 0;
if (!(element === _Char___init__impl__6a9atx(32) || element === _Char___init__impl__6a9atx(9) || element === _Char___init__impl__6a9atx(13) || element === _Char___init__impl__6a9atx(10))) {
tmp$ret$6 = false;
break $l$block;
}
}
tmp$ret$6 = true;
}
var allWhitespaces = tmp$ret$6;
// Inline function 'kotlin.require' call
if (!allWhitespaces) {
var message_2 = 'Only whitespace, tab, newline and carriage return are allowed as pretty print symbols. Had ' + this.gq_1;
throw IllegalArgumentException_init_$Create$(toString(message_2));
}
}
return new JsonConfiguration(this.bq_1, this.dq_1, this.eq_1, this.qq_1, this.fq_1, this.cq_1, this.gq_1, this.hq_1, this.rq_1, this.iq_1, this.pq_1, this.kq_1, this.lq_1, this.mq_1, this.nq_1, this.oq_1, this.jq_1);
};
function validateConfiguration($this) {
if (equals($this.af(), EmptySerializersModule()))
return Unit_instance;
var collector = new JsonSerializersModuleValidator($this.hp_1);
$this.af().jk(collector);
}
function JsonImpl(configuration, module_0) {
Json.call(this, configuration, module_0);
validateConfiguration(this);
}
function JsonClassDiscriminator() {
}
function JsonIgnoreUnknownKeys() {
}
function JsonNames() {
}
function JsonConfiguration(encodeDefaults, ignoreUnknownKeys, isLenient, allowStructuredMapKeys, prettyPrint, explicitNulls, prettyPrintIndent, coerceInputValues, useArrayPolymorphism, classDiscriminator, allowSpecialFloatingPointValues, useAlternativeNames, namingStrategy, decodeEnumsCaseInsensitive, allowTrailingComma, allowComments, classDiscriminatorMode) {
encodeDefaults = encodeDefaults === VOID ? false : encodeDefaults;
ignoreUnknownKeys = ignoreUnknownKeys === VOID ? false : ignoreUnknownKeys;
isLenient = isLenient === VOID ? false : isLenient;
allowStructuredMapKeys = allowStructuredMapKeys === VOID ? false : allowStructuredMapKeys;
prettyPrint = prettyPrint === VOID ? false : prettyPrint;
explicitNulls = explicitNulls === VOID ? true : explicitNulls;
prettyPrintIndent = prettyPrintIndent === VOID ? ' ' : prettyPrintIndent;
coerceInputValues = coerceInputValues === VOID ? false : coerceInputValues;
useArrayPolymorphism = useArrayPolymorphism === VOID ? false : useArrayPolymorphism;
classDiscriminator = classDiscriminator === VOID ? 'type' : classDiscriminator;
allowSpecialFloatingPointValues = allowSpecialFloatingPointValues === VOID ? false : allowSpecialFloatingPointValues;
useAlternativeNames = useAlternativeNames === VOID ? true : useAlternativeNames;
namingStrategy = namingStrategy === VOID ? null : namingStrategy;
decodeEnumsCaseInsensitive = decodeEnumsCaseInsensitive === VOID ? false : decodeEnumsCaseInsensitive;
allowTrailingComma = allowTrailingComma === VOID ? false : allowTrailingComma;
allowComments = allowComments === VOID ? false : allowComments;
classDiscriminatorMode = classDiscriminatorMode === VOID ? ClassDiscriminatorMode_POLYMORPHIC_getInstance() : classDiscriminatorMode;
this.uq_1 = encodeDefaults;
this.vq_1 = ignoreUnknownKeys;
this.wq_1 = isLenient;
this.xq_1 = allowStructuredMapKeys;
this.yq_1 = prettyPrint;
this.zq_1 = explicitNulls;
this.ar_1 = prettyPrintIndent;
this.br_1 = coerceInputValues;
this.cr_1 = useArrayPolymorphism;
this.dr_1 = classDiscriminator;
this.er_1 = allowSpecialFloatingPointValues;
this.fr_1 = useAlternativeNames;
this.gr_1 = namingStrategy;
this.hr_1 = decodeEnumsCaseInsensitive;
this.ir_1 = allowTrailingComma;
this.jr_1 = allowComments;
this.kr_1 = classDiscriminatorMode;
}
protoOf(JsonConfiguration).toString = function () {
return 'JsonConfiguration(encodeDefaults=' + this.uq_1 + ', ignoreUnknownKeys=' + this.vq_1 + ', isLenient=' + this.wq_1 + ', ' + ('allowStructuredMapKeys=' + this.xq_1 + ', prettyPrint=' + this.yq_1 + ', explicitNulls=' + this.zq_1 + ', ') + ("prettyPrintIndent='" + this.ar_1 + "', coerceInputValues=" + this.br_1 + ', useArrayPolymorphism=' + this.cr_1 + ', ') + ("classDiscriminator='" + this.dr_1 + "', allowSpecialFloatingPointValues=" + this.er_1 + ', ') + ('useAlternativeNames=' + this.fr_1 + ', namingStrategy=' + toString_0(this.gr_1) + ', decodeEnumsCaseInsensitive=' + this.hr_1 + ', ') + ('allowTrailingComma=' + this.ir_1 + ', allowComments=' + this.jr_1 + ', classDiscriminatorMode=' + this.kr_1.toString() + ')');
};
var ClassDiscriminatorMode_NONE_instance;
var ClassDiscriminatorMode_ALL_JSON_OBJECTS_instance;
var ClassDiscriminatorMode_POLYMORPHIC_instance;
var ClassDiscriminatorMode_entriesInitialized;
function ClassDiscriminatorMode_initEntries() {
if (ClassDiscriminatorMode_entriesInitialized)
return Unit_instance;
ClassDiscriminatorMode_entriesInitialized = true;
ClassDiscriminatorMode_NONE_instance = new ClassDiscriminatorMode('NONE', 0);
ClassDiscriminatorMode_ALL_JSON_OBJECTS_instance = new ClassDiscriminatorMode('ALL_JSON_OBJECTS', 1);
ClassDiscriminatorMode_POLYMORPHIC_instance = new ClassDiscriminatorMode('POLYMORPHIC', 2);
}
function ClassDiscriminatorMode(name, ordinal) {
Enum.call(this, name, ordinal);
}
function ClassDiscriminatorMode_NONE_getInstance() {
ClassDiscriminatorMode_initEntries();
return ClassDiscriminatorMode_NONE_instance;
}
function ClassDiscriminatorMode_POLYMORPHIC_getInstance() {
ClassDiscriminatorMode_initEntries();
return ClassDiscriminatorMode_POLYMORPHIC_instance;
}
var jsonUnquotedLiteralDescriptor;
function Companion() {
}
var Companion_instance;
function Companion_getInstance() {
return Companion_instance;
}
function JsonElement() {
}
function Companion_0() {
}
var Companion_instance_0;
function Companion_getInstance_0() {
return Companion_instance_0;
}
function JsonObject$toString$lambda(_destruct__k2r9zo) {
// Inline function 'kotlin.collections.component1' call
var k = _destruct__k2r9zo.o1();
// Inline function 'kotlin.collections.component2' call
var v = _destruct__k2r9zo.p1();
// Inline function 'kotlin.text.buildString' call
// Inline function 'kotlin.apply' call
var this_0 = StringBuilder_init_$Create$();
printQuoted(this_0, k);
this_0.k6(_Char___init__impl__6a9atx(58));
this_0.i6(v);
return this_0.toString();
}
function JsonObject(content) {
JsonElement.call(this);
this.lr_1 = content;
}
protoOf(JsonObject).equals = function (other) {
return equals(this.lr_1, other);
};
protoOf(JsonObject).hashCode = function () {
return hashCode(this.lr_1);
};
protoOf(JsonObject).toString = function () {
var tmp = this.lr_1.v1();
return joinToString(tmp, ',', '{', '}', VOID, VOID, JsonObject$toString$lambda);
};
protoOf(JsonObject).l = function () {
return this.lr_1.l();
};
protoOf(JsonObject).mr = function (key) {
return this.lr_1.q1(key);
};
protoOf(JsonObject).q1 = function (key) {
if (!(!(key == null) ? typeof key === 'string' : false))
return false;
return this.mr((!(key == null) ? typeof key === 'string' : false) ? key : THROW_CCE());
};
protoOf(JsonObject).nr = function (key) {
return this.lr_1.s1(key);
};
protoOf(JsonObject).s1 = function (key) {
if (!(!(key == null) ? typeof key === 'string' : false))
return null;
return this.nr((!(key == null) ? typeof key === 'string' : false) ? key : THROW_CCE());
};
protoOf(JsonObject).k = function () {
return this.lr_1.k();
};
protoOf(JsonObject).t1 = function () {
return this.lr_1.t1();
};
protoOf(JsonObject).u1 = function () {
return this.lr_1.u1();
};
protoOf(JsonObject).v1 = function () {
return this.lr_1.v1();
};
function JsonNull() {
JsonNull_instance = this;
JsonPrimitive.call(this);
this.or_1 = 'null';
}
protoOf(JsonNull).pr = function () {
return this.or_1;
};
var JsonNull_instance;
function JsonNull_getInstance() {
if (JsonNull_instance == null)
new JsonNull();
return JsonNull_instance;
}
function Companion_1() {
}
var Companion_instance_1;
function Companion_getInstance_1() {
return Companion_instance_1;
}
function JsonPrimitive() {
JsonElement.call(this);
}
protoOf(JsonPrimitive).toString = function () {
return this.pr();
};
function JsonPrimitive_0(value) {
_init_properties_JsonElement_kt__7cbdc2();
if (value == null)
return JsonNull_getInstance();
return new JsonLiteral(value, true);
}
function JsonLiteral(body, isString, coerceToInlineType) {
coerceToInlineType = coerceToInlineType === VOID ? null : coerceToInlineType;
JsonPrimitive.call(this);
this.qr_1 = isString;
this.rr_1 = coerceToInlineType;
this.sr_1 = toString(body);
if (!(this.rr_1 == null)) {
// Inline function 'kotlin.require' call
// Inline function 'kotlin.require' call
if (!this.rr_1.xd()) {
var message = 'Failed requirement.';
throw IllegalArgumentException_init_$Create$(toString(message));
}
}
}
protoOf(JsonLiteral).pr = function () {
return this.sr_1;
};
protoOf(JsonLiteral).toString = function () {
var tmp;
if (this.qr_1) {
// Inline function 'kotlin.text.buildString' call
// Inline function 'kotlin.apply' call
var this_0 = StringBuilder_init_$Create$();
printQuoted(this_0, this.sr_1);
tmp = this_0.toString();
} else {
tmp = this.sr_1;
}
return tmp;
};
protoOf(JsonLiteral).equals = function (other) {
if (this === other)
return true;
if (other == null || !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
return false;
if (!(other instanceof JsonLiteral))
THROW_CCE();
if (!(this.qr_1 === other.qr_1))
return false;
if (!(this.sr_1 === other.sr_1))
return false;
return true;
};
protoOf(JsonLiteral).hashCode = function () {
var result = getBooleanHashCode(this.qr_1);
result = imul(31, result) + getStringHashCode(this.sr_1) | 0;
return result;
};
function Companion_2() {
}
var Companion_instance_2;
function Companion_getInstance_2() {
return Companion_instance_2;
}
function JsonArray(content) {
JsonElement.call(this);
this.tr_1 = content;
}
protoOf(JsonArray).equals = function (other) {
return equals(this.tr_1, other);
};
protoOf(JsonArray).hashCode = function () {
return hashCode(this.tr_1);
};
protoOf(JsonArray).toString = function () {
return joinToString(this.tr_1, ',', '[', ']');
};
protoOf(JsonArray).l = function () {
return this.tr_1.l();
};
protoOf(JsonArray).g = function () {
return this.tr_1.g();
};
protoOf(JsonArray).j = function (index) {
return this.tr_1.j(index);
};
protoOf(JsonArray).ur = function (element) {
return this.tr_1.l1(element);
};
protoOf(JsonArray).l1 = function (element) {
if (!(element instanceof JsonElement))
return -1;
return this.ur(element instanceof JsonElement ? element : THROW_CCE());
};
protoOf(JsonArray).m1 = function (fromIndex, toIndex) {
return this.tr_1.m1(fromIndex, toIndex);
};
protoOf(JsonArray).k = function () {
return this.tr_1.k();
};
function get_booleanOrNull(_this__u8e3s4) {
_init_properties_JsonElement_kt__7cbdc2();
return toBooleanStrictOrNull(_this__u8e3s4.pr());
}
function parseLongImpl(_this__u8e3s4) {
_init_properties_JsonElement_kt__7cbdc2();
return (new StringJsonLexer(_this__u8e3s4.pr())).vr();
}
function get_contentOrNull(_this__u8e3s4) {
_init_properties_JsonElement_kt__7cbdc2();
var tmp;
if (_this__u8e3s4 instanceof JsonNull) {
tmp = null;
} else {
tmp = _this__u8e3s4.pr();
}
return tmp;
}
function get_jsonPrimitive(_this__u8e3s4) {
_init_properties_JsonElement_kt__7cbdc2();
var tmp0_elvis_lhs = _this__u8e3s4 instanceof JsonPrimitive ? _this__u8e3s4 : null;
var tmp;
if (tmp0_elvis_lhs == null) {
error(_this__u8e3s4, 'JsonPrimitive');
} else {
tmp = tmp0_elvis_lhs;
}
return tmp;
}
function error(_this__u8e3s4, element) {
_init_properties_JsonElement_kt__7cbdc2();
throw IllegalArgumentException_init_$Create$('Element ' + toString(getKClassFromExpression(_this__u8e3s4)) + ' is not a ' + element);
}
var properties_initialized_JsonElement_kt_abxy8s;
function _init_properties_JsonElement_kt__7cbdc2() {
if (!properties_initialized_JsonElement_kt_abxy8s) {
properties_initialized_JsonElement_kt_abxy8s = true;
jsonUnquotedLiteralDescriptor = InlinePrimitiveDescriptor('kotlinx.serialization.json.JsonUnquotedLiteral', serializer(StringCompanionObject_instance));
}
}
function Composer(writer) {
this.wr_1 = writer;
this.xr_1 = true;
}
protoOf(Composer).yr = function () {
this.xr_1 = true;
};
protoOf(Composer).zr = function () {
return Unit_instance;
};
protoOf(Composer).as = function () {
this.xr_1 = false;
};
protoOf(Composer).bs = function () {
this.xr_1 = false;
};
protoOf(Composer).cs = function () {
return Unit_instance;
};
protoOf(Composer).ds = function (v) {
return this.wr_1.es(v);
};
protoOf(Composer).fs = function (v) {
return this.wr_1.gs(v);
};
protoOf(Composer).hs = function (v) {
return this.wr_1.is(fromInt(v));
};
protoOf(Composer).js = function (v) {
return this.wr_1.is(v);
};
protoOf(Composer).ks = function (v) {
return this.wr_1.gs(v.toString());
};
protoOf(Composer).ls = function (value) {
return this.wr_1.ms(value);
};
function Composer_0(sb, json) {
return json.hp_1.yq_1 ? new ComposerWithPrettyPrint(sb, json) : new Composer(sb);
}
function ComposerWithPrettyPrint(writer, json) {
Composer.call(this, writer);
this.ps_1 = json;
this.qs_1 = 0;
}
protoOf(ComposerWithPrettyPrint).yr = function () {
this.xr_1 = true;
this.qs_1 = this.qs_1 + 1 | 0;
};
protoOf(ComposerWithPrettyPrint).zr = function () {
this.qs_1 = this.qs_1 - 1 | 0;
};
protoOf(ComposerWithPrettyPrint).as = function () {
this.xr_1 = false;
this.fs('\n');
// Inline function 'kotlin.repeat' call
var times = this.qs_1;
var inductionVariable = 0;
if (inductionVariable < times)
do {
var index = inductionVariable;
inductionVariable = inductionVariable + 1 | 0;
this.fs(this.ps_1.hp_1.ar_1);
}
while (inductionVariable < times);
};
protoOf(ComposerWithPrettyPrint).bs = function () {
if (this.xr_1)
this.xr_1 = false;
else {
this.as();
}
};
protoOf(ComposerWithPrettyPrint).cs = function () {
this.ds(_Char___init__impl__6a9atx(32));
};
function readIfAbsent($this, descriptor, index) {
$this.ss_1 = (!descriptor.ee(index) && descriptor.de(index).pd());
return $this.ss_1;
}
function JsonElementMarker$readIfAbsent$ref(p0) {
var l = function (_this__u8e3s4, p0_0) {
var tmp0 = p0;
return readIfAbsent(tmp0, _this__u8e3s4, p0_0);
};
l.callableName = 'readIfAbsent';
return l;
}
function JsonElementMarker(descriptor) {
var tmp = this;
tmp.rs_1 = new ElementMarker(descriptor, JsonElementMarker$readIfAbsent$ref(this));
this.ss_1 = false;
}
protoOf(JsonElementMarker).ts = function (index) {
this.rs_1.xh(index);
};
protoOf(JsonElementMarker).us = function () {
return this.rs_1.yh();
};
function invalidTrailingComma(_this__u8e3s4, entity) {
entity = entity === VOID ? 'object' : entity;
_this__u8e3s4.vs('Trailing comma before the end of JSON ' + entity, _this__u8e3s4.wp_1 - 1 | 0, "Trailing commas are non-complaint JSON and not allowed by default. Use 'allowTrailingComma = true' in 'Json {}' builder to support them.");
}
function JsonEncodingException(message) {
JsonException.call(this, message);
captureStack(this, JsonEncodingException);
}
function InvalidKeyKindException(keyDescriptor) {
return new JsonEncodingException("Value of type '" + keyDescriptor.vd() + "' can't be used in JSON as a key in the map. " + ("It should have either primitive or enum kind, but its kind is '" + keyDescriptor.wd().toString() + "'.\n") + "Use 'allowStructuredMapKeys = true' in 'Json {}' builder to convert such maps to [key1, value1, key2, value2,...] arrays.");
}
function JsonDecodingException(message) {
JsonException.call(this, message);
captureStack(this, JsonDecodingException);
}
function JsonDecodingException_0(offset, message, input) {
return JsonDecodingException_1(offset, message + '\nJSON input: ' + toString(minify(input, offset)));
}
function JsonDecodingException_1(offset, message) {
return new JsonDecodingException(offset >= 0 ? 'Unexpected JSON token at offset ' + offset + ': ' + message : message);
}
function minify(_this__u8e3s4, offset) {
offset = offset === VOID ? -1 : offset;
if (charSequenceLength(_this__u8e3s4) < 200)
return _this__u8e3s4;
if (offset === -1) {
var start = charSequenceLength(_this__u8e3s4) - 60 | 0;
if (start <= 0)
return _this__u8e3s4;
// Inline function 'kotlin.text.substring' call
var endIndex = charSequenceLength(_this__u8e3s4);
return '.....' + toString(charSequenceSubSequence(_this__u8e3s4, start, endIndex));
}
var start_0 = offset - 30 | 0;
var end = offset + 30 | 0;
var prefix = start_0 <= 0 ? '' : '.....';
var suffix = end >= charSequenceLength(_this__u8e3s4) ? '' : '.....';
var tmp2 = coerceAtLeast(start_0, 0);
// Inline function 'kotlin.text.substring' call
var endIndex_0 = coerceAtMost(end, charSequenceLength(_this__u8e3s4));
return prefix + toString(charSequenceSubSequence(_this__u8e3s4, tmp2, endIndex_0)) + suffix;
}
function JsonException(message) {
SerializationException_init_$Init$(message, this);
captureStack(this, JsonException);
}
function get_JsonDeserializationNamesKey() {
_init_properties_JsonNamesMap_kt__cbbp0k();
return JsonDeserializationNamesKey;
}
var JsonDeserializationNamesKey;
function get_JsonSerializationNamesKey() {
_init_properties_JsonNamesMap_kt__cbbp0k();
return JsonSerializationNamesKey;
}
var JsonSerializationNamesKey;
function ignoreUnknownKeys(_this__u8e3s4, json) {
_init_properties_JsonNamesMap_kt__cbbp0k();
var tmp;
if (json.hp_1.vq_1) {
tmp = true;
} else {
var tmp0 = _this__u8e3s4.zd();
var tmp$ret$0;
$l$block_0: {
// Inline function 'kotlin.collections.any' call
var tmp_0;
if (isInterface(tmp0, Collection)) {
tmp_0 = tmp0.l();
} else {
tmp_0 = false;
}
if (tmp_0) {
tmp$ret$0 = false;
break $l$block_0;
}
var _iterator__ex2g4s = tmp0.g();
while (_iterator__ex2g4s.h()) {
var element = _iterator__ex2g4s.i();
if (element instanceof JsonIgnoreUnknownKeys) {
tmp$ret$0 = true;
break $l$block_0;
}
}
tmp$ret$0 = false;
}
tmp = tmp$ret$0;
}
return tmp;
}
function getJsonNameIndex(_this__u8e3s4, json, name) {
_init_properties_JsonNamesMap_kt__cbbp0k();
if (decodeCaseInsensitive(json, _this__u8e3s4)) {
// Inline function 'kotlin.text.lowercase' call
// Inline function 'kotlin.js.asDynamic' call
var tmp$ret$0 = name.toLowerCase();
return getJsonNameIndexSlowPath(_this__u8e3s4, json, tmp$ret$0);
}
var strategy = namingStrategy(_this__u8e3s4, json);
if (!(strategy == null))
return getJsonNameIndexSlowPath(_this__u8e3s4, json, name);
var index = _this__u8e3s4.be(name);
if (!(index === -3))
return index;
if (!json.hp_1.fr_1)
return index;
return getJsonNameIndexSlowPath(_this__u8e3s4, json, name);
}
function getJsonElementName(_this__u8e3s4, json, index) {
_init_properties_JsonNamesMap_kt__cbbp0k();
var strategy = namingStrategy(_this__u8e3s4, json);
return strategy == null ? _this__u8e3s4.ae(index) : serializationNamesIndices(_this__u8e3s4, json, strategy)[index];
}
function namingStrategy(_this__u8e3s4, json) {
_init_properties_JsonNamesMap_kt__cbbp0k();
return equals(_this__u8e3s4.wd(), CLASS_getInstance()) ? json.hp_1.gr_1 : null;
}
function deserializationNamesMap(_this__u8e3s4, descriptor) {
_init_properties_JsonNamesMap_kt__cbbp0k();
var tmp = get_schemaCache(_this__u8e3s4);
var tmp_0 = get_JsonDeserializationNamesKey();
return tmp.xs(descriptor, tmp_0, deserializationNamesMap$lambda(descriptor, _this__u8e3s4));
}
function decodeCaseInsensitive(_this__u8e3s4, descriptor) {
_init_properties_JsonNamesMap_kt__cbbp0k();
return _this__u8e3s4.hp_1.hr_1 && equals(descriptor.wd(), ENUM_getInstance());
}
function getJsonNameIndexSlowPath(_this__u8e3s4, json, name) {
_init_properties_JsonNamesMap_kt__cbbp0k();
var tmp0_elvis_lhs = deserializationNamesMap(json, _this__u8e3s4).s1(name);
return tmp0_elvis_lhs == null ? -3 : tmp0_elvis_lhs;
}
function serializationNamesIndices(_this__u8e3s4, json, strategy) {
_init_properties_JsonNamesMap_kt__cbbp0k();
var tmp = get_schemaCache(json);
var tmp_0 = get_JsonSerializationNamesKey();
return tmp.xs(_this__u8e3s4, tmp_0, serializationNamesIndices$lambda(_this__u8e3s4, strategy));
}
function buildDeserializationNamesMap(_this__u8e3s4, json) {
_init_properties_JsonNamesMap_kt__cbbp0k();
// Inline function 'kotlin.collections.mutableMapOf' call
var builder = LinkedHashMap_init_$Create$();
var useLowercaseEnums = decodeCaseInsensitive(json, _this__u8e3s4);
var strategyForClasses = namingStrategy(_this__u8e3s4, json);
var inductionVariable = 0;
var last = _this__u8e3s4.yd();
if (inductionVariable < last)
do {
var i = inductionVariable;
inductionVariable = inductionVariable + 1 | 0;
// Inline function 'kotlin.collections.filterIsInstance' call
var tmp0 = _this__u8e3s4.ce(i);
// Inline function 'kotlin.collections.filterIsInstanceTo' call
var destination = ArrayList_init_$Create$();
var _iterator__ex2g4s = tmp0.g();
while (_iterator__ex2g4s.h()) {
var element = _iterator__ex2g4s.i();
if (element instanceof JsonNames) {
destination.e(element);
}
}
var tmp0_safe_receiver = singleOrNull(destination);
var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.ys_1;
if (tmp1_safe_receiver == null)
null;
else {
// Inline function 'kotlin.collections.forEach' call
var inductionVariable_0 = 0;
var last_0 = tmp1_safe_receiver.length;
while (inductionVariable_0 < last_0) {
var element_0 = tmp1_safe_receiver[inductionVariable_0];
inductionVariable_0 = inductionVariable_0 + 1 | 0;
var tmp;
if (useLowercaseEnums) {
// Inline function 'kotlin.text.lowercase' call
// Inline function 'kotlin.js.asDynamic' call
tmp = element_0.toLowerCase();
} else {
tmp = element_0;
}
buildDeserializationNamesMap$putOrThrow(builder, _this__u8e3s4, tmp, i);
}
}
var tmp_0;
if (useLowercaseEnums) {
// Inline function 'kotlin.text.lowercase' call
// Inline function 'kotlin.js.asDynamic' call
tmp_0 = _this__u8e3s4.ae(i).toLowerCase();
} else if (!(strategyForClasses == null)) {
tmp_0 = strategyForClasses.zs(_this__u8e3s4, i, _this__u8e3s4.ae(i));
} else {
tmp_0 = null;
}
var nameToPut = tmp_0;
if (nameToPut == null)
null;
else {
// Inline function 'kotlin.let' call
buildDeserializationNamesMap$putOrThrow(builder, _this__u8e3s4, nameToPut, i);
}
}
while (inductionVariable < last);
// Inline function 'kotlin.collections.ifEmpty' call
var tmp_1;
if (builder.l()) {
tmp_1 = emptyMap();
} else {
tmp_1 = builder;
}
return tmp_1;
}
function deserializationNamesMap$lambda($descriptor, $this_deserializationNamesMap) {
return function () {
return buildDeserializationNamesMap($descriptor, $this_deserializationNamesMap);
};
}
function serializationNamesIndices$lambda($this_serializationNamesIndices, $strategy) {
return function () {
var tmp = 0;
var tmp_0 = $this_serializationNamesIndices.yd();
// Inline function 'kotlin.arrayOfNulls' call
var tmp_1 = Array(tmp_0);
while (tmp < tmp_0) {
var tmp_2 = tmp;
var baseName = $this_serializationNamesIndices.ae(tmp_2);
tmp_1[tmp_2] = $strategy.zs($this_serializationNamesIndices, tmp_2, baseName);
tmp = tmp + 1 | 0;
}
return tmp_1;
};
}
function buildDeserializationNamesMap$putOrThrow(_this__u8e3s4, $this_buildDeserializationNamesMap, name, index) {
var entity = equals($this_buildDeserializationNamesMap.wd(), ENUM_getInstance()) ? 'enum value' : 'property';
// Inline function 'kotlin.collections.contains' call
// Inline function 'kotlin.collections.containsKey' call
if ((isInterface(_this__u8e3s4, KtMap) ? _this__u8e3s4 : THROW_CCE()).q1(name)) {
throw new JsonException("The suggested name '" + name + "' for " + entity + ' ' + $this_buildDeserializationNamesMap.ae(index) + ' is already one of the names for ' + entity + ' ' + ($this_buildDeserializationNamesMap.ae(getValue(_this__u8e3s4, name)) + ' in ' + toString($this_buildDeserializationNamesMap)));
}
// Inline function 'kotlin.collections.set' call
_this__u8e3s4.w1(name, index);
}
var properties_initialized_JsonNamesMap_kt_ljpf42;
function _init_properties_JsonNamesMap_kt__cbbp0k() {
if (!properties_initialized_JsonNamesMap_kt_ljpf42) {
properties_initialized_JsonNamesMap_kt_ljpf42 = true;
JsonDeserializationNamesKey = new Key();
JsonSerializationNamesKey = new Key();
}
}
function Tombstone() {
}
var Tombstone_instance;
function Tombstone_getInstance() {
return Tombstone_instance;
}
function resize($this) {
var newSize = imul($this.ct_1, 2);
$this.at_1 = copyOf($this.at_1, newSize);
$this.bt_1 = copyOf_0($this.bt_1, newSize);
}
function JsonPath() {
var tmp = this;
// Inline function 'kotlin.arrayOfNulls' call
tmp.at_1 = Array(8);
var tmp_0 = this;
var tmp_1 = 0;
var tmp_2 = new Int32Array(8);
while (tmp_1 < 8) {
tmp_2[tmp_1] = -1;
tmp_1 = tmp_1 + 1 | 0;
}
tmp_0.bt_1 = tmp_2;
this.ct_1 = -1;
}
protoOf(JsonPath).dt = function (sd) {
this.ct_1 = this.ct_1 + 1 | 0;
var depth = this.ct_1;
if (depth === this.at_1.length) {
resize(this);
}
this.at_1[depth] = sd;
};
protoOf(JsonPath).et = function (index) {
this.bt_1[this.ct_1] = index;
};
protoOf(JsonPath).ft = function (key) {
var tmp;
if (!(this.bt_1[this.ct_1] === -2)) {
this.ct_1 = this.ct_1 + 1 | 0;
tmp = this.ct_1 === this.at_1.length;
} else {
tmp = false;
}
if (tmp) {
resize(this);
}
this.at_1[this.ct_1] = key;
this.bt_1[this.ct_1] = -2;
};
protoOf(JsonPath).gt = function () {
if (this.bt_1[this.ct_1] === -2) {
this.at_1[this.ct_1] = Tombstone_instance;
}
};
protoOf(JsonPath).ht = function () {
var depth = this.ct_1;
if (this.bt_1[depth] === -2) {
this.bt_1[depth] = -1;
this.ct_1 = this.ct_1 - 1 | 0;
}
if (!(this.ct_1 === -1)) {
this.ct_1 = this.ct_1 - 1 | 0;
}
};
protoOf(JsonPath).it = function () {
// Inline function 'kotlin.text.buildString' call
// Inline function 'kotlin.apply' call
var this_0 = StringBuilder_init_$Create$();
this_0.j6('$');
// Inline function 'kotlin.repeat' call
var times = this.ct_1 + 1 | 0;
var inductionVariable = 0;
if (inductionVariable < times)
do {
var index = inductionVariable;
inductionVariable = inductionVariable + 1 | 0;
var element = this.at_1[index];
if (!(element == null) ? isInterface(element, SerialDescriptor) : false) {
if (equals(element.wd(), LIST_getInstance())) {
if (!(this.bt_1[index] === -1)) {
this_0.j6('[');
this_0.h9(this.bt_1[index]);
this_0.j6(']');
}
} else {
var idx = this.bt_1[index];
if (idx >= 0) {
this_0.j6('.');
this_0.j6(element.ae(idx));
}
}
} else {
if (!(element === Tombstone_instance)) {
this_0.j6('[');
this_0.j6("'");
this_0.i6(element);
this_0.j6("'");
this_0.j6(']');
}
}
}
while (inductionVariable < times);
return this_0.toString();
};
protoOf(JsonPath).toString = function () {
return this.it();
};
function checkKind($this, descriptor, actualClass) {
var kind = descriptor.wd();
var tmp;
if (kind instanceof PolymorphicKind) {
tmp = true;
} else {
tmp = equals(kind, CONTEXTUAL_getInstance());
}
if (tmp) {
throw IllegalArgumentException_init_$Create$('Serializer for ' + actualClass.b8() + " can't be registered as a subclass for polymorphic serialization " + ('because its kind ' + kind.toString() + ' is not concrete. To work with multiple hierarchies, register it as a base class.'));
}
if ($this.kt_1)
return Unit_instance;
if (!$this.lt_1)
return Unit_instance;
var tmp_0;
var tmp_1;
if (equals(kind, LIST_getInstance()) || equals(kind, MAP_getInstance())) {
tmp_1 = true;
} else {
tmp_1 = kind instanceof PrimitiveKind;
}
if (tmp_1) {
tmp_0 = true;
} else {
tmp_0 = kind instanceof ENUM;
}
if (tmp_0) {
throw IllegalArgumentException_init_$Create$('Serializer for ' + actualClass.b8() + ' of kind ' + kind.toString() + ' cannot be serialized polymorphically with class discriminator.');
}
}
function checkDiscriminatorCollisions($this, descriptor, actualClass) {
var inductionVariable = 0;
var last = descriptor.yd();
if (inductionVariable < last)
do {
var i = inductionVariable;
inductionVariable = inductionVariable + 1 | 0;
var name = descriptor.ae(i);
if (name === $this.jt_1) {
throw IllegalArgumentException_init_$Create$('Polymorphic serializer for ' + toString(actualClass) + " has property '" + name + "' that conflicts " + 'with JSON class discriminator. You can either change class discriminator in JsonConfiguration, rename property with @SerialName annotation or fall back to array polymorphism');
}
}
while (inductionVariable < last);
}
function JsonSerializersModuleValidator(configuration) {
this.jt_1 = configuration.dr_1;
this.kt_1 = configuration.cr_1;
this.lt_1 = !configuration.kr_1.equals(ClassDiscriminatorMode_NONE_getInstance());
}
protoOf(JsonSerializersModuleValidator).sk = function (kClass, provider) {
};
protoOf(JsonSerializersModuleValidator).vk = function (baseClass, actualClass, actualSerializer) {
var descriptor = actualSerializer.hd();
checkKind(this, descriptor, actualClass);
if (!this.kt_1 && this.lt_1) {
checkDiscriminatorCollisions(this, descriptor, actualClass);
}
};
protoOf(JsonSerializersModuleValidator).wk = function (baseClass, defaultSerializerProvider) {
};
protoOf(JsonSerializersModuleValidator).xk = function (baseClass, defaultDeserializerProvider) {
};
function encodeByWriter(json, writer, serializer, value) {
var tmp = WriteMode_OBJ_getInstance();
// Inline function 'kotlin.arrayOfNulls' call
var size = get_entries().k();
var tmp$ret$0 = Array(size);
var encoder = StreamingJsonEncoder_init_$Create$(writer, json, tmp, tmp$ret$0);
encoder.qf(serializer, value);
}
function readObject($this) {
// Inline function 'kotlinx.serialization.json.internal.JsonTreeReader.readObjectImpl' call
var lastToken = $this.vt_1.zt(6);
if ($this.vt_1.bu() === 4) {
$this.vt_1.au('Unexpected leading comma');
}
// Inline function 'kotlin.collections.linkedMapOf' call
var result = LinkedHashMap_init_$Create$();
$l$loop: while ($this.vt_1.cu()) {
var key = $this.wt_1 ? $this.vt_1.eu() : $this.vt_1.du();
$this.vt_1.zt(5);
var element = $this.fu();
// Inline function 'kotlin.collections.set' call
result.w1(key, element);
lastToken = $this.vt_1.gu();
var tmp0_subject = lastToken;
if (tmp0_subject !== 4)
if (tmp0_subject === 7)
break $l$loop;
else {
$this.vt_1.au('Expected end of the object or comma');
}
}
if (lastToken === 6) {
$this.vt_1.zt(7);
} else if (lastToken === 4) {
if (!$this.xt_1) {
invalidTrailingComma($this.vt_1);
}
$this.vt_1.zt(7);
}
return new JsonObject(result);
}
function readObject_0($this, $receiver, $completion) {
var tmp = new $readObjectCOROUTINE$($this, $receiver, $completion);
tmp.e7_1 = Unit_instance;
tmp.f7_1 = null;
return tmp.k7();
}
function readArray($this) {
var lastToken = $this.vt_1.gu();
if ($this.vt_1.bu() === 4) {
$this.vt_1.au('Unexpected leading comma');
}
// Inline function 'kotlin.collections.arrayListOf' call
var result = ArrayList_init_$Create$();
while ($this.vt_1.cu()) {
var element = $this.fu();
result.e(element);
lastToken = $this.vt_1.gu();
if (!(lastToken === 4)) {
var tmp0 = $this.vt_1;
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonLexer.require' call
var condition = lastToken === 9;
var position = tmp0.wp_1;
if (!condition) {
var tmp$ret$2 = 'Expected end of the array or comma';
tmp0.au(tmp$ret$2, position);
}
}
}
if (lastToken === 8) {
$this.vt_1.zt(9);
} else if (lastToken === 4) {
if (!$this.xt_1) {
invalidTrailingComma($this.vt_1, 'array');
}
$this.vt_1.zt(9);
}
return new JsonArray(result);
}
function readValue($this, isString) {
var tmp;
if ($this.wt_1 || !isString) {
tmp = $this.vt_1.eu();
} else {
tmp = $this.vt_1.du();
}
var string = tmp;
if (!isString && string === 'null')
return JsonNull_getInstance();
return new JsonLiteral(string, isString);
}
function readDeepRecursive($this) {
return invoke(new DeepRecursiveFunction(JsonTreeReader$readDeepRecursive$slambda_0($this, null)), Unit_instance);
}
function JsonTreeReader$readDeepRecursive$slambda(this$0, resultContinuation) {
this.dv_1 = this$0;
CoroutineImpl.call(this, resultContinuation);
}
protoOf(JsonTreeReader$readDeepRecursive$slambda).hv = function ($this$DeepRecursiveFunction, it, $completion) {
var tmp = this.iv($this$DeepRecursiveFunction, it, $completion);
tmp.e7_1 = Unit_instance;
tmp.f7_1 = null;
return tmp.k7();
};
protoOf(JsonTreeReader$readDeepRecursive$slambda).q7 = function (p1, p2, $completion) {
var tmp = p1 instanceof DeepRecursiveScope ? p1 : THROW_CCE();
return this.hv(tmp, p2 instanceof Unit ? p2 : THROW_CCE(), $completion);
};
protoOf(JsonTreeReader$readDeepRecursive$slambda).k7 = function () {
var suspendResult = this.e7_1;
$sm: do
try {
var tmp = this.c7_1;
switch (tmp) {
case 0:
this.d7_1 = 3;
var tmp0_subject = this.dv_1.vt_1.bu();
if (tmp0_subject === 1) {
this.gv_1 = readValue(this.dv_1, true);
this.c7_1 = 2;
continue $sm;
} else {
if (tmp0_subject === 0) {
this.gv_1 = readValue(this.dv_1, false);
this.c7_1 = 2;
continue $sm;
} else {
if (tmp0_subject === 6) {
this.c7_1 = 1;
suspendResult = readObject_0(this.dv_1, this.ev_1, this);
if (suspendResult === get_COROUTINE_SUSPENDED()) {
return suspendResult;
}
continue $sm;
} else {
if (tmp0_subject === 8) {
this.gv_1 = readArray(this.dv_1);
this.c7_1 = 2;
continue $sm;
} else {
var tmp_0 = this;
this.dv_1.vt_1.au("Can't begin reading element, unexpected token");
}
}
}
}
break;
case 1:
this.gv_1 = suspendResult;
this.c7_1 = 2;
continue $sm;
case 2:
return this.gv_1;
case 3:
throw this.f7_1;
}
} catch ($p) {
var e = $p;
if (this.d7_1 === 3) {
throw e;
} else {
this.c7_1 = this.d7_1;
this.f7_1 = e;
}
}
while (true);
};
protoOf(JsonTreeReader$readDeepRecursive$slambda).iv = function ($this$DeepRecursiveFunction, it, completion) {
var i = new JsonTreeReader$readDeepRecursive$slambda(this.dv_1, completion);
i.ev_1 = $this$DeepRecursiveFunction;
i.fv_1 = it;
return i;
};
function JsonTreeReader$readDeepRecursive$slambda_0(this$0, resultContinuation) {
var i = new JsonTreeReader$readDeepRecursive$slambda(this$0, resultContinuation);
var l = function ($this$DeepRecursiveFunction, it, $completion) {
return i.hv($this$DeepRecursiveFunction, it, $completion);
};
l.$arity = 2;
return l;
}
function $readObjectCOROUTINE$(_this__u8e3s4, _this__u8e3s4_0, resultContinuation) {
CoroutineImpl.call(this, resultContinuation);
this.pu_1 = _this__u8e3s4;
this.qu_1 = _this__u8e3s4_0;
}
protoOf($readObjectCOROUTINE$).k7 = function () {
var suspendResult = this.e7_1;
$sm: do
try {
var tmp = this.c7_1;
switch (tmp) {
case 0:
this.d7_1 = 5;
this.su_1 = this.pu_1;
this.tu_1 = this.su_1.vt_1.zt(6);
if (this.su_1.vt_1.bu() === 4) {
this.su_1.vt_1.au('Unexpected leading comma');
}
var tmp_0 = this;
tmp_0.ru_1 = LinkedHashMap_init_$Create$();
this.c7_1 = 1;
continue $sm;
case 1:
if (!this.su_1.vt_1.cu()) {
this.c7_1 = 4;
continue $sm;
}
this.uu_1 = this.su_1.wt_1 ? this.su_1.vt_1.eu() : this.su_1.vt_1.du();
this.su_1.vt_1.zt(5);
this.c7_1 = 2;
suspendResult = this.qu_1.qc(Unit_instance, this);
if (suspendResult === get_COROUTINE_SUSPENDED()) {
return suspendResult;
}
continue $sm;
case 2:
var element = suspendResult;
var tmp0 = this.ru_1;
var key = this.uu_1;
tmp0.w1(key, element);
this.tu_1 = this.su_1.vt_1.gu();
var tmp0_subject = this.tu_1;
if (tmp0_subject === 4) {
this.c7_1 = 3;
continue $sm;
} else {
if (tmp0_subject === 7) {
this.c7_1 = 4;
continue $sm;
} else {
this.su_1.vt_1.au('Expected end of the object or comma');
}
}
break;
case 3:
this.c7_1 = 1;
continue $sm;
case 4:
if (this.tu_1 === 6) {
this.su_1.vt_1.zt(7);
} else if (this.tu_1 === 4) {
if (!this.su_1.xt_1) {
invalidTrailingComma(this.su_1.vt_1);
}
this.su_1.vt_1.zt(7);
}
return new JsonObject(this.ru_1);
case 5:
throw this.f7_1;
}
} catch ($p) {
var e = $p;
if (this.d7_1 === 5) {
throw e;
} else {
this.c7_1 = this.d7_1;
this.f7_1 = e;
}
}
while (true);
};
function JsonTreeReader(configuration, lexer) {
this.vt_1 = lexer;
this.wt_1 = configuration.wq_1;
this.xt_1 = configuration.ir_1;
this.yt_1 = 0;
}
protoOf(JsonTreeReader).fu = function () {
var token = this.vt_1.bu();
var tmp;
if (token === 1) {
tmp = readValue(this, true);
} else if (token === 0) {
tmp = readValue(this, false);
} else if (token === 6) {
var tmp_0;
this.yt_1 = this.yt_1 + 1 | 0;
if (this.yt_1 === 200) {
tmp_0 = readDeepRecursive(this);
} else {
tmp_0 = readObject(this);
}
var result = tmp_0;
this.yt_1 = this.yt_1 - 1 | 0;
tmp = result;
} else if (token === 8) {
tmp = readArray(this);
} else {
this.vt_1.au('Cannot read Json element because of unexpected ' + tokenDescription(token));
}
return tmp;
};
function classDiscriminator(_this__u8e3s4, json) {
var _iterator__ex2g4s = _this__u8e3s4.zd().g();
while (_iterator__ex2g4s.h()) {
var annotation = _iterator__ex2g4s.i();
if (annotation instanceof JsonClassDiscriminator)
return annotation.jv_1;
}
return json.hp_1.dr_1;
}
function validateIfSealed(serializer, actualSerializer, classDiscriminator) {
if (!(serializer instanceof SealedClassSerializer))
return Unit_instance;
if (jsonCachedSerialNames(actualSerializer.hd()).k1(classDiscriminator)) {
var baseName = serializer.hd().vd();
var actualName = actualSerializer.hd().vd();
// Inline function 'kotlin.error' call
var message = "Sealed class '" + actualName + "' cannot be serialized as base class '" + baseName + "' because" + (" it has property name that conflicts with JSON class discriminator '" + classDiscriminator + "'. ") + 'You can either change class discriminator in JsonConfiguration, rename property with @SerialName annotation or fall back to array polymorphism';
throw IllegalStateException_init_$Create$(toString(message));
}
}
function checkKind_0(kind) {
if (kind instanceof ENUM) {
// Inline function 'kotlin.error' call
var message = "Enums cannot be serialized polymorphically with 'type' parameter. You can use 'JsonBuilder.useArrayPolymorphism' instead";
throw IllegalStateException_init_$Create$(toString(message));
}
if (kind instanceof PrimitiveKind) {
// Inline function 'kotlin.error' call
var message_0 = "Primitives cannot be serialized polymorphically with 'type' parameter. You can use 'JsonBuilder.useArrayPolymorphism' instead";
throw IllegalStateException_init_$Create$(toString(message_0));
}
if (kind instanceof PolymorphicKind) {
// Inline function 'kotlin.error' call
var message_1 = 'Actual serializer for polymorphic cannot be polymorphic itself';
throw IllegalStateException_init_$Create$(toString(message_1));
}
}
function access$validateIfSealed$tPolymorphicKt(serializer, actualSerializer, classDiscriminator) {
return validateIfSealed(serializer, actualSerializer, classDiscriminator);
}
function Key() {
}
function DescriptorSchemaCache() {
this.ws_1 = createMapForCache(16);
}
protoOf(DescriptorSchemaCache).kv = function (descriptor, key, value) {
// Inline function 'kotlin.collections.getOrPut' call
var this_0 = this.ws_1;
var value_0 = this_0.s1(descriptor);
var tmp;
if (value_0 == null) {
var answer = createMapForCache(2);
this_0.w1(descriptor, answer);
tmp = answer;
} else {
tmp = value_0;
}
var tmp0 = tmp;
var tmp2 = key instanceof Key ? key : THROW_CCE();
// Inline function 'kotlin.collections.set' call
var value_1 = !(value == null) ? value : THROW_CCE();
tmp0.w1(tmp2, value_1);
};
protoOf(DescriptorSchemaCache).xs = function (descriptor, key, defaultValue) {
var tmp0_safe_receiver = this.lv(descriptor, key);
if (tmp0_safe_receiver == null)
null;
else {
// Inline function 'kotlin.let' call
return tmp0_safe_receiver;
}
var value = defaultValue();
this.kv(descriptor, key, value);
return value;
};
protoOf(DescriptorSchemaCache).lv = function (descriptor, key) {
var tmp0_safe_receiver = this.ws_1.s1(descriptor);
var tmp;
if (tmp0_safe_receiver == null) {
tmp = null;
} else {
tmp = tmp0_safe_receiver.s1(key instanceof Key ? key : THROW_CCE());
}
var tmp_0 = tmp;
return !(tmp_0 == null) ? tmp_0 : null;
};
function DiscriminatorHolder(discriminatorToSkip) {
this.mv_1 = discriminatorToSkip;
}
function trySkip($this, $receiver, unknownKey) {
if ($receiver == null)
return false;
if ($receiver.mv_1 === unknownKey) {
$receiver.mv_1 = null;
return true;
}
return false;
}
function skipLeftoverElements($this, descriptor) {
while (!($this.cf(descriptor) === -1)) {
}
}
function checkLeadingComma($this) {
if ($this.qp_1.bu() === 4) {
$this.qp_1.au('Unexpected leading comma');
}
}
function decodeMapIndex($this) {
var hasComma = false;
var decodingKey = !(($this.sp_1 % 2 | 0) === 0);
if (decodingKey) {
if (!($this.sp_1 === -1)) {
hasComma = $this.qp_1.ov();
}
} else {
$this.qp_1.nv(_Char___init__impl__6a9atx(58));
}
var tmp;
if ($this.qp_1.cu()) {
if (decodingKey) {
if ($this.sp_1 === -1) {
var tmp0 = $this.qp_1;
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonLexer.require' call
var condition = !hasComma;
var position = tmp0.wp_1;
if (!condition) {
var tmp$ret$1 = 'Unexpected leading comma';
tmp0.au(tmp$ret$1, position);
}
} else {
var tmp0_0 = $this.qp_1;
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonLexer.require' call
var condition_0 = hasComma;
var position_0 = tmp0_0.wp_1;
if (!condition_0) {
var tmp$ret$3 = 'Expected comma after the key-value pair';
tmp0_0.au(tmp$ret$3, position_0);
}
}
}
$this.sp_1 = $this.sp_1 + 1 | 0;
tmp = $this.sp_1;
} else {
if (hasComma && !$this.op_1.hp_1.ir_1) {
invalidTrailingComma($this.qp_1);
}
tmp = -1;
}
return tmp;
}
function coerceInputValue($this, descriptor, index) {
var tmp0 = $this.op_1;
var tmp$ret$0;
$l$block_2: {
// Inline function 'kotlinx.serialization.json.internal.tryCoerceValue' call
var isOptional = descriptor.ee(index);
var elementDescriptor = descriptor.de(index);
var tmp;
if (isOptional && !elementDescriptor.pd()) {
tmp = $this.qp_1.pv(true);
} else {
tmp = false;
}
if (tmp) {
tmp$ret$0 = true;
break $l$block_2;
}
if (equals(elementDescriptor.wd(), ENUM_getInstance())) {
var tmp_0;
if (elementDescriptor.pd()) {
tmp_0 = $this.qp_1.pv(false);
} else {
tmp_0 = false;
}
if (tmp_0) {
tmp$ret$0 = false;
break $l$block_2;
}
var tmp0_elvis_lhs = $this.qp_1.qv($this.up_1.wq_1);
var tmp_1;
if (tmp0_elvis_lhs == null) {
tmp$ret$0 = false;
break $l$block_2;
} else {
tmp_1 = tmp0_elvis_lhs;
}
var enumValue = tmp_1;
var enumIndex = getJsonNameIndex(elementDescriptor, tmp0, enumValue);
var coerceToNull = !tmp0.hp_1.zq_1 && elementDescriptor.pd();
if (enumIndex === -3 && (isOptional || coerceToNull)) {
$this.qp_1.du();
tmp$ret$0 = true;
break $l$block_2;
}
}
tmp$ret$0 = false;
}
return tmp$ret$0;
}
function decodeObjectIndex($this, descriptor) {
var hasComma = $this.qp_1.ov();
while ($this.qp_1.cu()) {
hasComma = false;
var key = decodeStringKey($this);
$this.qp_1.nv(_Char___init__impl__6a9atx(58));
var index = getJsonNameIndex(descriptor, $this.op_1, key);
var tmp;
if (!(index === -3)) {
var tmp_0;
if ($this.up_1.br_1 && coerceInputValue($this, descriptor, index)) {
hasComma = $this.qp_1.ov();
tmp_0 = false;
} else {
var tmp0_safe_receiver = $this.vp_1;
if (tmp0_safe_receiver == null)
null;
else {
tmp0_safe_receiver.ts(index);
}
return index;
}
tmp = tmp_0;
} else {
tmp = true;
}
var isUnknown = tmp;
if (isUnknown) {
hasComma = handleUnknown($this, descriptor, key);
}
}
if (hasComma && !$this.op_1.hp_1.ir_1) {
invalidTrailingComma($this.qp_1);
}
var tmp1_safe_receiver = $this.vp_1;
var tmp2_elvis_lhs = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.us();
return tmp2_elvis_lhs == null ? -1 : tmp2_elvis_lhs;
}
function handleUnknown($this, descriptor, key) {
if (ignoreUnknownKeys(descriptor, $this.op_1) || trySkip($this, $this.tp_1, key)) {
$this.qp_1.sv($this.up_1.wq_1);
} else {
$this.qp_1.xp_1.ht();
$this.qp_1.rv(key);
}
return $this.qp_1.ov();
}
function decodeListIndex($this) {
var hasComma = $this.qp_1.ov();
var tmp;
if ($this.qp_1.cu()) {
if (!($this.sp_1 === -1) && !hasComma) {
$this.qp_1.au('Expected end of the array or comma');
}
$this.sp_1 = $this.sp_1 + 1 | 0;
tmp = $this.sp_1;
} else {
if (hasComma && !$this.op_1.hp_1.ir_1) {
invalidTrailingComma($this.qp_1, 'array');
}
tmp = -1;
}
return tmp;
}
function decodeStringKey($this) {
var tmp;
if ($this.up_1.wq_1) {
tmp = $this.qp_1.uv();
} else {
tmp = $this.qp_1.tv();
}
return tmp;
}
function StreamingJsonDecoder(json, mode, lexer, descriptor, discriminatorHolder) {
AbstractDecoder.call(this);
this.op_1 = json;
this.pp_1 = mode;
this.qp_1 = lexer;
this.rp_1 = this.op_1.af();
this.sp_1 = -1;
this.tp_1 = discriminatorHolder;
this.up_1 = this.op_1.hp_1;
this.vp_1 = this.up_1.zq_1 ? null : new JsonElementMarker(descriptor);
}
protoOf(StreamingJsonDecoder).vv = function () {
return this.op_1;
};
protoOf(StreamingJsonDecoder).af = function () {
return this.rp_1;
};
protoOf(StreamingJsonDecoder).wv = function () {
return (new JsonTreeReader(this.op_1.hp_1, this.qp_1)).fu();
};
protoOf(StreamingJsonDecoder).qe = function (deserializer) {
try {
var tmp;
if (!(deserializer instanceof AbstractPolymorphicSerializer)) {
tmp = true;
} else {
tmp = this.op_1.hp_1.cr_1;
}
if (tmp) {
return deserializer.jd(this);
}
var discriminator = classDiscriminator(deserializer.hd(), this.op_1);
var tmp0_elvis_lhs = this.qp_1.xv(discriminator, this.up_1.wq_1);
var tmp_0;
if (tmp0_elvis_lhs == null) {
var tmp2 = isInterface(deserializer, DeserializationStrategy) ? deserializer : THROW_CCE();
var tmp$ret$0;
$l$block: {
// Inline function 'kotlinx.serialization.json.internal.decodeSerializableValuePolymorphic' call
var tmp_1;
if (!(tmp2 instanceof AbstractPolymorphicSerializer)) {
tmp_1 = true;
} else {
tmp_1 = this.vv().hp_1.cr_1;
}
if (tmp_1) {
tmp$ret$0 = tmp2.jd(this);
break $l$block;
}
var discriminator_0 = classDiscriminator(tmp2.hd(), this.vv());
var tmp0 = this.wv();
// Inline function 'kotlinx.serialization.json.internal.cast' call
var serialName = tmp2.hd().vd();
if (!(tmp0 instanceof JsonObject)) {
var tmp_2 = getKClass(JsonObject).b8();
var tmp_3 = getKClassFromExpression(tmp0).b8();
var tmp$ret$2 = this.qp_1.xp_1.it();
throw JsonDecodingException_0(-1, 'Expected ' + tmp_2 + ', but had ' + tmp_3 + ' as the serialized body of ' + serialName + ' at element: ' + tmp$ret$2, toString(tmp0));
}
var jsonTree = tmp0;
var tmp0_safe_receiver = jsonTree.nr(discriminator_0);
var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : get_jsonPrimitive(tmp0_safe_receiver);
var type = tmp1_safe_receiver == null ? null : get_contentOrNull(tmp1_safe_receiver);
var tmp_4;
try {
tmp_4 = findPolymorphicSerializer(tmp2, this, type);
} catch ($p) {
var tmp_5;
if ($p instanceof SerializationException) {
var it = $p;
throw JsonDecodingException_0(-1, ensureNotNull(it.message), jsonTree.toString());
} else {
throw $p;
}
}
var tmp_6 = tmp_4;
var actualSerializer = isInterface(tmp_6, DeserializationStrategy) ? tmp_6 : THROW_CCE();
tmp$ret$0 = readPolymorphicJson(this.vv(), discriminator_0, jsonTree, actualSerializer);
}
return tmp$ret$0;
} else {
tmp_0 = tmp0_elvis_lhs;
}
var type_0 = tmp_0;
var tmp_7;
try {
tmp_7 = findPolymorphicSerializer(deserializer, this, type_0);
} catch ($p) {
var tmp_8;
if ($p instanceof SerializationException) {
var it_0 = $p;
var message = removeSuffix(substringBefore(ensureNotNull(it_0.message), _Char___init__impl__6a9atx(10)), '.');
var hint = substringAfter(ensureNotNull(it_0.message), _Char___init__impl__6a9atx(10), '');
this.qp_1.au(message, VOID, hint);
} else {
throw $p;
}
tmp_7 = tmp_8;
}
var tmp_9 = tmp_7;
var actualSerializer_0 = isInterface(tmp_9, DeserializationStrategy) ? tmp_9 : THROW_CCE();
this.tp_1 = new DiscriminatorHolder(discriminator);
return actualSerializer_0.jd(this);
} catch ($p) {
if ($p instanceof MissingFieldException) {
var e = $p;
if (contains(ensureNotNull(e.message), 'at path'))
throw e;
throw new MissingFieldException(e.od_1, plus(e.message, ' at path: ') + this.qp_1.xp_1.it(), e);
} else {
throw $p;
}
}
};
protoOf(StreamingJsonDecoder).re = function (descriptor) {
var newMode = switchMode(this.op_1, descriptor);
this.qp_1.xp_1.dt(descriptor);
this.qp_1.nv(newMode.aw_1);
checkLeadingComma(this);
var tmp;
switch (newMode.y1_1) {
case 1:
case 2:
case 3:
tmp = new StreamingJsonDecoder(this.op_1, newMode, this.qp_1, descriptor, this.tp_1);
break;
default:
var tmp_0;
if (this.pp_1.equals(newMode) && this.op_1.hp_1.zq_1) {
tmp_0 = this;
} else {
tmp_0 = new StreamingJsonDecoder(this.op_1, newMode, this.qp_1, descriptor, this.tp_1);
}
tmp = tmp_0;
break;
}
return tmp;
};
protoOf(StreamingJsonDecoder).se = function (descriptor) {
if (descriptor.yd() === 0 && ignoreUnknownKeys(descriptor, this.op_1)) {
skipLeftoverElements(this, descriptor);
}
if (this.qp_1.ov() && !this.op_1.hp_1.ir_1) {
invalidTrailingComma(this.qp_1, '');
}
this.qp_1.nv(this.pp_1.bw_1);
this.qp_1.xp_1.ht();
};
protoOf(StreamingJsonDecoder).je = function () {
var tmp;
var tmp0_safe_receiver = this.vp_1;
var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.ss_1;
if (!(tmp1_elvis_lhs == null ? false : tmp1_elvis_lhs)) {
tmp = !this.qp_1.cw();
} else {
tmp = false;
}
return tmp;
};
protoOf(StreamingJsonDecoder).ke = function () {
return null;
};
protoOf(StreamingJsonDecoder).xe = function (descriptor, index, deserializer, previousValue) {
var isMapKey = this.pp_1.equals(WriteMode_MAP_getInstance()) && (index & 1) === 0;
if (isMapKey) {
this.qp_1.xp_1.gt();
}
var value = protoOf(AbstractDecoder).xe.call(this, descriptor, index, deserializer, previousValue);
if (isMapKey) {
this.qp_1.xp_1.ft(value);
}
return value;
};
protoOf(StreamingJsonDecoder).cf = function (descriptor) {
var index;
switch (this.pp_1.y1_1) {
case 0:
index = decodeObjectIndex(this, descriptor);
break;
case 2:
index = decodeMapIndex(this);
break;
default:
index = decodeListIndex(this);
break;
}
if (!this.pp_1.equals(WriteMode_MAP_getInstance())) {
this.qp_1.xp_1.et(index);
}
return index;
};
protoOf(StreamingJsonDecoder).le = function () {
return this.qp_1.dw();
};
protoOf(StreamingJsonDecoder).me = function () {
var value = this.qp_1.ew();
if (!equalsLong(value, fromInt(convertToInt(value)))) {
this.qp_1.au("Failed to parse int for input '" + value.toString() + "'");
}
return convertToInt(value);
};
protoOf(StreamingJsonDecoder).ne = function () {
return this.qp_1.ew();
};
protoOf(StreamingJsonDecoder).oe = function () {
var tmp;
if (this.up_1.wq_1) {
tmp = this.qp_1.uv();
} else {
tmp = this.qp_1.du();
}
return tmp;
};
function StreamingJsonEncoder_init_$Init$(output, json, mode, modeReuseCache, $this) {
StreamingJsonEncoder.call($this, Composer_0(output, json), json, mode, modeReuseCache);
return $this;
}
function StreamingJsonEncoder_init_$Create$(output, json, mode, modeReuseCache) {
return StreamingJsonEncoder_init_$Init$(output, json, mode, modeReuseCache, objectCreate(protoOf(StreamingJsonEncoder)));
}
function encodeTypeInfo($this, discriminator, serialName) {
$this.mt_1.as();
$this.kf(discriminator);
$this.mt_1.ds(_Char___init__impl__6a9atx(58));
$this.mt_1.cs();
$this.kf(serialName);
}
function StreamingJsonEncoder(composer, json, mode, modeReuseCache) {
AbstractEncoder.call(this);
this.mt_1 = composer;
this.nt_1 = json;
this.ot_1 = mode;
this.pt_1 = modeReuseCache;
this.qt_1 = this.nt_1.af();
this.rt_1 = this.nt_1.hp_1;
this.st_1 = false;
this.tt_1 = null;
this.ut_1 = null;
var i = this.ot_1.y1_1;
if (!(this.pt_1 == null)) {
if (!(this.pt_1[i] === null) || !(this.pt_1[i] === this)) {
this.pt_1[i] = this;
}
}
}
protoOf(StreamingJsonEncoder).vv = function () {
return this.nt_1;
};
protoOf(StreamingJsonEncoder).af = function () {
return this.qt_1;
};
protoOf(StreamingJsonEncoder).vf = function (descriptor, index) {
return this.rt_1.uq_1;
};
protoOf(StreamingJsonEncoder).qf = function (serializer, value) {
$l$block: {
// Inline function 'kotlinx.serialization.json.internal.encodePolymorphically' call
if (this.vv().hp_1.cr_1) {
serializer.id(this, value);
break $l$block;
}
var isPolymorphicSerializer = serializer instanceof AbstractPolymorphicSerializer;
var tmp;
if (isPolymorphicSerializer) {
tmp = !this.vv().hp_1.kr_1.equals(ClassDiscriminatorMode_NONE_getInstance());
} else {
var tmp_0;
switch (this.vv().hp_1.kr_1.y1_1) {
case 0:
case 2:
tmp_0 = false;
break;
case 1:
// Inline function 'kotlin.let' call
var it = serializer.hd().wd();
tmp_0 = equals(it, CLASS_getInstance()) || equals(it, OBJECT_getInstance());
break;
default:
noWhenBranchMatchedException();
break;
}
tmp = tmp_0;
}
var needDiscriminator = tmp;
var baseClassDiscriminator = needDiscriminator ? classDiscriminator(serializer.hd(), this.vv()) : null;
var tmp_1;
if (isPolymorphicSerializer) {
var casted = serializer instanceof AbstractPolymorphicSerializer ? serializer : THROW_CCE();
$l$block_0: {
// Inline function 'kotlin.requireNotNull' call
if (value == null) {
var message = 'Value for serializer ' + toString(serializer.hd()) + ' should always be non-null. Please report issue to the kotlinx.serialization tracker.';
throw IllegalArgumentException_init_$Create$(toString(message));
} else {
break $l$block_0;
}
}
var actual = findPolymorphicSerializer_0(casted, this, value);
if (!(baseClassDiscriminator == null)) {
access$validateIfSealed$tPolymorphicKt(serializer, actual, baseClassDiscriminator);
checkKind_0(actual.hd().wd());
}
tmp_1 = isInterface(actual, SerializationStrategy) ? actual : THROW_CCE();
} else {
tmp_1 = serializer;
}
var actualSerializer = tmp_1;
if (!(baseClassDiscriminator == null)) {
var serialName = actualSerializer.hd().vd();
this.tt_1 = baseClassDiscriminator;
this.ut_1 = serialName;
}
actualSerializer.id(this, value);
}
};
protoOf(StreamingJsonEncoder).re = function (descriptor) {
var newMode = switchMode(this.nt_1, descriptor);
if (!(newMode.aw_1 === _Char___init__impl__6a9atx(0))) {
this.mt_1.ds(newMode.aw_1);
this.mt_1.yr();
}
var discriminator = this.tt_1;
if (!(discriminator == null)) {
var tmp0_elvis_lhs = this.ut_1;
encodeTypeInfo(this, discriminator, tmp0_elvis_lhs == null ? descriptor.vd() : tmp0_elvis_lhs);
this.tt_1 = null;
this.ut_1 = null;
}
if (this.ot_1.equals(newMode)) {
return this;
}
var tmp1_safe_receiver = this.pt_1;
var tmp2_elvis_lhs = tmp1_safe_receiver == null ? null : tmp1_safe_receiver[newMode.y1_1];
return tmp2_elvis_lhs == null ? new StreamingJsonEncoder(this.mt_1, this.nt_1, newMode, this.pt_1) : tmp2_elvis_lhs;
};
protoOf(StreamingJsonEncoder).se = function (descriptor) {
if (!(this.ot_1.bw_1 === _Char___init__impl__6a9atx(0))) {
this.mt_1.zr();
this.mt_1.bs();
this.mt_1.ds(this.ot_1.bw_1);
}
};
protoOf(StreamingJsonEncoder).ef = function (descriptor, index) {
switch (this.ot_1.y1_1) {
case 1:
if (!this.mt_1.xr_1) {
this.mt_1.ds(_Char___init__impl__6a9atx(44));
}
this.mt_1.as();
break;
case 2:
if (!this.mt_1.xr_1) {
var tmp = this;
var tmp_0;
if ((index % 2 | 0) === 0) {
this.mt_1.ds(_Char___init__impl__6a9atx(44));
this.mt_1.as();
tmp_0 = true;
} else {
this.mt_1.ds(_Char___init__impl__6a9atx(58));
this.mt_1.cs();
tmp_0 = false;
}
tmp.st_1 = tmp_0;
} else {
this.st_1 = true;
this.mt_1.as();
}
break;
case 3:
if (index === 0)
this.st_1 = true;
if (index === 1) {
this.mt_1.ds(_Char___init__impl__6a9atx(44));
this.mt_1.cs();
this.st_1 = false;
}
break;
default:
if (!this.mt_1.xr_1) {
this.mt_1.ds(_Char___init__impl__6a9atx(44));
}
this.mt_1.as();
this.kf(getJsonElementName(descriptor, this.nt_1, index));
this.mt_1.ds(_Char___init__impl__6a9atx(58));
this.mt_1.cs();
break;
}
return true;
};
protoOf(StreamingJsonEncoder).rf = function (descriptor, index, serializer, value) {
if (!(value == null) || this.rt_1.zq_1) {
protoOf(AbstractEncoder).rf.call(this, descriptor, index, serializer, value);
}
};
protoOf(StreamingJsonEncoder).gf = function () {
this.mt_1.fs('null');
};
protoOf(StreamingJsonEncoder).hf = function (value) {
if (this.st_1) {
this.kf(value.toString());
} else {
this.mt_1.ks(value);
}
};
protoOf(StreamingJsonEncoder).if = function (value) {
if (this.st_1) {
this.kf(value.toString());
} else {
this.mt_1.hs(value);
}
};
protoOf(StreamingJsonEncoder).jf = function (value) {
if (this.st_1) {
this.kf(value.toString());
} else {
this.mt_1.js(value);
}
};
protoOf(StreamingJsonEncoder).kf = function (value) {
return this.mt_1.ls(value);
};
function get_ESCAPE_STRINGS() {
_init_properties_StringOps_kt__fcy1db();
return ESCAPE_STRINGS;
}
var ESCAPE_STRINGS;
var ESCAPE_MARKERS;
function toHexChar(i) {
_init_properties_StringOps_kt__fcy1db();
var d = i & 15;
var tmp;
if (d < 10) {
// Inline function 'kotlin.code' call
var this_0 = _Char___init__impl__6a9atx(48);
var tmp$ret$0 = Char__toInt_impl_vasixd(this_0);
tmp = numberToChar(d + tmp$ret$0 | 0);
} else {
var tmp_0 = d - 10 | 0;
// Inline function 'kotlin.code' call
var this_1 = _Char___init__impl__6a9atx(97);
var tmp$ret$1 = Char__toInt_impl_vasixd(this_1);
tmp = numberToChar(tmp_0 + tmp$ret$1 | 0);
}
return tmp;
}
function printQuoted(_this__u8e3s4, value) {
_init_properties_StringOps_kt__fcy1db();
_this__u8e3s4.k6(_Char___init__impl__6a9atx(34));
var lastPos = 0;
var inductionVariable = 0;
var last = charSequenceLength(value) - 1 | 0;
if (inductionVariable <= last)
do {
var i = inductionVariable;
inductionVariable = inductionVariable + 1 | 0;
// Inline function 'kotlin.code' call
var this_0 = charCodeAt(value, i);
var c = Char__toInt_impl_vasixd(this_0);
if (c < get_ESCAPE_STRINGS().length && !(get_ESCAPE_STRINGS()[c] == null)) {
_this__u8e3s4.e9(value, lastPos, i);
_this__u8e3s4.j6(get_ESCAPE_STRINGS()[c]);
lastPos = i + 1 | 0;
}
}
while (inductionVariable <= last);
if (!(lastPos === 0))
_this__u8e3s4.e9(value, lastPos, value.length);
else
_this__u8e3s4.j6(value);
_this__u8e3s4.k6(_Char___init__impl__6a9atx(34));
}
function toBooleanStrictOrNull(_this__u8e3s4) {
_init_properties_StringOps_kt__fcy1db();
return equals_0(_this__u8e3s4, 'true', true) ? true : equals_0(_this__u8e3s4, 'false', true) ? false : null;
}
var properties_initialized_StringOps_kt_wzaea7;
function _init_properties_StringOps_kt__fcy1db() {
if (!properties_initialized_StringOps_kt_wzaea7) {
properties_initialized_StringOps_kt_wzaea7 = true;
// Inline function 'kotlin.arrayOfNulls' call
// Inline function 'kotlin.apply' call
var this_0 = Array(93);
var inductionVariable = 0;
if (inductionVariable <= 31)
do {
var c = inductionVariable;
inductionVariable = inductionVariable + 1 | 0;
var c1 = toHexChar(c >> 12);
var c2 = toHexChar(c >> 8);
var c3 = toHexChar(c >> 4);
var c4 = toHexChar(c);
this_0[c] = '\\u' + toString_1(c1) + toString_1(c2) + toString_1(c3) + toString_1(c4);
}
while (inductionVariable <= 31);
// Inline function 'kotlin.code' call
var this_1 = _Char___init__impl__6a9atx(34);
this_0[Char__toInt_impl_vasixd(this_1)] = '\\"';
// Inline function 'kotlin.code' call
var this_2 = _Char___init__impl__6a9atx(92);
this_0[Char__toInt_impl_vasixd(this_2)] = '\\\\';
// Inline function 'kotlin.code' call
var this_3 = _Char___init__impl__6a9atx(9);
this_0[Char__toInt_impl_vasixd(this_3)] = '\\t';
// Inline function 'kotlin.code' call
var this_4 = _Char___init__impl__6a9atx(8);
this_0[Char__toInt_impl_vasixd(this_4)] = '\\b';
// Inline function 'kotlin.code' call
var this_5 = _Char___init__impl__6a9atx(10);
this_0[Char__toInt_impl_vasixd(this_5)] = '\\n';
// Inline function 'kotlin.code' call
var this_6 = _Char___init__impl__6a9atx(13);
this_0[Char__toInt_impl_vasixd(this_6)] = '\\r';
this_0[12] = '\\f';
ESCAPE_STRINGS = this_0;
// Inline function 'kotlin.apply' call
var this_7 = new Int8Array(93);
var inductionVariable_0 = 0;
if (inductionVariable_0 <= 31)
do {
var c_0 = inductionVariable_0;
inductionVariable_0 = inductionVariable_0 + 1 | 0;
this_7[c_0] = 1;
}
while (inductionVariable_0 <= 31);
// Inline function 'kotlin.code' call
var this_8 = _Char___init__impl__6a9atx(34);
var tmp = Char__toInt_impl_vasixd(this_8);
// Inline function 'kotlin.code' call
var this_9 = _Char___init__impl__6a9atx(34);
var tmp$ret$3 = Char__toInt_impl_vasixd(this_9);
this_7[tmp] = toByte(tmp$ret$3);
// Inline function 'kotlin.code' call
var this_10 = _Char___init__impl__6a9atx(92);
var tmp_0 = Char__toInt_impl_vasixd(this_10);
// Inline function 'kotlin.code' call
var this_11 = _Char___init__impl__6a9atx(92);
var tmp$ret$5 = Char__toInt_impl_vasixd(this_11);
this_7[tmp_0] = toByte(tmp$ret$5);
// Inline function 'kotlin.code' call
var this_12 = _Char___init__impl__6a9atx(9);
var tmp_1 = Char__toInt_impl_vasixd(this_12);
// Inline function 'kotlin.code' call
var this_13 = _Char___init__impl__6a9atx(116);
var tmp$ret$7 = Char__toInt_impl_vasixd(this_13);
this_7[tmp_1] = toByte(tmp$ret$7);
// Inline function 'kotlin.code' call
var this_14 = _Char___init__impl__6a9atx(8);
var tmp_2 = Char__toInt_impl_vasixd(this_14);
// Inline function 'kotlin.code' call
var this_15 = _Char___init__impl__6a9atx(98);
var tmp$ret$9 = Char__toInt_impl_vasixd(this_15);
this_7[tmp_2] = toByte(tmp$ret$9);
// Inline function 'kotlin.code' call
var this_16 = _Char___init__impl__6a9atx(10);
var tmp_3 = Char__toInt_impl_vasixd(this_16);
// Inline function 'kotlin.code' call
var this_17 = _Char___init__impl__6a9atx(110);
var tmp$ret$11 = Char__toInt_impl_vasixd(this_17);
this_7[tmp_3] = toByte(tmp$ret$11);
// Inline function 'kotlin.code' call
var this_18 = _Char___init__impl__6a9atx(13);
var tmp_4 = Char__toInt_impl_vasixd(this_18);
// Inline function 'kotlin.code' call
var this_19 = _Char___init__impl__6a9atx(114);
var tmp$ret$13 = Char__toInt_impl_vasixd(this_19);
this_7[tmp_4] = toByte(tmp$ret$13);
// Inline function 'kotlin.code' call
var this_20 = _Char___init__impl__6a9atx(102);
var tmp$ret$14 = Char__toInt_impl_vasixd(this_20);
this_7[12] = toByte(tmp$ret$14);
ESCAPE_MARKERS = this_7;
}
}
function unparsedPrimitive($this, literal, primitive, tag) {
var type = startsWith(primitive, 'i') ? 'an ' + primitive : 'a ' + primitive;
throw JsonDecodingException_0(-1, "Failed to parse literal '" + literal.toString() + "' as " + type + ' value at element: ' + $this.lw(tag), toString($this.mw()));
}
function AbstractJsonTreeDecoder(json, value, polymorphicDiscriminator) {
polymorphicDiscriminator = polymorphicDiscriminator === VOID ? null : polymorphicDiscriminator;
NamedValueDecoder.call(this);
this.hw_1 = json;
this.iw_1 = value;
this.jw_1 = polymorphicDiscriminator;
this.kw_1 = this.vv().hp_1;
}
protoOf(AbstractJsonTreeDecoder).vv = function () {
return this.hw_1;
};
protoOf(AbstractJsonTreeDecoder).p1 = function () {
return this.iw_1;
};
protoOf(AbstractJsonTreeDecoder).af = function () {
return this.vv().af();
};
protoOf(AbstractJsonTreeDecoder).mw = function () {
var tmp0_safe_receiver = this.xj();
var tmp;
if (tmp0_safe_receiver == null) {
tmp = null;
} else {
// Inline function 'kotlin.let' call
tmp = this.nw(tmp0_safe_receiver);
}
var tmp1_elvis_lhs = tmp;
return tmp1_elvis_lhs == null ? this.p1() : tmp1_elvis_lhs;
};
protoOf(AbstractJsonTreeDecoder).lw = function (currentTag) {
return this.zj() + ('.' + currentTag);
};
protoOf(AbstractJsonTreeDecoder).wv = function () {
return this.mw();
};
protoOf(AbstractJsonTreeDecoder).qe = function (deserializer) {
var tmp$ret$0;
$l$block: {
// Inline function 'kotlinx.serialization.json.internal.decodeSerializableValuePolymorphic' call
var tmp;
if (!(deserializer instanceof AbstractPolymorphicSerializer)) {
tmp = true;
} else {
tmp = this.vv().hp_1.cr_1;
}
if (tmp) {
tmp$ret$0 = deserializer.jd(this);
break $l$block;
}
var discriminator = classDiscriminator(deserializer.hd(), this.vv());
var tmp0 = this.wv();
// Inline function 'kotlinx.serialization.json.internal.cast' call
var serialName = deserializer.hd().vd();
if (!(tmp0 instanceof JsonObject)) {
var tmp_0 = getKClass(JsonObject).b8();
var tmp_1 = getKClassFromExpression(tmp0).b8();
var tmp$ret$2 = this.zj();
throw JsonDecodingException_0(-1, 'Expected ' + tmp_0 + ', but had ' + tmp_1 + ' as the serialized body of ' + serialName + ' at element: ' + tmp$ret$2, toString(tmp0));
}
var jsonTree = tmp0;
var tmp0_safe_receiver = jsonTree.nr(discriminator);
var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : get_jsonPrimitive(tmp0_safe_receiver);
var type = tmp1_safe_receiver == null ? null : get_contentOrNull(tmp1_safe_receiver);
var tmp_2;
try {
tmp_2 = findPolymorphicSerializer(deserializer, this, type);
} catch ($p) {
var tmp_3;
if ($p instanceof SerializationException) {
var it = $p;
throw JsonDecodingException_0(-1, ensureNotNull(it.message), jsonTree.toString());
} else {
throw $p;
}
}
var tmp_4 = tmp_2;
var actualSerializer = isInterface(tmp_4, DeserializationStrategy) ? tmp_4 : THROW_CCE();
tmp$ret$0 = readPolymorphicJson(this.vv(), discriminator, jsonTree, actualSerializer);
}
return tmp$ret$0;
};
protoOf(AbstractJsonTreeDecoder).yj = function (parentName, childName) {
return childName;
};
protoOf(AbstractJsonTreeDecoder).re = function (descriptor) {
var currentObject = this.mw();
var tmp0_subject = descriptor.wd();
var tmp;
var tmp_0;
if (equals(tmp0_subject, LIST_getInstance())) {
tmp_0 = true;
} else {
tmp_0 = tmp0_subject instanceof PolymorphicKind;
}
if (tmp_0) {
var tmp_1 = this.vv();
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.cast' call
// Inline function 'kotlinx.serialization.json.internal.cast' call
var serialName = descriptor.vd();
if (!(currentObject instanceof JsonArray)) {
var tmp_2 = getKClass(JsonArray).b8();
var tmp_3 = getKClassFromExpression(currentObject).b8();
var tmp$ret$2 = this.zj();
throw JsonDecodingException_0(-1, 'Expected ' + tmp_2 + ', but had ' + tmp_3 + ' as the serialized body of ' + serialName + ' at element: ' + tmp$ret$2, toString(currentObject));
}
tmp = new JsonTreeListDecoder(tmp_1, currentObject);
} else {
if (equals(tmp0_subject, MAP_getInstance())) {
// Inline function 'kotlinx.serialization.json.internal.selectMapMode' call
var this_0 = this.vv();
var keyDescriptor = carrierDescriptor(descriptor.de(0), this_0.af());
var keyKind = keyDescriptor.wd();
var tmp_4;
var tmp_5;
if (keyKind instanceof PrimitiveKind) {
tmp_5 = true;
} else {
tmp_5 = equals(keyKind, ENUM_getInstance());
}
if (tmp_5) {
var tmp_6 = this.vv();
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.cast' call
// Inline function 'kotlinx.serialization.json.internal.cast' call
var serialName_0 = descriptor.vd();
if (!(currentObject instanceof JsonObject)) {
var tmp_7 = getKClass(JsonObject).b8();
var tmp_8 = getKClassFromExpression(currentObject).b8();
var tmp$ret$7 = this.zj();
throw JsonDecodingException_0(-1, 'Expected ' + tmp_7 + ', but had ' + tmp_8 + ' as the serialized body of ' + serialName_0 + ' at element: ' + tmp$ret$7, toString(currentObject));
}
tmp_4 = new JsonTreeMapDecoder(tmp_6, currentObject);
} else {
if (this_0.hp_1.xq_1) {
var tmp_9 = this.vv();
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.cast' call
// Inline function 'kotlinx.serialization.json.internal.cast' call
var serialName_1 = descriptor.vd();
if (!(currentObject instanceof JsonArray)) {
var tmp_10 = getKClass(JsonArray).b8();
var tmp_11 = getKClassFromExpression(currentObject).b8();
var tmp$ret$11 = this.zj();
throw JsonDecodingException_0(-1, 'Expected ' + tmp_10 + ', but had ' + tmp_11 + ' as the serialized body of ' + serialName_1 + ' at element: ' + tmp$ret$11, toString(currentObject));
}
tmp_4 = new JsonTreeListDecoder(tmp_9, currentObject);
} else {
throw InvalidKeyKindException(keyDescriptor);
}
}
tmp = tmp_4;
} else {
var tmp_12 = this.vv();
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.cast' call
// Inline function 'kotlinx.serialization.json.internal.cast' call
var serialName_2 = descriptor.vd();
if (!(currentObject instanceof JsonObject)) {
var tmp_13 = getKClass(JsonObject).b8();
var tmp_14 = getKClassFromExpression(currentObject).b8();
var tmp$ret$14 = this.zj();
throw JsonDecodingException_0(-1, 'Expected ' + tmp_13 + ', but had ' + tmp_14 + ' as the serialized body of ' + serialName_2 + ' at element: ' + tmp$ret$14, toString(currentObject));
}
tmp = new JsonTreeDecoder(tmp_12, currentObject, this.jw_1);
}
}
return tmp;
};
protoOf(AbstractJsonTreeDecoder).se = function (descriptor) {
};
protoOf(AbstractJsonTreeDecoder).je = function () {
var tmp = this.mw();
return !(tmp instanceof JsonNull);
};
protoOf(AbstractJsonTreeDecoder).ow = function (tag) {
return !(this.nw(tag) === JsonNull_getInstance());
};
protoOf(AbstractJsonTreeDecoder).bk = function (tag) {
return this.ow((!(tag == null) ? typeof tag === 'string' : false) ? tag : THROW_CCE());
};
protoOf(AbstractJsonTreeDecoder).pw = function (tag) {
var tmp$ret$0;
$l$block: {
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.getPrimitiveValue' call
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.cast' call
// Inline function 'kotlinx.serialization.json.internal.cast' call
var value = this.nw(tag);
if (!(value instanceof JsonPrimitive)) {
var tmp = getKClass(JsonPrimitive).b8();
var tmp_0 = getKClassFromExpression(value).b8();
var tmp$ret$3 = this.lw(tag);
throw JsonDecodingException_0(-1, 'Expected ' + tmp + ', but had ' + tmp_0 + ' as the serialized body of ' + 'boolean' + ' at element: ' + tmp$ret$3, toString(value));
}
var literal = value;
try {
var tmp0_elvis_lhs = get_booleanOrNull(literal);
var tmp_1;
if (tmp0_elvis_lhs == null) {
unparsedPrimitive(this, literal, 'boolean', tag);
} else {
tmp_1 = tmp0_elvis_lhs;
}
tmp$ret$0 = tmp_1;
break $l$block;
} catch ($p) {
if ($p instanceof IllegalArgumentException) {
var e = $p;
unparsedPrimitive(this, literal, 'boolean', tag);
} else {
throw $p;
}
}
}
return tmp$ret$0;
};
protoOf(AbstractJsonTreeDecoder).ck = function (tag) {
return this.pw((!(tag == null) ? typeof tag === 'string' : false) ? tag : THROW_CCE());
};
protoOf(AbstractJsonTreeDecoder).qw = function (tag) {
var tmp$ret$0;
$l$block: {
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.getPrimitiveValue' call
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.cast' call
// Inline function 'kotlinx.serialization.json.internal.cast' call
var value = this.nw(tag);
if (!(value instanceof JsonPrimitive)) {
var tmp = getKClass(JsonPrimitive).b8();
var tmp_0 = getKClassFromExpression(value).b8();
var tmp$ret$3 = this.lw(tag);
throw JsonDecodingException_0(-1, 'Expected ' + tmp + ', but had ' + tmp_0 + ' as the serialized body of ' + 'int' + ' at element: ' + tmp$ret$3, toString(value));
}
var literal = value;
try {
var result = parseLongImpl(literal);
var tmp_1;
// Inline function 'kotlin.ranges.contains' call
var this_0 = numberRangeToNumber(-2147483648, 2147483647);
if (contains_0(isInterface(this_0, ClosedRange) ? this_0 : THROW_CCE(), result)) {
tmp_1 = convertToInt(result);
} else {
tmp_1 = null;
}
var tmp0_elvis_lhs = tmp_1;
var tmp_2;
if (tmp0_elvis_lhs == null) {
unparsedPrimitive(this, literal, 'int', tag);
} else {
tmp_2 = tmp0_elvis_lhs;
}
tmp$ret$0 = tmp_2;
break $l$block;
} catch ($p) {
if ($p instanceof IllegalArgumentException) {
var e = $p;
unparsedPrimitive(this, literal, 'int', tag);
} else {
throw $p;
}
}
}
return tmp$ret$0;
};
protoOf(AbstractJsonTreeDecoder).dk = function (tag) {
return this.qw((!(tag == null) ? typeof tag === 'string' : false) ? tag : THROW_CCE());
};
protoOf(AbstractJsonTreeDecoder).rw = function (tag) {
var tmp$ret$0;
$l$block: {
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.getPrimitiveValue' call
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.cast' call
// Inline function 'kotlinx.serialization.json.internal.cast' call
var value = this.nw(tag);
if (!(value instanceof JsonPrimitive)) {
var tmp = getKClass(JsonPrimitive).b8();
var tmp_0 = getKClassFromExpression(value).b8();
var tmp$ret$3 = this.lw(tag);
throw JsonDecodingException_0(-1, 'Expected ' + tmp + ', but had ' + tmp_0 + ' as the serialized body of ' + 'long' + ' at element: ' + tmp$ret$3, toString(value));
}
var literal = value;
try {
var tmp0_elvis_lhs = parseLongImpl(literal);
var tmp_1;
if (tmp0_elvis_lhs == null) {
unparsedPrimitive(this, literal, 'long', tag);
} else {
tmp_1 = tmp0_elvis_lhs;
}
tmp$ret$0 = tmp_1;
break $l$block;
} catch ($p) {
if ($p instanceof IllegalArgumentException) {
var e = $p;
unparsedPrimitive(this, literal, 'long', tag);
} else {
throw $p;
}
}
}
return tmp$ret$0;
};
protoOf(AbstractJsonTreeDecoder).ek = function (tag) {
return this.rw((!(tag == null) ? typeof tag === 'string' : false) ? tag : THROW_CCE());
};
protoOf(AbstractJsonTreeDecoder).sw = function (tag) {
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.cast' call
// Inline function 'kotlinx.serialization.json.internal.cast' call
var value = this.nw(tag);
if (!(value instanceof JsonPrimitive)) {
var tmp = getKClass(JsonPrimitive).b8();
var tmp_0 = getKClassFromExpression(value).b8();
var tmp$ret$2 = this.lw(tag);
throw JsonDecodingException_0(-1, 'Expected ' + tmp + ', but had ' + tmp_0 + ' as the serialized body of ' + 'string' + ' at element: ' + tmp$ret$2, toString(value));
}
var value_0 = value;
if (!(value_0 instanceof JsonLiteral))
throw JsonDecodingException_0(-1, "Expected string value for a non-null key '" + tag + "', got null literal instead at element: " + this.lw(tag), toString(this.mw()));
if (!value_0.qr_1 && !this.vv().hp_1.wq_1) {
throw JsonDecodingException_0(-1, "String literal for key '" + tag + "' should be quoted at element: " + this.lw(tag) + ".\nUse 'isLenient = true' in 'Json {}' builder to accept non-compliant JSON.", toString(this.mw()));
}
return value_0.sr_1;
};
protoOf(AbstractJsonTreeDecoder).fk = function (tag) {
return this.sw((!(tag == null) ? typeof tag === 'string' : false) ? tag : THROW_CCE());
};
function setForceNull($this, descriptor, index) {
$this.cx_1 = (!$this.vv().hp_1.zq_1 && !descriptor.ee(index) && descriptor.de(index).pd());
return $this.cx_1;
}
function JsonTreeDecoder(json, value, polymorphicDiscriminator, polyDescriptor) {
polymorphicDiscriminator = polymorphicDiscriminator === VOID ? null : polymorphicDiscriminator;
polyDescriptor = polyDescriptor === VOID ? null : polyDescriptor;
AbstractJsonTreeDecoder.call(this, json, value, polymorphicDiscriminator);
this.zw_1 = value;
this.ax_1 = polyDescriptor;
this.bx_1 = 0;
this.cx_1 = false;
}
protoOf(JsonTreeDecoder).p1 = function () {
return this.zw_1;
};
protoOf(JsonTreeDecoder).cf = function (descriptor) {
$l$loop: while (this.bx_1 < descriptor.yd()) {
var _unary__edvuaz = this.bx_1;
this.bx_1 = _unary__edvuaz + 1 | 0;
var name = this.sj(descriptor, _unary__edvuaz);
var index = this.bx_1 - 1 | 0;
this.cx_1 = false;
var tmp;
// Inline function 'kotlin.collections.contains' call
// Inline function 'kotlin.collections.containsKey' call
var this_0 = this.p1();
if ((isInterface(this_0, KtMap) ? this_0 : THROW_CCE()).q1(name)) {
tmp = true;
} else {
tmp = setForceNull(this, descriptor, index);
}
if (tmp) {
if (!this.kw_1.br_1)
return index;
var tmp0 = this.vv();
var tmp$ret$2;
$l$block_2: {
// Inline function 'kotlinx.serialization.json.internal.tryCoerceValue' call
var isOptional = descriptor.ee(index);
var elementDescriptor = descriptor.de(index);
var tmp_0;
if (isOptional && !elementDescriptor.pd()) {
var tmp_1 = this.dx(name);
tmp_0 = tmp_1 instanceof JsonNull;
} else {
tmp_0 = false;
}
if (tmp_0) {
tmp$ret$2 = true;
break $l$block_2;
}
if (equals(elementDescriptor.wd(), ENUM_getInstance())) {
var tmp_2;
if (elementDescriptor.pd()) {
var tmp_3 = this.dx(name);
tmp_2 = tmp_3 instanceof JsonNull;
} else {
tmp_2 = false;
}
if (tmp_2) {
tmp$ret$2 = false;
break $l$block_2;
}
var tmp_4 = this.dx(name);
var tmp0_safe_receiver = tmp_4 instanceof JsonPrimitive ? tmp_4 : null;
var tmp0_elvis_lhs = tmp0_safe_receiver == null ? null : get_contentOrNull(tmp0_safe_receiver);
var tmp_5;
if (tmp0_elvis_lhs == null) {
tmp$ret$2 = false;
break $l$block_2;
} else {
tmp_5 = tmp0_elvis_lhs;
}
var enumValue = tmp_5;
var enumIndex = getJsonNameIndex(elementDescriptor, tmp0, enumValue);
var coerceToNull = !tmp0.hp_1.zq_1 && elementDescriptor.pd();
if (enumIndex === -3 && (isOptional || coerceToNull)) {
if (setForceNull(this, descriptor, index))
return index;
tmp$ret$2 = true;
break $l$block_2;
}
}
tmp$ret$2 = false;
}
if (tmp$ret$2)
continue $l$loop;
return index;
}
}
return -1;
};
protoOf(JsonTreeDecoder).je = function () {
return !this.cx_1 && protoOf(AbstractJsonTreeDecoder).je.call(this);
};
protoOf(JsonTreeDecoder).tj = function (descriptor, index) {
var strategy = namingStrategy(descriptor, this.vv());
var baseName = descriptor.ae(index);
if (strategy == null) {
if (!this.kw_1.fr_1)
return baseName;
if (this.p1().t1().k1(baseName))
return baseName;
}
var deserializationNamesMap_0 = deserializationNamesMap(this.vv(), descriptor);
// Inline function 'kotlin.collections.find' call
var tmp0 = this.p1().t1();
var tmp$ret$1;
$l$block: {
// Inline function 'kotlin.collections.firstOrNull' call
var _iterator__ex2g4s = tmp0.g();
while (_iterator__ex2g4s.h()) {
var element = _iterator__ex2g4s.i();
if (deserializationNamesMap_0.s1(element) === index) {
tmp$ret$1 = element;
break $l$block;
}
}
tmp$ret$1 = null;
}
var tmp0_safe_receiver = tmp$ret$1;
if (tmp0_safe_receiver == null)
null;
else {
// Inline function 'kotlin.let' call
return tmp0_safe_receiver;
}
var fallbackName = strategy == null ? null : strategy.zs(descriptor, index, baseName);
return fallbackName == null ? baseName : fallbackName;
};
protoOf(JsonTreeDecoder).nw = function (tag) {
return getValue(this.p1(), tag);
};
protoOf(JsonTreeDecoder).dx = function (tag) {
return this.p1().nr(tag);
};
protoOf(JsonTreeDecoder).re = function (descriptor) {
if (descriptor === this.ax_1) {
var tmp = this.vv();
var tmp2 = this.mw();
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonTreeDecoder.cast' call
// Inline function 'kotlinx.serialization.json.internal.cast' call
var serialName = this.ax_1.vd();
if (!(tmp2 instanceof JsonObject)) {
var tmp_0 = getKClass(JsonObject).b8();
var tmp_1 = getKClassFromExpression(tmp2).b8();
var tmp$ret$2 = this.zj();
throw JsonDecodingException_0(-1, 'Expected ' + tmp_0 + ', but had ' + tmp_1 + ' as the serialized body of ' + serialName + ' at element: ' + tmp$ret$2, toString(tmp2));
}
return new JsonTreeDecoder(tmp, tmp2, this.jw_1, this.ax_1);
}
return protoOf(AbstractJsonTreeDecoder).re.call(this, descriptor);
};
protoOf(JsonTreeDecoder).se = function (descriptor) {
var tmp;
if (ignoreUnknownKeys(descriptor, this.vv())) {
tmp = true;
} else {
var tmp_0 = descriptor.wd();
tmp = tmp_0 instanceof PolymorphicKind;
}
if (tmp)
return Unit_instance;
var strategy = namingStrategy(descriptor, this.vv());
var tmp_1;
if (strategy == null && !this.kw_1.fr_1) {
tmp_1 = jsonCachedSerialNames(descriptor);
} else if (!(strategy == null)) {
tmp_1 = deserializationNamesMap(this.vv(), descriptor).t1();
} else {
var tmp_2 = jsonCachedSerialNames(descriptor);
var tmp0_safe_receiver = get_schemaCache(this.vv()).lv(descriptor, get_JsonDeserializationNamesKey());
// Inline function 'kotlin.collections.orEmpty' call
var tmp0_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.t1();
var tmp$ret$0 = tmp0_elvis_lhs == null ? emptySet() : tmp0_elvis_lhs;
tmp_1 = plus_0(tmp_2, tmp$ret$0);
}
var names = tmp_1;
var _iterator__ex2g4s = this.p1().t1().g();
while (_iterator__ex2g4s.h()) {
var key = _iterator__ex2g4s.i();
if (!names.k1(key) && !(key === this.jw_1)) {
throw JsonDecodingException_1(-1, "Encountered an unknown key '" + key + "' at element: " + this.zj() + '\n' + "Use 'ignoreUnknownKeys = true' in 'Json {}' builder or '@JsonIgnoreUnknownKeys' annotation to ignore unknown keys.\n" + ('JSON input: ' + toString(minify(this.p1().toString()))));
}
}
};
function JsonTreeListDecoder(json, value) {
AbstractJsonTreeDecoder.call(this, json, value);
this.kx_1 = value;
this.lx_1 = this.kx_1.k();
this.mx_1 = -1;
}
protoOf(JsonTreeListDecoder).p1 = function () {
return this.kx_1;
};
protoOf(JsonTreeListDecoder).tj = function (descriptor, index) {
return index.toString();
};
protoOf(JsonTreeListDecoder).nw = function (tag) {
return this.kx_1.j(toInt(tag));
};
protoOf(JsonTreeListDecoder).cf = function (descriptor) {
while (this.mx_1 < (this.lx_1 - 1 | 0)) {
this.mx_1 = this.mx_1 + 1 | 0;
return this.mx_1;
}
return -1;
};
function JsonTreeMapDecoder(json, value) {
JsonTreeDecoder.call(this, json, value);
this.xx_1 = value;
this.yx_1 = toList(this.xx_1.t1());
this.zx_1 = imul(this.yx_1.k(), 2);
this.ay_1 = -1;
}
protoOf(JsonTreeMapDecoder).p1 = function () {
return this.xx_1;
};
protoOf(JsonTreeMapDecoder).tj = function (descriptor, index) {
var i = index / 2 | 0;
return this.yx_1.j(i);
};
protoOf(JsonTreeMapDecoder).cf = function (descriptor) {
while (this.ay_1 < (this.zx_1 - 1 | 0)) {
this.ay_1 = this.ay_1 + 1 | 0;
return this.ay_1;
}
return -1;
};
protoOf(JsonTreeMapDecoder).nw = function (tag) {
return (this.ay_1 % 2 | 0) === 0 ? JsonPrimitive_0(tag) : getValue(this.xx_1, tag);
};
protoOf(JsonTreeMapDecoder).se = function (descriptor) {
};
function readPolymorphicJson(_this__u8e3s4, discriminator, element, deserializer) {
return (new JsonTreeDecoder(_this__u8e3s4, element, discriminator, deserializer.hd())).qe(deserializer);
}
var WriteMode_OBJ_instance;
var WriteMode_LIST_instance;
var WriteMode_MAP_instance;
var WriteMode_POLY_OBJ_instance;
function values() {
return [WriteMode_OBJ_getInstance(), WriteMode_LIST_getInstance(), WriteMode_MAP_getInstance(), WriteMode_POLY_OBJ_getInstance()];
}
function get_entries() {
if ($ENTRIES == null)
$ENTRIES = enumEntries(values());
return $ENTRIES;
}
var WriteMode_entriesInitialized;
function WriteMode_initEntries() {
if (WriteMode_entriesInitialized)
return Unit_instance;
WriteMode_entriesInitialized = true;
WriteMode_OBJ_instance = new WriteMode('OBJ', 0, _Char___init__impl__6a9atx(123), _Char___init__impl__6a9atx(125));
WriteMode_LIST_instance = new WriteMode('LIST', 1, _Char___init__impl__6a9atx(91), _Char___init__impl__6a9atx(93));
WriteMode_MAP_instance = new WriteMode('MAP', 2, _Char___init__impl__6a9atx(123), _Char___init__impl__6a9atx(125));
WriteMode_POLY_OBJ_instance = new WriteMode('POLY_OBJ', 3, _Char___init__impl__6a9atx(91), _Char___init__impl__6a9atx(93));
}
var $ENTRIES;
function WriteMode(name, ordinal, begin, end) {
Enum.call(this, name, ordinal);
this.aw_1 = begin;
this.bw_1 = end;
}
function switchMode(_this__u8e3s4, desc) {
var tmp0_subject = desc.wd();
var tmp;
if (tmp0_subject instanceof PolymorphicKind) {
tmp = WriteMode_POLY_OBJ_getInstance();
} else {
if (equals(tmp0_subject, LIST_getInstance())) {
tmp = WriteMode_LIST_getInstance();
} else {
if (equals(tmp0_subject, MAP_getInstance())) {
// Inline function 'kotlinx.serialization.json.internal.selectMapMode' call
var keyDescriptor = carrierDescriptor(desc.de(0), _this__u8e3s4.af());
var keyKind = keyDescriptor.wd();
var tmp_0;
var tmp_1;
if (keyKind instanceof PrimitiveKind) {
tmp_1 = true;
} else {
tmp_1 = equals(keyKind, ENUM_getInstance());
}
if (tmp_1) {
tmp_0 = WriteMode_MAP_getInstance();
} else {
if (_this__u8e3s4.hp_1.xq_1) {
tmp_0 = WriteMode_LIST_getInstance();
} else {
throw InvalidKeyKindException(keyDescriptor);
}
}
tmp = tmp_0;
} else {
tmp = WriteMode_OBJ_getInstance();
}
}
}
return tmp;
}
function carrierDescriptor(_this__u8e3s4, module_0) {
var tmp;
if (equals(_this__u8e3s4.wd(), CONTEXTUAL_getInstance())) {
var tmp0_safe_receiver = getContextualDescriptor(module_0, _this__u8e3s4);
var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : carrierDescriptor(tmp0_safe_receiver, module_0);
tmp = tmp1_elvis_lhs == null ? _this__u8e3s4 : tmp1_elvis_lhs;
} else if (_this__u8e3s4.xd()) {
tmp = carrierDescriptor(_this__u8e3s4.de(0), module_0);
} else {
tmp = _this__u8e3s4;
}
return tmp;
}
function WriteMode_OBJ_getInstance() {
WriteMode_initEntries();
return WriteMode_OBJ_instance;
}
function WriteMode_LIST_getInstance() {
WriteMode_initEntries();
return WriteMode_LIST_instance;
}
function WriteMode_MAP_getInstance() {
WriteMode_initEntries();
return WriteMode_MAP_instance;
}
function WriteMode_POLY_OBJ_getInstance() {
WriteMode_initEntries();
return WriteMode_POLY_OBJ_instance;
}
function appendEscape($this, lastPosition, current) {
$this.by(lastPosition, current);
return appendEsc($this, current + 1 | 0);
}
function decodedString($this, lastPosition, currentPosition) {
$this.by(lastPosition, currentPosition);
var result = $this.zp_1.toString();
$this.zp_1.j9(0);
return result;
}
function takePeeked($this) {
// Inline function 'kotlin.also' call
var this_0 = ensureNotNull($this.yp_1);
$this.yp_1 = null;
return this_0;
}
function wasUnquotedString($this) {
return !(charSequenceGet($this.cy(), $this.wp_1 - 1 | 0) === _Char___init__impl__6a9atx(34));
}
function appendEsc($this, startPosition) {
var currentPosition = startPosition;
currentPosition = $this.dy(currentPosition);
if (currentPosition === -1) {
$this.au('Expected escape sequence to continue, got EOF');
}
var tmp = $this.cy();
var _unary__edvuaz = currentPosition;
currentPosition = _unary__edvuaz + 1 | 0;
var currentChar = charSequenceGet(tmp, _unary__edvuaz);
if (currentChar === _Char___init__impl__6a9atx(117)) {
return appendHex($this, $this.cy(), currentPosition);
}
// Inline function 'kotlin.code' call
var tmp$ret$0 = Char__toInt_impl_vasixd(currentChar);
var c = escapeToChar(tmp$ret$0);
if (c === _Char___init__impl__6a9atx(0)) {
$this.au("Invalid escaped char '" + toString_1(currentChar) + "'");
}
$this.zp_1.k6(c);
return currentPosition;
}
function appendHex($this, source, startPos) {
if ((startPos + 4 | 0) >= charSequenceLength(source)) {
$this.wp_1 = startPos;
$this.ey();
if (($this.wp_1 + 4 | 0) >= charSequenceLength(source)) {
$this.au('Unexpected EOF during unicode escape');
}
return appendHex($this, source, $this.wp_1);
}
$this.zp_1.k6(numberToChar((((fromHexChar($this, source, startPos) << 12) + (fromHexChar($this, source, startPos + 1 | 0) << 8) | 0) + (fromHexChar($this, source, startPos + 2 | 0) << 4) | 0) + fromHexChar($this, source, startPos + 3 | 0) | 0));
return startPos + 4 | 0;
}
function fromHexChar($this, source, currentPosition) {
var character = charSequenceGet(source, currentPosition);
var tmp;
if (_Char___init__impl__6a9atx(48) <= character ? character <= _Char___init__impl__6a9atx(57) : false) {
// Inline function 'kotlin.code' call
var tmp_0 = Char__toInt_impl_vasixd(character);
// Inline function 'kotlin.code' call
var this_0 = _Char___init__impl__6a9atx(48);
tmp = tmp_0 - Char__toInt_impl_vasixd(this_0) | 0;
} else if (_Char___init__impl__6a9atx(97) <= character ? character <= _Char___init__impl__6a9atx(102) : false) {
// Inline function 'kotlin.code' call
var tmp_1 = Char__toInt_impl_vasixd(character);
// Inline function 'kotlin.code' call
var this_1 = _Char___init__impl__6a9atx(97);
tmp = (tmp_1 - Char__toInt_impl_vasixd(this_1) | 0) + 10 | 0;
} else if (_Char___init__impl__6a9atx(65) <= character ? character <= _Char___init__impl__6a9atx(70) : false) {
// Inline function 'kotlin.code' call
var tmp_2 = Char__toInt_impl_vasixd(character);
// Inline function 'kotlin.code' call
var this_2 = _Char___init__impl__6a9atx(65);
tmp = (tmp_2 - Char__toInt_impl_vasixd(this_2) | 0) + 10 | 0;
} else {
$this.au("Invalid toHexChar char '" + toString_1(character) + "' in unicode escape");
}
return tmp;
}
function consumeBoolean2($this, start) {
var current = $this.dy(start);
if (current >= charSequenceLength($this.cy()) || current === -1) {
$this.au('EOF');
}
var tmp = $this.cy();
var _unary__edvuaz = current;
current = _unary__edvuaz + 1 | 0;
// Inline function 'kotlin.code' call
var this_0 = charSequenceGet(tmp, _unary__edvuaz);
var tmp0_subject = Char__toInt_impl_vasixd(this_0) | 32;
var tmp_0;
// Inline function 'kotlin.code' call
var this_1 = _Char___init__impl__6a9atx(116);
if (tmp0_subject === Char__toInt_impl_vasixd(this_1)) {
consumeBooleanLiteral($this, 'rue', current);
tmp_0 = true;
} else {
// Inline function 'kotlin.code' call
var this_2 = _Char___init__impl__6a9atx(102);
if (tmp0_subject === Char__toInt_impl_vasixd(this_2)) {
consumeBooleanLiteral($this, 'alse', current);
tmp_0 = false;
} else {
$this.au("Expected valid boolean literal prefix, but had '" + $this.eu() + "'");
}
}
return tmp_0;
}
function consumeBooleanLiteral($this, literalSuffix, current) {
if ((charSequenceLength($this.cy()) - current | 0) < literalSuffix.length) {
$this.au('Unexpected end of boolean literal');
}
var inductionVariable = 0;
var last = charSequenceLength(literalSuffix) - 1 | 0;
if (inductionVariable <= last)
do {
var i = inductionVariable;
inductionVariable = inductionVariable + 1 | 0;
var expected = charCodeAt(literalSuffix, i);
var actual = charSequenceGet($this.cy(), current + i | 0);
// Inline function 'kotlin.code' call
var tmp = Char__toInt_impl_vasixd(expected);
// Inline function 'kotlin.code' call
if (!(tmp === (Char__toInt_impl_vasixd(actual) | 32))) {
$this.au("Expected valid boolean literal prefix, but had '" + $this.eu() + "'");
}
}
while (inductionVariable <= last);
$this.wp_1 = current + literalSuffix.length | 0;
}
function consumeNumericLiteral$calculateExponent(exponentAccumulator, isExponentPositive) {
var tmp;
switch (isExponentPositive) {
case false:
// Inline function 'kotlin.math.pow' call
var x = -toNumber(exponentAccumulator);
tmp = Math.pow(10.0, x);
break;
case true:
// Inline function 'kotlin.math.pow' call
var x_0 = toNumber(exponentAccumulator);
tmp = Math.pow(10.0, x_0);
break;
default:
noWhenBranchMatchedException();
break;
}
return tmp;
}
function AbstractJsonLexer() {
this.wp_1 = 0;
this.xp_1 = new JsonPath();
this.yp_1 = null;
this.zp_1 = StringBuilder_init_$Create$();
}
protoOf(AbstractJsonLexer).ey = function () {
};
protoOf(AbstractJsonLexer).ov = function () {
var current = this.fy();
var source = this.cy();
if (current >= charSequenceLength(source) || current === -1)
return false;
if (charSequenceGet(source, current) === _Char___init__impl__6a9atx(44)) {
this.wp_1 = this.wp_1 + 1 | 0;
return true;
}
return false;
};
protoOf(AbstractJsonLexer).gy = function (c) {
return c === _Char___init__impl__6a9atx(125) || c === _Char___init__impl__6a9atx(93) || (c === _Char___init__impl__6a9atx(58) || c === _Char___init__impl__6a9atx(44)) ? false : true;
};
protoOf(AbstractJsonLexer).aq = function () {
var nextToken = this.gu();
if (!(nextToken === 10)) {
this.au('Expected EOF after parsing, but had ' + toString_1(charSequenceGet(this.cy(), this.wp_1 - 1 | 0)) + ' instead');
}
};
protoOf(AbstractJsonLexer).zt = function (expected) {
var token = this.gu();
if (!(token === expected)) {
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonLexer.fail' call
var expected_0 = tokenDescription(expected);
var position = true ? this.wp_1 - 1 | 0 : this.wp_1;
var s = this.wp_1 === charSequenceLength(this.cy()) || position < 0 ? 'EOF' : toString_1(charSequenceGet(this.cy(), position));
var tmp$ret$1 = 'Expected ' + expected_0 + ", but had '" + s + "' instead";
this.au(tmp$ret$1, position);
}
return token;
};
protoOf(AbstractJsonLexer).hy = function (expected) {
if (this.wp_1 > 0 && expected === _Char___init__impl__6a9atx(34)) {
var tmp$ret$0;
$l$block: {
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonLexer.withPositionRollback' call
var snapshot = this.wp_1;
try {
this.wp_1 = this.wp_1 - 1 | 0;
tmp$ret$0 = this.eu();
break $l$block;
}finally {
this.wp_1 = snapshot;
}
}
var inputLiteral = tmp$ret$0;
if (inputLiteral === 'null') {
this.vs("Expected string literal but 'null' literal was found", this.wp_1 - 1 | 0, "Use 'coerceInputValues = true' in 'Json {}' builder to coerce nulls if property has a default value.");
}
}
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonLexer.fail' call
var expectedToken = charToTokenClass(expected);
var expected_0 = tokenDescription(expectedToken);
var position = true ? this.wp_1 - 1 | 0 : this.wp_1;
var s = this.wp_1 === charSequenceLength(this.cy()) || position < 0 ? 'EOF' : toString_1(charSequenceGet(this.cy(), position));
var tmp$ret$3 = 'Expected ' + expected_0 + ", but had '" + s + "' instead";
this.au(tmp$ret$3, position);
};
protoOf(AbstractJsonLexer).bu = function () {
var source = this.cy();
var cpos = this.wp_1;
$l$loop_0: while (true) {
cpos = this.dy(cpos);
if (cpos === -1)
break $l$loop_0;
var ch = charSequenceGet(source, cpos);
if (ch === _Char___init__impl__6a9atx(32) || ch === _Char___init__impl__6a9atx(10) || ch === _Char___init__impl__6a9atx(13) || ch === _Char___init__impl__6a9atx(9)) {
cpos = cpos + 1 | 0;
continue $l$loop_0;
}
this.wp_1 = cpos;
return charToTokenClass(ch);
}
this.wp_1 = cpos;
return 10;
};
protoOf(AbstractJsonLexer).pv = function (doConsume) {
var current = this.fy();
current = this.dy(current);
var len = charSequenceLength(this.cy()) - current | 0;
if (len < 4 || current === -1)
return false;
var inductionVariable = 0;
if (inductionVariable <= 3)
do {
var i = inductionVariable;
inductionVariable = inductionVariable + 1 | 0;
if (!(charCodeAt('null', i) === charSequenceGet(this.cy(), current + i | 0)))
return false;
}
while (inductionVariable <= 3);
if (len > 4 && charToTokenClass(charSequenceGet(this.cy(), current + 4 | 0)) === 0)
return false;
if (doConsume) {
this.wp_1 = current + 4 | 0;
}
return true;
};
protoOf(AbstractJsonLexer).cw = function (doConsume, $super) {
doConsume = doConsume === VOID ? true : doConsume;
return $super === VOID ? this.pv(doConsume) : $super.pv.call(this, doConsume);
};
protoOf(AbstractJsonLexer).qv = function (isLenient) {
var token = this.bu();
var tmp;
if (isLenient) {
if (!(token === 1) && !(token === 0))
return null;
tmp = this.eu();
} else {
if (!(token === 1))
return null;
tmp = this.du();
}
var string = tmp;
this.yp_1 = string;
return string;
};
protoOf(AbstractJsonLexer).iy = function () {
this.yp_1 = null;
};
protoOf(AbstractJsonLexer).jy = function (startPos, endPos) {
// Inline function 'kotlin.text.substring' call
var this_0 = this.cy();
return toString(charSequenceSubSequence(this_0, startPos, endPos));
};
protoOf(AbstractJsonLexer).du = function () {
if (!(this.yp_1 == null)) {
return takePeeked(this);
}
return this.tv();
};
protoOf(AbstractJsonLexer).consumeString2 = function (source, startPosition, current) {
var currentPosition = current;
var lastPosition = startPosition;
var char = charSequenceGet(source, currentPosition);
var usedAppend = false;
while (!(char === _Char___init__impl__6a9atx(34))) {
if (char === _Char___init__impl__6a9atx(92)) {
usedAppend = true;
currentPosition = this.dy(appendEscape(this, lastPosition, currentPosition));
if (currentPosition === -1) {
this.au('Unexpected EOF', currentPosition);
}
lastPosition = currentPosition;
} else {
currentPosition = currentPosition + 1 | 0;
if (currentPosition >= charSequenceLength(source)) {
usedAppend = true;
this.by(lastPosition, currentPosition);
currentPosition = this.dy(currentPosition);
if (currentPosition === -1) {
this.au('Unexpected EOF', currentPosition);
}
lastPosition = currentPosition;
}
}
char = charSequenceGet(source, currentPosition);
}
var tmp;
if (!usedAppend) {
tmp = this.jy(lastPosition, currentPosition);
} else {
tmp = decodedString(this, lastPosition, currentPosition);
}
var string = tmp;
this.wp_1 = currentPosition + 1 | 0;
return string;
};
protoOf(AbstractJsonLexer).uv = function () {
var result = this.eu();
if (result === 'null' && wasUnquotedString(this)) {
this.au("Unexpected 'null' value instead of string literal");
}
return result;
};
protoOf(AbstractJsonLexer).eu = function () {
if (!(this.yp_1 == null)) {
return takePeeked(this);
}
var current = this.fy();
if (current >= charSequenceLength(this.cy()) || current === -1) {
this.au('EOF', current);
}
var token = charToTokenClass(charSequenceGet(this.cy(), current));
if (token === 1) {
return this.du();
}
if (!(token === 0)) {
this.au('Expected beginning of the string, but got ' + toString_1(charSequenceGet(this.cy(), current)));
}
var usedAppend = false;
while (charToTokenClass(charSequenceGet(this.cy(), current)) === 0) {
current = current + 1 | 0;
if (current >= charSequenceLength(this.cy())) {
usedAppend = true;
this.by(this.wp_1, current);
var eof = this.dy(current);
if (eof === -1) {
this.wp_1 = current;
return decodedString(this, 0, 0);
} else {
current = eof;
}
}
}
var tmp;
if (!usedAppend) {
tmp = this.jy(this.wp_1, current);
} else {
tmp = decodedString(this, this.wp_1, current);
}
var result = tmp;
this.wp_1 = current;
return result;
};
protoOf(AbstractJsonLexer).by = function (fromIndex, toIndex) {
this.zp_1.e9(this.cy(), fromIndex, toIndex);
};
protoOf(AbstractJsonLexer).sv = function (allowLenientStrings) {
// Inline function 'kotlin.collections.mutableListOf' call
var tokenStack = ArrayList_init_$Create$();
var lastToken = this.bu();
if (!(lastToken === 8) && !(lastToken === 6)) {
this.eu();
return Unit_instance;
}
$l$loop: while (true) {
lastToken = this.bu();
if (lastToken === 1) {
if (allowLenientStrings)
this.eu();
else
this.tv();
continue $l$loop;
}
var tmp0_subject = lastToken;
if (tmp0_subject === 8 || tmp0_subject === 6) {
tokenStack.e(lastToken);
} else if (tmp0_subject === 9) {
if (!(last(tokenStack) === 8))
throw JsonDecodingException_0(this.wp_1, 'found ] instead of } at path: ' + this.xp_1.toString(), this.cy());
removeLast(tokenStack);
} else if (tmp0_subject === 7) {
if (!(last(tokenStack) === 6))
throw JsonDecodingException_0(this.wp_1, 'found } instead of ] at path: ' + this.xp_1.toString(), this.cy());
removeLast(tokenStack);
} else if (tmp0_subject === 10) {
this.au('Unexpected end of input due to malformed JSON during ignoring unknown keys');
}
this.gu();
if (tokenStack.k() === 0)
return Unit_instance;
}
};
protoOf(AbstractJsonLexer).toString = function () {
return "JsonReader(source='" + toString(this.cy()) + "', currentPosition=" + this.wp_1 + ')';
};
protoOf(AbstractJsonLexer).rv = function (key) {
var processed = this.jy(0, this.wp_1);
var lastIndexOf_0 = lastIndexOf(processed, key);
throw new JsonDecodingException("Encountered an unknown key '" + key + "' at offset " + lastIndexOf_0 + ' at path: ' + this.xp_1.it() + "\nUse 'ignoreUnknownKeys = true' in 'Json {}' builder or '@JsonIgnoreUnknownKeys' annotation to ignore unknown keys.\n" + ('JSON input: ' + toString(minify(this.cy(), lastIndexOf_0))));
};
protoOf(AbstractJsonLexer).vs = function (message, position, hint) {
var tmp;
// Inline function 'kotlin.text.isEmpty' call
if (charSequenceLength(hint) === 0) {
tmp = '';
} else {
tmp = '\n' + hint;
}
var hintMessage = tmp;
throw JsonDecodingException_0(position, message + ' at path: ' + this.xp_1.it() + hintMessage, this.cy());
};
protoOf(AbstractJsonLexer).au = function (message, position, hint, $super) {
position = position === VOID ? this.wp_1 : position;
hint = hint === VOID ? '' : hint;
return $super === VOID ? this.vs(message, position, hint) : $super.vs.call(this, message, position, hint);
};
protoOf(AbstractJsonLexer).ew = function () {
var current = this.fy();
current = this.dy(current);
if (current >= charSequenceLength(this.cy()) || current === -1) {
this.au('EOF');
}
var tmp;
if (charSequenceGet(this.cy(), current) === _Char___init__impl__6a9atx(34)) {
current = current + 1 | 0;
if (current === charSequenceLength(this.cy())) {
this.au('EOF');
}
tmp = true;
} else {
tmp = false;
}
var hasQuotation = tmp;
var accumulator = new Long(0, 0);
var exponentAccumulator = new Long(0, 0);
var isNegative = false;
var isExponentPositive = false;
var hasExponent = false;
var start = current;
$l$loop_4: while (!(current === charSequenceLength(this.cy()))) {
var ch = charSequenceGet(this.cy(), current);
if ((ch === _Char___init__impl__6a9atx(101) || ch === _Char___init__impl__6a9atx(69)) && !hasExponent) {
if (current === start) {
this.au('Unexpected symbol ' + toString_1(ch) + ' in numeric literal');
}
isExponentPositive = true;
hasExponent = true;
current = current + 1 | 0;
continue $l$loop_4;
}
if (ch === _Char___init__impl__6a9atx(45) && hasExponent) {
if (current === start) {
this.au("Unexpected symbol '-' in numeric literal");
}
isExponentPositive = false;
current = current + 1 | 0;
continue $l$loop_4;
}
if (ch === _Char___init__impl__6a9atx(43) && hasExponent) {
if (current === start) {
this.au("Unexpected symbol '+' in numeric literal");
}
isExponentPositive = true;
current = current + 1 | 0;
continue $l$loop_4;
}
if (ch === _Char___init__impl__6a9atx(45)) {
if (!(current === start)) {
this.au("Unexpected symbol '-' in numeric literal");
}
isNegative = true;
current = current + 1 | 0;
continue $l$loop_4;
}
var token = charToTokenClass(ch);
if (!(token === 0))
break $l$loop_4;
current = current + 1 | 0;
var digit = Char__minus_impl_a2frrh(ch, _Char___init__impl__6a9atx(48));
if (!(0 <= digit ? digit <= 9 : false)) {
this.au("Unexpected symbol '" + toString_1(ch) + "' in numeric literal");
}
if (hasExponent) {
// Inline function 'kotlin.Long.times' call
var this_0 = exponentAccumulator;
// Inline function 'kotlin.Long.plus' call
var this_1 = multiply(this_0, fromInt(10));
exponentAccumulator = add(this_1, fromInt(digit));
continue $l$loop_4;
}
// Inline function 'kotlin.Long.times' call
var this_2 = accumulator;
// Inline function 'kotlin.Long.minus' call
var this_3 = multiply(this_2, fromInt(10));
accumulator = subtract(this_3, fromInt(digit));
if (compare(accumulator, new Long(0, 0)) > 0) {
this.au('Numeric value overflow');
}
}
var hasChars = !(current === start);
if (start === current || (isNegative && start === (current - 1 | 0))) {
this.au('Expected numeric literal');
}
if (hasQuotation) {
if (!hasChars) {
this.au('EOF');
}
if (!(charSequenceGet(this.cy(), current) === _Char___init__impl__6a9atx(34))) {
this.au('Expected closing quotation mark');
}
current = current + 1 | 0;
}
this.wp_1 = current;
if (hasExponent) {
var doubleAccumulator = toNumber(accumulator) * consumeNumericLiteral$calculateExponent(exponentAccumulator, isExponentPositive);
if (doubleAccumulator > toNumber(new Long(-1, 2147483647)) || doubleAccumulator < toNumber(new Long(0, -2147483648))) {
this.au('Numeric value overflow');
}
// Inline function 'kotlin.math.floor' call
if (!(Math.floor(doubleAccumulator) === doubleAccumulator)) {
this.au("Can't convert " + doubleAccumulator + ' to Long');
}
accumulator = numberToLong(doubleAccumulator);
}
var tmp_0;
if (isNegative) {
tmp_0 = accumulator;
} else if (!equalsLong(accumulator, new Long(0, -2147483648))) {
tmp_0 = negate(accumulator);
} else {
this.au('Numeric value overflow');
}
return tmp_0;
};
protoOf(AbstractJsonLexer).vr = function () {
var result = this.ew();
var next = this.gu();
if (!(next === 10)) {
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonLexer.fail' call
var expected = tokenDescription(10);
var position = true ? this.wp_1 - 1 | 0 : this.wp_1;
var s = this.wp_1 === charSequenceLength(this.cy()) || position < 0 ? 'EOF' : toString_1(charSequenceGet(this.cy(), position));
var tmp$ret$1 = "Expected input to contain a single valid number, but got '" + s + "' after it";
this.au(tmp$ret$1, position);
}
return result;
};
protoOf(AbstractJsonLexer).dw = function () {
var current = this.fy();
if (current === charSequenceLength(this.cy())) {
this.au('EOF');
}
var tmp;
if (charSequenceGet(this.cy(), current) === _Char___init__impl__6a9atx(34)) {
current = current + 1 | 0;
tmp = true;
} else {
tmp = false;
}
var hasQuotation = tmp;
var result = consumeBoolean2(this, current);
if (hasQuotation) {
if (this.wp_1 === charSequenceLength(this.cy())) {
this.au('EOF');
}
if (!(charSequenceGet(this.cy(), this.wp_1) === _Char___init__impl__6a9atx(34))) {
this.au('Expected closing quotation mark');
}
this.wp_1 = this.wp_1 + 1 | 0;
}
return result;
};
function charToTokenClass(c) {
var tmp;
// Inline function 'kotlin.code' call
if (Char__toInt_impl_vasixd(c) < 126) {
var tmp_0 = CharMappings_getInstance().ly_1;
// Inline function 'kotlin.code' call
tmp = tmp_0[Char__toInt_impl_vasixd(c)];
} else {
tmp = 0;
}
return tmp;
}
function tokenDescription(token) {
return token === 1 ? "quotation mark '\"'" : token === 2 ? "string escape sequence '\\'" : token === 4 ? "comma ','" : token === 5 ? "colon ':'" : token === 6 ? "start of the object '{'" : token === 7 ? "end of the object '}'" : token === 8 ? "start of the array '['" : token === 9 ? "end of the array ']'" : token === 10 ? 'end of the input' : token === 127 ? 'invalid token' : 'valid token';
}
function escapeToChar(c) {
return c < 117 ? CharMappings_getInstance().ky_1[c] : _Char___init__impl__6a9atx(0);
}
function initEscape($this) {
var inductionVariable = 0;
if (inductionVariable <= 31)
do {
var i = inductionVariable;
inductionVariable = inductionVariable + 1 | 0;
initC2ESC($this, i, _Char___init__impl__6a9atx(117));
}
while (inductionVariable <= 31);
initC2ESC($this, 8, _Char___init__impl__6a9atx(98));
initC2ESC($this, 9, _Char___init__impl__6a9atx(116));
initC2ESC($this, 10, _Char___init__impl__6a9atx(110));
initC2ESC($this, 12, _Char___init__impl__6a9atx(102));
initC2ESC($this, 13, _Char___init__impl__6a9atx(114));
initC2ESC_0($this, _Char___init__impl__6a9atx(47), _Char___init__impl__6a9atx(47));
initC2ESC_0($this, _Char___init__impl__6a9atx(34), _Char___init__impl__6a9atx(34));
initC2ESC_0($this, _Char___init__impl__6a9atx(92), _Char___init__impl__6a9atx(92));
}
function initCharToToken($this) {
var inductionVariable = 0;
if (inductionVariable <= 32)
do {
var i = inductionVariable;
inductionVariable = inductionVariable + 1 | 0;
initC2TC($this, i, 127);
}
while (inductionVariable <= 32);
initC2TC($this, 9, 3);
initC2TC($this, 10, 3);
initC2TC($this, 13, 3);
initC2TC($this, 32, 3);
initC2TC_0($this, _Char___init__impl__6a9atx(44), 4);
initC2TC_0($this, _Char___init__impl__6a9atx(58), 5);
initC2TC_0($this, _Char___init__impl__6a9atx(123), 6);
initC2TC_0($this, _Char___init__impl__6a9atx(125), 7);
initC2TC_0($this, _Char___init__impl__6a9atx(91), 8);
initC2TC_0($this, _Char___init__impl__6a9atx(93), 9);
initC2TC_0($this, _Char___init__impl__6a9atx(34), 1);
initC2TC_0($this, _Char___init__impl__6a9atx(92), 2);
}
function initC2ESC($this, c, esc) {
if (!(esc === _Char___init__impl__6a9atx(117))) {
// Inline function 'kotlin.code' call
var tmp$ret$0 = Char__toInt_impl_vasixd(esc);
$this.ky_1[tmp$ret$0] = numberToChar(c);
}
}
function initC2ESC_0($this, c, esc) {
// Inline function 'kotlin.code' call
var tmp$ret$0 = Char__toInt_impl_vasixd(c);
return initC2ESC($this, tmp$ret$0, esc);
}
function initC2TC($this, c, cl) {
$this.ly_1[c] = cl;
}
function initC2TC_0($this, c, cl) {
// Inline function 'kotlin.code' call
var tmp$ret$0 = Char__toInt_impl_vasixd(c);
return initC2TC($this, tmp$ret$0, cl);
}
function CharMappings() {
CharMappings_instance = this;
this.ky_1 = charArray(117);
this.ly_1 = new Int8Array(126);
initEscape(this);
initCharToToken(this);
}
var CharMappings_instance;
function CharMappings_getInstance() {
if (CharMappings_instance == null)
new CharMappings();
return CharMappings_instance;
}
function StringJsonLexerWithComments(source) {
StringJsonLexer.call(this, source);
}
protoOf(StringJsonLexerWithComments).gu = function () {
var source = this.cy();
var cpos = this.fy();
if (cpos >= source.length || cpos === -1)
return 10;
this.wp_1 = cpos + 1 | 0;
return charToTokenClass(charCodeAt(source, cpos));
};
protoOf(StringJsonLexerWithComments).cu = function () {
var current = this.fy();
if (current >= this.cy().length || current === -1)
return false;
return this.gy(charCodeAt(this.cy(), current));
};
protoOf(StringJsonLexerWithComments).nv = function (expected) {
var source = this.cy();
var current = this.fy();
if (current >= source.length || current === -1) {
this.wp_1 = -1;
this.hy(expected);
}
var c = charCodeAt(source, current);
this.wp_1 = current + 1 | 0;
if (c === expected)
return Unit_instance;
else {
this.hy(expected);
}
};
protoOf(StringJsonLexerWithComments).bu = function () {
var source = this.cy();
var cpos = this.fy();
if (cpos >= source.length || cpos === -1)
return 10;
this.wp_1 = cpos;
return charToTokenClass(charCodeAt(source, cpos));
};
protoOf(StringJsonLexerWithComments).fy = function () {
var current = this.wp_1;
if (current === -1)
return current;
var source = this.cy();
$l$loop_1: while (current < source.length) {
var c = charCodeAt(source, current);
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonLexer.isWs' call
if (c === _Char___init__impl__6a9atx(32) || c === _Char___init__impl__6a9atx(10) || c === _Char___init__impl__6a9atx(13) || c === _Char___init__impl__6a9atx(9)) {
current = current + 1 | 0;
continue $l$loop_1;
}
if (c === _Char___init__impl__6a9atx(47) && (current + 1 | 0) < source.length) {
var tmp0_subject = charCodeAt(source, current + 1 | 0);
if (tmp0_subject === _Char___init__impl__6a9atx(47)) {
current = indexOf_0(source, _Char___init__impl__6a9atx(10), current + 2 | 0);
if (current === -1) {
current = source.length;
} else {
current = current + 1 | 0;
}
continue $l$loop_1;
} else if (tmp0_subject === _Char___init__impl__6a9atx(42)) {
current = indexOf(source, '*/', current + 2 | 0);
if (current === -1) {
this.wp_1 = source.length;
this.au('Expected end of the block comment: "*/", but had EOF instead');
} else {
current = current + 2 | 0;
}
continue $l$loop_1;
}
}
break $l$loop_1;
}
this.wp_1 = current;
return current;
};
function StringJsonLexer(source) {
AbstractJsonLexer.call(this);
this.vy_1 = source;
}
protoOf(StringJsonLexer).cy = function () {
return this.vy_1;
};
protoOf(StringJsonLexer).dy = function (position) {
return position < this.cy().length ? position : -1;
};
protoOf(StringJsonLexer).gu = function () {
var source = this.cy();
var cpos = this.wp_1;
$l$loop: while (!(cpos === -1) && cpos < source.length) {
var _unary__edvuaz = cpos;
cpos = _unary__edvuaz + 1 | 0;
var c = charCodeAt(source, _unary__edvuaz);
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonLexer.isWs' call
if (c === _Char___init__impl__6a9atx(32) || c === _Char___init__impl__6a9atx(10) || c === _Char___init__impl__6a9atx(13) || c === _Char___init__impl__6a9atx(9))
continue $l$loop;
this.wp_1 = cpos;
return charToTokenClass(c);
}
this.wp_1 = source.length;
return 10;
};
protoOf(StringJsonLexer).cu = function () {
var current = this.wp_1;
if (current === -1)
return false;
var source = this.cy();
$l$loop: while (current < source.length) {
var c = charCodeAt(source, current);
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonLexer.isWs' call
if (c === _Char___init__impl__6a9atx(32) || c === _Char___init__impl__6a9atx(10) || c === _Char___init__impl__6a9atx(13) || c === _Char___init__impl__6a9atx(9)) {
current = current + 1 | 0;
continue $l$loop;
}
this.wp_1 = current;
return this.gy(c);
}
this.wp_1 = current;
return false;
};
protoOf(StringJsonLexer).fy = function () {
var current = this.wp_1;
if (current === -1)
return current;
var source = this.cy();
$l$loop: while (current < source.length) {
var c = charCodeAt(source, current);
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonLexer.isWs' call
if (c === _Char___init__impl__6a9atx(32) || c === _Char___init__impl__6a9atx(10) || c === _Char___init__impl__6a9atx(13) || c === _Char___init__impl__6a9atx(9)) {
current = current + 1 | 0;
} else {
break $l$loop;
}
}
this.wp_1 = current;
return current;
};
protoOf(StringJsonLexer).nv = function (expected) {
if (this.wp_1 === -1) {
this.hy(expected);
}
var source = this.cy();
var cpos = this.wp_1;
$l$loop: while (cpos < source.length) {
var _unary__edvuaz = cpos;
cpos = _unary__edvuaz + 1 | 0;
var c = charCodeAt(source, _unary__edvuaz);
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonLexer.isWs' call
if (c === _Char___init__impl__6a9atx(32) || c === _Char___init__impl__6a9atx(10) || c === _Char___init__impl__6a9atx(13) || c === _Char___init__impl__6a9atx(9))
continue $l$loop;
this.wp_1 = cpos;
if (c === expected)
return Unit_instance;
this.hy(expected);
}
this.wp_1 = -1;
this.hy(expected);
};
protoOf(StringJsonLexer).tv = function () {
this.nv(_Char___init__impl__6a9atx(34));
var current = this.wp_1;
var closingQuote = indexOf_0(this.cy(), _Char___init__impl__6a9atx(34), current);
if (closingQuote === -1) {
this.eu();
// Inline function 'kotlinx.serialization.json.internal.AbstractJsonLexer.fail' call
var expected = tokenDescription(1);
var position = false ? this.wp_1 - 1 | 0 : this.wp_1;
var s = this.wp_1 === charSequenceLength(this.cy()) || position < 0 ? 'EOF' : toString_1(charSequenceGet(this.cy(), position));
var tmp$ret$1 = 'Expected ' + expected + ", but had '" + s + "' instead";
this.au(tmp$ret$1, position);
}
var inductionVariable = current;
if (inductionVariable < closingQuote)
do {
var i = inductionVariable;
inductionVariable = inductionVariable + 1 | 0;
if (charCodeAt(this.cy(), i) === _Char___init__impl__6a9atx(92)) {
return this.consumeString2(this.cy(), this.wp_1, i);
}
}
while (inductionVariable < closingQuote);
this.wp_1 = closingQuote + 1 | 0;
return substring(this.cy(), current, closingQuote);
};
protoOf(StringJsonLexer).xv = function (keyToMatch, isLenient) {
var positionSnapshot = this.wp_1;
try {
if (!(this.gu() === 6))
return null;
var firstKey = this.qv(isLenient);
if (!(firstKey === keyToMatch))
return null;
this.iy();
if (!(this.gu() === 5))
return null;
return this.qv(isLenient);
}finally {
this.wp_1 = positionSnapshot;
this.iy();
}
};
function StringJsonLexer_0(json, source) {
return !json.hp_1.jr_1 ? new StringJsonLexer(source) : new StringJsonLexerWithComments(source);
}
function get_schemaCache(_this__u8e3s4) {
return _this__u8e3s4.jp_1;
}
function JsonToStringWriter() {
this.mp_1 = StringBuilder_init_$Create$_0(128);
}
protoOf(JsonToStringWriter).is = function (value) {
this.mp_1.i9(value);
};
protoOf(JsonToStringWriter).es = function (char) {
this.mp_1.k6(char);
};
protoOf(JsonToStringWriter).gs = function (text) {
this.mp_1.j6(text);
};
protoOf(JsonToStringWriter).ms = function (text) {
printQuoted(this.mp_1, text);
};
protoOf(JsonToStringWriter).np = function () {
this.mp_1.k9();
};
protoOf(JsonToStringWriter).toString = function () {
return this.mp_1.toString();
};
function createMapForCache(initialCapacity) {
return HashMap_init_$Create$(initialCapacity);
}
//region block: post-declaration
protoOf(JsonSerializersModuleValidator).uk = contextual;
//endregion
//region block: init
Companion_instance = new Companion();
Companion_instance_0 = new Companion_0();
Companion_instance_1 = new Companion_1();
Companion_instance_2 = new Companion_2();
Tombstone_instance = new Tombstone();
//endregion
//region block: exports
_.$_$ = _.$_$ || {};
_.$_$.a = Json_0;
//endregion
return _;
}));
//# sourceMappingURL=kotlinx-serialization-kotlinx-serialization-json.js.map
SHA-256: 39093798750b65964d994f71cbc1f13eaf85c5d43bd1c2977f43a5a14927391c