UNPKG

git-digger

Version:

![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/robertfmurdock/ze-great-tools?label=Release) ![NPM Version](https://img.shields.io/npm/v/git-digger?label=npm%20git-digger)

3,480 lines 138 kB
(function (_, kotlin_kotlin) {
  'use strict';
  //region block: imports
  var imul = Math.imul;
  var protoOf = kotlin_kotlin.$_$.c8;
  var initMetadataForInterface = kotlin_kotlin.$_$.h7;
  var VOID = kotlin_kotlin.$_$.c;
  var StringCompanionObject_instance = kotlin_kotlin.$_$.n2;
  var Unit_instance = kotlin_kotlin.$_$.z2;
  var emptyList = kotlin_kotlin.$_$.c4;
  var LazyThreadSafetyMode_PUBLICATION_getInstance = kotlin_kotlin.$_$.f;
  var lazy = kotlin_kotlin.$_$.bc;
  var KProperty1 = kotlin_kotlin.$_$.u8;
  var getPropertyCallableRef = kotlin_kotlin.$_$.b7;
  var toString = kotlin_kotlin.$_$.e8;
  var initMetadataForClass = kotlin_kotlin.$_$.e7;
  var getKClassFromExpression = kotlin_kotlin.$_$.q8;
  var IllegalArgumentException_init_$Init$ = kotlin_kotlin.$_$.u;
  var objectCreate = kotlin_kotlin.$_$.b8;
  var captureStack = kotlin_kotlin.$_$.r6;
  var IllegalArgumentException_init_$Init$_0 = kotlin_kotlin.$_$.v;
  var IllegalArgumentException = kotlin_kotlin.$_$.db;
  var collectionSizeOrDefault = kotlin_kotlin.$_$.v3;
  var ArrayList_init_$Create$ = kotlin_kotlin.$_$.g;
  var THROW_CCE = kotlin_kotlin.$_$.jb;
  var KClass = kotlin_kotlin.$_$.s8;
  var isInterface = kotlin_kotlin.$_$.s7;
  var Triple = kotlin_kotlin.$_$.kb;
  var getKClass = kotlin_kotlin.$_$.r8;
  var Pair = kotlin_kotlin.$_$.gb;
  var Entry = kotlin_kotlin.$_$.h3;
  var KtMap = kotlin_kotlin.$_$.i3;
  var KtMutableMap = kotlin_kotlin.$_$.k3;
  var LinkedHashMap = kotlin_kotlin.$_$.e3;
  var HashMap = kotlin_kotlin.$_$.c3;
  var KtSet = kotlin_kotlin.$_$.m3;
  var KtMutableSet = kotlin_kotlin.$_$.l3;
  var LinkedHashSet = kotlin_kotlin.$_$.f3;
  var HashSet = kotlin_kotlin.$_$.d3;
  var Collection = kotlin_kotlin.$_$.b3;
  var KtList = kotlin_kotlin.$_$.g3;
  var KtMutableList = kotlin_kotlin.$_$.j3;
  var ArrayList = kotlin_kotlin.$_$.a3;
  var copyToArray = kotlin_kotlin.$_$.a4;
  var _Result___get_value__impl__bjfvqg = kotlin_kotlin.$_$.m1;
  var _Result___get_isFailure__impl__jpiriv = kotlin_kotlin.$_$.k1;
  var Result = kotlin_kotlin.$_$.hb;
  var ensureNotNull = kotlin_kotlin.$_$.yb;
  var equals = kotlin_kotlin.$_$.y6;
  var getStringHashCode = kotlin_kotlin.$_$.c7;
  var isBlank = kotlin_kotlin.$_$.v9;
  var IllegalArgumentException_init_$Create$ = kotlin_kotlin.$_$.w;
  var toList = kotlin_kotlin.$_$.y5;
  var ArrayList_init_$Create$_0 = kotlin_kotlin.$_$.h;
  var HashSet_init_$Create$ = kotlin_kotlin.$_$.l;
  var toHashSet = kotlin_kotlin.$_$.v5;
  var toBooleanArray = kotlin_kotlin.$_$.u5;
  var withIndex = kotlin_kotlin.$_$.d6;
  var to = kotlin_kotlin.$_$.hc;
  var toMap = kotlin_kotlin.$_$.z5;
  var lazy_0 = kotlin_kotlin.$_$.cc;
  var contentEquals = kotlin_kotlin.$_$.x3;
  var initMetadataForObject = kotlin_kotlin.$_$.j7;
  var Char = kotlin_kotlin.$_$.ya;
  var Duration__toIsoString_impl_9h6wsm = kotlin_kotlin.$_$.f1;
  var Duration = kotlin_kotlin.$_$.va;
  var Instant = kotlin_kotlin.$_$.wa;
  var Uuid = kotlin_kotlin.$_$.xa;
  var hashCode = kotlin_kotlin.$_$.d7;
  var IllegalStateException_init_$Create$ = kotlin_kotlin.$_$.z;
  var isArray = kotlin_kotlin.$_$.k7;
  var arrayIterator = kotlin_kotlin.$_$.p6;
  var HashSet_init_$Create$_0 = kotlin_kotlin.$_$.k;
  var toString_0 = kotlin_kotlin.$_$.gc;
  var KTypeParameter = kotlin_kotlin.$_$.v8;
  var contentHashCode = kotlin_kotlin.$_$.z3;
  var until = kotlin_kotlin.$_$.n8;
  var joinToString = kotlin_kotlin.$_$.n4;
  var HashMap_init_$Create$ = kotlin_kotlin.$_$.j;
  var booleanArray = kotlin_kotlin.$_$.q6;
  var emptyMap = kotlin_kotlin.$_$.d4;
  var Companion_getInstance = kotlin_kotlin.$_$.s2;
  var isCharArray = kotlin_kotlin.$_$.n7;
  var DoubleCompanionObject_instance = kotlin_kotlin.$_$.j2;
  var isDoubleArray = kotlin_kotlin.$_$.p7;
  var FloatCompanionObject_instance = kotlin_kotlin.$_$.k2;
  var isFloatArray = kotlin_kotlin.$_$.q7;
  var Companion_getInstance_0 = kotlin_kotlin.$_$.t2;
  var isLongArray = kotlin_kotlin.$_$.t7;
  var Companion_getInstance_1 = kotlin_kotlin.$_$.x2;
  var _ULongArray___get_size__impl__ju6dtr = kotlin_kotlin.$_$.b2;
  var ULongArray = kotlin_kotlin.$_$.pb;
  var ULongArray__get_impl_pr71q9 = kotlin_kotlin.$_$.a2;
  var _ULong___get_data__impl__fggpzb = kotlin_kotlin.$_$.y1;
  var IntCompanionObject_instance = kotlin_kotlin.$_$.l2;
  var isIntArray = kotlin_kotlin.$_$.r7;
  var Companion_getInstance_2 = kotlin_kotlin.$_$.w2;
  var _UIntArray___get_size__impl__r6l8ci = kotlin_kotlin.$_$.w1;
  var UIntArray = kotlin_kotlin.$_$.nb;
  var UIntArray__get_impl_gp5kza = kotlin_kotlin.$_$.v1;
  var _UInt___get_data__impl__f0vqqw = kotlin_kotlin.$_$.t1;
  var ShortCompanionObject_instance = kotlin_kotlin.$_$.m2;
  var isShortArray = kotlin_kotlin.$_$.u7;
  var Companion_getInstance_3 = kotlin_kotlin.$_$.y2;
  var _UShortArray___get_size__impl__jqto1b = kotlin_kotlin.$_$.g2;
  var UShortArray = kotlin_kotlin.$_$.rb;
  var UShortArray__get_impl_fnbhmx = kotlin_kotlin.$_$.f2;
  var _UShort___get_data__impl__g0245 = kotlin_kotlin.$_$.d2;
  var ByteCompanionObject_instance = kotlin_kotlin.$_$.i2;
  var isByteArray = kotlin_kotlin.$_$.m7;
  var Companion_getInstance_4 = kotlin_kotlin.$_$.v2;
  var _UByteArray___get_size__impl__h6pkdv = kotlin_kotlin.$_$.r1;
  var UByteArray = kotlin_kotlin.$_$.lb;
  var UByteArray__get_impl_t5f3hv = kotlin_kotlin.$_$.q1;
  var _UByte___get_data__impl__jof9qr = kotlin_kotlin.$_$.o1;
  var BooleanCompanionObject_instance = kotlin_kotlin.$_$.h2;
  var isBooleanArray = kotlin_kotlin.$_$.l7;
  var Long = kotlin_kotlin.$_$.fb;
  var Unit = kotlin_kotlin.$_$.tb;
  var UInt = kotlin_kotlin.$_$.ob;
  var ULong = kotlin_kotlin.$_$.qb;
  var UByte = kotlin_kotlin.$_$.mb;
  var UShort = kotlin_kotlin.$_$.sb;
  var get_indices = kotlin_kotlin.$_$.l4;
  var IndexOutOfBoundsException_init_$Create$ = kotlin_kotlin.$_$.a1;
  var PrimitiveClasses_getInstance = kotlin_kotlin.$_$.o2;
  var Companion_getInstance_5 = kotlin_kotlin.$_$.p2;
  var Companion_getInstance_6 = kotlin_kotlin.$_$.q2;
  var Companion_getInstance_7 = kotlin_kotlin.$_$.r2;
  var mapOf = kotlin_kotlin.$_$.z4;
  var get_js = kotlin_kotlin.$_$.v7;
  var findAssociatedObject = kotlin_kotlin.$_$.b;
  var Companion_instance = kotlin_kotlin.$_$.u2;
  var _Result___init__impl__xyqfz8 = kotlin_kotlin.$_$.j1;
  var createFailure = kotlin_kotlin.$_$.xb;
  //endregion
  //region block: pre-declaration
  initMetadataForInterface(SerializationStrategy, 'SerializationStrategy');
  initMetadataForInterface(KSerializer, 'KSerializer', VOID, VOID, [SerializationStrategy]);
  initMetadataForClass(AbstractPolymorphicSerializer, 'AbstractPolymorphicSerializer', VOID, VOID, [KSerializer]);
  initMetadataForClass(PolymorphicSerializer, 'PolymorphicSerializer', VOID, AbstractPolymorphicSerializer);
  initMetadataForClass(SealedClassSerializer, 'SealedClassSerializer', VOID, AbstractPolymorphicSerializer);
  initMetadataForClass(SerializationException, 'SerializationException', SerializationException_init_$Create$, IllegalArgumentException);
  function get_isNullable() {
    return false;
  }
  function get_isInline() {
    return false;
  }
  function get_annotations() {
    return emptyList();
  }
  initMetadataForInterface(SerialDescriptor, 'SerialDescriptor');
  initMetadataForClass(ContextDescriptor, 'ContextDescriptor', VOID, VOID, [SerialDescriptor]);
  initMetadataForClass(elementDescriptors$1);
  initMetadataForClass(elementDescriptors$$inlined$Iterable$1);
  initMetadataForClass(ClassSerialDescriptorBuilder, 'ClassSerialDescriptorBuilder');
  initMetadataForInterface(CachedNames, 'CachedNames');
  initMetadataForClass(SerialDescriptorImpl, 'SerialDescriptorImpl', VOID, VOID, [SerialDescriptor, CachedNames]);
  initMetadataForClass(SerialKind, 'SerialKind');
  initMetadataForClass(PrimitiveKind, 'PrimitiveKind', VOID, SerialKind);
  initMetadataForObject(BOOLEAN, 'BOOLEAN', VOID, PrimitiveKind);
  initMetadataForObject(BYTE, 'BYTE', VOID, PrimitiveKind);
  initMetadataForObject(CHAR, 'CHAR', VOID, PrimitiveKind);
  initMetadataForObject(SHORT, 'SHORT', VOID, PrimitiveKind);
  initMetadataForObject(INT, 'INT', VOID, PrimitiveKind);
  initMetadataForObject(LONG, 'LONG', VOID, PrimitiveKind);
  initMetadataForObject(FLOAT, 'FLOAT', VOID, PrimitiveKind);
  initMetadataForObject(DOUBLE, 'DOUBLE', VOID, PrimitiveKind);
  initMetadataForObject(STRING, 'STRING', VOID, PrimitiveKind);
  initMetadataForClass(PolymorphicKind, 'PolymorphicKind', VOID, SerialKind);
  initMetadataForObject(OPEN, 'OPEN', VOID, PolymorphicKind);
  initMetadataForObject(ENUM, 'ENUM', VOID, SerialKind);
  initMetadataForObject(CONTEXTUAL, 'CONTEXTUAL', VOID, SerialKind);
  initMetadataForClass(StructureKind, 'StructureKind', VOID, SerialKind);
  initMetadataForObject(CLASS, 'CLASS', VOID, StructureKind);
  initMetadataForObject(LIST, 'LIST', VOID, StructureKind);
  initMetadataForObject(MAP, 'MAP', VOID, StructureKind);
  initMetadataForObject(OBJECT, 'OBJECT', VOID, StructureKind);
  function encodeNotNullMark() {
  }
  function beginCollection(descriptor, collectionSize) {
    return this.co(descriptor);
  }
  function encodeSerializableValue(serializer, value) {
    serializer.bm(this, value);
  }
  function encodeNullableSerializableValue(serializer, value) {
    var isNullabilitySupported = serializer.am().xm();
    if (isNullabilitySupported) {
      return this.cp(isInterface(serializer, SerializationStrategy) ? serializer : THROW_CCE(), value);
    }
    if (value == null) {
      this.go();
    } else {
      this.gp();
      this.cp(serializer, value);
    }
  }
  initMetadataForInterface(Encoder, 'Encoder');
  function shouldEncodeElementDefault(descriptor, index) {
    return true;
  }
  initMetadataForInterface(CompositeEncoder, 'CompositeEncoder');
  initMetadataForClass(AbstractEncoder, 'AbstractEncoder', VOID, VOID, [Encoder, CompositeEncoder]);
  initMetadataForObject(NothingSerializer_0, 'NothingSerializer', VOID, VOID, [KSerializer]);
  initMetadataForObject(DurationSerializer, 'DurationSerializer', VOID, VOID, [KSerializer]);
  initMetadataForObject(InstantSerializer, 'InstantSerializer', VOID, VOID, [KSerializer]);
  initMetadataForObject(UuidSerializer, 'UuidSerializer', VOID, VOID, [KSerializer]);
  initMetadataForClass(ListLikeDescriptor, 'ListLikeDescriptor', VOID, VOID, [SerialDescriptor]);
  initMetadataForClass(ArrayListClassDesc, 'ArrayListClassDesc', VOID, ListLikeDescriptor);
  initMetadataForClass(HashSetClassDesc, 'HashSetClassDesc', VOID, ListLikeDescriptor);
  initMetadataForClass(LinkedHashSetClassDesc, 'LinkedHashSetClassDesc', VOID, ListLikeDescriptor);
  initMetadataForClass(MapLikeDescriptor, 'MapLikeDescriptor', VOID, VOID, [SerialDescriptor]);
  initMetadataForClass(HashMapClassDesc, 'HashMapClassDesc', VOID, MapLikeDescriptor);
  initMetadataForClass(LinkedHashMapClassDesc, 'LinkedHashMapClassDesc', VOID, MapLikeDescriptor);
  initMetadataForClass(ArrayClassDesc, 'ArrayClassDesc', VOID, ListLikeDescriptor);
  initMetadataForClass(PrimitiveArrayDescriptor, 'PrimitiveArrayDescriptor', VOID, ListLikeDescriptor);
  initMetadataForClass(AbstractCollectionSerializer, 'AbstractCollectionSerializer', VOID, VOID, [KSerializer]);
  initMetadataForClass(CollectionLikeSerializer, 'CollectionLikeSerializer', VOID, AbstractCollectionSerializer);
  initMetadataForClass(CollectionSerializer, 'CollectionSerializer', VOID, CollectionLikeSerializer);
  initMetadataForClass(ArrayListSerializer, 'ArrayListSerializer', VOID, CollectionSerializer);
  initMetadataForClass(HashSetSerializer, 'HashSetSerializer', VOID, CollectionSerializer);
  initMetadataForClass(LinkedHashSetSerializer, 'LinkedHashSetSerializer', VOID, CollectionSerializer);
  initMetadataForClass(MapLikeSerializer, 'MapLikeSerializer', VOID, AbstractCollectionSerializer);
  initMetadataForClass(HashMapSerializer, 'HashMapSerializer', VOID, MapLikeSerializer);
  initMetadataForClass(LinkedHashMapSerializer, 'LinkedHashMapSerializer', VOID, MapLikeSerializer);
  initMetadataForClass(ReferenceArraySerializer, 'ReferenceArraySerializer', VOID, CollectionLikeSerializer);
  initMetadataForClass(PrimitiveArraySerializer, 'PrimitiveArraySerializer', VOID, CollectionLikeSerializer);
  initMetadataForClass(PluginGeneratedSerialDescriptor, 'PluginGeneratedSerialDescriptor', VOID, VOID, [SerialDescriptor, CachedNames]);
  initMetadataForClass(InlineClassDescriptor, 'InlineClassDescriptor', VOID, PluginGeneratedSerialDescriptor);
  function typeParametersSerializers() {
    return get_EMPTY_SERIALIZER_ARRAY();
  }
  initMetadataForInterface(GeneratedSerializer, 'GeneratedSerializer', VOID, VOID, [KSerializer]);
  initMetadataForClass(InlinePrimitiveDescriptor$1, VOID, VOID, VOID, [GeneratedSerializer]);
  initMetadataForObject(NoOpEncoder, 'NoOpEncoder', VOID, AbstractEncoder);
  initMetadataForObject(NothingSerialDescriptor, 'NothingSerialDescriptor', VOID, VOID, [SerialDescriptor]);
  initMetadataForClass(NullableSerializer, 'NullableSerializer', VOID, VOID, [KSerializer]);
  initMetadataForClass(SerialDescriptorForNullable, 'SerialDescriptorForNullable', VOID, VOID, [SerialDescriptor, CachedNames]);
  initMetadataForClass(ObjectSerializer, 'ObjectSerializer', VOID, VOID, [KSerializer]);
  initMetadataForInterface(SerializerFactory, 'SerializerFactory');
  initMetadataForObject(CharArraySerializer_0, 'CharArraySerializer', VOID, PrimitiveArraySerializer, [KSerializer, PrimitiveArraySerializer]);
  initMetadataForObject(DoubleArraySerializer_0, 'DoubleArraySerializer', VOID, PrimitiveArraySerializer, [KSerializer, PrimitiveArraySerializer]);
  initMetadataForObject(FloatArraySerializer_0, 'FloatArraySerializer', VOID, PrimitiveArraySerializer, [KSerializer, PrimitiveArraySerializer]);
  initMetadataForObject(LongArraySerializer_0, 'LongArraySerializer', VOID, PrimitiveArraySerializer, [KSerializer, PrimitiveArraySerializer]);
  initMetadataForObject(ULongArraySerializer_0, 'ULongArraySerializer', VOID, PrimitiveArraySerializer, [KSerializer, PrimitiveArraySerializer]);
  initMetadataForObject(IntArraySerializer_0, 'IntArraySerializer', VOID, PrimitiveArraySerializer, [KSerializer, PrimitiveArraySerializer]);
  initMetadataForObject(UIntArraySerializer_0, 'UIntArraySerializer', VOID, PrimitiveArraySerializer, [KSerializer, PrimitiveArraySerializer]);
  initMetadataForObject(ShortArraySerializer_0, 'ShortArraySerializer', VOID, PrimitiveArraySerializer, [KSerializer, PrimitiveArraySerializer]);
  initMetadataForObject(UShortArraySerializer_0, 'UShortArraySerializer', VOID, PrimitiveArraySerializer, [KSerializer, PrimitiveArraySerializer]);
  initMetadataForObject(ByteArraySerializer_0, 'ByteArraySerializer', VOID, PrimitiveArraySerializer, [KSerializer, PrimitiveArraySerializer]);
  initMetadataForObject(UByteArraySerializer_0, 'UByteArraySerializer', VOID, PrimitiveArraySerializer, [KSerializer, PrimitiveArraySerializer]);
  initMetadataForObject(BooleanArraySerializer_0, 'BooleanArraySerializer', VOID, PrimitiveArraySerializer, [KSerializer, PrimitiveArraySerializer]);
  initMetadataForObject(StringSerializer, 'StringSerializer', VOID, VOID, [KSerializer]);
  initMetadataForClass(PrimitiveSerialDescriptor, 'PrimitiveSerialDescriptor', VOID, VOID, [SerialDescriptor]);
  initMetadataForObject(IntSerializer, 'IntSerializer', VOID, VOID, [KSerializer]);
  initMetadataForObject(LongSerializer, 'LongSerializer', VOID, VOID, [KSerializer]);
  initMetadataForObject(ByteSerializer, 'ByteSerializer', VOID, VOID, [KSerializer]);
  initMetadataForObject(ShortSerializer, 'ShortSerializer', VOID, VOID, [KSerializer]);
  initMetadataForObject(CharSerializer, 'CharSerializer', VOID, VOID, [KSerializer]);
  initMetadataForObject(DoubleSerializer, 'DoubleSerializer', VOID, VOID, [KSerializer]);
  initMetadataForObject(FloatSerializer, 'FloatSerializer', VOID, VOID, [KSerializer]);
  initMetadataForObject(BooleanSerializer, 'BooleanSerializer', VOID, VOID, [KSerializer]);
  initMetadataForObject(UnitSerializer, 'UnitSerializer', VOID, VOID, [KSerializer]);
  initMetadataForClass(KeyValueSerializer, 'KeyValueSerializer', VOID, VOID, [KSerializer]);
  initMetadataForClass(MapEntrySerializer_0, 'MapEntrySerializer', VOID, KeyValueSerializer);
  initMetadataForClass(PairSerializer_0, 'PairSerializer', VOID, KeyValueSerializer);
  initMetadataForClass(TripleSerializer_0, 'TripleSerializer', VOID, VOID, [KSerializer]);
  initMetadataForObject(UIntSerializer, 'UIntSerializer', VOID, VOID, [KSerializer]);
  initMetadataForObject(ULongSerializer, 'ULongSerializer', VOID, VOID, [KSerializer]);
  initMetadataForObject(UByteSerializer, 'UByteSerializer', VOID, VOID, [KSerializer]);
  initMetadataForObject(UShortSerializer, 'UShortSerializer', VOID, VOID, [KSerializer]);
  initMetadataForClass(SerializersModule, 'SerializersModule');
  initMetadataForClass(SerialModuleImpl, 'SerialModuleImpl', VOID, SerializersModule);
  initMetadataForClass(SerializableWith, 'SerializableWith', VOID, VOID, VOID, VOID, 0);
  initMetadataForClass(createCache$1);
  initMetadataForClass(createParametrizedCache$1);
  //endregion
  function KSerializer() {
  }
  function SerializationStrategy() {
  }
  function PolymorphicSerializer$descriptor$delegate$lambda$lambda(this$0) {
    return function ($this$buildSerialDescriptor) {
      $this$buildSerialDescriptor.km('type', serializer_0(StringCompanionObject_instance).am());
      $this$buildSerialDescriptor.km('value', buildSerialDescriptor('kotlinx.serialization.Polymorphic<' + this$0.lm_1.l9() + '>', CONTEXTUAL_getInstance(), []));
      $this$buildSerialDescriptor.em_1 = this$0.mm_1;
      return Unit_instance;
    };
  }
  function PolymorphicSerializer$descriptor$delegate$lambda(this$0) {
    return function () {
      var tmp = OPEN_getInstance();
      return withContext(buildSerialDescriptor('kotlinx.serialization.Polymorphic', tmp, [], PolymorphicSerializer$descriptor$delegate$lambda$lambda(this$0)), this$0.lm_1);
    };
  }
  function PolymorphicSerializer$_get_descriptor_$ref_8tw9if() {
    return function (p0) {
      return p0.am();
    };
  }
  function PolymorphicSerializer(baseClass) {
    AbstractPolymorphicSerializer.call(this);
    this.lm_1 = baseClass;
    this.mm_1 = emptyList();
    var tmp = this;
    var tmp_0 = LazyThreadSafetyMode_PUBLICATION_getInstance();
    tmp.nm_1 = lazy(tmp_0, PolymorphicSerializer$descriptor$delegate$lambda(this));
  }
  protoOf(PolymorphicSerializer).om = function () {
    return this.lm_1;
  };
  protoOf(PolymorphicSerializer).am = function () {
    var tmp0 = this.nm_1;
    var tmp = KProperty1;
    // Inline function 'kotlin.getValue' call
    getPropertyCallableRef('descriptor', 1, tmp, PolymorphicSerializer$_get_descriptor_$ref_8tw9if(), null);
    return tmp0.b1();
  };
  protoOf(PolymorphicSerializer).toString = function () {
    return 'kotlinx.serialization.PolymorphicSerializer(baseClass: ' + toString(this.lm_1) + ')';
  };
  function findPolymorphicSerializer(_this__u8e3s4, encoder, value) {
    var tmp0_elvis_lhs = _this__u8e3s4.qm(encoder, value);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      throwSubtypeNotRegistered(getKClassFromExpression(value), _this__u8e3s4.om());
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  function SealedClassSerializer$_get_descriptor_$ref_m511rz() {
    return function (p0) {
      return p0.am();
    };
  }
  function SealedClassSerializer() {
  }
  protoOf(SealedClassSerializer).am = function () {
    var tmp0 = this.rm_1;
    var tmp = KProperty1;
    // Inline function 'kotlin.getValue' call
    getPropertyCallableRef('descriptor', 1, tmp, SealedClassSerializer$_get_descriptor_$ref_m511rz(), null);
    return tmp0.b1();
  };
  function SerializationException_init_$Init$($this) {
    IllegalArgumentException_init_$Init$($this);
    SerializationException.call($this);
    return $this;
  }
  function SerializationException_init_$Create$() {
    var tmp = SerializationException_init_$Init$(objectCreate(protoOf(SerializationException)));
    captureStack(tmp, SerializationException_init_$Create$);
    return tmp;
  }
  function SerializationException_init_$Init$_0(message, $this) {
    IllegalArgumentException_init_$Init$_0(message, $this);
    SerializationException.call($this);
    return $this;
  }
  function SerializationException_init_$Create$_0(message) {
    var tmp = SerializationException_init_$Init$_0(message, objectCreate(protoOf(SerializationException)));
    captureStack(tmp, SerializationException_init_$Create$_0);
    return tmp;
  }
  function SerializationException() {
    captureStack(this, SerializationException);
  }
  function serializerOrNull(_this__u8e3s4) {
    var tmp0_elvis_lhs = compiledSerializerImpl(_this__u8e3s4);
    return tmp0_elvis_lhs == null ? builtinSerializerOrNull(_this__u8e3s4) : tmp0_elvis_lhs;
  }
  function serializersForParameters(_this__u8e3s4, typeArguments, failOnMissingTypeArgSerializer) {
    var tmp;
    if (failOnMissingTypeArgSerializer) {
      // Inline function 'kotlin.collections.map' call
      // Inline function 'kotlin.collections.mapTo' call
      var destination = ArrayList_init_$Create$(collectionSizeOrDefault(typeArguments, 10));
      var _iterator__ex2g4s = typeArguments.o();
      while (_iterator__ex2g4s.p()) {
        var item = _iterator__ex2g4s.q();
        var tmp$ret$0 = serializer(_this__u8e3s4, item);
        destination.g(tmp$ret$0);
      }
      tmp = destination;
    } else {
      // Inline function 'kotlin.collections.map' call
      // Inline function 'kotlin.collections.mapTo' call
      var destination_0 = ArrayList_init_$Create$(collectionSizeOrDefault(typeArguments, 10));
      var _iterator__ex2g4s_0 = typeArguments.o();
      while (_iterator__ex2g4s_0.p()) {
        var item_0 = _iterator__ex2g4s_0.q();
        var tmp0_elvis_lhs = serializerOrNull_0(_this__u8e3s4, item_0);
        var tmp_0;
        if (tmp0_elvis_lhs == null) {
          return null;
        } else {
          tmp_0 = tmp0_elvis_lhs;
        }
        var tmp$ret$3 = tmp_0;
        destination_0.g(tmp$ret$3);
      }
      tmp = destination_0;
    }
    var serializers = tmp;
    return serializers;
  }
  function parametrizedSerializerOrNull(_this__u8e3s4, serializers, elementClassifierIfArray) {
    var tmp0_elvis_lhs = builtinParametrizedSerializer(_this__u8e3s4, serializers, elementClassifierIfArray);
    return tmp0_elvis_lhs == null ? compiledParametrizedSerializer(_this__u8e3s4, serializers) : tmp0_elvis_lhs;
  }
  function serializer(_this__u8e3s4, type) {
    var tmp0_elvis_lhs = serializerByKTypeImpl(_this__u8e3s4, type, true);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      platformSpecificSerializerNotRegistered(kclass(type));
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  function serializerOrNull_0(_this__u8e3s4, type) {
    return serializerByKTypeImpl(_this__u8e3s4, type, false);
  }
  function builtinParametrizedSerializer(_this__u8e3s4, serializers, elementClassifierIfArray) {
    var tmp;
    if (_this__u8e3s4.equals(getKClass(Collection)) || _this__u8e3s4.equals(getKClass(KtList)) || (_this__u8e3s4.equals(getKClass(KtMutableList)) || _this__u8e3s4.equals(getKClass(ArrayList)))) {
      tmp = new ArrayListSerializer(serializers.r(0));
    } else if (_this__u8e3s4.equals(getKClass(HashSet))) {
      tmp = new HashSetSerializer(serializers.r(0));
    } else if (_this__u8e3s4.equals(getKClass(KtSet)) || (_this__u8e3s4.equals(getKClass(KtMutableSet)) || _this__u8e3s4.equals(getKClass(LinkedHashSet)))) {
      tmp = new LinkedHashSetSerializer(serializers.r(0));
    } else if (_this__u8e3s4.equals(getKClass(HashMap))) {
      tmp = new HashMapSerializer(serializers.r(0), serializers.r(1));
    } else if (_this__u8e3s4.equals(getKClass(KtMap)) || (_this__u8e3s4.equals(getKClass(KtMutableMap)) || _this__u8e3s4.equals(getKClass(LinkedHashMap)))) {
      tmp = new LinkedHashMapSerializer(serializers.r(0), serializers.r(1));
    } else if (_this__u8e3s4.equals(getKClass(Entry))) {
      tmp = MapEntrySerializer(serializers.r(0), serializers.r(1));
    } else if (_this__u8e3s4.equals(getKClass(Pair))) {
      tmp = PairSerializer(serializers.r(0), serializers.r(1));
    } else if (_this__u8e3s4.equals(getKClass(Triple))) {
      tmp = TripleSerializer(serializers.r(0), serializers.r(1), serializers.r(2));
    } else {
      var tmp_0;
      if (isReferenceArray(_this__u8e3s4)) {
        var tmp_1 = elementClassifierIfArray();
        tmp_0 = ArraySerializer((!(tmp_1 == null) ? isInterface(tmp_1, KClass) : false) ? tmp_1 : THROW_CCE(), serializers.r(0));
      } else {
        tmp_0 = null;
      }
      tmp = tmp_0;
    }
    return tmp;
  }
  function compiledParametrizedSerializer(_this__u8e3s4, serializers) {
    // Inline function 'kotlin.collections.toTypedArray' call
    var tmp$ret$0 = copyToArray(serializers);
    return constructSerializerForGivenTypeArgs(_this__u8e3s4, tmp$ret$0.slice());
  }
  function serializerByKTypeImpl(_this__u8e3s4, type, failOnMissingTypeArgSerializer) {
    var rootClass = kclass(type);
    var isNullable = type.aa();
    // Inline function 'kotlin.collections.map' call
    var this_0 = type.z9();
    // Inline function 'kotlin.collections.mapTo' call
    var destination = ArrayList_init_$Create$(collectionSizeOrDefault(this_0, 10));
    var _iterator__ex2g4s = this_0.o();
    while (_iterator__ex2g4s.p()) {
      var item = _iterator__ex2g4s.q();
      var tmp$ret$0 = typeOrThrow(item);
      destination.g(tmp$ret$0);
    }
    var typeArguments = destination;
    var tmp;
    if (typeArguments.l()) {
      var tmp_0;
      if (isInterface_0(rootClass) && !(_this__u8e3s4.tm(rootClass) == null)) {
        tmp_0 = null;
      } else {
        tmp_0 = findCachedSerializer(rootClass, isNullable);
      }
      tmp = tmp_0;
    } else {
      var tmp_1;
      if (_this__u8e3s4.sm()) {
        tmp_1 = null;
      } else {
        // Inline function 'kotlin.Result.getOrNull' call
        var this_1 = findParametrizedCachedSerializer(rootClass, typeArguments, isNullable);
        var tmp_2;
        if (_Result___get_isFailure__impl__jpiriv(this_1)) {
          tmp_2 = null;
        } else {
          var tmp_3 = _Result___get_value__impl__bjfvqg(this_1);
          tmp_2 = (tmp_3 == null ? true : !(tmp_3 == null)) ? tmp_3 : THROW_CCE();
        }
        tmp_1 = tmp_2;
      }
      tmp = tmp_1;
    }
    var cachedSerializer = tmp;
    if (!(cachedSerializer == null))
      return cachedSerializer;
    var tmp_4;
    if (typeArguments.l()) {
      var tmp0_elvis_lhs = serializerOrNull(rootClass);
      var tmp1_elvis_lhs = tmp0_elvis_lhs == null ? _this__u8e3s4.tm(rootClass) : tmp0_elvis_lhs;
      var tmp_5;
      if (tmp1_elvis_lhs == null) {
        // Inline function 'kotlinx.serialization.polymorphicIfInterface' call
        tmp_5 = isInterface_0(rootClass) ? new PolymorphicSerializer(rootClass) : null;
      } else {
        tmp_5 = tmp1_elvis_lhs;
      }
      tmp_4 = tmp_5;
    } else {
      var tmp2_elvis_lhs = serializersForParameters(_this__u8e3s4, typeArguments, failOnMissingTypeArgSerializer);
      var tmp_6;
      if (tmp2_elvis_lhs == null) {
        return null;
      } else {
        tmp_6 = tmp2_elvis_lhs;
      }
      var serializers = tmp_6;
      var tmp3_elvis_lhs = parametrizedSerializerOrNull(rootClass, serializers, serializerByKTypeImpl$lambda(typeArguments));
      var tmp4_elvis_lhs = tmp3_elvis_lhs == null ? _this__u8e3s4.um(rootClass, serializers) : tmp3_elvis_lhs;
      var tmp_7;
      if (tmp4_elvis_lhs == null) {
        // Inline function 'kotlinx.serialization.polymorphicIfInterface' call
        tmp_7 = isInterface_0(rootClass) ? new PolymorphicSerializer(rootClass) : null;
      } else {
        tmp_7 = tmp4_elvis_lhs;
      }
      tmp_4 = tmp_7;
    }
    var contextualSerializer = tmp_4;
    var tmp_8;
    if (contextualSerializer == null) {
      tmp_8 = null;
    } else {
      // Inline function 'kotlinx.serialization.internal.cast' call
      tmp_8 = isInterface(contextualSerializer, KSerializer) ? contextualSerializer : THROW_CCE();
    }
    var tmp6_safe_receiver = tmp_8;
    return tmp6_safe_receiver == null ? null : nullable(tmp6_safe_receiver, isNullable);
  }
  function nullable(_this__u8e3s4, shouldBeNullable) {
    if (shouldBeNullable)
      return get_nullable(_this__u8e3s4);
    return isInterface(_this__u8e3s4, KSerializer) ? _this__u8e3s4 : THROW_CCE();
  }
  function serializerByKTypeImpl$lambda($typeArguments) {
    return function () {
      return $typeArguments.r(0).y9();
    };
  }
  function get_SERIALIZERS_CACHE() {
    _init_properties_SerializersCache_kt__hgwi2p();
    return SERIALIZERS_CACHE;
  }
  var SERIALIZERS_CACHE;
  function get_SERIALIZERS_CACHE_NULLABLE() {
    _init_properties_SerializersCache_kt__hgwi2p();
    return SERIALIZERS_CACHE_NULLABLE;
  }
  var SERIALIZERS_CACHE_NULLABLE;
  function get_PARAMETRIZED_SERIALIZERS_CACHE() {
    _init_properties_SerializersCache_kt__hgwi2p();
    return PARAMETRIZED_SERIALIZERS_CACHE;
  }
  var PARAMETRIZED_SERIALIZERS_CACHE;
  function get_PARAMETRIZED_SERIALIZERS_CACHE_NULLABLE() {
    _init_properties_SerializersCache_kt__hgwi2p();
    return PARAMETRIZED_SERIALIZERS_CACHE_NULLABLE;
  }
  var PARAMETRIZED_SERIALIZERS_CACHE_NULLABLE;
  function findCachedSerializer(clazz, isNullable) {
    _init_properties_SerializersCache_kt__hgwi2p();
    var tmp;
    if (!isNullable) {
      var tmp0_safe_receiver = get_SERIALIZERS_CACHE().vm(clazz);
      var tmp_0;
      if (tmp0_safe_receiver == null) {
        tmp_0 = null;
      } else {
        // Inline function 'kotlinx.serialization.internal.cast' call
        tmp_0 = isInterface(tmp0_safe_receiver, KSerializer) ? tmp0_safe_receiver : THROW_CCE();
      }
      tmp = tmp_0;
    } else {
      tmp = get_SERIALIZERS_CACHE_NULLABLE().vm(clazz);
    }
    return tmp;
  }
  function findParametrizedCachedSerializer(clazz, types, isNullable) {
    _init_properties_SerializersCache_kt__hgwi2p();
    var tmp;
    if (!isNullable) {
      var tmp_0 = get_PARAMETRIZED_SERIALIZERS_CACHE().wm(clazz, types);
      tmp = new Result(tmp_0) instanceof Result ? tmp_0 : THROW_CCE();
    } else {
      tmp = get_PARAMETRIZED_SERIALIZERS_CACHE_NULLABLE().wm(clazz, types);
    }
    return tmp;
  }
  function SERIALIZERS_CACHE$lambda(it) {
    _init_properties_SerializersCache_kt__hgwi2p();
    var tmp0_elvis_lhs = serializerOrNull(it);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      // Inline function 'kotlinx.serialization.polymorphicIfInterface' call
      tmp = isInterface_0(it) ? new PolymorphicSerializer(it) : null;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  function SERIALIZERS_CACHE_NULLABLE$lambda(it) {
    _init_properties_SerializersCache_kt__hgwi2p();
    var tmp0_elvis_lhs = serializerOrNull(it);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      // Inline function 'kotlinx.serialization.polymorphicIfInterface' call
      tmp = isInterface_0(it) ? new PolymorphicSerializer(it) : null;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var tmp1_safe_receiver = tmp;
    var tmp2_safe_receiver = tmp1_safe_receiver == null ? null : get_nullable(tmp1_safe_receiver);
    var tmp_0;
    if (tmp2_safe_receiver == null) {
      tmp_0 = null;
    } else {
      // Inline function 'kotlinx.serialization.internal.cast' call
      tmp_0 = isInterface(tmp2_safe_receiver, KSerializer) ? tmp2_safe_receiver : THROW_CCE();
    }
    return tmp_0;
  }
  function PARAMETRIZED_SERIALIZERS_CACHE$lambda(clazz, types) {
    _init_properties_SerializersCache_kt__hgwi2p();
    var serializers = ensureNotNull(serializersForParameters(EmptySerializersModule_0(), types, true));
    return parametrizedSerializerOrNull(clazz, serializers, PARAMETRIZED_SERIALIZERS_CACHE$lambda$lambda(types));
  }
  function PARAMETRIZED_SERIALIZERS_CACHE$lambda$lambda($types) {
    return function () {
      return $types.r(0).y9();
    };
  }
  function PARAMETRIZED_SERIALIZERS_CACHE_NULLABLE$lambda(clazz, types) {
    _init_properties_SerializersCache_kt__hgwi2p();
    var serializers = ensureNotNull(serializersForParameters(EmptySerializersModule_0(), types, true));
    var tmp0_safe_receiver = parametrizedSerializerOrNull(clazz, serializers, PARAMETRIZED_SERIALIZERS_CACHE_NULLABLE$lambda$lambda(types));
    var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : get_nullable(tmp0_safe_receiver);
    var tmp;
    if (tmp1_safe_receiver == null) {
      tmp = null;
    } else {
      // Inline function 'kotlinx.serialization.internal.cast' call
      tmp = isInterface(tmp1_safe_receiver, KSerializer) ? tmp1_safe_receiver : THROW_CCE();
    }
    return tmp;
  }
  function PARAMETRIZED_SERIALIZERS_CACHE_NULLABLE$lambda$lambda($types) {
    return function () {
      return $types.r(0).y9();
    };
  }
  var properties_initialized_SerializersCache_kt_q8kf25;
  function _init_properties_SerializersCache_kt__hgwi2p() {
    if (!properties_initialized_SerializersCache_kt_q8kf25) {
      properties_initialized_SerializersCache_kt_q8kf25 = true;
      SERIALIZERS_CACHE = createCache(SERIALIZERS_CACHE$lambda);
      SERIALIZERS_CACHE_NULLABLE = createCache(SERIALIZERS_CACHE_NULLABLE$lambda);
      PARAMETRIZED_SERIALIZERS_CACHE = createParametrizedCache(PARAMETRIZED_SERIALIZERS_CACHE$lambda);
      PARAMETRIZED_SERIALIZERS_CACHE_NULLABLE = createParametrizedCache(PARAMETRIZED_SERIALIZERS_CACHE_NULLABLE$lambda);
    }
  }
  function serializer_0(_this__u8e3s4) {
    return StringSerializer_getInstance();
  }
  function serializer_1(_this__u8e3s4) {
    return UIntSerializer_getInstance();
  }
  function serializer_2(_this__u8e3s4) {
    return ULongSerializer_getInstance();
  }
  function serializer_3(_this__u8e3s4) {
    return UByteSerializer_getInstance();
  }
  function serializer_4(_this__u8e3s4) {
    return UShortSerializer_getInstance();
  }
  function get_nullable(_this__u8e3s4) {
    var tmp;
    if (_this__u8e3s4.am().xm()) {
      tmp = isInterface(_this__u8e3s4, KSerializer) ? _this__u8e3s4 : THROW_CCE();
    } else {
      tmp = new NullableSerializer(_this__u8e3s4);
    }
    return tmp;
  }
  function serializer_5(_this__u8e3s4) {
    return IntSerializer_getInstance();
  }
  function serializer_6(_this__u8e3s4) {
    return LongSerializer_getInstance();
  }
  function serializer_7(_this__u8e3s4) {
    return ByteSerializer_getInstance();
  }
  function serializer_8(_this__u8e3s4) {
    return ShortSerializer_getInstance();
  }
  function serializer_9(_this__u8e3s4) {
    return CharSerializer_getInstance();
  }
  function CharArraySerializer() {
    return CharArraySerializer_getInstance();
  }
  function serializer_10(_this__u8e3s4) {
    return DoubleSerializer_getInstance();
  }
  function DoubleArraySerializer() {
    return DoubleArraySerializer_getInstance();
  }
  function serializer_11(_this__u8e3s4) {
    return FloatSerializer_getInstance();
  }
  function FloatArraySerializer() {
    return FloatArraySerializer_getInstance();
  }
  function LongArraySerializer() {
    return LongArraySerializer_getInstance();
  }
  function ULongArraySerializer() {
    return ULongArraySerializer_getInstance();
  }
  function IntArraySerializer() {
    return IntArraySerializer_getInstance();
  }
  function UIntArraySerializer() {
    return UIntArraySerializer_getInstance();
  }
  function ShortArraySerializer() {
    return ShortArraySerializer_getInstance();
  }
  function UShortArraySerializer() {
    return UShortArraySerializer_getInstance();
  }
  function ByteArraySerializer() {
    return ByteArraySerializer_getInstance();
  }
  function UByteArraySerializer() {
    return UByteArraySerializer_getInstance();
  }
  function serializer_12(_this__u8e3s4) {
    return BooleanSerializer_getInstance();
  }
  function BooleanArraySerializer() {
    return BooleanArraySerializer_getInstance();
  }
  function serializer_13(_this__u8e3s4) {
    return UnitSerializer_getInstance();
  }
  function NothingSerializer() {
    return NothingSerializer_getInstance();
  }
  function serializer_14(_this__u8e3s4) {
    return DurationSerializer_getInstance();
  }
  function serializer_15(_this__u8e3s4) {
    return InstantSerializer_getInstance();
  }
  function serializer_16(_this__u8e3s4) {
    return UuidSerializer_getInstance();
  }
  function MapEntrySerializer(keySerializer, valueSerializer) {
    return new MapEntrySerializer_0(keySerializer, valueSerializer);
  }
  function PairSerializer(keySerializer, valueSerializer) {
    return new PairSerializer_0(keySerializer, valueSerializer);
  }
  function TripleSerializer(aSerializer, bSerializer, cSerializer) {
    return new TripleSerializer_0(aSerializer, bSerializer, cSerializer);
  }
  function ArraySerializer(kClass, elementSerializer) {
    return new ReferenceArraySerializer(kClass, elementSerializer);
  }
  function withContext(_this__u8e3s4, context) {
    return new ContextDescriptor(_this__u8e3s4, context);
  }
  function ContextDescriptor(original, kClass) {
    this.ym_1 = original;
    this.zm_1 = kClass;
    this.an_1 = this.ym_1.bn() + '<' + this.zm_1.l9() + '>';
  }
  protoOf(ContextDescriptor).bn = function () {
    return this.an_1;
  };
  protoOf(ContextDescriptor).equals = function (other) {
    var tmp0_elvis_lhs = other instanceof ContextDescriptor ? other : null;
    var tmp;
    if (tmp0_elvis_lhs == null) {
      return false;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    var another = tmp;
    return equals(this.ym_1, another.ym_1) && another.zm_1.equals(this.zm_1);
  };
  protoOf(ContextDescriptor).hashCode = function () {
    var result = this.zm_1.hashCode();
    result = imul(31, result) + getStringHashCode(this.an_1) | 0;
    return result;
  };
  protoOf(ContextDescriptor).toString = function () {
    return 'ContextDescriptor(kClass: ' + toString(this.zm_1) + ', original: ' + toString(this.ym_1) + ')';
  };
  protoOf(ContextDescriptor).cn = function () {
    return this.ym_1.cn();
  };
  protoOf(ContextDescriptor).xm = function () {
    return this.ym_1.xm();
  };
  protoOf(ContextDescriptor).dn = function () {
    return this.ym_1.dn();
  };
  protoOf(ContextDescriptor).en = function () {
    return this.ym_1.en();
  };
  protoOf(ContextDescriptor).fn = function () {
    return this.ym_1.fn();
  };
  protoOf(ContextDescriptor).gn = function (index) {
    return this.ym_1.gn(index);
  };
  protoOf(ContextDescriptor).hn = function (index) {
    return this.ym_1.hn(index);
  };
  function getContextualDescriptor(_this__u8e3s4, descriptor) {
    var tmp0_safe_receiver = get_capturedKClass(descriptor);
    var tmp;
    if (tmp0_safe_receiver == null) {
      tmp = null;
    } else {
      // Inline function 'kotlin.let' call
      var tmp0_safe_receiver_0 = _this__u8e3s4.tm(tmp0_safe_receiver);
      tmp = tmp0_safe_receiver_0 == null ? null : tmp0_safe_receiver_0.am();
    }
    return tmp;
  }
  function get_capturedKClass(_this__u8e3s4) {
    var tmp;
    if (_this__u8e3s4 instanceof ContextDescriptor) {
      tmp = _this__u8e3s4.zm_1;
    } else {
      if (_this__u8e3s4 instanceof SerialDescriptorForNullable) {
        tmp = get_capturedKClass(_this__u8e3s4.in_1);
      } else {
        tmp = null;
      }
    }
    return tmp;
  }
  function SerialDescriptor() {
  }
  function get_elementDescriptors(_this__u8e3s4) {
    // Inline function 'kotlin.collections.Iterable' call
    return new elementDescriptors$$inlined$Iterable$1(_this__u8e3s4);
  }
  function elementDescriptors$1($this_elementDescriptors) {
    this.mn_1 = $this_elementDescriptors;
    this.ln_1 = $this_elementDescriptors.en();
  }
  protoOf(elementDescriptors$1).p = function () {
    return this.ln_1 > 0;
  };
  protoOf(elementDescriptors$1).q = function () {
    var tmp = this.mn_1.en();
    var _unary__edvuaz = this.ln_1;
    this.ln_1 = _unary__edvuaz - 1 | 0;
    return this.mn_1.hn(tmp - _unary__edvuaz | 0);
  };
  function elementDescriptors$$inlined$Iterable$1($this_elementDescriptors) {
    this.nn_1 = $this_elementDescriptors;
  }
  protoOf(elementDescriptors$$inlined$Iterable$1).o = function () {
    return new elementDescriptors$1(this.nn_1);
  };
  function buildClassSerialDescriptor(serialName, typeParameters, builderAction) {
    var tmp;
    if (builderAction === VOID) {
      tmp = buildClassSerialDescriptor$lambda;
    } else {
      tmp = builderAction;
    }
    builderAction = tmp;
    // Inline function 'kotlin.text.isNotBlank' call
    // Inline function 'kotlin.require' call
    if (!!isBlank(serialName)) {
      var message = 'Blank serial names are prohibited';
      throw IllegalArgumentException_init_$Create$(toString(message));
    }
    var sdBuilder = new ClassSerialDescriptorBuilder(serialName);
    builderAction(sdBuilder);
    return new SerialDescriptorImpl(serialName, CLASS_getInstance(), sdBuilder.fm_1.s(), toList(typeParameters), sdBuilder);
  }
  function ClassSerialDescriptorBuilder(serialName) {
    this.cm_1 = serialName;
    this.dm_1 = false;
    this.em_1 = emptyList();
    this.fm_1 = ArrayList_init_$Create$_0();
    this.gm_1 = HashSet_init_$Create$();
    this.hm_1 = ArrayList_init_$Create$_0();
    this.im_1 = ArrayList_init_$Create$_0();
    this.jm_1 = ArrayList_init_$Create$_0();
  }
  protoOf(ClassSerialDescriptorBuilder).on = function (elementName, descriptor, annotations, isOptional) {
    // Inline function 'kotlin.require' call
    if (!this.gm_1.g(elementName)) {
      var message = "Element with name '" + elementName + "' is already registered in " + this.cm_1;
      throw IllegalArgumentException_init_$Create$(toString(message));
    }
    // Inline function 'kotlin.collections.plusAssign' call
    this.fm_1.g(elementName);
    // Inline function 'kotlin.collections.plusAssign' call
    this.hm_1.g(descriptor);
    // Inline function 'kotlin.collections.plusAssign' call
    this.im_1.g(annotations);
    // Inline function 'kotlin.collections.plusAssign' call
    this.jm_1.g(isOptional);
  };
  protoOf(ClassSerialDescriptorBuilder).km = function (elementName, descriptor, annotations, isOptional, $super) {
    annotations = annotations === VOID ? emptyList() : annotations;
    isOptional = isOptional === VOID ? false : isOptional;
    var tmp;
    if ($super === VOID) {
      this.on(elementName, descriptor, annotations, isOptional);
      tmp = Unit_instance;
    } else {
      tmp = $super.on.call(this, elementName, descriptor, annotations, isOptional);
    }
    return tmp;
  };
  function buildSerialDescriptor(serialName, kind, typeParameters, builder) {
    var tmp;
    if (builder === VOID) {
      tmp = buildSerialDescriptor$lambda;
    } else {
      tmp = builder;
    }
    builder = tmp;
    // Inline function 'kotlin.text.isNotBlank' call
    // Inline function 'kotlin.require' call
    if (!!isBlank(serialName)) {
      var message = 'Blank serial names are prohibited';
      throw IllegalArgumentException_init_$Create$(toString(message));
    }
    // Inline function 'kotlin.require' call
    if (!!equals(kind, CLASS_getInstance())) {
      var message_0 = "For StructureKind.CLASS please use 'buildClassSerialDescriptor' instead";
      throw IllegalArgumentException_init_$Create$(toString(message_0));
    }
    var sdBuilder = new ClassSerialDescriptorBuilder(serialName);
    builder(sdBuilder);
    return new SerialDescriptorImpl(serialName, kind, sdBuilder.fm_1.s(), toList(typeParameters), sdBuilder);
  }
  function _get__hashCode__tgwhef($this) {
    var tmp0 = $this.ao_1;
    var tmp = KProperty1;
    // Inline function 'kotlin.getValue' call
    getPropertyCallableRef('_hashCode', 1, tmp, SerialDescriptorImpl$_get__hashCode_$ref_2v7wzp(), null);
    return tmp0.b1();
  }
  function SerialDescriptorImpl$_hashCode$delegate$lambda(this$0) {
    return function () {
      return hashCodeImpl(this$0, this$0.zn_1);
    };
  }
  function SerialDescriptorImpl$_get__hashCode_$ref_2v7wzp() {
    return function (p0) {
      return _get__hashCode__tgwhef(p0);
    };
  }
  function SerialDescriptorImpl(serialName, kind, elementsCount, typeParameters, builder) {
    this.pn_1 = serialName;
    this.qn_1 = kind;
    this.rn_1 = elementsCount;
    this.sn_1 = builder.em_1;
    this.tn_1 = toHashSet(builder.fm_1);
    var tmp = this;
    // Inline function 'kotlin.collections.toTypedArray' call
    var this_0 = builder.fm_1;
    tmp.un_1 = copyToArray(this_0);
    this.vn_1 = compactArray(builder.hm_1);
    var tmp_0 = this;
    // Inline function 'kotlin.collections.toTypedArray' call
    var this_1 = builder.im_1;
    tmp_0.wn_1 = copyToArray(this_1);
    this.xn_1 = toBooleanArray(builder.jm_1);
    var tmp_1 = this;
    // Inline function 'kotlin.collections.map' call
    var this_2 = withIndex(this.un_1);
    // Inline function 'kotlin.collections.mapTo' call
    var destination = ArrayList_init_$Create$(collectionSizeOrDefault(this_2, 10));
    var _iterator__ex2g4s = this_2.o();
    while (_iterator__ex2g4s.p()) {
      var item = _iterator__ex2g4s.q();
      var tmp$ret$2 = to(item.ld_1, item.kd_1);
      destination.g(tmp$ret$2);
    }
    tmp_1.yn_1 = toMap(destination);
    this.zn_1 = compactArray(typeParameters);
    var tmp_2 = this;
    tmp_2.ao_1 = lazy_0(SerialDescriptorImpl$_hashCode$delegate$lambda(this));
  }
  protoOf(SerialDescriptorImpl).bn = function () {
    return this.pn_1;
  };
  protoOf(SerialDescriptorImpl).cn = function () {
    return this.qn_1;
  };
  protoOf(SerialDescriptorImpl).en = function () {
    return this.rn_1;
  };
  protoOf(SerialDescriptorImpl).fn = function () {
    return this.sn_1;
  };
  protoOf(SerialDescriptorImpl).bo = function () {
    return this.tn_1;
  };
  protoOf(SerialDescriptorImpl).gn = function (index) {
    return getChecked(this.un_1, index);
  };
  protoOf(SerialDescriptorImpl).hn = function (index) {
    return getChecked(this.vn_1, index);
  };
  protoOf(SerialDescriptorImpl).equals = function (other) {
    var tmp$ret$0;
    $l$block_5: {
      // Inline function 'kotlinx.serialization.internal.equalsImpl' call
      if (this === other) {
        tmp$ret$0 = true;
        break $l$block_5;
      }
      if (!(other instanceof SerialDescriptorImpl)) {
        tmp$ret$0 = false;
        break $l$block_5;
      }
      if (!(this.bn() === other.bn())) {
        tmp$ret$0 = false;
        break $l$block_5;
      }
      if (!contentEquals(this.zn_1, other.zn_1)) {
        tmp$ret$0 = false;
        break $l$block_5;
      }
      if (!(this.en() === other.en())) {
        tmp$ret$0 = false;
        break $l$block_5;
      }
      var inductionVariable = 0;
      var last = this.en();
      if (inductionVariable < last)
        do {
          var index = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          if (!(this.hn(index).bn() === other.hn(index).bn())) {
            tmp$ret$0 = false;
            break $l$block_5;
          }
          if (!equals(this.hn(index).cn(), other.hn(index).cn())) {
            tmp$ret$0 = false;
            break $l$block_5;
          }
        }
         while (inductionVariable < last);
      tmp$ret$0 = true;
    }
    return tmp$ret$0;
  };
  protoOf(SerialDescriptorImpl).hashCode = function () {
    return _get__hashCode__tgwhef(this);
  };
  protoOf(SerialDescriptorImpl).toString = function () {
    return toStringImpl(this);
  };
  function buildClassSerialDescriptor$lambda(_this__u8e3s4) {
    return Unit_instance;
  }
  function buildSerialDescriptor$lambda(_this__u8e3s4) {
    return Unit_instance;
  }
  function BOOLEAN() {
    BOOLEAN_instance = this;
    PrimitiveKind.call(this);
  }
  var BOOLEAN_instance;
  function BOOLEAN_getInstance() {
    if (BOOLEAN_instance == null)
      new BOOLEAN();
    return BOOLEAN_instance;
  }
  function BYTE() {
    BYTE_instance = this;
    PrimitiveKind.call(this);
  }
  var BYTE_instance;
  function BYTE_getInstance() {
    if (BYTE_instance == null)
      new BYTE();
    return BYTE_instance;
  }
  function CHAR() {
    CHAR_instance = this;
    PrimitiveKind.call(this);
  }
  var CHAR_instance;
  function CHAR_getInstance() {
    if (CHAR_instance == null)
      new CHAR();
    return CHAR_instance;
  }
  function SHORT() {
    SHORT_instance = this;
    PrimitiveKind.call(this);
  }
  var SHORT_instance;
  function SHORT_getInstance() {
    if (SHORT_instance == null)
      new SHORT();
    return SHORT_instance;
  }
  function INT() {
    INT_instance = this;
    PrimitiveKind.call(this);
  }
  var INT_instance;
  function INT_getInstance() {
    if (INT_instance == null)
      new INT();
    return INT_instance;
  }
  function LONG() {
    LONG_instance = this;
    PrimitiveKind.call(this);
  }
  var LONG_instance;
  function LONG_getInstance() {
    if (LONG_instance == null)
      new LONG();
    return LONG_instance;
  }
  function FLOAT() {
    FLOAT_instance = this;
    PrimitiveKind.call(this);
  }
  var FLOAT_instance;
  function FLOAT_getInstance() {
    if (FLOAT_instance == null)
      new FLOAT();
    return FLOAT_instance;
  }
  function DOUBLE() {
    DOUBLE_instance = this;
    PrimitiveKind.call(this);
  }
  var DOUBLE_instance;
  function DOUBLE_getInstance() {
    if (DOUBLE_instance == null)
      new DOUBLE();
    return DOUBLE_instance;
  }
  function STRING() {
    STRING_instance = this;
    PrimitiveKind.call(this);
  }
  var STRING_instance;
  function STRING_getInstance() {
    if (STRING_instance == null)
      new STRING();
    return STRING_instance;
  }
  function PrimitiveKind() {
    SerialKind.call(this);
  }
  function OPEN() {
    OPEN_instance = this;
    PolymorphicKind.call(this);
  }
  var OPEN_instance;
  function OPEN_getInstance() {
    if (OPEN_instance == null)
      new OPEN();
    return OPEN_instance;
  }
  function PolymorphicKind() {
    SerialKind.call(this);
  }
  function ENUM() {
    ENUM_instance = this;
    SerialKind.call(this);
  }
  var ENUM_instance;
  function ENUM_getInstance() {
    if (ENUM_instance == null)
      new ENUM();
    return ENUM_instance;
  }
  function CONTEXTUAL() {
    CONTEXTUAL_instance = this;
    SerialKind.call(this);
  }
  var CONTEXTUAL_instance;
  function CONTEXTUAL_getInstance() {
    if (CONTEXTUAL_instance == null)
      new CONTEXTUAL();
    return CONTEXTUAL_instance;
  }
  function SerialKind() {
  }
  protoOf(SerialKind).toString = function () {
    return ensureNotNull(getKClassFromExpression(this).l9());
  };
  protoOf(SerialKind).hashCode = function () {
    return getStringHashCode(this.toString());
  };
  function CLASS() {
    CLASS_instance = this;
    StructureKind.call(this);
  }
  var CLASS_instance;
  function CLASS_getInstance() {
    if (CLASS_instance == null)
      new CLASS();
    return CLASS_instance;
  }
  function LIST() {
    LIST_instance = this;
    StructureKind.call(this);
  }
  var LIST_instance;
  function LIST_getInstance() {
    if (LIST_instance == null)
      new LIST();
    return LIST_instance;
  }
  function MAP() {
    MAP_instance = this;
    StructureKind.call(this);
  }
  var MAP_instance;
  function MAP_getInstance() {
    if (MAP_instance == null)
      new MAP();
    return MAP_instance;
  }
  function OBJECT() {
    OBJECT_instance = this;
    StructureKind.call(this);
  }
  var OBJECT_instance;
  function OBJECT_getInstance() {
    if (OBJECT_instance == null)
      new OBJECT();
    return OBJECT_instance;
  }
  function StructureKind() {
    SerialKind.call(this);
  }
  function AbstractEncoder() {
  }
  protoOf(AbstractEncoder).co = function (descriptor) {
    return this;
  };
  protoOf(AbstractEncoder).do = function (descriptor) {
  };
  protoOf(AbstractEncoder).eo = function (descriptor, index) {
    return true;
  };
  protoOf(AbstractEncoder).fo = function (value) {
    throw SerializationException_init_$Create$_0('Non-serializable ' + toString(getKClassFromExpression(value)) + ' is not supported by ' + toString(getKClassFromExpression(this)) + ' encoder');
  };
  protoOf(AbstractEncoder).go = function () {
    throw SerializationException_init_$Create$_0("'null' is not supported by default");
  };
  protoOf(AbstractEncoder).ho = function (value) {
    return this.fo(value);
  };
  protoOf(AbstractEncoder).io = function (value) {
    return this.fo(value);
  };
  protoOf(AbstractEncoder).jo = function (value) {
    return this.fo(value);
  };
  protoOf(AbstractEncoder).ko = function (value) {
    return this.fo(value);
  };
  protoOf(AbstractEncoder).lo = function (value) {
    return this.fo(value);
  };
  protoOf(AbstractEncoder).mo = function (value) {
    return this.fo(value);
  };
  protoOf(AbstractEncoder).no = function (value) {
    return this.fo(value);
  };
  protoOf(AbstractEncoder).oo = function (value) {
    return this.fo(new Char(value));
  };
  protoOf(AbstractEncoder).po = function (value) {
    return this.fo(value);
  };
  protoOf(AbstractEncoder).qo = function (descriptor) {
    return this;
  };
  protoOf(AbstractEncoder).ro = function (descriptor, index, value) {
    if (this.eo(descriptor, index)) {
      this.ho(value);
    }
  };
  protoOf(AbstractEncoder).so = function (descriptor, index, value) {
    if (this.eo(descriptor, index)) {
      this.io(value);
    }
  };
  protoOf(AbstractEncoder).to = function (descriptor, index, value) {
    if (this.eo(descriptor, index)) {
      this.jo(value);
    }
  };
  protoOf(AbstractEncoder).uo = function (descriptor, index, value) {
    if (this.eo(descriptor, index)) {
      this.ko(value);
    }
  };
  protoOf(AbstractEncoder).vo = function (descriptor, index, value) {
    if (this.eo(descriptor, index)) {
      this.lo(value);
    }
  };
  protoOf(AbstractEncoder).wo = function (descriptor, index, value) {
    if (this.eo(descriptor, index)) {
      this.mo(value);
    }
  };
  protoOf(AbstractEncoder).xo = function (descriptor, index, value) {
    if (this.eo(descriptor, index)) {
      this.no(value);
    }
  };
  protoOf(AbstractEncoder).yo = function (descriptor, index, value) {
    if (this.eo(descriptor, index)) {
      this.oo(value);
    }
  };
  protoOf(AbstractEncoder).zo = function (descriptor, index, value) {
    if (this.eo(descriptor, index)) {
      this.po(value);
    }
  };
  protoOf(AbstractEncoder).ap = function (descriptor, index) {
    return this.eo(descriptor, index) ? this.qo(descriptor.hn(index)) : NoOpEncoder_getInstance();
  };
  protoOf(AbstractEncoder).bp = function (descriptor, index, serializer, value) {
    if (this.eo(descriptor, index)) {
      this.cp(serializer, value);
    }
  };
  protoOf(AbstractEncoder).dp = function (descriptor, index, serializer, value) {
    if (this.eo(descriptor, index)) {
      this.ep(serializer, value);
    }
  };
  function Encoder() {
  }
  function CompositeEncoder() {
  }
  function AbstractPolymorphicSerializer() {
  }
  protoOf(AbstractPolymorphicSerializer).pm = function (encoder, value) {
    var actualSerializer = findPolymorphicSerializer(this, encoder, value);
    // Inline function 'kotlinx.serialization.encoding.encodeStructure' call
    var descriptor = this.am();
    var composite = encoder.co(descriptor);
    composite.zo(this.am(), 0, actualSerializer.am().bn());
    var tmp = this.am();
    // Inline function 'kotlinx.serialization.internal.cast' call
    var tmp$ret$0 = isInterface(actualSerializer, SerializationStrategy) ? actualSerializer : THROW_CCE();
    composite.bp(tmp, 1, tmp$ret$0, value);
    composite.do(descriptor);
  };
  protoOf(AbstractPolymorphicSerializer).bm = function (encoder, value) {
    return this.pm(encoder, !(value == null) ? value : THROW_CCE());
  };
  protoOf(AbstractPolymorphicSerializer).qm = function (encoder, value) {
    return encoder.fp().jp(this.om(), value);
  };
  function throwSubtypeNotRegistered(subClass, baseClass) {
    var tmp0_elvis_lhs = subClass.l9();
    throwSubtypeNotRegistered_0(tmp0_elvis_lhs == null ? toString(subClass) : tmp0_elvis_lhs, baseClass);
  }
  function throwSubtypeNotRegistered_0(subClassName, baseClass) {
    var scope = "in the polymorphic scope of '" + baseClass.l9() + "'";
    throw SerializationException_init_$Create$_0(subClassName == null ? 'Class discriminator was missing and no default serializers were registered ' + scope + '.' : "Serializer for subclass '" + subClassName + "' is not found " + scope + '.\n' + ("Check if class with serial name '" + subClassName + "' exists and serializer is registered in a corresponding SerializersModule.\n") + ("To be registered automatically, class '" + subClassName + "' has to be '@Serializable', and the base class '" + baseClass.l9() + "' has to be sealed and '@Serializable'."));
  }
  function NothingSerializer_0() {
    NothingSerializer_instance = this;
    this.kp_1 = NothingSerialDescriptor_getInstance();
  }
  protoOf(NothingSerializer_0).am = function () {
    return this.kp_1;
  };
  protoOf(NothingSerializer_0).lp = function (encoder, value) {
    throw SerializationException_init_$Create$_0("'kotlin.Nothing' cannot be serialized");
  };
  protoOf(NothingSerializer_0).bm = function (encoder, value) {
    var tmp;
    if (false) {
      tmp = value;
    } else {
      tmp = THROW_CCE();
    }
    return this.lp(encoder, tmp);
  };
  var NothingSerializer_instance;
  function NothingSerializer_getInstance() {
    if (NothingSerializer_instance == null)
      new NothingSerializer_0();
    return NothingSerializer_instance;
  }
  function DurationSerializer() {
    DurationSerializer_instance = this;
    this.mp_1 = new PrimitiveSerialDescriptor('kotlin.time.Duration', STRING_getInstance());
  }
  protoOf(DurationSerializer).am = function () {
    return this.mp_1;
  };
  protoOf(DurationSerializer).np = function (encoder, value) {
    encoder.po(Duration__toIsoString_impl_9h6wsm(value));
  };
  protoOf(DurationSerializer).bm = function (encoder, value) {
    return this.np(encoder, value instanceof Duration ? value.ng_1 : THROW_CCE());
  };
  var DurationSerializer_instance;
  function DurationSerializer_getInstance() {
    if (DurationSerializer_instance == null)
      new DurationSerializer();
    return DurationSerializer_instance;
  }
  function InstantSerializer() {
    InstantSerializer_instance = this;
    this.op_1 = new PrimitiveSerialDescriptor('kotlin.time.Instant', STRING_getInstance());
  }
  protoOf(InstantSerializer).am = function () {
    return this.op_1;
  };
  protoOf(InstantSerializer).pp = function (encoder, value) {
    encoder.po(value.toString());
  };
  protoOf(InstantSerializer).bm = function (encoder, value) {
    return this.pp(encoder, value instanceof Instant ? value : THROW_CCE());
  };
  var InstantSerializer_instance;
  function InstantSerializer_getInstance() {
    if (InstantSerializer_instance == null)
      new InstantSerializer();
    return InstantSerializer_instance;
  }
  function UuidSerializer() {
    UuidSerializer_instance = this;
    this.qp_1 = new PrimitiveSerialDescriptor('kotlin.uuid.Uuid', STRING_getInstance());
  }
  protoOf(UuidSerializer).am = function () {
    return this.qp_1;
  };
  protoOf(UuidSerializer).rp = function (encoder, value) {
    encoder.po(value.toString());
  };
  protoOf(UuidSerializer).bm = function (encoder, value) {
    return this.rp(encoder, value instanceof Uuid ? value : THROW_CCE());
  };
  var UuidSerializer_instance;
  function UuidSerializer_getInstance() {
    if (UuidSerializer_instance == null)
      new UuidSerializer();
    return UuidSerializer_instance;
  }
  function CachedNames() {
  }
  function ArrayListClassDesc(elementDesc) {
    ListLikeDescriptor.call(this, elementDesc);
  }
  protoOf(ArrayListClassDesc).bn = function () {
    return 'kotlin.collections.ArrayList';
  };
  function HashSetClassDesc(elementDesc) {
    ListLikeDescriptor.call(this, elementDesc);
  }
  protoOf(HashSetClassDesc).bn = function () {
    return 'kotlin.collections.HashSet';
  };
  function LinkedHashSetClassDesc(elementDesc) {
    ListLikeDescriptor.call(this, elementDesc);
  }
  protoOf(LinkedHashSetClassDesc).bn = function () {
    return 'kotlin.collections.LinkedHashSet';
  };
  function HashMapClassDesc(keyDesc, valueDesc) {
    MapLikeDescriptor.call(this, 'kotlin.collections.HashMap', keyDesc, valueDesc);
  }
  function LinkedHashMapClassDesc(keyDesc, valueDesc) {
    MapLikeDescriptor.call(this, 'kotlin.collections.LinkedHashMap', keyDesc, valueDesc);
  }
  function ArrayClassDesc(elementDesc) {
    ListLikeDescriptor.call(this, elementDesc);
  }
  protoOf(ArrayClassDesc).bn = function () {
    return 'kotlin.Array';
  };
  function ListLikeDescriptor(elementDescriptor) {
    this.up_1 = elementDescriptor;
    this.vp_1 = 1;
  }
  protoOf(ListLikeDescriptor).cn = function () {
    return LIST_getInstance();
  };
  protoOf(ListLikeDescriptor).en = function () {
    return this.vp_1;
  };
  protoOf(ListLikeDescriptor).gn = function (index) {
    return index.toString();
  };
  protoOf(ListLikeDescriptor).hn = function (index) {
    // Inline function 'kotlin.require' call
    if (!(index >= 0)) {
      var message = 'Illegal index ' + index + ', ' + this.bn() + ' expects only non-negative indices';
      throw IllegalArgumentException_init_$Create$(toString(message));
    }
    return this.up_1;
  };
  protoOf(ListLikeDescriptor).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ListLikeDescriptor))
      return false;
    if (equals(this.up_1, other.up_1) && this.bn() === other.bn())
      return true;
    return false;
  };
  protoOf(ListLikeDescriptor).hashCode = function () {
    return imul(hashCode(this.up_1), 31) + getStringHashCode(this.bn()) | 0;
  };
  protoOf(ListLikeDescriptor).toString = function () {
    return this.bn() + '(' + toString(this.up_1) + ')';
  };
  function MapLikeDescriptor(serialName, keyDescriptor, valueDescriptor) {
    this.aq_1 = serialName;
    this.bq_1 = keyDescriptor;
    this.cq_1 = valueDescriptor;
    this.dq_1 = 2;
  }
  protoOf(MapLikeDescriptor).bn = function () {
    return this.aq_1;
  };
  protoOf(MapLikeDescriptor).cn = function () {
    return MAP_getInstance();
  };
  protoOf(MapLikeDescriptor).en = function () {
    return this.dq_1;
  };
  protoOf(MapLikeDescriptor).gn = function (index) {
    return index.toString();
  };
  protoOf(MapLikeDescriptor).hn = function (index) {
    // Inline function 'kotlin.require' call
    if (!(index >= 0)) {
      var message = 'Illegal index ' + index + ', ' + this.bn() + ' expects only non-negative indices';
      throw IllegalArgumentException_init_$Create$(toString(message));
    }
    var tmp;
    switch (index % 2 | 0) {
      case 0:
        tmp = this.bq_1;
        break;
      case 1:
        tmp = this.cq_1;
        break;
      default:
        var message_0 = 'Unreached';
        throw IllegalStateException_init_$Create$(toString(message_0));
    }
    return tmp;
  };
  protoOf(MapLikeDescriptor).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof MapLikeDescriptor))
      return false;
    if (!(this.bn() === other.bn()))
      return false;
    if (!equals(this.bq_1, other.bq_1))
      return false;
    if (!equals(this.cq_1, other.cq_1))
      return false;
    return true;
  };
  protoOf(MapLikeDescriptor).hashCode = function () {
    var result = getStringHashCode(this.bn());
    result = imul(31, result) + hashCode(this.bq_1) | 0;
    result = imul(31, result) + hashCode(this.cq_1) | 0;
    return result;
  };
  protoOf(MapLikeDescriptor).toString = function () {
    return this.bn() + '(' + toString(this.bq_1) + ', ' + toString(this.cq_1) + ')';
  };
  function PrimitiveArrayDescriptor(primitive) {
    ListLikeDescriptor.call(this, primitive);
    this.iq_1 = primitive.bn() + 'Array';
  }
  protoOf(PrimitiveArrayDescriptor).bn = function () {
    return this.iq_1;
  };
  function ArrayListSerializer(element) {
    CollectionSerializer.call(this, element);
    this.kq_1 = new ArrayListClassDesc(element.am());
  }
  protoOf(ArrayListSerializer).am = function () {
    return this.kq_1;
  };
  function HashSetSerializer(eSerializer) {
    CollectionSerializer.call(this, eSerializer);
    this.rq_1 = new HashSetClassDesc(eSerializer.am());
  }
  protoOf(HashSetSerializer).am = function () {
    return this.rq_1;
  };
  function LinkedHashSetSerializer(eSerializer) {
    CollectionSerializer.call(this, eSerializer);
    this.tq_1 = new LinkedHashSetClassDesc(eSerializer.am());
  }
  protoOf(LinkedHashSetSerializer).am = function () {
    return this.tq_1;
  };
  function HashMapSerializer(kSerializer, vSerializer) {
    MapLikeSerializer.call(this, kSerializer, vSerializer);
    this.wq_1 = new HashMapClassDesc(kSerializer.am(), vSerializer.am());
  }
  protoOf(HashMapSerializer).am = function () {
    return this.wq_1;
  };
  protoOf(HashMapSerializer).xq = function (_this__u8e3s4) {
    return _this__u8e3s4.s();
  };
  protoOf(HashMapSerializer).yq = function (_this__u8e3s4) {
    return this.xq((!(_this__u8e3s4 == null) ? isInterface(_this__u8e3s4, KtMap) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  protoOf(HashMapSerializer).zq = function (_this__u8e3s4) {
    // Inline function 'kotlin.collections.iterator' call
    return _this__u8e3s4.z().o();
  };
  protoOf(HashMapSerializer).ar = function (_this__u8e3s4) {
    return this.zq((!(_this__u8e3s4 == null) ? isInterface(_this__u8e3s4, KtMap) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  function LinkedHashMapSerializer(kSerializer, vSerializer) {
    MapLikeSerializer.call(this, kSerializer, vSerializer);
    this.fr_1 = new LinkedHashMapClassDesc(kSerializer.am(), vSerializer.am());
  }
  protoOf(LinkedHashMapSerializer).am = function () {
    return this.fr_1;
  };
  protoOf(LinkedHashMapSerializer).xq = function (_this__u8e3s4) {
    return _this__u8e3s4.s();
  };
  protoOf(LinkedHashMapSerializer).yq = function (_this__u8e3s4) {
    return this.xq((!(_this__u8e3s4 == null) ? isInterface(_this__u8e3s4, KtMap) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  protoOf(LinkedHashMapSerializer).zq = function (_this__u8e3s4) {
    // Inline function 'kotlin.collections.iterator' call
    return _this__u8e3s4.z().o();
  };
  protoOf(LinkedHashMapSerializer).ar = function (_this__u8e3s4) {
    return this.zq((!(_this__u8e3s4 == null) ? isInterface(_this__u8e3s4, KtMap) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  function ReferenceArraySerializer(kClass, eSerializer) {
    CollectionLikeSerializer.call(this, eSerializer);
    this.hr_1 = kClass;
    this.ir_1 = new ArrayClassDesc(eSerializer.am());
  }
  protoOf(ReferenceArraySerializer).am = function () {
    return this.ir_1;
  };
  protoOf(ReferenceArraySerializer).jr = function (_this__u8e3s4) {
    return _this__u8e3s4.length;
  };
  protoOf(ReferenceArraySerializer).yq = function (_this__u8e3s4) {
    return this.jr((!(_this__u8e3s4 == null) ? isArray(_this__u8e3s4) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  protoOf(ReferenceArraySerializer).kr = function (_this__u8e3s4) {
    return arrayIterator(_this__u8e3s4);
  };
  protoOf(ReferenceArraySerializer).ar = function (_this__u8e3s4) {
    return this.kr((!(_this__u8e3s4 == null) ? isArray(_this__u8e3s4) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  function CollectionSerializer(element) {
    CollectionLikeSerializer.call(this, element);
  }
  protoOf(CollectionSerializer).mq = function (_this__u8e3s4) {
    return _this__u8e3s4.s();
  };
  protoOf(CollectionSerializer).yq = function (_this__u8e3s4) {
    return this.mq((!(_this__u8e3s4 == null) ? isInterface(_this__u8e3s4, Collection) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  protoOf(CollectionSerializer).nq = function (_this__u8e3s4) {
    return _this__u8e3s4.o();
  };
  protoOf(CollectionSerializer).ar = function (_this__u8e3s4) {
    return this.nq((!(_this__u8e3s4 == null) ? isInterface(_this__u8e3s4, Collection) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  function MapLikeSerializer(keySerializer, valueSerializer) {
    AbstractCollectionSerializer.call(this);
    this.br_1 = keySerializer;
    this.cr_1 = valueSerializer;
  }
  protoOf(MapLikeSerializer).pq = function (encoder, value) {
    var size = this.yq(value);
    // Inline function 'kotlinx.serialization.encoding.encodeCollection' call
    var descriptor = this.am();
    var composite = encoder.hp(descriptor, size);
    var iterator = this.ar(value);
    var index = 0;
    // Inline function 'kotlin.collections.forEach' call
    // Inline function 'kotlin.collections.iterator' call
    var _iterator__ex2g4s = iterator;
    while (_iterator__ex2g4s.p()) {
      var element = _iterator__ex2g4s.q();
      // Inline function 'kotlin.collections.component1' call
      var k = element.a1();
      // Inline function 'kotlin.collections.component2' call
      var v = element.b1();
      var tmp = this.am();
      var _unary__edvuaz = index;
      index = _unary__edvuaz + 1 | 0;
      composite.bp(tmp, _unary__edvuaz, this.br_1, k);
      var tmp_0 = this.am();
      var _unary__edvuaz_0 = index;
      index = _unary__edvuaz_0 + 1 | 0;
      composite.bp(tmp_0, _unary__edvuaz_0, this.cr_1, v);
    }
    composite.do(descriptor);
  };
  protoOf(MapLikeSerializer).bm = function (encoder, value) {
    return this.pq(encoder, (value == null ? true : !(value == null)) ? value : THROW_CCE());
  };
  function CollectionLikeSerializer(elementSerializer) {
    AbstractCollectionSerializer.call(this);
    this.oq_1 = elementSerializer;
  }
  protoOf(CollectionLikeSerializer).pq = function (encoder, value) {
    var size = this.yq(value);
    // Inline function 'kotlinx.serialization.encoding.encodeCollection' call
    var descriptor = this.am();
    var composite = encoder.hp(descriptor, size);
    var iterator = this.ar(value);
    var inductionVariable = 0;
    if (inductionVariable < size)
      do {
        var index = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        composite.bp(this.am(), index, this.oq_1, iterator.q());
      }
       while (inductionVariable < size);
    composite.do(descriptor);
  };
  protoOf(CollectionLikeSerializer).bm = function (encoder, value) {
    return this.pq(encoder, (value == null ? true : !(value == null)) ? value : THROW_CCE());
  };
  function AbstractCollectionSerializer() {
  }
  function PrimitiveArraySerializer(primitiveSerializer) {
    CollectionLikeSerializer.call(this, primitiveSerializer);
    this.mr_1 = new PrimitiveArrayDescriptor(primitiveSerializer.am());
  }
  protoOf(PrimitiveArraySerializer).am = function () {
    return this.mr_1;
  };
  protoOf(PrimitiveArraySerializer).nr = function (_this__u8e3s4) {
    var message = 'This method lead to boxing and must not be used, use writeContents instead';
    throw IllegalStateException_init_$Create$(toString(message));
  };
  protoOf(PrimitiveArraySerializer).ar = function (_this__u8e3s4) {
    return this.nr((_this__u8e3s4 == null ? true : !(_this__u8e3s4 == null)) ? _this__u8e3s4 : THROW_CCE());
  };
  protoOf(PrimitiveArraySerializer).pr = function (encoder, value) {
    var size = this.yq(value);
    // Inline function 'kotlinx.serialization.encoding.encodeCollection' call
    var descriptor = this.mr_1;
    var composite = encoder.hp(descriptor, size);
    this.or(composite, value, size);
    composite.do(descriptor);
  };
  protoOf(PrimitiveArraySerializer).bm = function (encoder, value) {
    return this.pr(encoder, (value == null ? true : !(value == null)) ? value : THROW_CCE());
  };
  protoOf(PrimitiveArraySerializer).pq = function (encoder, value) {
    return this.pr(encoder, (value == null ? true : !(value == null)) ? value : THROW_CCE());
  };
  function InlinePrimitiveDescriptor(name, primitiveSerializer) {
    return new InlineClassDescriptor(name, new InlinePrimitiveDescriptor$1(primitiveSerializer));
  }
  function InlineClassDescriptor(name, generatedSerializer) {
    PluginGeneratedSerialDescriptor.call(this, name, generatedSerializer, 1);
    this.cs_1 = true;
  }
  protoOf(InlineClassDescriptor).dn = function () {
    return this.cs_1;
  };
  protoOf(InlineClassDescriptor).hashCode = function () {
    return imul(protoOf(PluginGeneratedSerialDescriptor).hashCode.call(this), 31);
  };
  protoOf(InlineClassDescriptor).equals = function (other) {
    var tmp$ret$0;
    $l$block_5: {
      // Inline function 'kotlinx.serialization.internal.equalsImpl' call
      if (this === other) {
        tmp$ret$0 = true;
        break $l$block_5;
      }
      if (!(other instanceof InlineClassDescriptor)) {
        tmp$ret$0 = false;
        break $l$block_5;
      }
      if (!(this.bn() === other.bn())) {
        tmp$ret$0 = false;
        break $l$block_5;
      }
      if (!(other.cs_1 && contentEquals(this.ps(), other.ps()))) {
        tmp$ret$0 = false;
        break $l$block_5;
      }
      if (!(this.en() === other.en())) {
        tmp$ret$0 = false;
        break $l$block_5;
      }
      var inductionVariable = 0;
      var last = this.en();
      if (inductionVariable < last)
        do {
          var index = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          if (!(this.hn(index).bn() === other.hn(index).bn())) {
            tmp$ret$0 = false;
            break $l$block_5;
          }
          if (!equals(this.hn(index).cn(), other.hn(index).cn())) {
            tmp$ret$0 = false;
            break $l$block_5;
          }
        }
         while (inductionVariable < last);
      tmp$ret$0 = true;
    }
    return tmp$ret$0;
  };
  function InlinePrimitiveDescriptor$1($primitiveSerializer) {
    this.rs_1 = $primitiveSerializer;
  }
  protoOf(InlinePrimitiveDescriptor$1).ss = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [this.rs_1];
  };
  protoOf(InlinePrimitiveDescriptor$1).am = function () {
    var message = 'unsupported';
    throw IllegalStateException_init_$Create$(toString(message));
  };
  protoOf(InlinePrimitiveDescriptor$1).bm = function (encoder, value) {
    // Inline function 'kotlin.error' call
    var message = 'unsupported';
    throw IllegalStateException_init_$Create$(toString(message));
  };
  function jsonCachedSerialNames(_this__u8e3s4) {
    return cachedSerialNames(_this__u8e3s4);
  }
  function NoOpEncoder() {
    NoOpEncoder_instance = this;
    AbstractEncoder.call(this);
    this.us_1 = EmptySerializersModule_0();
  }
  protoOf(NoOpEncoder).fp = function () {
    return this.us_1;
  };
  protoOf(NoOpEncoder).fo = function (value) {
    return Unit_instance;
  };
  protoOf(NoOpEncoder).go = function () {
    return Unit_instance;
  };
  protoOf(NoOpEncoder).ho = function (value) {
    return Unit_instance;
  };
  protoOf(NoOpEncoder).io = function (value) {
    return Unit_instance;
  };
  protoOf(NoOpEncoder).jo = function (value) {
    return Unit_instance;
  };
  protoOf(NoOpEncoder).ko = function (value) {
    return Unit_instance;
  };
  protoOf(NoOpEncoder).lo = function (value) {
    return Unit_instance;
  };
  protoOf(NoOpEncoder).mo = function (value) {
    return Unit_instance;
  };
  protoOf(NoOpEncoder).no = function (value) {
    return Unit_instance;
  };
  protoOf(NoOpEncoder).oo = function (value) {
    return Unit_instance;
  };
  protoOf(NoOpEncoder).po = function (value) {
    return Unit_instance;
  };
  var NoOpEncoder_instance;
  function NoOpEncoder_getInstance() {
    if (NoOpEncoder_instance == null)
      new NoOpEncoder();
    return NoOpEncoder_instance;
  }
  function error($this) {
    throw IllegalStateException_init_$Create$('Descriptor for type `kotlin.Nothing` does not have elements');
  }
  function NothingSerialDescriptor() {
    NothingSerialDescriptor_instance = this;
    this.vs_1 = OBJECT_getInstance();
    this.ws_1 = 'kotlin.Nothing';
  }
  protoOf(NothingSerialDescriptor).cn = function () {
    return this.vs_1;
  };
  protoOf(NothingSerialDescriptor).bn = function () {
    return this.ws_1;
  };
  protoOf(NothingSerialDescriptor).en = function () {
    return 0;
  };
  protoOf(NothingSerialDescriptor).gn = function (index) {
    error(this);
  };
  protoOf(NothingSerialDescriptor).hn = function (index) {
    error(this);
  };
  protoOf(NothingSerialDescriptor).toString = function () {
    return 'NothingSerialDescriptor';
  };
  protoOf(NothingSerialDescriptor).equals = function (other) {
    return this === other;
  };
  protoOf(NothingSerialDescriptor).hashCode = function () {
    return getStringHashCode(this.ws_1) + imul(31, this.vs_1.hashCode()) | 0;
  };
  var NothingSerialDescriptor_instance;
  function NothingSerialDescriptor_getInstance() {
    if (NothingSerialDescriptor_instance == null)
      new NothingSerialDescriptor();
    return NothingSerialDescriptor_instance;
  }
  function NullableSerializer(serializer) {
    this.xs_1 = serializer;
    this.ys_1 = new SerialDescriptorForNullable(this.xs_1.am());
  }
  protoOf(NullableSerializer).am = function () {
    return this.ys_1;
  };
  protoOf(NullableSerializer).zs = function (encoder, value) {
    if (!(value == null)) {
      encoder.gp();
      encoder.cp(this.xs_1, value);
    } else {
      encoder.go();
    }
  };
  protoOf(NullableSerializer).bm = function (encoder, value) {
    return this.zs(encoder, (value == null ? true : !(value == null)) ? value : THROW_CCE());
  };
  protoOf(NullableSerializer).equals = function (other) {
    if (this === other)
      return true;
    if (other == null || !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof NullableSerializer))
      THROW_CCE();
    if (!equals(this.xs_1, other.xs_1))
      return false;
    return true;
  };
  protoOf(NullableSerializer).hashCode = function () {
    return hashCode(this.xs_1);
  };
  function SerialDescriptorForNullable(original) {
    this.in_1 = original;
    this.jn_1 = this.in_1.bn() + '?';
    this.kn_1 = cachedSerialNames(this.in_1);
  }
  protoOf(SerialDescriptorForNullable).bn = function () {
    return this.jn_1;
  };
  protoOf(SerialDescriptorForNullable).bo = function () {
    return this.kn_1;
  };
  protoOf(SerialDescriptorForNullable).xm = function () {
    return true;
  };
  protoOf(SerialDescriptorForNullable).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof SerialDescriptorForNullable))
      return false;
    if (!equals(this.in_1, other.in_1))
      return false;
    return true;
  };
  protoOf(SerialDescriptorForNullable).toString = function () {
    return toString(this.in_1) + '?';
  };
  protoOf(SerialDescriptorForNullable).hashCode = function () {
    return imul(hashCode(this.in_1), 31);
  };
  protoOf(SerialDescriptorForNullable).cn = function () {
    return this.in_1.cn();
  };
  protoOf(SerialDescriptorForNullable).dn = function () {
    return this.in_1.dn();
  };
  protoOf(SerialDescriptorForNullable).en = function () {
    return this.in_1.en();
  };
  protoOf(SerialDescriptorForNullable).fn = function () {
    return this.in_1.fn();
  };
  protoOf(SerialDescriptorForNullable).gn = function (index) {
    return this.in_1.gn(index);
  };
  protoOf(SerialDescriptorForNullable).hn = function (index) {
    return this.in_1.hn(index);
  };
  function ObjectSerializer$descriptor$delegate$lambda$lambda(this$0) {
    return function ($this$buildSerialDescriptor) {
      $this$buildSerialDescriptor.em_1 = this$0.bt_1;
      return Unit_instance;
    };
  }
  function ObjectSerializer$descriptor$delegate$lambda($serialName, this$0) {
    return function () {
      var tmp = OBJECT_getInstance();
      return buildSerialDescriptor($serialName, tmp, [], ObjectSerializer$descriptor$delegate$lambda$lambda(this$0));
    };
  }
  function ObjectSerializer$_get_descriptor_$ref_7z4xb6() {
    return function (p0) {
      return p0.am();
    };
  }
  function ObjectSerializer(serialName, objectInstance) {
    this.at_1 = objectInstance;
    this.bt_1 = emptyList();
    var tmp = this;
    var tmp_0 = LazyThreadSafetyMode_PUBLICATION_getInstance();
    tmp.ct_1 = lazy(tmp_0, ObjectSerializer$descriptor$delegate$lambda(serialName, this));
  }
  protoOf(ObjectSerializer).am = function () {
    var tmp0 = this.ct_1;
    var tmp = KProperty1;
    // Inline function 'kotlin.getValue' call
    getPropertyCallableRef('descriptor', 1, tmp, ObjectSerializer$_get_descriptor_$ref_7z4xb6(), null);
    return tmp0.b1();
  };
  protoOf(ObjectSerializer).pm = function (encoder, value) {
    encoder.co(this.am()).do(this.am());
  };
  protoOf(ObjectSerializer).bm = function (encoder, value) {
    return this.pm(encoder, !(value == null) ? value : THROW_CCE());
  };
  function get_EMPTY_DESCRIPTOR_ARRAY() {
    _init_properties_Platform_common_kt__3qzecs();
    return EMPTY_DESCRIPTOR_ARRAY;
  }
  var EMPTY_DESCRIPTOR_ARRAY;
  function compactArray(_this__u8e3s4) {
    _init_properties_Platform_common_kt__3qzecs();
    // Inline function 'kotlin.takeUnless' call
    var tmp;
    // Inline function 'kotlin.collections.isNullOrEmpty' call
    if (!(_this__u8e3s4 == null || _this__u8e3s4.l())) {
      tmp = _this__u8e3s4;
    } else {
      tmp = null;
    }
    var tmp0_safe_receiver = tmp;
    var tmp_0;
    if (tmp0_safe_receiver == null) {
      tmp_0 = null;
    } else {
      // Inline function 'kotlin.collections.toTypedArray' call
      tmp_0 = copyToArray(tmp0_safe_receiver);
    }
    var tmp1_elvis_lhs = tmp_0;
    return tmp1_elvis_lhs == null ? get_EMPTY_DESCRIPTOR_ARRAY() : tmp1_elvis_lhs;
  }
  function cachedSerialNames(_this__u8e3s4) {
    _init_properties_Platform_common_kt__3qzecs();
    if (isInterface(_this__u8e3s4, CachedNames))
      return _this__u8e3s4.bo();
    var result = HashSet_init_$Create$_0(_this__u8e3s4.en());
    var inductionVariable = 0;
    var last = _this__u8e3s4.en();
    if (inductionVariable < last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'kotlin.collections.plusAssign' call
        var element = _this__u8e3s4.gn(i);
        result.g(element);
      }
       while (inductionVariable < last);
    return result;
  }
  function kclass(_this__u8e3s4) {
    _init_properties_Platform_common_kt__3qzecs();
    var t = _this__u8e3s4.y9();
    var tmp;
    if (!(t == null) ? isInterface(t, KClass) : false) {
      tmp = t;
    } else {
      if (!(t == null) ? isInterface(t, KTypeParameter) : false) {
        throw IllegalArgumentException_init_$Create$('Captured type parameter ' + toString(t) + ' from generic non-reified function. ' + ('Such functionality cannot be supported because ' + toString(t) + ' is erased, either specify serializer explicitly or make ') + ('calling function inline with reified ' + toString(t) + '.'));
      } else {
        throw IllegalArgumentException_init_$Create$('Only KClass supported as classifier, got ' + toString_0(t));
      }
    }
    var tmp_0 = tmp;
    return isInterface(tmp_0, KClass) ? tmp_0 : THROW_CCE();
  }
  function typeOrThrow(_this__u8e3s4) {
    _init_properties_Platform_common_kt__3qzecs();
    var tmp0 = _this__u8e3s4.qf_1;
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.requireNotNull' call
      if (tmp0 == null) {
        var message = 'Star projections in type arguments are not allowed, but had ' + toString_0(_this__u8e3s4.qf_1);
        throw IllegalArgumentException_init_$Create$(toString(message));
      } else {
        tmp$ret$1 = tmp0;
        break $l$block;
      }
    }
    return tmp$ret$1;
  }
  function notRegisteredMessage(_this__u8e3s4) {
    _init_properties_Platform_common_kt__3qzecs();
    var tmp0_elvis_lhs = _this__u8e3s4.l9();
    return notRegisteredMessage_0(tmp0_elvis_lhs == null ? '<local class name not available>' : tmp0_elvis_lhs);
  }
  function notRegisteredMessage_0(className) {
    _init_properties_Platform_common_kt__3qzecs();
    return "Serializer for class '" + className + "' is not found.\n" + "Please ensure that class is marked as '@Serializable' and that the serialization compiler plugin is applied.\n";
  }
  var properties_initialized_Platform_common_kt_i7q4ty;
  function _init_properties_Platform_common_kt__3qzecs() {
    if (!properties_initialized_Platform_common_kt_i7q4ty) {
      properties_initialized_Platform_common_kt_i7q4ty = true;
      // Inline function 'kotlin.arrayOf' call
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.js.asDynamic' call
      EMPTY_DESCRIPTOR_ARRAY = [];
    }
  }
  function hashCodeImpl(_this__u8e3s4, typeParams) {
    var result = getStringHashCode(_this__u8e3s4.bn());
    result = imul(31, result) + contentHashCode(typeParams) | 0;
    var elementDescriptors = get_elementDescriptors(_this__u8e3s4);
    // Inline function 'kotlinx.serialization.internal.elementsHashCodeBy' call
    // Inline function 'kotlin.collections.fold' call
    var accumulator = 1;
    var _iterator__ex2g4s = elementDescriptors.o();
    while (_iterator__ex2g4s.p()) {
      var element = _iterator__ex2g4s.q();
      var hash = accumulator;
      var tmp = imul(31, hash);
      // Inline function 'kotlin.hashCode' call
      var tmp0_safe_receiver = element.bn();
      var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : hashCode(tmp0_safe_receiver);
      accumulator = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    }
    var namesHash = accumulator;
    // Inline function 'kotlinx.serialization.internal.elementsHashCodeBy' call
    // Inline function 'kotlin.collections.fold' call
    var accumulator_0 = 1;
    var _iterator__ex2g4s_0 = elementDescriptors.o();
    while (_iterator__ex2g4s_0.p()) {
      var element_0 = _iterator__ex2g4s_0.q();
      var hash_0 = accumulator_0;
      var tmp_0 = imul(31, hash_0);
      // Inline function 'kotlin.hashCode' call
      var tmp0_safe_receiver_0 = element_0.cn();
      var tmp1_elvis_lhs_0 = tmp0_safe_receiver_0 == null ? null : hashCode(tmp0_safe_receiver_0);
      accumulator_0 = tmp_0 + (tmp1_elvis_lhs_0 == null ? 0 : tmp1_elvis_lhs_0) | 0;
    }
    var kindHash = accumulator_0;
    result = imul(31, result) + namesHash | 0;
    result = imul(31, result) + kindHash | 0;
    return result;
  }
  function toStringImpl(_this__u8e3s4) {
    var tmp = until(0, _this__u8e3s4.en());
    var tmp_0 = _this__u8e3s4.bn() + '(';
    return joinToString(tmp, ', ', tmp_0, ')', VOID, VOID, toStringImpl$lambda(_this__u8e3s4));
  }
  function _get_childSerializers__7vnyfa($this) {
    var tmp0 = $this.ms_1;
    var tmp = KProperty1;
    // Inline function 'kotlin.getValue' call
    getPropertyCallableRef('childSerializers', 1, tmp, PluginGeneratedSerialDescriptor$_get_childSerializers_$ref_e7suca(), null);
    return tmp0.b1();
  }
  function _get__hashCode__tgwhef_0($this) {
    var tmp0 = $this.os_1;
    var tmp = KProperty1;
    // Inline function 'kotlin.getValue' call
    getPropertyCallableRef('_hashCode', 1, tmp, PluginGeneratedSerialDescriptor$_get__hashCode_$ref_cmj4vz(), null);
    return tmp0.b1();
  }
  function buildIndices($this) {
    var indices = HashMap_init_$Create$();
    var inductionVariable = 0;
    var last = $this.hs_1.length - 1 | 0;
    if (inductionVariable <= last)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        // Inline function 'kotlin.collections.set' call
        var key = $this.hs_1[i];
        indices.e2(key, i);
      }
       while (inductionVariable <= last);
    return indices;
  }
  function PluginGeneratedSerialDescriptor$childSerializers$delegate$lambda(this$0) {
    return function () {
      var tmp0_safe_receiver = this$0.es_1;
      var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.ss();
      return tmp1_elvis_lhs == null ? get_EMPTY_SERIALIZER_ARRAY() : tmp1_elvis_lhs;
    };
  }
  function PluginGeneratedSerialDescriptor$_get_childSerializers_$ref_e7suca() {
    return function (p0) {
      return _get_childSerializers__7vnyfa(p0);
    };
  }
  function PluginGeneratedSerialDescriptor$typeParameterDescriptors$delegate$lambda(this$0) {
    return function () {
      var tmp0_safe_receiver = this$0.es_1;
      var tmp1_safe_receiver = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.ts();
      var tmp;
      if (tmp1_safe_receiver == null) {
        tmp = null;
      } else {
        // Inline function 'kotlin.collections.map' call
        // Inline function 'kotlin.collections.mapTo' call
        var destination = ArrayList_init_$Create$(tmp1_safe_receiver.length);
        var inductionVariable = 0;
        var last = tmp1_safe_receiver.length;
        while (inductionVariable < last) {
          var item = tmp1_safe_receiver[inductionVariable];
          inductionVariable = inductionVariable + 1 | 0;
          var tmp$ret$0 = item.am();
          destination.g(tmp$ret$0);
        }
        tmp = destination;
      }
      return compactArray(tmp);
    };
  }
  function PluginGeneratedSerialDescriptor$_get_typeParameterDescriptors_$ref_jk3pka() {
    return function (p0) {
      return p0.ps();
    };
  }
  function PluginGeneratedSerialDescriptor$_hashCode$delegate$lambda(this$0) {
    return function () {
      return hashCodeImpl(this$0, this$0.ps());
    };
  }
  function PluginGeneratedSerialDescriptor$_get__hashCode_$ref_cmj4vz() {
    return function (p0) {
      return _get__hashCode__tgwhef_0(p0);
    };
  }
  function PluginGeneratedSerialDescriptor(serialName, generatedSerializer, elementsCount) {
    generatedSerializer = generatedSerializer === VOID ? null : generatedSerializer;
    this.ds_1 = serialName;
    this.es_1 = generatedSerializer;
    this.fs_1 = elementsCount;
    this.gs_1 = -1;
    var tmp = this;
    var tmp_0 = 0;
    var tmp_1 = this.fs_1;
    // Inline function 'kotlin.arrayOfNulls' call
    var tmp_2 = Array(tmp_1);
    while (tmp_0 < tmp_1) {
      tmp_2[tmp_0] = '[UNINITIALIZED]';
      tmp_0 = tmp_0 + 1 | 0;
    }
    tmp.hs_1 = tmp_2;
    var tmp_3 = this;
    // Inline function 'kotlin.arrayOfNulls' call
    var size = this.fs_1;
    tmp_3.is_1 = Array(size);
    this.js_1 = null;
    this.ks_1 = booleanArray(this.fs_1);
    this.ls_1 = emptyMap();
    var tmp_4 = this;
    var tmp_5 = LazyThreadSafetyMode_PUBLICATION_getInstance();
    tmp_4.ms_1 = lazy(tmp_5, PluginGeneratedSerialDescriptor$childSerializers$delegate$lambda(this));
    var tmp_6 = this;
    var tmp_7 = LazyThreadSafetyMode_PUBLICATION_getInstance();
    tmp_6.ns_1 = lazy(tmp_7, PluginGeneratedSerialDescriptor$typeParameterDescriptors$delegate$lambda(this));
    var tmp_8 = this;
    var tmp_9 = LazyThreadSafetyMode_PUBLICATION_getInstance();
    tmp_8.os_1 = lazy(tmp_9, PluginGeneratedSerialDescriptor$_hashCode$delegate$lambda(this));
  }
  protoOf(PluginGeneratedSerialDescriptor).bn = function () {
    return this.ds_1;
  };
  protoOf(PluginGeneratedSerialDescriptor).en = function () {
    return this.fs_1;
  };
  protoOf(PluginGeneratedSerialDescriptor).cn = function () {
    return CLASS_getInstance();
  };
  protoOf(PluginGeneratedSerialDescriptor).fn = function () {
    var tmp0_elvis_lhs = this.js_1;
    return tmp0_elvis_lhs == null ? emptyList() : tmp0_elvis_lhs;
  };
  protoOf(PluginGeneratedSerialDescriptor).bo = function () {
    return this.ls_1.y1();
  };
  protoOf(PluginGeneratedSerialDescriptor).ps = function () {
    var tmp0 = this.ns_1;
    var tmp = KProperty1;
    // Inline function 'kotlin.getValue' call
    getPropertyCallableRef('typeParameterDescriptors', 1, tmp, PluginGeneratedSerialDescriptor$_get_typeParameterDescriptors_$ref_jk3pka(), null);
    return tmp0.b1();
  };
  protoOf(PluginGeneratedSerialDescriptor).qs = function (name, isOptional) {
    this.gs_1 = this.gs_1 + 1 | 0;
    this.hs_1[this.gs_1] = name;
    this.ks_1[this.gs_1] = isOptional;
    this.is_1[this.gs_1] = null;
    if (this.gs_1 === (this.fs_1 - 1 | 0)) {
      this.ls_1 = buildIndices(this);
    }
  };
  protoOf(PluginGeneratedSerialDescriptor).hn = function (index) {
    return getChecked(_get_childSerializers__7vnyfa(this), index).am();
  };
  protoOf(PluginGeneratedSerialDescriptor).gn = function (index) {
    return getChecked(this.hs_1, index);
  };
  protoOf(PluginGeneratedSerialDescriptor).equals = function (other) {
    var tmp$ret$0;
    $l$block_5: {
      // Inline function 'kotlinx.serialization.internal.equalsImpl' call
      if (this === other) {
        tmp$ret$0 = true;
        break $l$block_5;
      }
      if (!(other instanceof PluginGeneratedSerialDescriptor)) {
        tmp$ret$0 = false;
        break $l$block_5;
      }
      if (!(this.bn() === other.bn())) {
        tmp$ret$0 = false;
        break $l$block_5;
      }
      if (!contentEquals(this.ps(), other.ps())) {
        tmp$ret$0 = false;
        break $l$block_5;
      }
      if (!(this.en() === other.en())) {
        tmp$ret$0 = false;
        break $l$block_5;
      }
      var inductionVariable = 0;
      var last = this.en();
      if (inductionVariable < last)
        do {
          var index = inductionVariable;
          inductionVariable = inductionVariable + 1 | 0;
          if (!(this.hn(index).bn() === other.hn(index).bn())) {
            tmp$ret$0 = false;
            break $l$block_5;
          }
          if (!equals(this.hn(index).cn(), other.hn(index).cn())) {
            tmp$ret$0 = false;
            break $l$block_5;
          }
        }
         while (inductionVariable < last);
      tmp$ret$0 = true;
    }
    return tmp$ret$0;
  };
  protoOf(PluginGeneratedSerialDescriptor).hashCode = function () {
    return _get__hashCode__tgwhef_0(this);
  };
  protoOf(PluginGeneratedSerialDescriptor).toString = function () {
    return toStringImpl(this);
  };
  function toStringImpl$lambda($this_toStringImpl) {
    return function (i) {
      return $this_toStringImpl.gn(i) + ': ' + $this_toStringImpl.hn(i).bn();
    };
  }
  function get_EMPTY_SERIALIZER_ARRAY() {
    _init_properties_PluginHelperInterfaces_kt__xgvzfp();
    return EMPTY_SERIALIZER_ARRAY;
  }
  var EMPTY_SERIALIZER_ARRAY;
  function GeneratedSerializer() {
  }
  function SerializerFactory() {
  }
  var properties_initialized_PluginHelperInterfaces_kt_ap8in1;
  function _init_properties_PluginHelperInterfaces_kt__xgvzfp() {
    if (!properties_initialized_PluginHelperInterfaces_kt_ap8in1) {
      properties_initialized_PluginHelperInterfaces_kt_ap8in1 = true;
      // Inline function 'kotlin.arrayOf' call
      // Inline function 'kotlin.js.unsafeCast' call
      // Inline function 'kotlin.js.asDynamic' call
      EMPTY_SERIALIZER_ARRAY = [];
    }
  }
  function CharArraySerializer_0() {
    CharArraySerializer_instance = this;
    PrimitiveArraySerializer.call(this, serializer_9(Companion_getInstance()));
  }
  protoOf(CharArraySerializer_0).gt = function (_this__u8e3s4) {
    return _this__u8e3s4.length;
  };
  protoOf(CharArraySerializer_0).yq = function (_this__u8e3s4) {
    return this.gt((!(_this__u8e3s4 == null) ? isCharArray(_this__u8e3s4) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  protoOf(CharArraySerializer_0).ht = function (encoder, content, size) {
    var inductionVariable = 0;
    if (inductionVariable < size)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        encoder.yo(this.mr_1, i, content[i]);
      }
       while (inductionVariable < size);
  };
  protoOf(CharArraySerializer_0).or = function (encoder, content, size) {
    return this.ht(encoder, (!(content == null) ? isCharArray(content) : false) ? content : THROW_CCE(), size);
  };
  var CharArraySerializer_instance;
  function CharArraySerializer_getInstance() {
    if (CharArraySerializer_instance == null)
      new CharArraySerializer_0();
    return CharArraySerializer_instance;
  }
  function DoubleArraySerializer_0() {
    DoubleArraySerializer_instance = this;
    PrimitiveArraySerializer.call(this, serializer_10(DoubleCompanionObject_instance));
  }
  protoOf(DoubleArraySerializer_0).kt = function (_this__u8e3s4) {
    return _this__u8e3s4.length;
  };
  protoOf(DoubleArraySerializer_0).yq = function (_this__u8e3s4) {
    return this.kt((!(_this__u8e3s4 == null) ? isDoubleArray(_this__u8e3s4) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  protoOf(DoubleArraySerializer_0).lt = function (encoder, content, size) {
    var inductionVariable = 0;
    if (inductionVariable < size)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        encoder.xo(this.mr_1, i, content[i]);
      }
       while (inductionVariable < size);
  };
  protoOf(DoubleArraySerializer_0).or = function (encoder, content, size) {
    return this.lt(encoder, (!(content == null) ? isDoubleArray(content) : false) ? content : THROW_CCE(), size);
  };
  var DoubleArraySerializer_instance;
  function DoubleArraySerializer_getInstance() {
    if (DoubleArraySerializer_instance == null)
      new DoubleArraySerializer_0();
    return DoubleArraySerializer_instance;
  }
  function FloatArraySerializer_0() {
    FloatArraySerializer_instance = this;
    PrimitiveArraySerializer.call(this, serializer_11(FloatCompanionObject_instance));
  }
  protoOf(FloatArraySerializer_0).ot = function (_this__u8e3s4) {
    return _this__u8e3s4.length;
  };
  protoOf(FloatArraySerializer_0).yq = function (_this__u8e3s4) {
    return this.ot((!(_this__u8e3s4 == null) ? isFloatArray(_this__u8e3s4) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  protoOf(FloatArraySerializer_0).pt = function (encoder, content, size) {
    var inductionVariable = 0;
    if (inductionVariable < size)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        encoder.wo(this.mr_1, i, content[i]);
      }
       while (inductionVariable < size);
  };
  protoOf(FloatArraySerializer_0).or = function (encoder, content, size) {
    return this.pt(encoder, (!(content == null) ? isFloatArray(content) : false) ? content : THROW_CCE(), size);
  };
  var FloatArraySerializer_instance;
  function FloatArraySerializer_getInstance() {
    if (FloatArraySerializer_instance == null)
      new FloatArraySerializer_0();
    return FloatArraySerializer_instance;
  }
  function LongArraySerializer_0() {
    LongArraySerializer_instance = this;
    PrimitiveArraySerializer.call(this, serializer_6(Companion_getInstance_0()));
  }
  protoOf(LongArraySerializer_0).st = function (_this__u8e3s4) {
    return _this__u8e3s4.length;
  };
  protoOf(LongArraySerializer_0).yq = function (_this__u8e3s4) {
    return this.st((!(_this__u8e3s4 == null) ? isLongArray(_this__u8e3s4) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  protoOf(LongArraySerializer_0).tt = function (encoder, content, size) {
    var inductionVariable = 0;
    if (inductionVariable < size)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        encoder.vo(this.mr_1, i, content[i]);
      }
       while (inductionVariable < size);
  };
  protoOf(LongArraySerializer_0).or = function (encoder, content, size) {
    return this.tt(encoder, (!(content == null) ? isLongArray(content) : false) ? content : THROW_CCE(), size);
  };
  var LongArraySerializer_instance;
  function LongArraySerializer_getInstance() {
    if (LongArraySerializer_instance == null)
      new LongArraySerializer_0();
    return LongArraySerializer_instance;
  }
  function ULongArraySerializer_0() {
    ULongArraySerializer_instance = this;
    PrimitiveArraySerializer.call(this, serializer_2(Companion_getInstance_1()));
  }
  protoOf(ULongArraySerializer_0).wt = function (_this__u8e3s4) {
    return _ULongArray___get_size__impl__ju6dtr(_this__u8e3s4);
  };
  protoOf(ULongArraySerializer_0).yq = function (_this__u8e3s4) {
    return this.wt(_this__u8e3s4 instanceof ULongArray ? _this__u8e3s4.fj_1 : THROW_CCE());
  };
  protoOf(ULongArraySerializer_0).xt = function (encoder, content, size) {
    var inductionVariable = 0;
    if (inductionVariable < size)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var tmp = encoder.ap(this.mr_1, i);
        // Inline function 'kotlin.ULong.toLong' call
        var this_0 = ULongArray__get_impl_pr71q9(content, i);
        var tmp$ret$0 = _ULong___get_data__impl__fggpzb(this_0);
        tmp.lo(tmp$ret$0);
      }
       while (inductionVariable < size);
  };
  protoOf(ULongArraySerializer_0).or = function (encoder, content, size) {
    return this.xt(encoder, content instanceof ULongArray ? content.fj_1 : THROW_CCE(), size);
  };
  var ULongArraySerializer_instance;
  function ULongArraySerializer_getInstance() {
    if (ULongArraySerializer_instance == null)
      new ULongArraySerializer_0();
    return ULongArraySerializer_instance;
  }
  function IntArraySerializer_0() {
    IntArraySerializer_instance = this;
    PrimitiveArraySerializer.call(this, serializer_5(IntCompanionObject_instance));
  }
  protoOf(IntArraySerializer_0).au = function (_this__u8e3s4) {
    return _this__u8e3s4.length;
  };
  protoOf(IntArraySerializer_0).yq = function (_this__u8e3s4) {
    return this.au((!(_this__u8e3s4 == null) ? isIntArray(_this__u8e3s4) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  protoOf(IntArraySerializer_0).bu = function (encoder, content, size) {
    var inductionVariable = 0;
    if (inductionVariable < size)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        encoder.uo(this.mr_1, i, content[i]);
      }
       while (inductionVariable < size);
  };
  protoOf(IntArraySerializer_0).or = function (encoder, content, size) {
    return this.bu(encoder, (!(content == null) ? isIntArray(content) : false) ? content : THROW_CCE(), size);
  };
  var IntArraySerializer_instance;
  function IntArraySerializer_getInstance() {
    if (IntArraySerializer_instance == null)
      new IntArraySerializer_0();
    return IntArraySerializer_instance;
  }
  function UIntArraySerializer_0() {
    UIntArraySerializer_instance = this;
    PrimitiveArraySerializer.call(this, serializer_1(Companion_getInstance_2()));
  }
  protoOf(UIntArraySerializer_0).eu = function (_this__u8e3s4) {
    return _UIntArray___get_size__impl__r6l8ci(_this__u8e3s4);
  };
  protoOf(UIntArraySerializer_0).yq = function (_this__u8e3s4) {
    return this.eu(_this__u8e3s4 instanceof UIntArray ? _this__u8e3s4.ui_1 : THROW_CCE());
  };
  protoOf(UIntArraySerializer_0).fu = function (encoder, content, size) {
    var inductionVariable = 0;
    if (inductionVariable < size)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var tmp = encoder.ap(this.mr_1, i);
        // Inline function 'kotlin.UInt.toInt' call
        var this_0 = UIntArray__get_impl_gp5kza(content, i);
        var tmp$ret$0 = _UInt___get_data__impl__f0vqqw(this_0);
        tmp.ko(tmp$ret$0);
      }
       while (inductionVariable < size);
  };
  protoOf(UIntArraySerializer_0).or = function (encoder, content, size) {
    return this.fu(encoder, content instanceof UIntArray ? content.ui_1 : THROW_CCE(), size);
  };
  var UIntArraySerializer_instance;
  function UIntArraySerializer_getInstance() {
    if (UIntArraySerializer_instance == null)
      new UIntArraySerializer_0();
    return UIntArraySerializer_instance;
  }
  function ShortArraySerializer_0() {
    ShortArraySerializer_instance = this;
    PrimitiveArraySerializer.call(this, serializer_8(ShortCompanionObject_instance));
  }
  protoOf(ShortArraySerializer_0).iu = function (_this__u8e3s4) {
    return _this__u8e3s4.length;
  };
  protoOf(ShortArraySerializer_0).yq = function (_this__u8e3s4) {
    return this.iu((!(_this__u8e3s4 == null) ? isShortArray(_this__u8e3s4) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  protoOf(ShortArraySerializer_0).ju = function (encoder, content, size) {
    var inductionVariable = 0;
    if (inductionVariable < size)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        encoder.to(this.mr_1, i, content[i]);
      }
       while (inductionVariable < size);
  };
  protoOf(ShortArraySerializer_0).or = function (encoder, content, size) {
    return this.ju(encoder, (!(content == null) ? isShortArray(content) : false) ? content : THROW_CCE(), size);
  };
  var ShortArraySerializer_instance;
  function ShortArraySerializer_getInstance() {
    if (ShortArraySerializer_instance == null)
      new ShortArraySerializer_0();
    return ShortArraySerializer_instance;
  }
  function UShortArraySerializer_0() {
    UShortArraySerializer_instance = this;
    PrimitiveArraySerializer.call(this, serializer_4(Companion_getInstance_3()));
  }
  protoOf(UShortArraySerializer_0).mu = function (_this__u8e3s4) {
    return _UShortArray___get_size__impl__jqto1b(_this__u8e3s4);
  };
  protoOf(UShortArraySerializer_0).yq = function (_this__u8e3s4) {
    return this.mu(_this__u8e3s4 instanceof UShortArray ? _this__u8e3s4.qj_1 : THROW_CCE());
  };
  protoOf(UShortArraySerializer_0).nu = function (encoder, content, size) {
    var inductionVariable = 0;
    if (inductionVariable < size)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var tmp = encoder.ap(this.mr_1, i);
        // Inline function 'kotlin.UShort.toShort' call
        var this_0 = UShortArray__get_impl_fnbhmx(content, i);
        var tmp$ret$0 = _UShort___get_data__impl__g0245(this_0);
        tmp.jo(tmp$ret$0);
      }
       while (inductionVariable < size);
  };
  protoOf(UShortArraySerializer_0).or = function (encoder, content, size) {
    return this.nu(encoder, content instanceof UShortArray ? content.qj_1 : THROW_CCE(), size);
  };
  var UShortArraySerializer_instance;
  function UShortArraySerializer_getInstance() {
    if (UShortArraySerializer_instance == null)
      new UShortArraySerializer_0();
    return UShortArraySerializer_instance;
  }
  function ByteArraySerializer_0() {
    ByteArraySerializer_instance = this;
    PrimitiveArraySerializer.call(this, serializer_7(ByteCompanionObject_instance));
  }
  protoOf(ByteArraySerializer_0).qu = function (_this__u8e3s4) {
    return _this__u8e3s4.length;
  };
  protoOf(ByteArraySerializer_0).yq = function (_this__u8e3s4) {
    return this.qu((!(_this__u8e3s4 == null) ? isByteArray(_this__u8e3s4) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  protoOf(ByteArraySerializer_0).ru = function (encoder, content, size) {
    var inductionVariable = 0;
    if (inductionVariable < size)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        encoder.so(this.mr_1, i, content[i]);
      }
       while (inductionVariable < size);
  };
  protoOf(ByteArraySerializer_0).or = function (encoder, content, size) {
    return this.ru(encoder, (!(content == null) ? isByteArray(content) : false) ? content : THROW_CCE(), size);
  };
  var ByteArraySerializer_instance;
  function ByteArraySerializer_getInstance() {
    if (ByteArraySerializer_instance == null)
      new ByteArraySerializer_0();
    return ByteArraySerializer_instance;
  }
  function UByteArraySerializer_0() {
    UByteArraySerializer_instance = this;
    PrimitiveArraySerializer.call(this, serializer_3(Companion_getInstance_4()));
  }
  protoOf(UByteArraySerializer_0).uu = function (_this__u8e3s4) {
    return _UByteArray___get_size__impl__h6pkdv(_this__u8e3s4);
  };
  protoOf(UByteArraySerializer_0).yq = function (_this__u8e3s4) {
    return this.uu(_this__u8e3s4 instanceof UByteArray ? _this__u8e3s4.ji_1 : THROW_CCE());
  };
  protoOf(UByteArraySerializer_0).vu = function (encoder, content, size) {
    var inductionVariable = 0;
    if (inductionVariable < size)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        var tmp = encoder.ap(this.mr_1, i);
        // Inline function 'kotlin.UByte.toByte' call
        var this_0 = UByteArray__get_impl_t5f3hv(content, i);
        var tmp$ret$0 = _UByte___get_data__impl__jof9qr(this_0);
        tmp.io(tmp$ret$0);
      }
       while (inductionVariable < size);
  };
  protoOf(UByteArraySerializer_0).or = function (encoder, content, size) {
    return this.vu(encoder, content instanceof UByteArray ? content.ji_1 : THROW_CCE(), size);
  };
  var UByteArraySerializer_instance;
  function UByteArraySerializer_getInstance() {
    if (UByteArraySerializer_instance == null)
      new UByteArraySerializer_0();
    return UByteArraySerializer_instance;
  }
  function BooleanArraySerializer_0() {
    BooleanArraySerializer_instance = this;
    PrimitiveArraySerializer.call(this, serializer_12(BooleanCompanionObject_instance));
  }
  protoOf(BooleanArraySerializer_0).yu = function (_this__u8e3s4) {
    return _this__u8e3s4.length;
  };
  protoOf(BooleanArraySerializer_0).yq = function (_this__u8e3s4) {
    return this.yu((!(_this__u8e3s4 == null) ? isBooleanArray(_this__u8e3s4) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  protoOf(BooleanArraySerializer_0).zu = function (encoder, content, size) {
    var inductionVariable = 0;
    if (inductionVariable < size)
      do {
        var i = inductionVariable;
        inductionVariable = inductionVariable + 1 | 0;
        encoder.ro(this.mr_1, i, content[i]);
      }
       while (inductionVariable < size);
  };
  protoOf(BooleanArraySerializer_0).or = function (encoder, content, size) {
    return this.zu(encoder, (!(content == null) ? isBooleanArray(content) : false) ? content : THROW_CCE(), size);
  };
  var BooleanArraySerializer_instance;
  function BooleanArraySerializer_getInstance() {
    if (BooleanArraySerializer_instance == null)
      new BooleanArraySerializer_0();
    return BooleanArraySerializer_instance;
  }
  function get_BUILTIN_SERIALIZERS() {
    _init_properties_Primitives_kt__k0eto4();
    return BUILTIN_SERIALIZERS;
  }
  var BUILTIN_SERIALIZERS;
  function StringSerializer() {
    StringSerializer_instance = this;
    this.av_1 = new PrimitiveSerialDescriptor('kotlin.String', STRING_getInstance());
  }
  protoOf(StringSerializer).am = function () {
    return this.av_1;
  };
  protoOf(StringSerializer).bv = function (encoder, value) {
    return encoder.po(value);
  };
  protoOf(StringSerializer).bm = function (encoder, value) {
    return this.bv(encoder, (!(value == null) ? typeof value === 'string' : false) ? value : THROW_CCE());
  };
  var StringSerializer_instance;
  function StringSerializer_getInstance() {
    if (StringSerializer_instance == null)
      new StringSerializer();
    return StringSerializer_instance;
  }
  function error_0($this) {
    throw IllegalStateException_init_$Create$('Primitive descriptor ' + $this.cv_1 + ' does not have elements');
  }
  function PrimitiveSerialDescriptor(serialName, kind) {
    this.cv_1 = serialName;
    this.dv_1 = kind;
  }
  protoOf(PrimitiveSerialDescriptor).bn = function () {
    return this.cv_1;
  };
  protoOf(PrimitiveSerialDescriptor).cn = function () {
    return this.dv_1;
  };
  protoOf(PrimitiveSerialDescriptor).en = function () {
    return 0;
  };
  protoOf(PrimitiveSerialDescriptor).gn = function (index) {
    error_0(this);
  };
  protoOf(PrimitiveSerialDescriptor).hn = function (index) {
    error_0(this);
  };
  protoOf(PrimitiveSerialDescriptor).toString = function () {
    return 'PrimitiveDescriptor(' + this.cv_1 + ')';
  };
  protoOf(PrimitiveSerialDescriptor).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PrimitiveSerialDescriptor))
      return false;
    if (this.cv_1 === other.cv_1 && equals(this.dv_1, other.dv_1))
      return true;
    return false;
  };
  protoOf(PrimitiveSerialDescriptor).hashCode = function () {
    return getStringHashCode(this.cv_1) + imul(31, this.dv_1.hashCode()) | 0;
  };
  function builtinSerializerOrNull(_this__u8e3s4) {
    _init_properties_Primitives_kt__k0eto4();
    var tmp = get_BUILTIN_SERIALIZERS().x1(_this__u8e3s4);
    return (tmp == null ? true : isInterface(tmp, KSerializer)) ? tmp : THROW_CCE();
  }
  function IntSerializer() {
    IntSerializer_instance = this;
    this.ev_1 = new PrimitiveSerialDescriptor('kotlin.Int', INT_getInstance());
  }
  protoOf(IntSerializer).am = function () {
    return this.ev_1;
  };
  protoOf(IntSerializer).fv = function (encoder, value) {
    return encoder.ko(value);
  };
  protoOf(IntSerializer).bm = function (encoder, value) {
    return this.fv(encoder, (!(value == null) ? typeof value === 'number' : false) ? value : THROW_CCE());
  };
  var IntSerializer_instance;
  function IntSerializer_getInstance() {
    if (IntSerializer_instance == null)
      new IntSerializer();
    return IntSerializer_instance;
  }
  function LongSerializer() {
    LongSerializer_instance = this;
    this.gv_1 = new PrimitiveSerialDescriptor('kotlin.Long', LONG_getInstance());
  }
  protoOf(LongSerializer).am = function () {
    return this.gv_1;
  };
  protoOf(LongSerializer).hv = function (encoder, value) {
    return encoder.lo(value);
  };
  protoOf(LongSerializer).bm = function (encoder, value) {
    return this.hv(encoder, value instanceof Long ? value : THROW_CCE());
  };
  var LongSerializer_instance;
  function LongSerializer_getInstance() {
    if (LongSerializer_instance == null)
      new LongSerializer();
    return LongSerializer_instance;
  }
  function ByteSerializer() {
    ByteSerializer_instance = this;
    this.iv_1 = new PrimitiveSerialDescriptor('kotlin.Byte', BYTE_getInstance());
  }
  protoOf(ByteSerializer).am = function () {
    return this.iv_1;
  };
  protoOf(ByteSerializer).jv = function (encoder, value) {
    return encoder.io(value);
  };
  protoOf(ByteSerializer).bm = function (encoder, value) {
    return this.jv(encoder, (!(value == null) ? typeof value === 'number' : false) ? value : THROW_CCE());
  };
  var ByteSerializer_instance;
  function ByteSerializer_getInstance() {
    if (ByteSerializer_instance == null)
      new ByteSerializer();
    return ByteSerializer_instance;
  }
  function ShortSerializer() {
    ShortSerializer_instance = this;
    this.kv_1 = new PrimitiveSerialDescriptor('kotlin.Short', SHORT_getInstance());
  }
  protoOf(ShortSerializer).am = function () {
    return this.kv_1;
  };
  protoOf(ShortSerializer).lv = function (encoder, value) {
    return encoder.jo(value);
  };
  protoOf(ShortSerializer).bm = function (encoder, value) {
    return this.lv(encoder, (!(value == null) ? typeof value === 'number' : false) ? value : THROW_CCE());
  };
  var ShortSerializer_instance;
  function ShortSerializer_getInstance() {
    if (ShortSerializer_instance == null)
      new ShortSerializer();
    return ShortSerializer_instance;
  }
  function CharSerializer() {
    CharSerializer_instance = this;
    this.mv_1 = new PrimitiveSerialDescriptor('kotlin.Char', CHAR_getInstance());
  }
  protoOf(CharSerializer).am = function () {
    return this.mv_1;
  };
  protoOf(CharSerializer).nv = function (encoder, value) {
    return encoder.oo(value);
  };
  protoOf(CharSerializer).bm = function (encoder, value) {
    return this.nv(encoder, value instanceof Char ? value.h1_1 : THROW_CCE());
  };
  var CharSerializer_instance;
  function CharSerializer_getInstance() {
    if (CharSerializer_instance == null)
      new CharSerializer();
    return CharSerializer_instance;
  }
  function DoubleSerializer() {
    DoubleSerializer_instance = this;
    this.ov_1 = new PrimitiveSerialDescriptor('kotlin.Double', DOUBLE_getInstance());
  }
  protoOf(DoubleSerializer).am = function () {
    return this.ov_1;
  };
  protoOf(DoubleSerializer).pv = function (encoder, value) {
    return encoder.no(value);
  };
  protoOf(DoubleSerializer).bm = function (encoder, value) {
    return this.pv(encoder, (!(value == null) ? typeof value === 'number' : false) ? value : THROW_CCE());
  };
  var DoubleSerializer_instance;
  function DoubleSerializer_getInstance() {
    if (DoubleSerializer_instance == null)
      new DoubleSerializer();
    return DoubleSerializer_instance;
  }
  function FloatSerializer() {
    FloatSerializer_instance = this;
    this.qv_1 = new PrimitiveSerialDescriptor('kotlin.Float', FLOAT_getInstance());
  }
  protoOf(FloatSerializer).am = function () {
    return this.qv_1;
  };
  protoOf(FloatSerializer).rv = function (encoder, value) {
    return encoder.mo(value);
  };
  protoOf(FloatSerializer).bm = function (encoder, value) {
    return this.rv(encoder, (!(value == null) ? typeof value === 'number' : false) ? value : THROW_CCE());
  };
  var FloatSerializer_instance;
  function FloatSerializer_getInstance() {
    if (FloatSerializer_instance == null)
      new FloatSerializer();
    return FloatSerializer_instance;
  }
  function BooleanSerializer() {
    BooleanSerializer_instance = this;
    this.sv_1 = new PrimitiveSerialDescriptor('kotlin.Boolean', BOOLEAN_getInstance());
  }
  protoOf(BooleanSerializer).am = function () {
    return this.sv_1;
  };
  protoOf(BooleanSerializer).tv = function (encoder, value) {
    return encoder.ho(value);
  };
  protoOf(BooleanSerializer).bm = function (encoder, value) {
    return this.tv(encoder, (!(value == null) ? typeof value === 'boolean' : false) ? value : THROW_CCE());
  };
  var BooleanSerializer_instance;
  function BooleanSerializer_getInstance() {
    if (BooleanSerializer_instance == null)
      new BooleanSerializer();
    return BooleanSerializer_instance;
  }
  function UnitSerializer() {
    UnitSerializer_instance = this;
    this.uv_1 = new ObjectSerializer('kotlin.Unit', Unit_instance);
  }
  protoOf(UnitSerializer).am = function () {
    return this.uv_1.am();
  };
  protoOf(UnitSerializer).vv = function (encoder, value) {
    this.uv_1.pm(encoder, Unit_instance);
  };
  protoOf(UnitSerializer).bm = function (encoder, value) {
    return this.vv(encoder, value instanceof Unit ? value : THROW_CCE());
  };
  var UnitSerializer_instance;
  function UnitSerializer_getInstance() {
    if (UnitSerializer_instance == null)
      new UnitSerializer();
    return UnitSerializer_instance;
  }
  var properties_initialized_Primitives_kt_6dpii6;
  function _init_properties_Primitives_kt__k0eto4() {
    if (!properties_initialized_Primitives_kt_6dpii6) {
      properties_initialized_Primitives_kt_6dpii6 = true;
      BUILTIN_SERIALIZERS = initBuiltins();
    }
  }
  function MapEntrySerializer$descriptor$lambda($keySerializer, $valueSerializer) {
    return function ($this$buildSerialDescriptor) {
      $this$buildSerialDescriptor.km('key', $keySerializer.am());
      $this$buildSerialDescriptor.km('value', $valueSerializer.am());
      return Unit_instance;
    };
  }
  function MapEntrySerializer_0(keySerializer, valueSerializer) {
    KeyValueSerializer.call(this, keySerializer, valueSerializer);
    var tmp = this;
    var tmp_0 = MAP_getInstance();
    tmp.yv_1 = buildSerialDescriptor('kotlin.collections.Map.Entry', tmp_0, [], MapEntrySerializer$descriptor$lambda(keySerializer, valueSerializer));
  }
  protoOf(MapEntrySerializer_0).am = function () {
    return this.yv_1;
  };
  protoOf(MapEntrySerializer_0).zv = function (_this__u8e3s4) {
    return _this__u8e3s4.a1();
  };
  protoOf(MapEntrySerializer_0).aw = function (_this__u8e3s4) {
    return this.zv((!(_this__u8e3s4 == null) ? isInterface(_this__u8e3s4, Entry) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  protoOf(MapEntrySerializer_0).bw = function (_this__u8e3s4) {
    return _this__u8e3s4.b1();
  };
  protoOf(MapEntrySerializer_0).cw = function (_this__u8e3s4) {
    return this.bw((!(_this__u8e3s4 == null) ? isInterface(_this__u8e3s4, Entry) : false) ? _this__u8e3s4 : THROW_CCE());
  };
  function PairSerializer$descriptor$lambda($keySerializer, $valueSerializer) {
    return function ($this$buildClassSerialDescriptor) {
      $this$buildClassSerialDescriptor.km('first', $keySerializer.am());
      $this$buildClassSerialDescriptor.km('second', $valueSerializer.am());
      return Unit_instance;
    };
  }
  function PairSerializer_0(keySerializer, valueSerializer) {
    KeyValueSerializer.call(this, keySerializer, valueSerializer);
    var tmp = this;
    tmp.iw_1 = buildClassSerialDescriptor('kotlin.Pair', [], PairSerializer$descriptor$lambda(keySerializer, valueSerializer));
  }
  protoOf(PairSerializer_0).am = function () {
    return this.iw_1;
  };
  protoOf(PairSerializer_0).jw = function (_this__u8e3s4) {
    return _this__u8e3s4.g9_1;
  };
  protoOf(PairSerializer_0).aw = function (_this__u8e3s4) {
    return this.jw(_this__u8e3s4 instanceof Pair ? _this__u8e3s4 : THROW_CCE());
  };
  protoOf(PairSerializer_0).kw = function (_this__u8e3s4) {
    return _this__u8e3s4.h9_1;
  };
  protoOf(PairSerializer_0).cw = function (_this__u8e3s4) {
    return this.kw(_this__u8e3s4 instanceof Pair ? _this__u8e3s4 : THROW_CCE());
  };
  function TripleSerializer$descriptor$lambda(this$0) {
    return function ($this$buildClassSerialDescriptor) {
      $this$buildClassSerialDescriptor.km('first', this$0.lw_1.am());
      $this$buildClassSerialDescriptor.km('second', this$0.mw_1.am());
      $this$buildClassSerialDescriptor.km('third', this$0.nw_1.am());
      return Unit_instance;
    };
  }
  function TripleSerializer_0(aSerializer, bSerializer, cSerializer) {
    this.lw_1 = aSerializer;
    this.mw_1 = bSerializer;
    this.nw_1 = cSerializer;
    var tmp = this;
    tmp.ow_1 = buildClassSerialDescriptor('kotlin.Triple', [], TripleSerializer$descriptor$lambda(this));
  }
  protoOf(TripleSerializer_0).am = function () {
    return this.ow_1;
  };
  protoOf(TripleSerializer_0).pw = function (encoder, value) {
    var structuredEncoder = encoder.co(this.ow_1);
    structuredEncoder.bp(this.ow_1, 0, this.lw_1, value.ph_1);
    structuredEncoder.bp(this.ow_1, 1, this.mw_1, value.qh_1);
    structuredEncoder.bp(this.ow_1, 2, this.nw_1, value.rh_1);
    structuredEncoder.do(this.ow_1);
  };
  protoOf(TripleSerializer_0).bm = function (encoder, value) {
    return this.pw(encoder, value instanceof Triple ? value : THROW_CCE());
  };
  function KeyValueSerializer(keySerializer, valueSerializer) {
    this.dw_1 = keySerializer;
    this.ew_1 = valueSerializer;
  }
  protoOf(KeyValueSerializer).fw = function (encoder, value) {
    var structuredEncoder = encoder.co(this.am());
    structuredEncoder.bp(this.am(), 0, this.dw_1, this.aw(value));
    structuredEncoder.bp(this.am(), 1, this.ew_1, this.cw(value));
    structuredEncoder.do(this.am());
  };
  protoOf(KeyValueSerializer).bm = function (encoder, value) {
    return this.fw(encoder, (value == null ? true : !(value == null)) ? value : THROW_CCE());
  };
  function UIntSerializer() {
    UIntSerializer_instance = this;
    this.qw_1 = InlinePrimitiveDescriptor('kotlin.UInt', serializer_5(IntCompanionObject_instance));
  }
  protoOf(UIntSerializer).am = function () {
    return this.qw_1;
  };
  protoOf(UIntSerializer).rw = function (encoder, value) {
    var tmp = encoder.qo(this.qw_1);
    // Inline function 'kotlin.UInt.toInt' call
    var tmp$ret$0 = _UInt___get_data__impl__f0vqqw(value);
    tmp.ko(tmp$ret$0);
  };
  protoOf(UIntSerializer).bm = function (encoder, value) {
    return this.rw(encoder, value instanceof UInt ? value.pi_1 : THROW_CCE());
  };
  var UIntSerializer_instance;
  function UIntSerializer_getInstance() {
    if (UIntSerializer_instance == null)
      new UIntSerializer();
    return UIntSerializer_instance;
  }
  function ULongSerializer() {
    ULongSerializer_instance = this;
    this.sw_1 = InlinePrimitiveDescriptor('kotlin.ULong', serializer_6(Companion_getInstance_0()));
  }
  protoOf(ULongSerializer).am = function () {
    return this.sw_1;
  };
  protoOf(ULongSerializer).tw = function (encoder, value) {
    var tmp = encoder.qo(this.sw_1);
    // Inline function 'kotlin.ULong.toLong' call
    var tmp$ret$0 = _ULong___get_data__impl__fggpzb(value);
    tmp.lo(tmp$ret$0);
  };
  protoOf(ULongSerializer).bm = function (encoder, value) {
    return this.tw(encoder, value instanceof ULong ? value.aj_1 : THROW_CCE());
  };
  var ULongSerializer_instance;
  function ULongSerializer_getInstance() {
    if (ULongSerializer_instance == null)
      new ULongSerializer();
    return ULongSerializer_instance;
  }
  function UByteSerializer() {
    UByteSerializer_instance = this;
    this.uw_1 = InlinePrimitiveDescriptor('kotlin.UByte', serializer_7(ByteCompanionObject_instance));
  }
  protoOf(UByteSerializer).am = function () {
    return this.uw_1;
  };
  protoOf(UByteSerializer).vw = function (encoder, value) {
    var tmp = encoder.qo(this.uw_1);
    // Inline function 'kotlin.UByte.toByte' call
    var tmp$ret$0 = _UByte___get_data__impl__jof9qr(value);
    tmp.io(tmp$ret$0);
  };
  protoOf(UByteSerializer).bm = function (encoder, value) {
    return this.vw(encoder, value instanceof UByte ? value.ei_1 : THROW_CCE());
  };
  var UByteSerializer_instance;
  function UByteSerializer_getInstance() {
    if (UByteSerializer_instance == null)
      new UByteSerializer();
    return UByteSerializer_instance;
  }
  function UShortSerializer() {
    UShortSerializer_instance = this;
    this.ww_1 = InlinePrimitiveDescriptor('kotlin.UShort', serializer_8(ShortCompanionObject_instance));
  }
  protoOf(UShortSerializer).am = function () {
    return this.ww_1;
  };
  protoOf(UShortSerializer).xw = function (encoder, value) {
    var tmp = encoder.qo(this.ww_1);
    // Inline function 'kotlin.UShort.toShort' call
    var tmp$ret$0 = _UShort___get_data__impl__g0245(value);
    tmp.jo(tmp$ret$0);
  };
  protoOf(UShortSerializer).bm = function (encoder, value) {
    return this.xw(encoder, value instanceof UShort ? value.lj_1 : THROW_CCE());
  };
  var UShortSerializer_instance;
  function UShortSerializer_getInstance() {
    if (UShortSerializer_instance == null)
      new UShortSerializer();
    return UShortSerializer_instance;
  }
  function get_EmptySerializersModuleLegacyJs() {
    _init_properties_SerializersModule_kt__u78ha3();
    return EmptySerializersModule;
  }
  var EmptySerializersModule;
  function SerializersModule() {
  }
  protoOf(SerializersModule).tm = function (kClass, typeArgumentsSerializers, $super) {
    typeArgumentsSerializers = typeArgumentsSerializers === VOID ? emptyList() : typeArgumentsSerializers;
    return $super === VOID ? this.um(kClass, typeArgumentsSerializers) : $super.um.call(this, kClass, typeArgumentsSerializers);
  };
  function SerialModuleImpl(class2ContextualFactory, polyBase2Serializers, polyBase2DefaultSerializerProvider, polyBase2NamedSerializers, polyBase2DefaultDeserializerProvider, hasInterfaceContextualSerializers) {
    SerializersModule.call(this);
    this.yw_1 = class2ContextualFactory;
    this.zw_1 = polyBase2Serializers;
    this.ax_1 = polyBase2DefaultSerializerProvider;
    this.bx_1 = polyBase2NamedSerializers;
    this.cx_1 = polyBase2DefaultDeserializerProvider;
    this.dx_1 = hasInterfaceContextualSerializers;
  }
  protoOf(SerialModuleImpl).sm = function () {
    return this.dx_1;
  };
  protoOf(SerialModuleImpl).jp = function (baseClass, value) {
    if (!baseClass.m9(value))
      return null;
    var tmp0_safe_receiver = this.zw_1.x1(baseClass);
    var tmp = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.x1(getKClassFromExpression(value));
    var registered = (!(tmp == null) ? isInterface(tmp, SerializationStrategy) : false) ? tmp : null;
    if (!(registered == null))
      return registered;
    var tmp_0 = this.ax_1.x1(baseClass);
    var tmp1_safe_receiver = (!(tmp_0 == null) ? typeof tmp_0 === 'function' : false) ? tmp_0 : null;
    return tmp1_safe_receiver == null ? null : tmp1_safe_receiver(value);
  };
  protoOf(SerialModuleImpl).um = function (kClass, typeArgumentsSerializers) {
    var tmp0_safe_receiver = this.yw_1.x1(kClass);
    var tmp = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.ex(typeArgumentsSerializers);
    return (tmp == null ? true : isInterface(tmp, KSerializer)) ? tmp : null;
  };
  var properties_initialized_SerializersModule_kt_fjigjn;
  function _init_properties_SerializersModule_kt__u78ha3() {
    if (!properties_initialized_SerializersModule_kt_fjigjn) {
      properties_initialized_SerializersModule_kt_fjigjn = true;
      EmptySerializersModule = new SerialModuleImpl(emptyMap(), emptyMap(), emptyMap(), emptyMap(), emptyMap(), false);
    }
  }
  function EmptySerializersModule_0() {
    return get_EmptySerializersModuleLegacyJs();
  }
  function SerializableWith(serializer) {
    this.fx_1 = serializer;
  }
  protoOf(SerializableWith).equals = function (other) {
    if (!(other instanceof SerializableWith))
      return false;
    var tmp0_other_with_cast = other instanceof SerializableWith ? other : THROW_CCE();
    if (!this.fx_1.equals(tmp0_other_with_cast.fx_1))
      return false;
    return true;
  };
  protoOf(SerializableWith).hashCode = function () {
    return imul(getStringHashCode('serializer'), 127) ^ this.fx_1.hashCode();
  };
  protoOf(SerializableWith).toString = function () {
    return '@kotlinx.serialization.SerializableWith(' + 'serializer=' + toString(this.fx_1) + ')';
  };
  function createCache(factory) {
    return new createCache$1(factory);
  }
  function createParametrizedCache(factory) {
    return new createParametrizedCache$1(factory);
  }
  function isInterface_0(_this__u8e3s4) {
    return get_isInterfaceHack(_this__u8e3s4);
  }
  function getChecked(_this__u8e3s4, index) {
    if (!(0 <= index ? index <= (_this__u8e3s4.length - 1 | 0) : false))
      throw IndexOutOfBoundsException_init_$Create$('Index ' + index + ' out of bounds ' + get_indices(_this__u8e3s4).toString());
    return _this__u8e3s4[index];
  }
  function initBuiltins() {
    return mapOf([to(PrimitiveClasses_getInstance().ma(), serializer_0(StringCompanionObject_instance)), to(getKClass(Char), serializer_9(Companion_getInstance())), to(PrimitiveClasses_getInstance().pa(), CharArraySerializer()), to(PrimitiveClasses_getInstance().ka(), serializer_10(DoubleCompanionObject_instance)), to(PrimitiveClasses_getInstance().va(), DoubleArraySerializer()), to(PrimitiveClasses_getInstance().ja(), serializer_11(FloatCompanionObject_instance)), to(PrimitiveClasses_getInstance().ua(), FloatArraySerializer()), to(getKClass(Long), serializer_6(Companion_getInstance_0())), to(PrimitiveClasses_getInstance().ta(), LongArraySerializer()), to(getKClass(ULong), serializer_2(Companion_getInstance_1())), to(getKClass(ULongArray), ULongArraySerializer()), to(PrimitiveClasses_getInstance().ha(), serializer_5(IntCompanionObject_instance)), to(PrimitiveClasses_getInstance().sa(), IntArraySerializer()), to(getKClass(UInt), serializer_1(Companion_getInstance_2())), to(getKClass(UIntArray), UIntArraySerializer()), to(PrimitiveClasses_getInstance().ga(), serializer_8(ShortCompanionObject_instance)), to(PrimitiveClasses_getInstance().ra(), ShortArraySerializer()), to(getKClass(UShort), serializer_4(Companion_getInstance_3())), to(getKClass(UShortArray), UShortArraySerializer()), to(PrimitiveClasses_getInstance().fa(), serializer_7(ByteCompanionObject_instance)), to(PrimitiveClasses_getInstance().qa(), ByteArraySerializer()), to(getKClass(UByte), serializer_3(Companion_getInstance_4())), to(getKClass(UByteArray), UByteArraySerializer()), to(PrimitiveClasses_getInstance().ea(), serializer_12(BooleanCompanionObject_instance)), to(PrimitiveClasses_getInstance().oa(), BooleanArraySerializer()), to(getKClass(Unit), serializer_13(Unit_instance)), to(PrimitiveClasses_getInstance().da(), NothingSerializer()), to(getKClass(Duration), serializer_14(Companion_getInstance_5())), to(getKClass(Instant), serializer_15(Companion_getInstance_6())), to(getKClass(Uuid), serializer_16(Companion_getInstance_7()))]);
  }
  function get_isInterfaceHack(_this__u8e3s4) {
    if (_this__u8e3s4 === PrimitiveClasses_getInstance().da())
      return false;
    // Inline function 'kotlin.js.asDynamic' call
    var tmp0_safe_receiver = get_js(_this__u8e3s4).$metadata$;
    return (tmp0_safe_receiver == null ? null : tmp0_safe_receiver.kind) == 'interface';
  }
  function compiledSerializerImpl(_this__u8e3s4) {
    var tmp0_elvis_lhs = constructSerializerForGivenTypeArgs(_this__u8e3s4, []);
    var tmp;
    if (tmp0_elvis_lhs == null) {
      var tmp_0;
      if (_this__u8e3s4 === PrimitiveClasses_getInstance().da()) {
        tmp_0 = NothingSerializer_getInstance();
      } else {
        // Inline function 'kotlin.js.asDynamic' call
        var tmp1_safe_receiver = get_js(_this__u8e3s4).Companion;
        tmp_0 = tmp1_safe_receiver == null ? null : tmp1_safe_receiver.serializer();
      }
      var tmp_1 = tmp_0;
      tmp = (!(tmp_1 == null) ? isInterface(tmp_1, KSerializer) : false) ? tmp_1 : null;
    } else {
      tmp = tmp0_elvis_lhs;
    }
    return tmp;
  }
  function platformSpecificSerializerNotRegistered(_this__u8e3s4) {
    throw SerializationException_init_$Create$_0(notRegisteredMessage(_this__u8e3s4) + 'To get enum serializer on Kotlin/JS, it should be annotated with @Serializable annotation.');
  }
  function isReferenceArray(rootClass) {
    return rootClass.equals(PrimitiveClasses_getInstance().la());
  }
  function constructSerializerForGivenTypeArgs(_this__u8e3s4, args) {
    var tmp;
    try {
      // Inline function 'kotlin.reflect.findAssociatedObject' call
      var assocObject = findAssociatedObject(_this__u8e3s4, getKClass(SerializableWith));
      var tmp_0;
      if (!(assocObject == null) ? isInterface(assocObject, KSerializer) : false) {
        tmp_0 = isInterface(assocObject, KSerializer) ? assocObject : THROW_CCE();
      } else {
        if (!(assocObject == null) ? isInterface(assocObject, SerializerFactory) : false) {
          var tmp_1 = assocObject.dt(args.slice());
          tmp_0 = isInterface(tmp_1, KSerializer) ? tmp_1 : THROW_CCE();
        } else {
          tmp_0 = null;
        }
      }
      tmp = tmp_0;
    } catch ($p) {
      var tmp_2;
      var e = $p;
      tmp_2 = null;
      tmp = tmp_2;
    }
    return tmp;
  }
  function createCache$1($factory) {
    this.gx_1 = $factory;
  }
  protoOf(createCache$1).vm = function (key) {
    return this.gx_1(key);
  };
  function createParametrizedCache$1($factory) {
    this.hx_1 = $factory;
  }
  protoOf(createParametrizedCache$1).wm = function (key, types) {
    // Inline function 'kotlin.runCatching' call
    var tmp;
    try {
      // Inline function 'kotlin.Companion.success' call
      var value = this.hx_1(key, types);
      tmp = _Result___init__impl__xyqfz8(value);
    } catch ($p) {
      var tmp_0;
      if ($p instanceof Error) {
        var e = $p;
        // Inline function 'kotlin.Companion.failure' call
        tmp_0 = _Result___init__impl__xyqfz8(createFailure(e));
      } else {
        throw $p;
      }
      tmp = tmp_0;
    }
    return tmp;
  };
  //region block: post-declaration
  protoOf(SerialDescriptorImpl).xm = get_isNullable;
  protoOf(SerialDescriptorImpl).dn = get_isInline;
  protoOf(AbstractEncoder).gp = encodeNotNullMark;
  protoOf(AbstractEncoder).hp = beginCollection;
  protoOf(AbstractEncoder).cp = encodeSerializableValue;
  protoOf(AbstractEncoder).ep = encodeNullableSerializableValue;
  protoOf(AbstractEncoder).ip = shouldEncodeElementDefault;
  protoOf(ListLikeDescriptor).xm = get_isNullable;
  protoOf(ListLikeDescriptor).dn = get_isInline;
  protoOf(ListLikeDescriptor).fn = get_annotations;
  protoOf(MapLikeDescriptor).xm = get_isNullable;
  protoOf(MapLikeDescriptor).dn = get_isInline;
  protoOf(MapLikeDescriptor).fn = get_annotations;
  protoOf(PluginGeneratedSerialDescriptor).xm = get_isNullable;
  protoOf(PluginGeneratedSerialDescriptor).dn = get_isInline;
  protoOf(InlinePrimitiveDescriptor$1).ts = typeParametersSerializers;
  protoOf(NothingSerialDescriptor).xm = get_isNullable;
  protoOf(NothingSerialDescriptor).dn = get_isInline;
  protoOf(NothingSerialDescriptor).fn = get_annotations;
  protoOf(PrimitiveSerialDescriptor).xm = get_isNullable;
  protoOf(PrimitiveSerialDescriptor).dn = get_isInline;
  protoOf(PrimitiveSerialDescriptor).fn = get_annotations;
  //endregion
  //region block: exports
  _.$_$ = _.$_$ || {};
  _.$_$.a = SerializationException_init_$Init$_0;
  _.$_$.b = CONTEXTUAL_getInstance;
  _.$_$.c = ENUM_getInstance;
  _.$_$.d = CLASS_getInstance;
  _.$_$.e = LIST_getInstance;
  _.$_$.f = MAP_getInstance;
  _.$_$.g = OBJECT_getInstance;
  _.$_$.h = InstantSerializer_getInstance;
  _.$_$.i = IntSerializer_getInstance;
  _.$_$.j = StringSerializer_getInstance;
  _.$_$.k = get_nullable;
  _.$_$.l = serializer_0;
  _.$_$.m = serializer_4;
  _.$_$.n = serializer_1;
  _.$_$.o = serializer_3;
  _.$_$.p = serializer_2;
  _.$_$.q = PolymorphicKind;
  _.$_$.r = PrimitiveKind;
  _.$_$.s = ENUM;
  _.$_$.t = getContextualDescriptor;
  _.$_$.u = AbstractEncoder;
  _.$_$.v = CompositeEncoder;
  _.$_$.w = Encoder;
  _.$_$.x = AbstractPolymorphicSerializer;
  _.$_$.y = ArrayListSerializer;
  _.$_$.z = typeParametersSerializers;
  _.$_$.a1 = GeneratedSerializer;
  _.$_$.b1 = InlinePrimitiveDescriptor;
  _.$_$.c1 = PluginGeneratedSerialDescriptor;
  _.$_$.d1 = jsonCachedSerialNames;
  _.$_$.e1 = EmptySerializersModule_0;
  _.$_$.f1 = KSerializer;
  _.$_$.g1 = SealedClassSerializer;
  _.$_$.h1 = SerializationException;
  _.$_$.i1 = SerializationStrategy;
  _.$_$.j1 = findPolymorphicSerializer;
  _.$_$.k1 = serializer;
  //endregion
  return _;
}(module.exports, require('./kotlin-kotlin-stdlib.js')));

//# sourceMappingURL=kotlinx-serialization-kotlinx-serialization-core.js.map