/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { DomainChart } from "./DomainChart";
import { fromEnum, enumGetBox, markType } from "igniteui-angular-core";
import { HorizontalAlignment_$type } from "igniteui-angular-core";
import { VerticalAlignment_$type } from "igniteui-angular-core";
import { Visibility_$type } from "igniteui-angular-core";
import { YAxisLabelLocation_$type } from "./YAxisLabelLocation";
import { XAxisLabelLocation_$type } from "./XAxisLabelLocation";
import { AxisLabelSettings } from "./AxisLabelSettings";
import { AxisDefaults } from "./AxisDefaults";
import { TitleSettings } from "./TitleSettings";
import { ScalerParams } from "./ScalerParams";
import { DeviceUtils } from "igniteui-angular-core";
/**
 * @hidden
 */
export let XYChart = /*@__PURE__*/ (() => {
    class XYChart extends DomainChart {
        constructor() {
            super(...arguments);
            this.vi = null;
            this.vj = null;
            this.vz = 0;
            this.v1 = 5;
            this.v0 = 0;
            this.vy = 5;
            this.wg = 5;
            this.wi = 0;
            this.wh = 5;
            this.wf = 0;
            this.aa9 = null;
            this.abg = null;
            this.aa7 = null;
            this.aa8 = null;
            this.wa = 0;
            this.wr = 0;
            this.v9 = NaN;
            this.wq = NaN;
            this.wc = NaN;
            this.wt = NaN;
            this.wb = NaN;
            this.ws = NaN;
            this.v8 = NaN;
            this.wp = NaN;
            this.abf = null;
            this.abm = null;
            this.x1 = null;
            this.x5 = null;
            this.x3 = null;
            this.x7 = null;
            this.xw = null;
            this.xx = null;
            this.aba = null;
            this.abh = null;
            this.v2 = DeviceUtils.g(1);
            this.wj = DeviceUtils.g(1);
            this.v3 = DeviceUtils.g(1);
            this.wk = DeviceUtils.g(1);
            this.abc = null;
            this.abj = null;
            this.abd = null;
            this.abk = null;
            this.v4 = DeviceUtils.g(1);
            this.wl = DeviceUtils.g(1);
            this.v5 = DeviceUtils.g(8);
            this.wm = 0;
            this.abe = null;
            this.abl = null;
            this.v6 = DeviceUtils.g(1);
            this.wn = DeviceUtils.g(1);
            this.x2 = null;
            this.x6 = null;
            this.abb = null;
            this.abi = null;
            this.vx = 0;
            this.we = 0;
            this.vw = NaN;
            this.wd = NaN;
            this.v7 = 0;
            this.wo = -90;
            this.vs = false;
            this.vt = false;
            this.aa2 = 1;
            this.ab5 = 1;
            this.aa1 = 1;
            this.aa3 = 2;
            this.ab3 = 0;
            this.ab4 = 1;
            this.ab9 = 0;
            this.aca = 0;
            this.vq = 4;
            this.vo = 4;
            this.x0 = null;
            this.vc = null;
            this.x4 = null;
            this.vd = null;
        }
        provideContainer(a) {
            if (a != null) {
                let b = this.vg();
                let c = this.vh();
                if (b != null) {
                    b.provideRenderer(a);
                }
                if (c != null) {
                    c.provideRenderer(a);
                }
            }
            super.provideContainer(a);
        }
        rr() {
            super.rr();
            let a = this.vg();
            let b = this.vh();
            if (a != null && a.ay != null) {
                this.abp = a.ay.textColor;
            }
            if (b != null && b.ay != null) {
                this.abw = b.ay.textColor;
            }
            this.abu = AxisDefaults.j;
            this.ab1 = AxisDefaults.j;
            this.abq = AxisDefaults.h;
            this.abx = AxisDefaults.h;
            this.abt = AxisDefaults.g;
            this.ab0 = AxisDefaults.g;
        }
        se(a, b, c) {
            super.se(a, b, c);
            switch (a) {
                case "XAxisLabelLeftMargin":
                    this.aat((d) => d.leftMargin = this.w1);
                    break;
                case "XAxisLabelTopMargin":
                    this.aat((d) => d.topMargin = this.w3);
                    break;
                case "XAxisLabelRightMargin":
                    this.aat((d) => d.rightMargin = this.w2);
                    break;
                case "XAxisLabelBottomMargin":
                    this.aat((d) => d.bottomMargin = this.w0);
                    break;
                case "YAxisLabelLeftMargin":
                    this.aay((d) => d.leftMargin = this.xi);
                    break;
                case "YAxisLabelTopMargin":
                    this.aay((d) => d.topMargin = this.xk);
                    break;
                case "YAxisLabelRightMargin":
                    this.aay((d) => d.rightMargin = this.xj);
                    break;
                case "YAxisLabelBottomMargin":
                    this.aay((d) => d.bottomMargin = this.xh);
                    break;
                case "ActualItemsSource":
                case "ShouldDisplayMockData":
                case "ShouldUseSkeletonStyleForMockData":
                    this.abn = this.uj(this.abp);
                    this.abo = this.uj(this.abw);
                    break;
                case "XAxisLabelTextColor":
                    this.abn = this.uj(this.abp);
                    break;
                case "YAxisLabelTextColor":
                    this.abo = this.uj(this.abw);
                    break;
                case "ActualXAxisLabelTextColor":
                    this.aat((d) => d.textColor = this.abn);
                    break;
                case "ActualYAxisLabelTextColor":
                    this.aay((d) => d.textColor = this.abo);
                    break;
                case "XAxisTitleMargin":
                    this.aav((d) => d.margin = this.xc);
                    break;
                case "YAxisTitleMargin":
                    this.aa0((d) => d.margin = this.xt);
                    break;
                case "XAxisTitleLeftMargin":
                    this.aav((d) => d.leftMargin = this.xb);
                    break;
                case "YAxisTitleLeftMargin":
                    this.aa0((d) => d.leftMargin = this.xs);
                    break;
                case "XAxisTitleTopMargin":
                    this.aav((d) => d.topMargin = this.xe);
                    break;
                case "YAxisTitleTopMargin":
                    this.aa0((d) => d.topMargin = this.xv);
                    break;
                case "XAxisTitleRightMargin":
                    this.aav((d) => d.rightMargin = this.xd);
                    break;
                case "YAxisTitleRightMargin":
                    this.aa0((d) => d.rightMargin = this.xu);
                    break;
                case "XAxisTitleBottomMargin":
                    this.aav((d) => d.bottomMargin = this.xa);
                    break;
                case "YAxisTitleBottomMargin":
                    this.aa0((d) => d.bottomMargin = this.xr);
                    break;
                case "XAxisTitleTextColor":
                    this.aav((d) => d.textColor = this.abv);
                    break;
                case "YAxisTitleTextColor":
                    this.aa0((d) => d.textColor = this.ab2);
                    break;
                case "XAxisFormatLabel":
                    this.aar((d) => d.at = this.vk);
                    break;
                case "YAxisFormatLabel":
                    this.aaw((d) => d.at = this.vl);
                    break;
            }
        }
        get vk() {
            return this.vi;
        }
        set vk(a) {
            let b = this.vk;
            if (a != b) {
                this.vi = a;
                this.sd("XAxisFormatLabel", b, this.vk);
            }
        }
        get vl() {
            return this.vj;
        }
        set vl(a) {
            let b = this.vl;
            if (a != b) {
                this.vj = a;
                this.sd("YAxisFormatLabel", b, this.vl);
            }
        }
        get w1() {
            return this.vz;
        }
        set w1(a) {
            let b = this.w1;
            if (a != b) {
                this.vz = a;
                this.sd("XAxisLabelLeftMargin", b, this.w1);
            }
        }
        get w3() {
            return this.v1;
        }
        set w3(a) {
            let b = this.w3;
            if (a != b) {
                this.v1 = a;
                this.sd("XAxisLabelTopMargin", b, this.w3);
            }
        }
        get w2() {
            return this.v0;
        }
        set w2(a) {
            let b = this.w2;
            if (a != b) {
                this.v0 = a;
                this.sd("XAxisLabelRightMargin", b, this.w2);
            }
        }
        get w0() {
            return this.vy;
        }
        set w0(a) {
            let b = this.w0;
            if (a != b) {
                this.vy = a;
                this.sd("XAxisLabelBottomMargin", b, this.w0);
            }
        }
        get xi() {
            return this.wg;
        }
        set xi(a) {
            let b = this.xi;
            if (a != b) {
                this.wg = a;
                this.sd("YAxisLabelLeftMargin", b, this.xi);
            }
        }
        get xk() {
            return this.wi;
        }
        set xk(a) {
            let b = this.xk;
            if (a != b) {
                this.wi = a;
                this.sd("YAxisLabelTopMargin", b, this.xk);
            }
        }
        get xj() {
            return this.wh;
        }
        set xj(a) {
            let b = this.xj;
            if (a != b) {
                this.wh = a;
                this.sd("YAxisLabelRightMargin", b, this.xj);
            }
        }
        get xh() {
            return this.wf;
        }
        set xh(a) {
            let b = this.xh;
            if (a != b) {
                this.wf = a;
                this.sd("YAxisLabelBottomMargin", b, this.xh);
            }
        }
        get abp() {
            return this.aa9;
        }
        set abp(a) {
            let b = this.abp;
            if (a != b) {
                this.aa9 = a;
                this.sd("XAxisLabelTextColor", b, this.abp);
            }
        }
        get abw() {
            return this.abg;
        }
        set abw(a) {
            let b = this.abw;
            if (a != b) {
                this.abg = a;
                this.sd("YAxisLabelTextColor", b, this.abw);
            }
        }
        get abn() {
            return this.aa7;
        }
        set abn(a) {
            let b = this.aa7;
            if (a != b) {
                this.aa7 = a;
                this.sd("ActualXAxisLabelTextColor", b, this.abn);
            }
        }
        get abo() {
            return this.aa8;
        }
        set abo(a) {
            let b = this.aa8;
            if (a != b) {
                this.aa8 = a;
                this.sd("ActualYAxisLabelTextColor", b, this.abo);
            }
        }
        get xc() {
            return this.wa;
        }
        set xc(a) {
            let b = this.xc;
            if (a != b) {
                this.wa = a;
                this.sd("XAxisTitleMargin", b, this.xc);
            }
        }
        get xt() {
            return this.wr;
        }
        set xt(a) {
            let b = this.xt;
            if (a != b) {
                this.wr = a;
                this.sd("YAxisTitleMargin", b, this.xt);
            }
        }
        get xb() {
            return this.v9;
        }
        set xb(a) {
            let b = this.xb;
            if (a != b) {
                this.v9 = a;
                this.sd("XAxisTitleLeftMargin", b, this.xb);
            }
        }
        get xs() {
            return this.wq;
        }
        set xs(a) {
            let b = this.xs;
            if (a != b) {
                this.wq = a;
                this.sd("YAxisTitleLeftMargin", b, this.xs);
            }
        }
        get xe() {
            return this.wc;
        }
        set xe(a) {
            let b = this.xe;
            if (a != b) {
                this.wc = a;
                this.sd("XAxisTitleTopMargin", b, this.xe);
            }
        }
        get xv() {
            return this.wt;
        }
        set xv(a) {
            let b = this.xv;
            if (a != b) {
                this.wt = a;
                this.sd("YAxisTitleTopMargin", b, this.xv);
            }
        }
        get xd() {
            return this.wb;
        }
        set xd(a) {
            let b = this.xd;
            if (a != b) {
                this.wb = a;
                this.sd("XAxisTitleRightMargin", b, this.xd);
            }
        }
        get xu() {
            return this.ws;
        }
        set xu(a) {
            let b = this.xu;
            if (a != b) {
                this.ws = a;
                this.sd("YAxisTitleRightMargin", b, this.xu);
            }
        }
        get xa() {
            return this.v8;
        }
        set xa(a) {
            let b = this.xa;
            if (a != b) {
                this.v8 = a;
                this.sd("XAxisTitleBottomMargin", b, this.xa);
            }
        }
        get xr() {
            return this.wp;
        }
        set xr(a) {
            let b = this.xr;
            if (a != b) {
                this.wp = a;
                this.sd("YAxisTitleBottomMargin", b, this.xr);
            }
        }
        get abv() {
            return this.abf;
        }
        set abv(a) {
            let b = this.abv;
            if (a != b) {
                this.abf = a;
                this.sd("XAxisTitleTextColor", b, this.abv);
            }
        }
        get ab2() {
            return this.abm;
        }
        set ab2(a) {
            let b = this.ab2;
            if (a != b) {
                this.abm = a;
                this.sd("YAxisTitleTextColor", b, this.ab2);
            }
        }
        sf(a, b, c) {
            super.sf(a, b, c);
            switch (a) {
                case "XAxisLabelTextStyle":
                    this.aat((d) => d.textStyle = this.yp);
                    break;
                case "YAxisLabelTextStyle":
                    this.aay((d) => d.textStyle = this.zu);
                    break;
                case "XAxisTitleTextStyle":
                    this.aav((d) => d.textStyle = this.zd);
                    break;
                case "YAxisTitleTextStyle":
                    this.aa0((d) => d.textStyle = this.aai);
                    break;
            }
        }
        get yp() {
            return this.x1;
        }
        set yp(a) {
            let b = this.yp;
            if (a != b) {
                this.x1 = a;
                this.sd("XAxisLabelTextStyle", b, this.yp);
            }
        }
        get zu() {
            return this.x5;
        }
        set zu(a) {
            let b = this.zu;
            if (a != b) {
                this.x5 = a;
                this.sd("YAxisLabelTextStyle", b, this.zu);
            }
        }
        get zd() {
            return this.x3;
        }
        set zd(a) {
            let b = this.zd;
            if (a != b) {
                this.x3 = a;
                this.sd("XAxisTitleTextStyle", b, this.zd);
            }
        }
        get aai() {
            return this.x7;
        }
        set aai(a) {
            let b = this.aai;
            if (a != b) {
                this.x7 = a;
                this.sd("YAxisTitleTextStyle", b, this.aai);
            }
        }
        aao(a) {
            this.aal(a, (b) => b.leftMargin = this.w1);
            this.aal(a, (b) => b.topMargin = this.w3);
            this.aal(a, (b) => b.rightMargin = this.w2);
            this.aal(a, (b) => b.bottomMargin = this.w0);
            this.aal(a, (b) => b.textColor = this.abn);
            this.aam(a, (b) => b.textColor = this.abv);
            this.aam(a, (b) => b.leftMargin = this.xb);
            this.aam(a, (b) => b.topMargin = this.xe);
            this.aam(a, (b) => b.rightMargin = this.xd);
            this.aam(a, (b) => b.bottomMargin = this.xa);
            this.aal(a, (b) => b.textStyle = this.yp);
            this.aam(a, (b) => b.textStyle = this.zd);
        }
        aaq(a) {
            this.aal(a, (b) => b.leftMargin = this.xi);
            this.aal(a, (b) => b.topMargin = this.xk);
            this.aal(a, (b) => b.rightMargin = this.xj);
            this.aal(a, (b) => b.bottomMargin = this.xh);
            this.aal(a, (b) => b.textColor = this.abo);
            this.aam(a, (b) => b.textColor = this.ab2);
            this.aam(a, (b) => b.leftMargin = this.xs);
            this.aam(a, (b) => b.topMargin = this.xv);
            this.aam(a, (b) => b.rightMargin = this.xu);
            this.aam(a, (b) => b.bottomMargin = this.xr);
            this.aal(a, (b) => b.textStyle = this.zu);
            this.aam(a, (b) => b.textStyle = this.aai);
        }
        sw(a) {
            let b = this.ba(a);
            let c = this.cw(a, b);
            if (c == null) {
                return;
            }
            c.itemsSource = a.data;
            c.name = this.nz(a);
            c.title = this.n0(a, b);
            this.dataChart.series.add(c);
        }
        aar(a) {
            this.aas(a, null);
        }
        aas(a, b) {
            a(this.vg());
        }
        aax(a, b) {
            a(this.vh());
        }
        aaw(a) {
            this.aax(a, true);
        }
        rb(a, b) {
            this.aar(a);
            this.aax(a, b);
        }
        aav(a) {
            this.aam(this.vg(), a);
        }
        aa0(a) {
            this.aam(this.vh(), a);
        }
        aay(a) {
            this.aal(this.vh(), a);
        }
        aat(a) {
            this.aal(this.vg(), a);
        }
        wu(a) {
            let b = this.vg();
            return b.ei(a, new ScalerParams(1, this.ur, this.uq, b.cg));
        }
        ww(a) {
            let b = this.vg();
            return b.el(a, new ScalerParams(1, this.ur, this.uq, b.cg));
        }
        wv(a) {
            let b = this.vh();
            return b.ei(a, new ScalerParams(1, this.ur, this.uq, b.cg));
        }
        wx(a) {
            let b = this.vh();
            return b.el(a, new ScalerParams(1, this.ur, this.uq, b.cg));
        }
        st(a) {
            super.st(a);
            if (a == null) {
                return;
            }
            if (a.axes != null) {
                let b = this.vg();
                let c = this.vh();
                if (a.axes.contains(b)) {
                    a.axes.remove(b);
                }
                if (a.axes.contains(c)) {
                    a.axes.remove(c);
                }
            }
        }
        static ya(a, b) {
            for (let c of fromEnum(b)) {
                let d = c.findMatchingHint(16);
                if (d != null) {
                    let e = d.path;
                    return e;
                }
            }
            return null;
        }
        rm(a) {
            super.rm(a);
            if (a == this.dataChart) {
                this.dataChart.axes.add(this.vg());
                this.dataChart.axes.add(this.vh());
            }
        }
        aan(a) {
            if (a != null && this.ju != null && a.fk == null) {
                a.provideRenderer(this.ju);
            }
            a.jv = this.abq;
            a.eq = this.w4;
            a.jw = this.abr;
            a.et = this.w5;
            a.jy = this.abt;
            a.ff = this.w6;
            a.jx = this.abs;
            a.fg = this.w7;
            a.jz = this.abu;
            a.fh = this.w8;
            a.c3 = true;
            a.ct = this.f0;
            a.cv = this.f0;
            let b = a == this.vg();
            if (b) {
                a.g5 = this.y4;
            }
            a.fz = this.xy;
            a.gf = this.yg;
            a.ag = this.ve;
            this.aal(a, (c) => c.angle = this.wz);
            this.aal(a, (c) => {
                if (c.extent != this.wy) {
                    c.extent = this.wy;
                }
            });
            this.aal(a, (c) => c.horizontalAlignment = this.aa4);
            this.aal(a, (c) => c.verticalAlignment = this.ab6);
            this.aal(a, (c) => c.visibility = this.acb);
            this.aal(a, (c) => c.location = this.vm(this.vp));
            this.aam(a, (c) => c.horizontalAlignment = this.aa5);
            this.aam(a, (c) => c.angle = this.w9);
            this.aao(a);
        }
        aap(a) {
            if (a == null) {
                return;
            }
            if (this.ju != null && a.fk == null) {
                a.provideRenderer(this.ju);
            }
            a.ct = this.f0;
            a.cv = this.f0;
            this.aal(a, (b) => b.angle = this.xg);
            this.aal(a, (b) => {
                if (b.extent != this.xf) {
                    b.extent = this.xf;
                }
            });
            this.aal(a, (b) => b.horizontalAlignment = this.aa6);
            this.aal(a, (b) => b.verticalAlignment = this.ab7);
            this.aal(a, (b) => b.visibility = this.acc);
            this.aal(a, (b) => b.location = this.vn(this.vr));
            this.aam(a, (b) => b.verticalAlignment = this.ab8);
            this.aam(a, (b) => b.angle = this.xq);
            a.jv = this.abx;
            a.eq = this.xl;
            a.jw = this.aby;
            a.et = this.xm;
            a.jy = this.ab0;
            a.ff = this.xn;
            a.jx = this.abz;
            a.fg = this.xo;
            a.jz = this.ab1;
            a.fh = this.xp;
            let b = a == this.vh();
            if (b) {
                a.g5 = this.z9;
            }
            a.gf = this.zl;
            a.ag = this.vf;
            this.aaq(a);
        }
        rj() {
            super.rj();
            this.aan(this.vg());
            this.aap(this.vh());
        }
        aal(a, b) {
            if (a == null) {
                return;
            }
            if (a.ay == null) {
                a.ay = new AxisLabelSettings();
                a.ay.angle = a.d4();
                a.ay.bottomMargin = a.d5();
                a.ay.leftMargin = a.d6();
                a.ay.rightMargin = a.d7();
                a.ay.topMargin = a.d8();
                a.ay.horizontalAlignment = a.jq();
                a.ay.location = a.az();
                a.ay.verticalAlignment = a.kj();
            }
            b(a.ay);
        }
        aam(a, b) {
            if (a == null) {
                return;
            }
            if (a.be == null) {
                a.be = new TitleSettings();
                a.be.bottomMargin = a.ea();
                a.be.leftMargin = a.eb();
                a.be.rightMargin = a.ec();
                a.be.topMargin = a.ed();
                a.be.location = a.a0();
                a.be.angle = a.d9();
                a.be.horizontalAlignment = a.jr();
                a.be.verticalAlignment = a.kk();
            }
            b(a.be);
        }
        sd(a, b, c) {
            super.sd(a, b, c);
            switch (a) {
                case "XAxisLabelAngle":
                    this.aat((d) => d.angle = this.wz);
                    break;
                case "YAxisLabelAngle":
                    this.aay((d) => d.angle = this.xg);
                    break;
                case "XAxisLabelHorizontalAlignment":
                    this.aat((d) => d.horizontalAlignment = this.aa4);
                    break;
                case "YAxisLabelHorizontalAlignment":
                    this.aay((d) => d.horizontalAlignment = this.aa6);
                    break;
                case "XAxisLabelVerticalAlignment":
                    this.aat((d) => d.verticalAlignment = this.ab6);
                    break;
                case "YAxisLabelVerticalAlignment":
                    this.aay((d) => d.verticalAlignment = this.ab7);
                    break;
                case "XAxisLabelVisibility":
                    this.aat((d) => d.visibility = this.acb);
                    break;
                case "YAxisLabelVisibility":
                    this.aay((d) => d.visibility = this.acc);
                    break;
                case "XAxisLabel":
                    this.aar((d) => d.fz = this.xy);
                    break;
                case "YAxisLabel":
                    this.aaw((d) => d.fz = this.xz);
                    break;
                case "XAxisLabelFormat":
                    this.aar((d) => d.gf = this.yg);
                    break;
                case "XAxisLabelFormatSpecifiers":
                    this.aar((d) => d.ag = this.ve);
                    break;
                case "YAxisLabelFormat":
                    this.aaw((d) => d.gf = this.zl);
                    break;
                case "YAxisLabelFormatSpecifiers":
                    this.aaw((d) => d.ag = this.vf);
                    break;
                case "XAxisTitleAngle":
                    this.aav((d) => d.angle = this.w9);
                    break;
                case "YAxisTitleAngle":
                    this.aa0((d) => d.angle = this.xq);
                    break;
                case "XAxisTitleAlignment":
                    this.aav((d) => d.horizontalAlignment = this.aa5);
                    break;
                case "YAxisTitleAlignment":
                    this.aa0((d) => d.verticalAlignment = this.ab8);
                    break;
                case "XAxisTitle":
                    this.aar((d) => d.g5 = this.y4);
                    break;
                case "YAxisTitle":
                    this.aax((d) => d.g5 = this.z9, false);
                    break;
                case "XAxisMajorStroke":
                    this.aas((d) => d.jv = this.abq, a);
                    break;
                case "YAxisMajorStroke":
                    this.aaw((d) => d.jv = this.abx);
                    break;
                case "XAxisMajorStrokeThickness":
                    this.aas((d) => d.eq = this.w4, a);
                    break;
                case "YAxisMajorStrokeThickness":
                    this.aaw((d) => d.eq = this.xl);
                    break;
                case "XAxisMinorStroke":
                    this.aar((d) => d.jw = this.abr);
                    break;
                case "YAxisMinorStroke":
                    this.aaw((d) => d.jw = this.aby);
                    break;
                case "XAxisMinorStrokeThickness":
                    this.aar((d) => d.et = this.w5);
                    break;
                case "YAxisMinorStrokeThickness":
                    this.aaw((d) => d.et = this.xm);
                    break;
                case "XAxisTickLength":
                    this.aar((d) => d.fg = this.w7);
                    break;
                case "YAxisTickLength":
                    this.aaw((d) => d.fg = this.xo);
                    break;
                case "XAxisTickStroke":
                    this.aar((d) => d.jz = this.abu);
                    break;
                case "YAxisTickStroke":
                    this.aaw((d) => d.jz = this.ab1);
                    break;
                case "XAxisTickStrokeThickness":
                    this.aar((d) => d.fh = this.w8);
                    break;
                case "YAxisTickStrokeThickness":
                    this.aaw((d) => d.fh = this.xp);
                    break;
                case "XAxisStroke":
                    this.aar((d) => d.jy = this.abt);
                    break;
                case "YAxisStroke":
                    this.aaw((d) => d.jy = this.ab0);
                    break;
                case "XAxisStrokeThickness":
                    this.aar((d) => d.ff = this.w6);
                    break;
                case "YAxisStrokeThickness":
                    this.aaw((d) => d.ff = this.xn);
                    break;
                case "XAxisExtent":
                    this.aat((d) => d.extent = this.wy);
                    break;
                case "YAxisExtent":
                    this.aay((d) => d.extent = this.xf);
                    break;
                case "XAxisStrip":
                    this.aar((d) => d.jx = this.abs);
                    break;
                case "YAxisStrip":
                    this.aaw((d) => d.jx = this.abz);
                    break;
                case "XAxisInverted":
                    this.aar((d) => d.cg = this.vu);
                    break;
                case "YAxisInverted":
                    this.aaw((d) => d.cg = this.vv);
                    break;
                case "YAxisLabelLocation":
                    this.aaz();
                    break;
                case "XAxisLabelLocation":
                    this.aau();
                    break;
            }
        }
        aaz() {
            let a = this.vn(this.vr);
            if (a == 2 || a == 7) {
                this.aa6 = 2;
            }
            else {
                this.aa6 = 0;
            }
            this.aay((b) => b.location = a);
        }
        aau() {
            let a = this.vm(this.vp);
            if (a == 1 || a == 5) {
                this.ab6 = 0;
            }
            else {
                this.ab6 = 2;
            }
            this.aat((b) => b.location = a);
        }
        vn(a) {
            if (a == 0) {
                return 2;
            }
            else if (a == 1) {
                return 3;
            }
            else if (a == 3) {
                return 7;
            }
            else if (a == 2) {
                return 6;
            }
            else {
                if (this.bz == 1) {
                    return 3;
                }
                else {
                    return 2;
                }
            }
        }
        vm(a) {
            if (a == 1) {
                return 1;
            }
            else if (a == 0) {
                return 0;
            }
            else if (a == 3) {
                return 5;
            }
            else if (a == 2) {
                return 4;
            }
            else {
                return 1;
            }
        }
        get xy() {
            return this.xw;
        }
        set xy(a) {
            let b = this.xy;
            if (a != b) {
                this.xw = a;
                this.sd("XAxisLabel", b, this.xy);
            }
        }
        get xz() {
            return this.xx;
        }
        set xz(a) {
            let b = this.xz;
            if (a != b) {
                this.xx = a;
                this.sd("YAxisLabel", b, this.xz);
            }
        }
        get abq() {
            return this.aba;
        }
        set abq(a) {
            let b = this.abq;
            if (a != b) {
                this.aba = a;
                this.sd("XAxisMajorStroke", b, this.abq);
            }
        }
        get abx() {
            return this.abh;
        }
        set abx(a) {
            let b = this.abx;
            if (a != b) {
                this.abh = a;
                this.sd("YAxisMajorStroke", b, this.abx);
            }
        }
        get w4() {
            return this.v2;
        }
        set w4(a) {
            let b = this.w4;
            if (a != b) {
                this.v2 = a;
                this.sd("XAxisMajorStrokeThickness", b, this.w4);
            }
        }
        get xl() {
            return this.wj;
        }
        set xl(a) {
            let b = this.xl;
            if (a != b) {
                this.wj = a;
                this.sd("YAxisMajorStrokeThickness", b, this.xl);
            }
        }
        get w5() {
            return this.v3;
        }
        set w5(a) {
            let b = this.w5;
            if (a != b) {
                this.v3 = a;
                this.sd("XAxisMinorStrokeThickness", b, this.w5);
            }
        }
        get xm() {
            return this.wk;
        }
        set xm(a) {
            let b = this.xm;
            if (a != b) {
                this.wk = a;
                this.sd("YAxisMinorStrokeThickness", b, this.xm);
            }
        }
        get abs() {
            return this.abc;
        }
        set abs(a) {
            let b = this.abs;
            if (a != b) {
                this.abc = a;
                this.sd("XAxisStrip", b, this.abs);
            }
        }
        get abz() {
            return this.abj;
        }
        set abz(a) {
            let b = this.abz;
            if (a != b) {
                this.abj = a;
                this.sd("YAxisStrip", b, this.abz);
            }
        }
        get abt() {
            return this.abd;
        }
        set abt(a) {
            let b = this.abt;
            if (a != b) {
                this.abd = a;
                this.sd("XAxisStroke", b, this.abt);
            }
        }
        get ab0() {
            return this.abk;
        }
        set ab0(a) {
            let b = this.ab0;
            if (a != b) {
                this.abk = a;
                this.sd("YAxisStroke", b, this.ab0);
            }
        }
        get w6() {
            return this.v4;
        }
        set w6(a) {
            let b = this.w6;
            if (a != b) {
                this.v4 = a;
                this.sd("XAxisStrokeThickness", b, this.w6);
            }
        }
        get xn() {
            return this.wl;
        }
        set xn(a) {
            let b = this.xn;
            if (a != b) {
                this.wl = a;
                this.sd("YAxisStrokeThickness", b, this.xn);
            }
        }
        get w7() {
            return this.v5;
        }
        set w7(a) {
            let b = this.w7;
            if (a != b) {
                this.v5 = a;
                this.sd("XAxisTickLength", b, this.w7);
            }
        }
        get xo() {
            return this.wm;
        }
        set xo(a) {
            let b = this.xo;
            if (a != b) {
                this.wm = a;
                this.sd("YAxisTickLength", b, this.xo);
            }
        }
        get abu() {
            return this.abe;
        }
        set abu(a) {
            let b = this.abu;
            if (a != b) {
                this.abe = a;
                this.sd("XAxisTickStroke", b, this.abu);
            }
        }
        get ab1() {
            return this.abl;
        }
        set ab1(a) {
            let b = this.ab1;
            if (a != b) {
                this.abl = a;
                this.sd("YAxisTickStroke", b, this.ab1);
            }
        }
        get w8() {
            return this.v6;
        }
        set w8(a) {
            let b = this.w8;
            if (a != b) {
                this.v6 = a;
                this.sd("XAxisTickStrokeThickness", b, this.w8);
            }
        }
        get xp() {
            return this.wn;
        }
        set xp(a) {
            let b = this.xp;
            if (a != b) {
                this.wn = a;
                this.sd("YAxisTickStrokeThickness", b, this.xp);
            }
        }
        get y4() {
            return this.x2;
        }
        set y4(a) {
            let b = this.y4;
            if (a != b) {
                this.x2 = a;
                this.sd("XAxisTitle", b, this.y4);
            }
        }
        get z9() {
            return this.x6;
        }
        set z9(a) {
            let b = this.z9;
            if (a != b) {
                this.x6 = a;
                this.sd("YAxisTitle", b, this.z9);
            }
        }
        get abr() {
            return this.abb;
        }
        set abr(a) {
            let b = this.abr;
            if (a != b) {
                this.abb = a;
                this.sd("XAxisMinorStroke", b, this.abr);
            }
        }
        get aby() {
            return this.abi;
        }
        set aby(a) {
            let b = this.aby;
            if (a != b) {
                this.abi = a;
                this.sd("YAxisMinorStroke", b, this.aby);
            }
        }
        get wz() {
            return this.vx;
        }
        set wz(a) {
            let b = this.wz;
            if (a != b) {
                this.vx = a;
                this.sd("XAxisLabelAngle", b, this.wz);
            }
        }
        get xg() {
            return this.we;
        }
        set xg(a) {
            let b = this.xg;
            if (a != b) {
                this.we = a;
                this.sd("YAxisLabelAngle", b, this.xg);
            }
        }
        get wy() {
            return this.vw;
        }
        set wy(a) {
            let b = this.wy;
            if (a != b) {
                this.vw = a;
                this.sd("XAxisExtent", b, this.wy);
            }
        }
        get xf() {
            return this.wd;
        }
        set xf(a) {
            let b = this.xf;
            if (a != b) {
                this.wd = a;
                this.sd("YAxisExtent", b, this.xf);
            }
        }
        get w9() {
            return this.v7;
        }
        set w9(a) {
            let b = this.w9;
            if (a != b) {
                this.v7 = a;
                this.sd("XAxisTitleAngle", b, this.w9);
            }
        }
        get xq() {
            return this.wo;
        }
        set xq(a) {
            let b = this.xq;
            if (a != b) {
                this.wo = a;
                this.sd("YAxisTitleAngle", b, this.xq);
            }
        }
        get vu() {
            return this.vs;
        }
        set vu(a) {
            let b = this.vu;
            if (a != b) {
                this.vs = a;
                this.sd("XAxisInverted", b, this.vu);
            }
        }
        get vv() {
            return this.vt;
        }
        set vv(a) {
            let b = this.vv;
            if (a != b) {
                this.vt = a;
                this.sd("YAxisInverted", b, this.vv);
            }
        }
        get aa5() {
            return this.aa2;
        }
        set aa5(a) {
            let b = this.aa5;
            if (a != b) {
                this.aa2 = a;
                this.sd("XAxisTitleAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.aa5));
            }
        }
        get ab8() {
            return this.ab5;
        }
        set ab8(a) {
            let b = this.ab8;
            if (a != b) {
                this.ab5 = a;
                this.sd("YAxisTitleAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.ab8));
            }
        }
        get aa4() {
            return this.aa1;
        }
        set aa4(a) {
            let b = this.aa4;
            if (a != b) {
                this.aa1 = a;
                this.sd("XAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.aa4));
            }
        }
        get_aa6() {
            return this.aa3;
        }
        set_aa6(a) {
            let b = this.aa6;
            if (a != b) {
                this.aa3 = a;
                this.sd("YAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.aa6));
            }
        }
        get aa6() {
            return this.get_aa6();
        }
        set aa6(a) {
            this.set_aa6(a);
        }
        get ab6() {
            return this.ab3;
        }
        set ab6(a) {
            let b = this.ab6;
            if (a != b) {
                this.ab3 = a;
                this.sd("XAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.ab6));
            }
        }
        get ab7() {
            return this.ab4;
        }
        set ab7(a) {
            let b = this.ab7;
            if (a != b) {
                this.ab4 = a;
                this.sd("YAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.ab7));
            }
        }
        get acb() {
            return this.ab9;
        }
        set acb(a) {
            let b = this.acb;
            if (a != b) {
                this.ab9 = a;
                this.sd("XAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.acb));
            }
        }
        get acc() {
            return this.aca;
        }
        set acc(a) {
            let b = this.acc;
            if (a != b) {
                this.aca = a;
                this.sd("YAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.acc));
            }
        }
        get_vr() {
            return this.vq;
        }
        set_vr(a) {
            let b = this.vr;
            if (a != b) {
                this.vq = a;
                this.sd("YAxisLabelLocation", enumGetBox(YAxisLabelLocation_$type, b), enumGetBox(YAxisLabelLocation_$type, this.vr));
            }
        }
        get vr() {
            return this.get_vr();
        }
        set vr(a) {
            this.set_vr(a);
        }
        get_vp() {
            return this.vo;
        }
        set_vp(a) {
            let b = this.vp;
            if (a != b) {
                this.vo = a;
                this.sd("XAxisLabelLocation", enumGetBox(XAxisLabelLocation_$type, b), enumGetBox(XAxisLabelLocation_$type, this.vp));
            }
        }
        get vp() {
            return this.get_vp();
        }
        set vp(a) {
            this.set_vp(a);
        }
        get yg() {
            return this.x0;
        }
        set yg(a) {
            let b = this.x0;
            if (a != b) {
                this.x0 = a;
                this.sd("XAxisLabelFormat", b, this.x0);
            }
        }
        get ve() {
            return this.vc;
        }
        set ve(a) {
            let b = this.vc;
            if (a != b) {
                this.vc = a;
                this.sd("XAxisLabelFormatSpecifiers", b, this.vc);
            }
        }
        get zl() {
            return this.x4;
        }
        set zl(a) {
            let b = this.x4;
            if (a != b) {
                this.x4 = a;
                this.sd("YAxisLabelFormat", b, this.x4);
            }
        }
        get vf() {
            return this.vd;
        }
        set vf(a) {
            let b = this.vd;
            if (a != b) {
                this.vd = a;
                this.sd("YAxisLabelFormatSpecifiers", b, this.vd);
            }
        }
    }
    XYChart.$t = markType(XYChart, 'XYChart', DomainChart.$);
    return XYChart;
})();
