import * as VScript from "http://172.16.0.12/bladerunner_sdk/vscript@2.5.2/deno/release/mod.ts";
import * as VAPI from "./mod.ts";
export const lift = {
  J2KDecoderStatistics: (_raw: VScript.DataViews.Subtree<VScript.VSocket>) =>
    new J2KDecoderStatistics(_raw),
  J2KDecoderAudioRuntime: (_raw: VScript.DataViews.Subtree<VScript.VSocket>) =>
    new J2KDecoderAudioRuntime(_raw),
  J2KDecoderConfiguration: (_raw: VScript.DataViews.Subtree<VScript.VSocket>) =>
    new J2KDecoderConfiguration(_raw),
  J2KDecoderJ2KRuntime: (_raw: VScript.DataViews.Subtree<VScript.VSocket>) =>
    new J2KDecoderJ2KRuntime(_raw),
  J2KDecoderJ2KT2Runtime: (_raw: VScript.DataViews.Subtree<VScript.VSocket>) =>
    new J2KDecoderJ2KT2Runtime(_raw),
  J2KDecoderMP2TConfiguration: (
    _raw: VScript.DataViews.Subtree<VScript.VSocket>,
  ) => new J2KDecoderMP2TConfiguration(_raw),
  J2KDecoderMPT2Runtime: (_raw: VScript.DataViews.Subtree<VScript.VSocket>) =>
    new J2KDecoderMPT2Runtime(_raw),
  J2KDecoderMetadataRuntime: (
    _raw: VScript.DataViews.Subtree<VScript.VSocket>,
  ) => new J2KDecoderMetadataRuntime(_raw),
  J2KDecoderRTPConfiguration: (
    _raw: VScript.DataViews.Subtree<VScript.VSocket>,
  ) => new J2KDecoderRTPConfiguration(_raw),
  J2KDecoderRTPRuntime: (_raw: VScript.DataViews.Subtree<VScript.VSocket>) =>
    new J2KDecoderRTPRuntime(_raw),
  MP2TPES: (_raw: VScript.DataViews.Subtree<VScript.VSocket>) =>
    new MP2TPES(_raw),
  TTr01J2kVideoDescriptor: (_raw: VScript.DataViews.Subtree<VScript.VSocket>) =>
    new TTr01J2kVideoDescriptor(_raw),
} as const;
export const lower = {
  J2KDecoderStatistics: (_x: J2KDecoderStatistics) => _x.raw.kwl,
  J2KDecoderAudioRuntime: (_x: J2KDecoderAudioRuntime) => _x.raw.kwl,
  J2KDecoderConfiguration: (_x: J2KDecoderConfiguration) => _x.raw.kwl,
  J2KDecoderJ2KRuntime: (_x: J2KDecoderJ2KRuntime) => _x.raw.kwl,
  J2KDecoderJ2KT2Runtime: (_x: J2KDecoderJ2KT2Runtime) => _x.raw.kwl,
  J2KDecoderMP2TConfiguration: (_x: J2KDecoderMP2TConfiguration) => _x.raw.kwl,
  J2KDecoderMPT2Runtime: (_x: J2KDecoderMPT2Runtime) => _x.raw.kwl,
  J2KDecoderMetadataRuntime: (_x: J2KDecoderMetadataRuntime) => _x.raw.kwl,
  J2KDecoderRTPConfiguration: (_x: J2KDecoderRTPConfiguration) => _x.raw.kwl,
  J2KDecoderRTPRuntime: (_x: J2KDecoderRTPRuntime) => _x.raw.kwl,
  MP2TPES: (_x: MP2TPES) => _x.raw.kwl,
  TTr01J2kVideoDescriptor: (_x: TTr01J2kVideoDescriptor) => _x.raw.kwl,
} as const;
export class J2KDecoderStatistics
  implements VScript.Referenceable<"J2KDecoder::Data::J2KDecoderStatistics">
{
  readonly type_identifier = "J2KDecoder::Data::J2KDecoderStatistics" as const;
  constructor(readonly raw: VScript.DataViews.Subtree<VScript.VSocket>) {}
  get mem_band_max_gbits(): VScript.rKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.J2KDecoderStatistics
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.J2KDecoderStatistics
    >(this, "mem_band_max_gbits" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get mem_band_write_gbits(): VScript.rKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.J2KDecoderStatistics
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.J2KDecoderStatistics
    >(this, "mem_band_write_gbits" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get mem_band_read_gbits(): VScript.rKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.J2KDecoderStatistics
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.J2KDecoderStatistics
    >(this, "mem_band_read_gbits" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get t1_total_clks(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TUnsignedMax,
    VAPI.J2KDecoder.J2KDecoderStatistics
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TUnsignedMax,
      VAPI.J2KDecoder.J2KDecoderStatistics
    >(this, "t1_total_clks" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get t1_active_clks(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TUnsignedMax,
    VAPI.J2KDecoder.J2KDecoderStatistics
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TUnsignedMax,
      VAPI.J2KDecoder.J2KDecoderStatistics
    >(this, "t1_active_clks" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get t1_load(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TUnsignedMax,
    VAPI.J2KDecoder.J2KDecoderStatistics
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TUnsignedMax,
      VAPI.J2KDecoder.J2KDecoderStatistics
    >(this, "t1_load" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
}
export class J2KDecoderAudioRuntime
  implements VScript.Referenceable<"J2KDecoder::Data::J2KDecoderAudioRuntime">
{
  readonly type_identifier =
    "J2KDecoder::Data::J2KDecoderAudioRuntime" as const;
  constructor(readonly raw: VScript.DataViews.Subtree<VScript.VSocket>) {}
  get dummy(): VScript.rwKeyword<
    VScript.VSocket,
    boolean,
    boolean,
    boolean,
    boolean,
    VAPI.J2KDecoder.J2KDecoderAudioRuntime
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      boolean,
      boolean,
      boolean,
      boolean,
      VAPI.J2KDecoder.J2KDecoderAudioRuntime
    >(
      this,
      "dummy" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
}
export class J2KDecoderConfiguration
  implements VScript.Referenceable<"J2KDecoder::Data::J2KDecoderConfiguration">
{
  readonly type_identifier =
    "J2KDecoder::Data::J2KDecoderConfiguration" as const;
  constructor(readonly raw: VScript.DataViews.Subtree<VScript.VSocket>) {}
  get rtp() {
    return VAPI.J2KDecoder.lift.J2KDecoderRTPConfiguration(
      VScript.VAPIHelpers.subtree_child_checked(this.raw, 0, "rtp"),
    );
  }
  get mp2t() {
    return VAPI.J2KDecoder.lift.J2KDecoderMP2TConfiguration(
      VScript.VAPIHelpers.subtree_child_checked(this.raw, 1, "mp2t"),
    );
  }
}
export class J2KDecoderJ2KRuntime
  implements VScript.Referenceable<"J2KDecoder::Data::J2KDecoderJ2KRuntime">
{
  readonly type_identifier = "J2KDecoder::Data::J2KDecoderJ2KRuntime" as const;
  constructor(readonly raw: VScript.DataViews.Subtree<VScript.VSocket>) {}
  get t2() {
    return VAPI.J2KDecoder.lift.J2KDecoderJ2KT2Runtime(
      VScript.VAPIHelpers.subtree_child_checked(this.raw, 0, "t2"),
    );
  }
}
export class J2KDecoderJ2KT2Runtime
  implements VScript.Referenceable<"J2KDecoder::Data::J2KDecoderJ2KT2Runtime">
{
  readonly type_identifier =
    "J2KDecoder::Data::J2KDecoderJ2KT2Runtime" as const;
  constructor(readonly raw: VScript.DataViews.Subtree<VScript.VSocket>) {}
  get packets_num(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.J2KDecoderJ2KT2Runtime
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.J2KDecoderJ2KT2Runtime
    >(this, "packets_num" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
}
export class J2KDecoderMP2TConfiguration
  implements
    VScript.Referenceable<"J2KDecoder::Data::J2KDecoderMP2TConfiguration">
{
  readonly type_identifier =
    "J2KDecoder::Data::J2KDecoderMP2TConfiguration" as const;
  constructor(readonly raw: VScript.DataViews.Subtree<VScript.VSocket>) {}
  get pmt_pid(): VScript.rwKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
    >(
      this,
      "pmt_pid" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
  get video_pid(): VScript.rwKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
    >(
      this,
      "video_pid" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
  get pcr_pid(): VScript.rwKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
    >(
      this,
      "pcr_pid" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
  get vanc_pid_1(): VScript.rwKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
    >(
      this,
      "vanc_pid_1" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
  get vanc_pid_2(): VScript.rwKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
    >(
      this,
      "vanc_pid_2" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
  get vanc_pid_3(): VScript.rwKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
    >(
      this,
      "vanc_pid_3" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
  get vanc_pid_4(): VScript.rwKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
    >(
      this,
      "vanc_pid_4" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
  get audio_pid_1(): VScript.rwKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
    >(
      this,
      "audio_pid_1" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
  get audio_pid_2(): VScript.rwKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
    >(
      this,
      "audio_pid_2" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
  get audio_pid_3(): VScript.rwKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
    >(
      this,
      "audio_pid_3" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
  get audio_pid_4(): VScript.rwKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
    >(
      this,
      "audio_pid_4" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
  get audio_pid_5(): VScript.rwKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
    >(
      this,
      "audio_pid_5" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
  get audio_pid_6(): VScript.rwKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
    >(
      this,
      "audio_pid_6" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
  get audio_pid_7(): VScript.rwKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
    >(
      this,
      "audio_pid_7" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
  get audio_pid_8(): VScript.rwKeyword<
    VScript.VSocket,
    number,
    number,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.TPID,
    VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      number,
      number,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.TPID,
      VAPI.J2KDecoder.J2KDecoderMP2TConfiguration
    >(
      this,
      "audio_pid_8" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
}
export class J2KDecoderMPT2Runtime
  implements VScript.Referenceable<"J2KDecoder::Data::J2KDecoderMPT2Runtime">
{
  readonly type_identifier = "J2KDecoder::Data::J2KDecoderMPT2Runtime" as const;
  constructor(readonly raw: VScript.DataViews.Subtree<VScript.VSocket>) {}
  get p_e_s() {
    return new VScript.StronglyTypedTable<
      VScript.VSocket,
      "J2KDecoder::Data::MP2TPES",
      VAPI.J2KDecoder.MP2TPES
    >(
      VScript.VAPIHelpers.subtree_table_child_checked(this.raw, 0, "p_e_s"),
      (raw: VScript.DataViews.Subtree<VScript.VSocket>, _: VScript.VSocket) =>
        VAPI.J2KDecoder.lift.MP2TPES(raw),
    );
  }
  get j2k_video_descriptor() {
    return VAPI.J2KDecoder.lift.TTr01J2kVideoDescriptor(
      VScript.VAPIHelpers.subtree_child_checked(
        this.raw,
        1,
        "j2k_video_descriptor",
      ),
    );
  }
}
export class J2KDecoderMetadataRuntime
  implements
    VScript.Referenceable<"J2KDecoder::Data::J2KDecoderMetadataRuntime">
{
  readonly type_identifier =
    "J2KDecoder::Data::J2KDecoderMetadataRuntime" as const;
  constructor(readonly raw: VScript.DataViews.Subtree<VScript.VSocket>) {}
  get dummy(): VScript.rwKeyword<
    VScript.VSocket,
    boolean,
    boolean,
    boolean,
    boolean,
    VAPI.J2KDecoder.J2KDecoderMetadataRuntime
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      boolean,
      boolean,
      boolean,
      boolean,
      VAPI.J2KDecoder.J2KDecoderMetadataRuntime
    >(
      this,
      "dummy" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
}
export class J2KDecoderRTPConfiguration
  implements
    VScript.Referenceable<"J2KDecoder::Data::J2KDecoderRTPConfiguration">
{
  readonly type_identifier =
    "J2KDecoder::Data::J2KDecoderRTPConfiguration" as const;
  constructor(readonly raw: VScript.DataViews.Subtree<VScript.VSocket>) {}
  get activate(): VScript.dKeyword<
    VScript.VSocket,
    boolean,
    boolean,
    boolean,
    boolean,
    VAPI.J2KDecoder.J2KDecoderRTPConfiguration
  > {
    return new VScript.dKeyword<
      VScript.VSocket,
      boolean,
      boolean,
      boolean,
      boolean,
      VAPI.J2KDecoder.J2KDecoderRTPConfiguration
    >(
      this,
      "activate" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }

  /**
    Primary source input ip address
  */
  get src_ip_address(): VScript.rwKeyword<
    VScript.VSocket,
    null | string,
    null | string,
    null | string,
    null | string,
    VAPI.J2KDecoder.J2KDecoderRTPConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      null | string,
      null | string,
      null | string,
      null | string,
      VAPI.J2KDecoder.J2KDecoderRTPConfiguration
    >(
      this,
      "src_ip_address" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }

  /**
    Primary destination input ip address
  */
  get dest_ip_address(): VScript.rwKeyword<
    VScript.VSocket,
    null | string,
    null | string,
    null | string,
    null | string,
    VAPI.J2KDecoder.J2KDecoderRTPConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      null | string,
      null | string,
      null | string,
      null | string,
      VAPI.J2KDecoder.J2KDecoderRTPConfiguration
    >(
      this,
      "dest_ip_address" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      (
        parent: VAPI.J2KDecoder.J2KDecoderRTPConfiguration,
        command: null | string,
      ) => (
        void parent,
        void command,
        {
          criterion: "status",
          validator: (status: null | string) =>
            VScript.addrs_equal_up_to_port({ command, status }),
        }
      ),
    );
  }

  /**
    Secondary source input ip address
  */
  get secondary_src_ip_address(): VScript.rwKeyword<
    VScript.VSocket,
    null | string,
    null | string,
    null | string,
    null | string,
    VAPI.J2KDecoder.J2KDecoderRTPConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      null | string,
      null | string,
      null | string,
      null | string,
      VAPI.J2KDecoder.J2KDecoderRTPConfiguration
    >(
      this,
      "secondary_src_ip_address" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }

  /**
    Secondary destination input ip address
  */
  get secondary_dest_ip_address(): VScript.rwKeyword<
    VScript.VSocket,
    null | string,
    null | string,
    null | string,
    null | string,
    VAPI.J2KDecoder.J2KDecoderRTPConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      null | string,
      null | string,
      null | string,
      null | string,
      VAPI.J2KDecoder.J2KDecoderRTPConfiguration
    >(
      this,
      "secondary_dest_ip_address" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      (
        parent: VAPI.J2KDecoder.J2KDecoderRTPConfiguration,
        command: null | string,
      ) => (
        void parent,
        void command,
        {
          criterion: "status",
          validator: (status: null | string) =>
            VScript.addrs_equal_up_to_port({ command, status }),
        }
      ),
    );
  }
  get use_sdp(): VScript.rwKeyword<
    VScript.VSocket,
    boolean,
    boolean,
    boolean,
    boolean,
    VAPI.J2KDecoder.J2KDecoderRTPConfiguration
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      boolean,
      boolean,
      boolean,
      boolean,
      VAPI.J2KDecoder.J2KDecoderRTPConfiguration
    >(
      this,
      "use_sdp" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
  get sdp(): VScript.rKeyword<
    VScript.VSocket,
    string,
    string,
    VAPI.J2KDecoder.J2KDecoderRTPConfiguration
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      string,
      string,
      VAPI.J2KDecoder.J2KDecoderRTPConfiguration
    >(this, "sdp" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
}
export class J2KDecoderRTPRuntime
  implements VScript.Referenceable<"J2KDecoder::Data::J2KDecoderRTPRuntime">
{
  readonly type_identifier = "J2KDecoder::Data::J2KDecoderRTPRuntime" as const;
  constructor(readonly raw: VScript.DataViews.Subtree<VScript.VSocket>) {}
  get dummy(): VScript.rwKeyword<
    VScript.VSocket,
    boolean,
    boolean,
    boolean,
    boolean,
    VAPI.J2KDecoder.J2KDecoderRTPRuntime
  > {
    return new VScript.rwKeyword<
      VScript.VSocket,
      boolean,
      boolean,
      boolean,
      boolean,
      VAPI.J2KDecoder.J2KDecoderRTPRuntime
    >(
      this,
      "dummy" as VScript.SysName,
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      {
        lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
        lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
      },
      null,
    );
  }
}
export class MP2TPES
  implements VScript.Referenceable<"J2KDecoder::Data::MP2TPES">
{
  readonly type_identifier = "J2KDecoder::Data::MP2TPES" as const;
  constructor(readonly raw: VScript.DataViews.Subtree<VScript.VSocket>) {}
  get type(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.MP2TPES
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.MP2TPES
    >(this, "type" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get pid(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.MP2TPES
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.MP2TPES
    >(this, "pid" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
}
export type TByte = number;
export type TDWord = number;
export type TPID = number;
export type TUnsignedMax = number;
export type TWord = number;
export class TTr01J2kVideoDescriptor
  implements VScript.Referenceable<"J2KDecoder::Data::TTr01J2kVideoDescriptor">
{
  readonly type_identifier =
    "J2KDecoder::Data::TTr01J2kVideoDescriptor" as const;
  constructor(readonly raw: VScript.DataViews.Subtree<VScript.VSocket>) {}
  get extended_capability_flag(): VScript.rKeyword<
    VScript.VSocket,
    boolean,
    boolean,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      boolean,
      boolean,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "extended_capability_flag" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get profile_and_level(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "profile_and_level" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get horizontal_size(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TDWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TDWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "horizontal_size" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get vertical_size(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TDWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TDWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "vertical_size" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get max_bit_rate(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TDWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TDWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "max_bit_rate" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get max_buffer_size(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TDWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TDWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "max_buffer_size" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get d_e_n_frame_rate(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "d_e_n_frame_rate" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get n_u_m_frame_rate(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "n_u_m_frame_rate" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get stripe_flag(): VScript.rKeyword<
    VScript.VSocket,
    boolean,
    boolean,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      boolean,
      boolean,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "stripe_flag" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get block_flag(): VScript.rKeyword<
    VScript.VSocket,
    boolean,
    boolean,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      boolean,
      boolean,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "block_flag" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get mdm_flag(): VScript.rKeyword<
    VScript.VSocket,
    boolean,
    boolean,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      boolean,
      boolean,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "mdm_flag" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get color_specification(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TByte,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TByte,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "color_specification" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get still_mode(): VScript.rKeyword<
    VScript.VSocket,
    boolean,
    boolean,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      boolean,
      boolean,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "still_mode" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get interlaced_video(): VScript.rKeyword<
    VScript.VSocket,
    boolean,
    boolean,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      boolean,
      boolean,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "interlaced_video" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get colour_primaries(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TByte,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TByte,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "colour_primaries" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get transfer_characteristics(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TByte,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TByte,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "transfer_characteristics" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get matrix_coefficients(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TByte,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TByte,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "matrix_coefficients" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get video_full_range_flag(): VScript.rKeyword<
    VScript.VSocket,
    boolean,
    boolean,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      boolean,
      boolean,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "video_full_range_flag" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get strp_max_idx(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TByte,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TByte,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "strp_max_idx" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get strp_height(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "strp_height" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get full_horizontal_size(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TDWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TDWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "full_horizontal_size" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get full_vertical_size(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TDWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TDWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "full_vertical_size" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get blk_width(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "blk_width" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get blk_height(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "blk_height" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get max_blk_idx_h(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TByte,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TByte,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "max_blk_idx_h" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get max_blk_idx_v(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TByte,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TByte,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "max_blk_idx_v" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get blk_idx_h(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TByte,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TByte,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "blk_idx_h" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get blk_idx_v(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TByte,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TByte,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "blk_idx_v" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get x_c0(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "x_c0" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get y_c0(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "y_c0" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get x_c1(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "x_c1" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get y_c1(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "y_c1" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get x_c2(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "x_c2" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get y_c2(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "y_c2" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get x_wp(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "x_wp" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get y_wp(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "y_wp" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get l_max(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TDWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TDWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "l_max" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get l_min(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TDWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TDWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "l_min" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get max_c_l_l(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "max_c_l_l" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
  get max_f_a_l_l(): VScript.rKeyword<
    VScript.VSocket,
    number,
    VAPI.J2KDecoder.TWord,
    VAPI.J2KDecoder.TTr01J2kVideoDescriptor
  > {
    return new VScript.rKeyword<
      VScript.VSocket,
      number,
      VAPI.J2KDecoder.TWord,
      VAPI.J2KDecoder.TTr01J2kVideoDescriptor
    >(this, "max_f_a_l_l" as VScript.SysName, {
      lift: (x: any /* FIXME */, _: VScript.VSocket) => x,
      lower: (x: any /* FIXME */, _: VScript.VSocket) => x,
    });
  }
}
