(function (_, kotlin_kotlin, kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core) {
  'use strict';
  //region block: imports
  var imul = Math.imul;
  var protoOf = kotlin_kotlin.$_$.vf;
  var objectMeta = kotlin_kotlin.$_$.uf;
  var setMetadataFor = kotlin_kotlin.$_$.wf;
  var interfaceMeta = kotlin_kotlin.$_$.we;
  var PluginGeneratedSerialDescriptor = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.x2;
  var StringSerializer_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.x;
  var LongSerializer_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.w;
  var Long = kotlin_kotlin.$_$.xl;
  var UnknownFieldException_init_$Create$ = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.g;
  var THROW_CCE = kotlin_kotlin.$_$.em;
  var typeParametersSerializers = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.r2;
  var GeneratedSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.s2;
  var VOID = kotlin_kotlin.$_$.g;
  var throwMissingFieldException = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.c3;
  var objectCreate = kotlin_kotlin.$_$.tf;
  var getStringHashCode = kotlin_kotlin.$_$.te;
  var classMeta = kotlin_kotlin.$_$.ge;
  //endregion
  //region block: pre-declaration
  setMetadataFor(Companion, 'Companion', objectMeta);
  setMetadataFor(CentralAppConfigDbDataSource, 'CentralAppConfigDbDataSource', interfaceMeta);
  setMetadataFor(Companion_0, 'Companion', objectMeta);
  setMetadataFor(LearningSpaceDataSource, 'LearningSpaceDataSource', interfaceMeta);
  setMetadataFor(Companion_1, 'Companion', objectMeta);
  setMetadataFor($serializer, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(LearningSpaceInfo, 'LearningSpaceInfo', classMeta, VOID, VOID, VOID, VOID, {0: $serializer_getInstance});
  //endregion
  function Companion() {
    Companion_instance = this;
    this.PATH_1 = 'centralappconfig';
  }
  protoOf(Companion).get_PATH_wo74oe_k$ = function () {
    return this.PATH_1;
  };
  var Companion_instance;
  function Companion_getInstance() {
    if (Companion_instance == null)
      new Companion();
    return Companion_instance;
  }
  function CentralAppConfigDbDataSource() {
  }
  function Companion_0() {
    Companion_instance_0 = this;
    this.PATH_1 = 'learningspace';
  }
  protoOf(Companion_0).get_PATH_wo74oe_k$ = function () {
    return this.PATH_1;
  };
  var Companion_instance_0;
  function Companion_getInstance_0() {
    if (Companion_instance_0 == null)
      new Companion_0();
    return Companion_instance_0;
  }
  function LearningSpaceDataSource() {
  }
  function Companion_1() {
    Companion_instance_1 = this;
  }
  protoOf(Companion_1).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance();
  };
  var Companion_instance_1;
  function Companion_getInstance_1() {
    if (Companion_instance_1 == null)
      new Companion_1();
    return Companion_instance_1;
  }
  function $serializer() {
    $serializer_instance = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.centralappconfigdb.model.LearningSpaceInfo', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('url', false);
    tmp0_serialDesc.addElement_5pzumi_k$('name', false);
    tmp0_serialDesc.addElement_5pzumi_k$('description', false);
    tmp0_serialDesc.addElement_5pzumi_k$('lastModified', false);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [StringSerializer_getInstance(), StringSerializer_getInstance(), StringSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeStringElement_3oenpg_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeStringElement_3oenpg_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeStringElement_3oenpg_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeStringElement_3oenpg_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeStringElement_3oenpg_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeStringElement_3oenpg_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return LearningSpaceInfo_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer).serialize_pi1j9u_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    tmp1_output.encodeStringElement_1n5wu2_k$(tmp0_desc, 0, value.url_1);
    tmp1_output.encodeStringElement_1n5wu2_k$(tmp0_desc, 1, value.name_1);
    tmp1_output.encodeStringElement_1n5wu2_k$(tmp0_desc, 2, value.description_1);
    tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.lastModified_1);
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_pi1j9u_k$(encoder, value instanceof LearningSpaceInfo ? value : THROW_CCE());
  };
  var $serializer_instance;
  function $serializer_getInstance() {
    if ($serializer_instance == null)
      new $serializer();
    return $serializer_instance;
  }
  function LearningSpaceInfo_init_$Init$(seen1, url, name, description, lastModified, serializationConstructorMarker, $this) {
    if (!(15 === (15 & seen1))) {
      throwMissingFieldException(seen1, 15, $serializer_getInstance().descriptor_1);
    }
    $this.url_1 = url;
    $this.name_1 = name;
    $this.description_1 = description;
    $this.lastModified_1 = lastModified;
    return $this;
  }
  function LearningSpaceInfo_init_$Create$(seen1, url, name, description, lastModified, serializationConstructorMarker) {
    return LearningSpaceInfo_init_$Init$(seen1, url, name, description, lastModified, serializationConstructorMarker, objectCreate(protoOf(LearningSpaceInfo)));
  }
  function LearningSpaceInfo(url, name, description, lastModified) {
    Companion_getInstance_1();
    this.url_1 = url;
    this.name_1 = name;
    this.description_1 = description;
    this.lastModified_1 = lastModified;
  }
  protoOf(LearningSpaceInfo).get_url_18iuii_k$ = function () {
    return this.url_1;
  };
  protoOf(LearningSpaceInfo).get_name_woqyms_k$ = function () {
    return this.name_1;
  };
  protoOf(LearningSpaceInfo).get_description_emjre5_k$ = function () {
    return this.description_1;
  };
  protoOf(LearningSpaceInfo).get_lastModified_y37iuw_k$ = function () {
    return this.lastModified_1;
  };
  protoOf(LearningSpaceInfo).component1_7eebsc_k$ = function () {
    return this.url_1;
  };
  protoOf(LearningSpaceInfo).component2_7eebsb_k$ = function () {
    return this.name_1;
  };
  protoOf(LearningSpaceInfo).component3_7eebsa_k$ = function () {
    return this.description_1;
  };
  protoOf(LearningSpaceInfo).component4_7eebs9_k$ = function () {
    return this.lastModified_1;
  };
  protoOf(LearningSpaceInfo).copy_rkanc9_k$ = function (url, name, description, lastModified) {
    return new LearningSpaceInfo(url, name, description, lastModified);
  };
  protoOf(LearningSpaceInfo).copy$default_vb9e5c_k$ = function (url, name, description, lastModified, $super) {
    url = url === VOID ? this.url_1 : url;
    name = name === VOID ? this.name_1 : name;
    description = description === VOID ? this.description_1 : description;
    lastModified = lastModified === VOID ? this.lastModified_1 : lastModified;
    return $super === VOID ? this.copy_rkanc9_k$(url, name, description, lastModified) : $super.copy_rkanc9_k$.call(this, url, name, description, lastModified);
  };
  protoOf(LearningSpaceInfo).toString = function () {
    return 'LearningSpaceInfo(url=' + this.url_1 + ', name=' + this.name_1 + ', description=' + this.description_1 + ', lastModified=' + this.lastModified_1.toString() + ')';
  };
  protoOf(LearningSpaceInfo).hashCode = function () {
    var result = getStringHashCode(this.url_1);
    result = imul(result, 31) + getStringHashCode(this.name_1) | 0;
    result = imul(result, 31) + getStringHashCode(this.description_1) | 0;
    result = imul(result, 31) + this.lastModified_1.hashCode() | 0;
    return result;
  };
  protoOf(LearningSpaceInfo).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof LearningSpaceInfo))
      return false;
    var tmp0_other_with_cast = other instanceof LearningSpaceInfo ? other : THROW_CCE();
    if (!(this.url_1 === tmp0_other_with_cast.url_1))
      return false;
    if (!(this.name_1 === tmp0_other_with_cast.name_1))
      return false;
    if (!(this.description_1 === tmp0_other_with_cast.description_1))
      return false;
    if (!this.lastModified_1.equals(tmp0_other_with_cast.lastModified_1))
      return false;
    return true;
  };
  //region block: post-declaration
  protoOf($serializer).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  //endregion
  //region block: exports
  _.$_$ = _.$_$ || {};
  _.$_$.a = CentralAppConfigDbDataSource;
  //endregion
  return _;
}(module.exports, require('./kotlin-kotlin-stdlib.js'), require('./kotlinx-serialization-kotlinx-serialization-core.js')));

//# sourceMappingURL=UstadMobile-lib-centralappconfigdb-common.js.map
