/*
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.z1 = null;
            this.z2 = null;
            this.aai = 0;
            this.aak = 5;
            this.aaj = 0;
            this.aah = 5;
            this.aaz = 5;
            this.aa1 = 0;
            this.aa0 = 5;
            this.aay = 0;
            this.afs = null;
            this.afz = null;
            this.afq = null;
            this.afr = null;
            this.aat = 0;
            this.aba = 0;
            this.aas = NaN;
            this.aa9 = NaN;
            this.aav = NaN;
            this.abc = NaN;
            this.aau = NaN;
            this.abb = NaN;
            this.aar = NaN;
            this.aa8 = NaN;
            this.afy = null;
            this.af5 = null;
            this.ack = null;
            this.aco = null;
            this.acm = null;
            this.acq = null;
            this.acf = null;
            this.acg = null;
            this.aft = null;
            this.af0 = null;
            this.aal = DeviceUtils.g(1);
            this.aa2 = DeviceUtils.g(1);
            this.aam = DeviceUtils.g(1);
            this.aa3 = DeviceUtils.g(1);
            this.afv = null;
            this.af2 = null;
            this.afw = null;
            this.af3 = null;
            this.aan = DeviceUtils.g(1);
            this.aa4 = DeviceUtils.g(1);
            this.aao = DeviceUtils.g(8);
            this.aa5 = 0;
            this.afx = null;
            this.af4 = null;
            this.aap = DeviceUtils.g(1);
            this.aa6 = DeviceUtils.g(1);
            this.acl = null;
            this.acp = null;
            this.afu = null;
            this.af1 = null;
            this.aag = 0;
            this.aax = 0;
            this.aaf = NaN;
            this.aaw = NaN;
            this.aaq = 0;
            this.aa7 = -90;
            this.aab = false;
            this.aac = false;
            this.afl = 1;
            this.ago = 1;
            this.afk = 1;
            this.afm = 2;
            this.agm = 0;
            this.agn = 1;
            this.ags = 0;
            this.agt = 0;
            this.z9 = 4;
            this.z7 = 4;
            this.acj = null;
            this.zv = null;
            this.acn = null;
            this.zw = null;
        }
        provideContainer(a) {
            if (a != null) {
                let b = this.zz();
                let c = this.z0();
                if (b != null) {
                    b.provideRenderer(a);
                }
                if (c != null) {
                    c.provideRenderer(a);
                }
            }
            super.provideContainer(a);
        }
        u2() {
            super.u2();
            let a = this.zz();
            let b = this.z0();
            if (a != null && a.az != null) {
                this.af8 = a.az.textColor;
            }
            if (b != null && b.az != null) {
                this.agf = b.az.textColor;
            }
            this.agd = AxisDefaults.j;
            this.agk = AxisDefaults.j;
            this.af9 = AxisDefaults.h;
            this.agg = AxisDefaults.h;
            this.agc = AxisDefaults.g;
            this.agj = AxisDefaults.g;
        }
        vu(a, b, c) {
            super.vu(a, b, c);
            switch (a) {
                case "XAxisLabelLeftMargin":
                    this.afc((d) => d.leftMargin = this.abk);
                    break;
                case "XAxisLabelTopMargin":
                    this.afc((d) => d.topMargin = this.abm);
                    break;
                case "XAxisLabelRightMargin":
                    this.afc((d) => d.rightMargin = this.abl);
                    break;
                case "XAxisLabelBottomMargin":
                    this.afc((d) => d.bottomMargin = this.abj);
                    break;
                case "YAxisLabelLeftMargin":
                    this.afh((d) => d.leftMargin = this.ab1);
                    break;
                case "YAxisLabelTopMargin":
                    this.afh((d) => d.topMargin = this.ab3);
                    break;
                case "YAxisLabelRightMargin":
                    this.afh((d) => d.rightMargin = this.ab2);
                    break;
                case "YAxisLabelBottomMargin":
                    this.afh((d) => d.bottomMargin = this.ab0);
                    break;
                case "ActualItemsSource":
                case "ShouldDisplayMockData":
                case "ShouldUseSkeletonStyleForMockData":
                    this.af6 = this.yt(this.af8);
                    this.af7 = this.yt(this.agf);
                    break;
                case "XAxisLabelTextColor":
                    this.af6 = this.yt(this.af8);
                    break;
                case "YAxisLabelTextColor":
                    this.af7 = this.yt(this.agf);
                    break;
                case "ActualXAxisLabelTextColor":
                    this.afc((d) => d.textColor = this.af6);
                    break;
                case "ActualYAxisLabelTextColor":
                    this.afh((d) => d.textColor = this.af7);
                    break;
                case "XAxisTitleMargin":
                    this.afe((d) => d.margin = this.abv);
                    break;
                case "YAxisTitleMargin":
                    this.afj((d) => d.margin = this.acc);
                    break;
                case "XAxisTitleLeftMargin":
                    this.afe((d) => d.leftMargin = this.abu);
                    break;
                case "YAxisTitleLeftMargin":
                    this.afj((d) => d.leftMargin = this.acb);
                    break;
                case "XAxisTitleTopMargin":
                    this.afe((d) => d.topMargin = this.abx);
                    break;
                case "YAxisTitleTopMargin":
                    this.afj((d) => d.topMargin = this.ace);
                    break;
                case "XAxisTitleRightMargin":
                    this.afe((d) => d.rightMargin = this.abw);
                    break;
                case "YAxisTitleRightMargin":
                    this.afj((d) => d.rightMargin = this.acd);
                    break;
                case "XAxisTitleBottomMargin":
                    this.afe((d) => d.bottomMargin = this.abt);
                    break;
                case "YAxisTitleBottomMargin":
                    this.afj((d) => d.bottomMargin = this.aca);
                    break;
                case "XAxisTitleTextColor":
                    this.afe((d) => d.textColor = this.age);
                    break;
                case "YAxisTitleTextColor":
                    this.afj((d) => d.textColor = this.agl);
                    break;
                case "XAxisFormatLabel":
                    this.afa((d) => d.au = this.z3);
                    break;
                case "YAxisFormatLabel":
                    this.aff((d) => d.au = this.z4);
                    break;
            }
        }
        get z3() {
            return this.z1;
        }
        set z3(a) {
            let b = this.z3;
            if (a != b) {
                this.z1 = a;
                this.vr("XAxisFormatLabel", b, this.z3);
            }
        }
        get z4() {
            return this.z2;
        }
        set z4(a) {
            let b = this.z4;
            if (a != b) {
                this.z2 = a;
                this.vr("YAxisFormatLabel", b, this.z4);
            }
        }
        get abk() {
            return this.aai;
        }
        set abk(a) {
            let b = this.abk;
            if (a != b) {
                this.aai = a;
                this.vr("XAxisLabelLeftMargin", b, this.abk);
            }
        }
        get abm() {
            return this.aak;
        }
        set abm(a) {
            let b = this.abm;
            if (a != b) {
                this.aak = a;
                this.vr("XAxisLabelTopMargin", b, this.abm);
            }
        }
        get abl() {
            return this.aaj;
        }
        set abl(a) {
            let b = this.abl;
            if (a != b) {
                this.aaj = a;
                this.vr("XAxisLabelRightMargin", b, this.abl);
            }
        }
        get abj() {
            return this.aah;
        }
        set abj(a) {
            let b = this.abj;
            if (a != b) {
                this.aah = a;
                this.vr("XAxisLabelBottomMargin", b, this.abj);
            }
        }
        get ab1() {
            return this.aaz;
        }
        set ab1(a) {
            let b = this.ab1;
            if (a != b) {
                this.aaz = a;
                this.vr("YAxisLabelLeftMargin", b, this.ab1);
            }
        }
        get ab3() {
            return this.aa1;
        }
        set ab3(a) {
            let b = this.ab3;
            if (a != b) {
                this.aa1 = a;
                this.vr("YAxisLabelTopMargin", b, this.ab3);
            }
        }
        get ab2() {
            return this.aa0;
        }
        set ab2(a) {
            let b = this.ab2;
            if (a != b) {
                this.aa0 = a;
                this.vr("YAxisLabelRightMargin", b, this.ab2);
            }
        }
        get ab0() {
            return this.aay;
        }
        set ab0(a) {
            let b = this.ab0;
            if (a != b) {
                this.aay = a;
                this.vr("YAxisLabelBottomMargin", b, this.ab0);
            }
        }
        get af8() {
            return this.afs;
        }
        set af8(a) {
            let b = this.af8;
            if (a != b) {
                this.afs = a;
                this.vr("XAxisLabelTextColor", b, this.af8);
            }
        }
        get agf() {
            return this.afz;
        }
        set agf(a) {
            let b = this.agf;
            if (a != b) {
                this.afz = a;
                this.vr("YAxisLabelTextColor", b, this.agf);
            }
        }
        get af6() {
            return this.afq;
        }
        set af6(a) {
            let b = this.afq;
            if (a != b) {
                this.afq = a;
                this.vr("ActualXAxisLabelTextColor", b, this.af6);
            }
        }
        get af7() {
            return this.afr;
        }
        set af7(a) {
            let b = this.afr;
            if (a != b) {
                this.afr = a;
                this.vr("ActualYAxisLabelTextColor", b, this.af7);
            }
        }
        get abv() {
            return this.aat;
        }
        set abv(a) {
            let b = this.abv;
            if (a != b) {
                this.aat = a;
                this.vr("XAxisTitleMargin", b, this.abv);
            }
        }
        get acc() {
            return this.aba;
        }
        set acc(a) {
            let b = this.acc;
            if (a != b) {
                this.aba = a;
                this.vr("YAxisTitleMargin", b, this.acc);
            }
        }
        get abu() {
            return this.aas;
        }
        set abu(a) {
            let b = this.abu;
            if (a != b) {
                this.aas = a;
                this.vr("XAxisTitleLeftMargin", b, this.abu);
            }
        }
        get acb() {
            return this.aa9;
        }
        set acb(a) {
            let b = this.acb;
            if (a != b) {
                this.aa9 = a;
                this.vr("YAxisTitleLeftMargin", b, this.acb);
            }
        }
        get abx() {
            return this.aav;
        }
        set abx(a) {
            let b = this.abx;
            if (a != b) {
                this.aav = a;
                this.vr("XAxisTitleTopMargin", b, this.abx);
            }
        }
        get ace() {
            return this.abc;
        }
        set ace(a) {
            let b = this.ace;
            if (a != b) {
                this.abc = a;
                this.vr("YAxisTitleTopMargin", b, this.ace);
            }
        }
        get abw() {
            return this.aau;
        }
        set abw(a) {
            let b = this.abw;
            if (a != b) {
                this.aau = a;
                this.vr("XAxisTitleRightMargin", b, this.abw);
            }
        }
        get acd() {
            return this.abb;
        }
        set acd(a) {
            let b = this.acd;
            if (a != b) {
                this.abb = a;
                this.vr("YAxisTitleRightMargin", b, this.acd);
            }
        }
        get abt() {
            return this.aar;
        }
        set abt(a) {
            let b = this.abt;
            if (a != b) {
                this.aar = a;
                this.vr("XAxisTitleBottomMargin", b, this.abt);
            }
        }
        get aca() {
            return this.aa8;
        }
        set aca(a) {
            let b = this.aca;
            if (a != b) {
                this.aa8 = a;
                this.vr("YAxisTitleBottomMargin", b, this.aca);
            }
        }
        get age() {
            return this.afy;
        }
        set age(a) {
            let b = this.age;
            if (a != b) {
                this.afy = a;
                this.vr("XAxisTitleTextColor", b, this.age);
            }
        }
        get agl() {
            return this.af5;
        }
        set agl(a) {
            let b = this.agl;
            if (a != b) {
                this.af5 = a;
                this.vr("YAxisTitleTextColor", b, this.agl);
            }
        }
        vv(a, b, c) {
            super.vv(a, b, c);
            switch (a) {
                case "XAxisLabelTextStyle":
                    this.afc((d) => d.textStyle = this.ac8);
                    break;
                case "YAxisLabelTextStyle":
                    this.afh((d) => d.textStyle = this.aed);
                    break;
                case "XAxisTitleTextStyle":
                    this.afe((d) => d.textStyle = this.adw);
                    break;
                case "YAxisTitleTextStyle":
                    this.afj((d) => d.textStyle = this.ae1);
                    break;
            }
        }
        get ac8() {
            return this.ack;
        }
        set ac8(a) {
            let b = this.ac8;
            if (a != b) {
                this.ack = a;
                this.vr("XAxisLabelTextStyle", b, this.ac8);
            }
        }
        get aed() {
            return this.aco;
        }
        set aed(a) {
            let b = this.aed;
            if (a != b) {
                this.aco = a;
                this.vr("YAxisLabelTextStyle", b, this.aed);
            }
        }
        get adw() {
            return this.acm;
        }
        set adw(a) {
            let b = this.adw;
            if (a != b) {
                this.acm = a;
                this.vr("XAxisTitleTextStyle", b, this.adw);
            }
        }
        get ae1() {
            return this.acq;
        }
        set ae1(a) {
            let b = this.ae1;
            if (a != b) {
                this.acq = a;
                this.vr("YAxisTitleTextStyle", b, this.ae1);
            }
        }
        ae7(a) {
            this.ae4(a, (b) => b.leftMargin = this.abk);
            this.ae4(a, (b) => b.topMargin = this.abm);
            this.ae4(a, (b) => b.rightMargin = this.abl);
            this.ae4(a, (b) => b.bottomMargin = this.abj);
            this.ae4(a, (b) => b.textColor = this.af6);
            this.ae5(a, (b) => b.textColor = this.age);
            this.ae5(a, (b) => b.leftMargin = this.abu);
            this.ae5(a, (b) => b.topMargin = this.abx);
            this.ae5(a, (b) => b.rightMargin = this.abw);
            this.ae5(a, (b) => b.bottomMargin = this.abt);
            this.ae4(a, (b) => b.textStyle = this.ac8);
            this.ae5(a, (b) => b.textStyle = this.adw);
        }
        ae9(a) {
            this.ae4(a, (b) => b.leftMargin = this.ab1);
            this.ae4(a, (b) => b.topMargin = this.ab3);
            this.ae4(a, (b) => b.rightMargin = this.ab2);
            this.ae4(a, (b) => b.bottomMargin = this.ab0);
            this.ae4(a, (b) => b.textColor = this.af7);
            this.ae5(a, (b) => b.textColor = this.agl);
            this.ae5(a, (b) => b.leftMargin = this.acb);
            this.ae5(a, (b) => b.topMargin = this.ace);
            this.ae5(a, (b) => b.rightMargin = this.acd);
            this.ae5(a, (b) => b.bottomMargin = this.aca);
            this.ae4(a, (b) => b.textStyle = this.aed);
            this.ae5(a, (b) => b.textStyle = this.ae1);
        }
        wl(a) {
            let b = this.be(a);
            let c = this.dc(a, b);
            if (c == null) {
                return;
            }
            c.itemsSource = this.hz(a);
            if (a.highlightedData != null) {
                c.highlightedItemsSource = this.h0(a);
            }
            c.name = this.ql(a);
            c.title = this.qm(a, b);
            this.dataChart.series.add(c);
        }
        afa(a) {
            this.afb(a, null);
        }
        afb(a, b) {
            a(this.zz());
        }
        afg(a, b) {
            a(this.z0());
        }
        aff(a) {
            this.afg(a, true);
        }
        ul(a, b) {
            this.afa(a);
            this.afg(a, b);
        }
        afe(a) {
            this.ae5(this.zz(), a);
        }
        afj(a) {
            this.ae5(this.z0(), a);
        }
        afh(a) {
            this.ae4(this.z0(), a);
        }
        afc(a) {
            this.ae4(this.zz(), a);
        }
        abd(a) {
            let b = this.zz();
            return b.el(a, new ScalerParams(1, this.y2, this.y1, b.ch));
        }
        abf(a) {
            let b = this.zz();
            return b.eo(a, new ScalerParams(1, this.y2, this.y1, b.ch));
        }
        abe(a) {
            let b = this.z0();
            return b.el(a, new ScalerParams(1, this.y2, this.y1, b.ch));
        }
        abg(a) {
            let b = this.z0();
            return b.eo(a, new ScalerParams(1, this.y2, this.y1, b.ch));
        }
        wi(a) {
            super.wi(a);
            if (a == null) {
                return;
            }
            if (a.axes != null) {
                let b = this.zz();
                let c = this.z0();
                if (a.axes.contains(b)) {
                    a.axes.remove(b);
                }
                if (a.axes.contains(c)) {
                    a.axes.remove(c);
                }
            }
        }
        static act(a, b) {
            for (let c of fromEnum(b)) {
                let d = c.findMatchingHint(16);
                if (d != null) {
                    let e = d.path;
                    return e;
                }
            }
            return null;
        }
        ux(a, b) {
            super.ux(a, b);
            if (a == this.dataChart) {
                this.dataChart.axes.add(this.zz());
                this.dataChart.axes.add(this.z0());
            }
        }
        ae6(a) {
            if (a != null && this.lr != null && a.fn == null) {
                a.provideRenderer(this.lr);
            }
            a.jz = this.af9;
            a.et = this.abn;
            a.j0 = this.aga;
            a.ew = this.abo;
            a.j2 = this.agc;
            a.fi = this.abp;
            a.j1 = this.agb;
            a.fj = this.abq;
            a.j3 = this.agd;
            a.fk = this.abr;
            a.c4 = true;
            a.cu = this.shouldAvoidAxisAnnotationCollisions;
            a.cw = this.shouldAvoidAxisAnnotationCollisions;
            let b = a == this.zz();
            if (b) {
                a.g8 = this.adn;
            }
            a.f2 = this.ach;
            a.gi = this.acz;
            a.ah = this.zx;
            this.ae4(a, (c) => c.angle = this.abi);
            this.ae4(a, (c) => {
                if (c.extent != this.abh) {
                    c.extent = this.abh;
                }
            });
            this.ae4(a, (c) => c.horizontalAlignment = this.afn);
            this.ae4(a, (c) => c.verticalAlignment = this.agp);
            this.ae4(a, (c) => c.visibility = this.agu);
            this.ae4(a, (c) => c.location = this.z5(this.z8));
            this.ae5(a, (c) => c.horizontalAlignment = this.afo);
            this.ae5(a, (c) => c.angle = this.abs);
            this.ae7(a);
        }
        ae8(a) {
            if (a == null) {
                return;
            }
            if (this.lr != null && a.fn == null) {
                a.provideRenderer(this.lr);
            }
            a.cu = this.shouldAvoidAxisAnnotationCollisions;
            a.cw = this.shouldAvoidAxisAnnotationCollisions;
            this.ae4(a, (b) => b.angle = this.abz);
            this.ae4(a, (b) => {
                if (b.extent != this.aby) {
                    b.extent = this.aby;
                }
            });
            this.ae4(a, (b) => b.horizontalAlignment = this.afp);
            this.ae4(a, (b) => b.verticalAlignment = this.agq);
            this.ae4(a, (b) => b.visibility = this.agv);
            this.ae4(a, (b) => b.location = this.z6(this.aaa));
            this.ae5(a, (b) => b.verticalAlignment = this.agr);
            this.ae5(a, (b) => b.angle = this.ab9);
            a.jz = this.agg;
            a.et = this.ab4;
            a.j0 = this.agh;
            a.ew = this.ab5;
            a.j2 = this.agj;
            a.fi = this.ab6;
            a.j1 = this.agi;
            a.fj = this.ab7;
            a.j3 = this.agk;
            a.fk = this.ab8;
            let b = a == this.z0();
            if (b) {
                a.g8 = this.aes;
            }
            a.gi = this.ad4;
            a.ah = this.zy;
            this.ae9(a);
        }
        uu() {
            super.uu();
            this.ae6(this.zz());
            this.ae8(this.z0());
        }
        ae4(a, b) {
            if (a == null) {
                return;
            }
            if (a.az == null) {
                a.az = new AxisLabelSettings();
                a.az.angle = a.d7();
                a.az.bottomMargin = a.d8();
                a.az.leftMargin = a.d9();
                a.az.rightMargin = a.ea();
                a.az.topMargin = a.eb();
                a.az.horizontalAlignment = a.ju();
                a.az.location = a.a0();
                a.az.verticalAlignment = a.ko();
            }
            b(a.az);
        }
        ae5(a, b) {
            if (a == null) {
                return;
            }
            if (a.bf == null) {
                a.bf = new TitleSettings();
                a.bf.bottomMargin = a.ed();
                a.bf.leftMargin = a.ee();
                a.bf.rightMargin = a.ef();
                a.bf.topMargin = a.eg();
                a.bf.location = a.a1();
                a.bf.angle = a.ec();
                a.bf.horizontalAlignment = a.jv();
                a.bf.verticalAlignment = a.kp();
            }
            b(a.bf);
        }
        vr(a, b, c) {
            super.vr(a, b, c);
            switch (a) {
                case "XAxisLabelAngle":
                    this.afc((d) => d.angle = this.abi);
                    break;
                case "YAxisLabelAngle":
                    this.afh((d) => d.angle = this.abz);
                    break;
                case "XAxisLabelHorizontalAlignment":
                    this.afc((d) => d.horizontalAlignment = this.afn);
                    break;
                case "YAxisLabelHorizontalAlignment":
                    this.afh((d) => d.horizontalAlignment = this.afp);
                    break;
                case "XAxisLabelVerticalAlignment":
                    this.afc((d) => d.verticalAlignment = this.agp);
                    break;
                case "YAxisLabelVerticalAlignment":
                    this.afh((d) => d.verticalAlignment = this.agq);
                    break;
                case "XAxisLabelVisibility":
                    this.afc((d) => d.visibility = this.agu);
                    break;
                case "YAxisLabelVisibility":
                    this.afh((d) => d.visibility = this.agv);
                    break;
                case "XAxisLabel":
                    this.afa((d) => d.f2 = this.ach);
                    break;
                case "YAxisLabel":
                    this.aff((d) => d.f2 = this.aci);
                    break;
                case "XAxisLabelFormat":
                    this.afa((d) => d.gi = this.acz);
                    break;
                case "XAxisLabelFormatSpecifiers":
                    this.afa((d) => d.ah = this.zx);
                    break;
                case "YAxisLabelFormat":
                    this.aff((d) => d.gi = this.ad4);
                    break;
                case "YAxisLabelFormatSpecifiers":
                    this.aff((d) => d.ah = this.zy);
                    break;
                case "XAxisTitleAngle":
                    this.afe((d) => d.angle = this.abs);
                    break;
                case "YAxisTitleAngle":
                    this.afj((d) => d.angle = this.ab9);
                    break;
                case "XAxisTitleAlignment":
                    this.afe((d) => d.horizontalAlignment = this.afo);
                    break;
                case "YAxisTitleAlignment":
                    this.afj((d) => d.verticalAlignment = this.agr);
                    break;
                case "XAxisTitle":
                    this.afa((d) => d.g8 = this.adn);
                    break;
                case "YAxisTitle":
                    this.afg((d) => d.g8 = this.aes, false);
                    break;
                case "XAxisMajorStroke":
                    this.afb((d) => d.jz = this.af9, a);
                    break;
                case "YAxisMajorStroke":
                    this.aff((d) => d.jz = this.agg);
                    break;
                case "XAxisMajorStrokeThickness":
                    this.afb((d) => d.et = this.abn, a);
                    break;
                case "YAxisMajorStrokeThickness":
                    this.aff((d) => d.et = this.ab4);
                    break;
                case "XAxisMinorStroke":
                    this.afa((d) => d.j0 = this.aga);
                    break;
                case "YAxisMinorStroke":
                    this.aff((d) => d.j0 = this.agh);
                    break;
                case "XAxisMinorStrokeThickness":
                    this.afa((d) => d.ew = this.abo);
                    break;
                case "YAxisMinorStrokeThickness":
                    this.aff((d) => d.ew = this.ab5);
                    break;
                case "XAxisTickLength":
                    this.afa((d) => d.fj = this.abq);
                    break;
                case "YAxisTickLength":
                    this.aff((d) => d.fj = this.ab7);
                    break;
                case "XAxisTickStroke":
                    this.afa((d) => d.j3 = this.agd);
                    break;
                case "YAxisTickStroke":
                    this.aff((d) => d.j3 = this.agk);
                    break;
                case "XAxisTickStrokeThickness":
                    this.afa((d) => d.fk = this.abr);
                    break;
                case "YAxisTickStrokeThickness":
                    this.aff((d) => d.fk = this.ab8);
                    break;
                case "XAxisStroke":
                    this.afa((d) => d.j2 = this.agc);
                    break;
                case "YAxisStroke":
                    this.aff((d) => d.j2 = this.agj);
                    break;
                case "XAxisStrokeThickness":
                    this.afa((d) => d.fi = this.abp);
                    break;
                case "YAxisStrokeThickness":
                    this.aff((d) => d.fi = this.ab6);
                    break;
                case "XAxisExtent":
                    this.afc((d) => d.extent = this.abh);
                    break;
                case "YAxisExtent":
                    this.afh((d) => d.extent = this.aby);
                    break;
                case "XAxisStrip":
                    this.afa((d) => d.j1 = this.agb);
                    break;
                case "YAxisStrip":
                    this.aff((d) => d.j1 = this.agi);
                    break;
                case "XAxisInverted":
                    this.afa((d) => d.ch = this.aad);
                    break;
                case "YAxisInverted":
                    this.aff((d) => d.ch = this.aae);
                    break;
                case "YAxisLabelLocation":
                    this.afi();
                    break;
                case "XAxisLabelLocation":
                    this.afd();
                    break;
            }
        }
        afi() {
            let a = this.z6(this.aaa);
            if (a == 2 || a == 7) {
                this.afp = 2;
            }
            else {
                this.afp = 0;
            }
            this.afh((b) => b.location = a);
        }
        afd() {
            let a = this.z5(this.z8);
            if (a == 1 || a == 5) {
                this.agp = 0;
            }
            else {
                this.agp = 2;
            }
            this.afc((b) => b.location = a);
        }
        z6(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.cb == 1) {
                    return 3;
                }
                else {
                    return 2;
                }
            }
        }
        z5(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 ach() {
            return this.acf;
        }
        set ach(a) {
            let b = this.ach;
            if (a != b) {
                this.acf = a;
                this.vr("XAxisLabel", b, this.ach);
            }
        }
        get aci() {
            return this.acg;
        }
        set aci(a) {
            let b = this.aci;
            if (a != b) {
                this.acg = a;
                this.vr("YAxisLabel", b, this.aci);
            }
        }
        get af9() {
            return this.aft;
        }
        set af9(a) {
            let b = this.af9;
            if (a != b) {
                this.aft = a;
                this.vr("XAxisMajorStroke", b, this.af9);
            }
        }
        get agg() {
            return this.af0;
        }
        set agg(a) {
            let b = this.agg;
            if (a != b) {
                this.af0 = a;
                this.vr("YAxisMajorStroke", b, this.agg);
            }
        }
        get abn() {
            return this.aal;
        }
        set abn(a) {
            let b = this.abn;
            if (a != b) {
                this.aal = a;
                this.vr("XAxisMajorStrokeThickness", b, this.abn);
            }
        }
        get ab4() {
            return this.aa2;
        }
        set ab4(a) {
            let b = this.ab4;
            if (a != b) {
                this.aa2 = a;
                this.vr("YAxisMajorStrokeThickness", b, this.ab4);
            }
        }
        get abo() {
            return this.aam;
        }
        set abo(a) {
            let b = this.abo;
            if (a != b) {
                this.aam = a;
                this.vr("XAxisMinorStrokeThickness", b, this.abo);
            }
        }
        get ab5() {
            return this.aa3;
        }
        set ab5(a) {
            let b = this.ab5;
            if (a != b) {
                this.aa3 = a;
                this.vr("YAxisMinorStrokeThickness", b, this.ab5);
            }
        }
        get agb() {
            return this.afv;
        }
        set agb(a) {
            let b = this.agb;
            if (a != b) {
                this.afv = a;
                this.vr("XAxisStrip", b, this.agb);
            }
        }
        get agi() {
            return this.af2;
        }
        set agi(a) {
            let b = this.agi;
            if (a != b) {
                this.af2 = a;
                this.vr("YAxisStrip", b, this.agi);
            }
        }
        get agc() {
            return this.afw;
        }
        set agc(a) {
            let b = this.agc;
            if (a != b) {
                this.afw = a;
                this.vr("XAxisStroke", b, this.agc);
            }
        }
        get agj() {
            return this.af3;
        }
        set agj(a) {
            let b = this.agj;
            if (a != b) {
                this.af3 = a;
                this.vr("YAxisStroke", b, this.agj);
            }
        }
        get abp() {
            return this.aan;
        }
        set abp(a) {
            let b = this.abp;
            if (a != b) {
                this.aan = a;
                this.vr("XAxisStrokeThickness", b, this.abp);
            }
        }
        get ab6() {
            return this.aa4;
        }
        set ab6(a) {
            let b = this.ab6;
            if (a != b) {
                this.aa4 = a;
                this.vr("YAxisStrokeThickness", b, this.ab6);
            }
        }
        get abq() {
            return this.aao;
        }
        set abq(a) {
            let b = this.abq;
            if (a != b) {
                this.aao = a;
                this.vr("XAxisTickLength", b, this.abq);
            }
        }
        get ab7() {
            return this.aa5;
        }
        set ab7(a) {
            let b = this.ab7;
            if (a != b) {
                this.aa5 = a;
                this.vr("YAxisTickLength", b, this.ab7);
            }
        }
        get agd() {
            return this.afx;
        }
        set agd(a) {
            let b = this.agd;
            if (a != b) {
                this.afx = a;
                this.vr("XAxisTickStroke", b, this.agd);
            }
        }
        get agk() {
            return this.af4;
        }
        set agk(a) {
            let b = this.agk;
            if (a != b) {
                this.af4 = a;
                this.vr("YAxisTickStroke", b, this.agk);
            }
        }
        get abr() {
            return this.aap;
        }
        set abr(a) {
            let b = this.abr;
            if (a != b) {
                this.aap = a;
                this.vr("XAxisTickStrokeThickness", b, this.abr);
            }
        }
        get ab8() {
            return this.aa6;
        }
        set ab8(a) {
            let b = this.ab8;
            if (a != b) {
                this.aa6 = a;
                this.vr("YAxisTickStrokeThickness", b, this.ab8);
            }
        }
        get adn() {
            return this.acl;
        }
        set adn(a) {
            let b = this.adn;
            if (a != b) {
                this.acl = a;
                this.vr("XAxisTitle", b, this.adn);
            }
        }
        get aes() {
            return this.acp;
        }
        set aes(a) {
            let b = this.aes;
            if (a != b) {
                this.acp = a;
                this.vr("YAxisTitle", b, this.aes);
            }
        }
        get aga() {
            return this.afu;
        }
        set aga(a) {
            let b = this.aga;
            if (a != b) {
                this.afu = a;
                this.vr("XAxisMinorStroke", b, this.aga);
            }
        }
        get agh() {
            return this.af1;
        }
        set agh(a) {
            let b = this.agh;
            if (a != b) {
                this.af1 = a;
                this.vr("YAxisMinorStroke", b, this.agh);
            }
        }
        get abi() {
            return this.aag;
        }
        set abi(a) {
            let b = this.abi;
            if (a != b) {
                this.aag = a;
                this.vr("XAxisLabelAngle", b, this.abi);
            }
        }
        get abz() {
            return this.aax;
        }
        set abz(a) {
            let b = this.abz;
            if (a != b) {
                this.aax = a;
                this.vr("YAxisLabelAngle", b, this.abz);
            }
        }
        get abh() {
            return this.aaf;
        }
        set abh(a) {
            let b = this.abh;
            if (a != b) {
                this.aaf = a;
                this.vr("XAxisExtent", b, this.abh);
            }
        }
        get aby() {
            return this.aaw;
        }
        set aby(a) {
            let b = this.aby;
            if (a != b) {
                this.aaw = a;
                this.vr("YAxisExtent", b, this.aby);
            }
        }
        get abs() {
            return this.aaq;
        }
        set abs(a) {
            let b = this.abs;
            if (a != b) {
                this.aaq = a;
                this.vr("XAxisTitleAngle", b, this.abs);
            }
        }
        get ab9() {
            return this.aa7;
        }
        set ab9(a) {
            let b = this.ab9;
            if (a != b) {
                this.aa7 = a;
                this.vr("YAxisTitleAngle", b, this.ab9);
            }
        }
        get aad() {
            return this.aab;
        }
        set aad(a) {
            let b = this.aad;
            if (a != b) {
                this.aab = a;
                this.vr("XAxisInverted", b, this.aad);
            }
        }
        get aae() {
            return this.aac;
        }
        set aae(a) {
            let b = this.aae;
            if (a != b) {
                this.aac = a;
                this.vr("YAxisInverted", b, this.aae);
            }
        }
        get afo() {
            return this.afl;
        }
        set afo(a) {
            let b = this.afo;
            if (a != b) {
                this.afl = a;
                this.vr("XAxisTitleAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.afo));
            }
        }
        get agr() {
            return this.ago;
        }
        set agr(a) {
            let b = this.agr;
            if (a != b) {
                this.ago = a;
                this.vr("YAxisTitleAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.agr));
            }
        }
        get afn() {
            return this.afk;
        }
        set afn(a) {
            let b = this.afn;
            if (a != b) {
                this.afk = a;
                this.vr("XAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.afn));
            }
        }
        get_afp() {
            return this.afm;
        }
        set_afp(a) {
            let b = this.afp;
            if (a != b) {
                this.afm = a;
                this.vr("YAxisLabelHorizontalAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.afp));
            }
        }
        get afp() {
            return this.get_afp();
        }
        set afp(a) {
            this.set_afp(a);
        }
        get agp() {
            return this.agm;
        }
        set agp(a) {
            let b = this.agp;
            if (a != b) {
                this.agm = a;
                this.vr("XAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.agp));
            }
        }
        get agq() {
            return this.agn;
        }
        set agq(a) {
            let b = this.agq;
            if (a != b) {
                this.agn = a;
                this.vr("YAxisLabelVerticalAlignment", enumGetBox(VerticalAlignment_$type, b), enumGetBox(VerticalAlignment_$type, this.agq));
            }
        }
        get agu() {
            return this.ags;
        }
        set agu(a) {
            let b = this.agu;
            if (a != b) {
                this.ags = a;
                this.vr("XAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.agu));
            }
        }
        get agv() {
            return this.agt;
        }
        set agv(a) {
            let b = this.agv;
            if (a != b) {
                this.agt = a;
                this.vr("YAxisLabelVisibility", enumGetBox(Visibility_$type, b), enumGetBox(Visibility_$type, this.agv));
            }
        }
        get_aaa() {
            return this.z9;
        }
        set_aaa(a) {
            let b = this.aaa;
            if (a != b) {
                this.z9 = a;
                this.vr("YAxisLabelLocation", enumGetBox(YAxisLabelLocation_$type, b), enumGetBox(YAxisLabelLocation_$type, this.aaa));
            }
        }
        get aaa() {
            return this.get_aaa();
        }
        set aaa(a) {
            this.set_aaa(a);
        }
        get_z8() {
            return this.z7;
        }
        set_z8(a) {
            let b = this.z8;
            if (a != b) {
                this.z7 = a;
                this.vr("XAxisLabelLocation", enumGetBox(XAxisLabelLocation_$type, b), enumGetBox(XAxisLabelLocation_$type, this.z8));
            }
        }
        get z8() {
            return this.get_z8();
        }
        set z8(a) {
            this.set_z8(a);
        }
        get acz() {
            return this.acj;
        }
        set acz(a) {
            let b = this.acj;
            if (a != b) {
                this.acj = a;
                this.vr("XAxisLabelFormat", b, this.acj);
            }
        }
        get zx() {
            return this.zv;
        }
        set zx(a) {
            let b = this.zv;
            if (a != b) {
                this.zv = a;
                this.vr("XAxisLabelFormatSpecifiers", b, this.zv);
            }
        }
        get ad4() {
            return this.acn;
        }
        set ad4(a) {
            let b = this.acn;
            if (a != b) {
                this.acn = a;
                this.vr("YAxisLabelFormat", b, this.acn);
            }
        }
        get zy() {
            return this.zw;
        }
        set zy(a) {
            let b = this.zw;
            if (a != b) {
                this.zw = a;
                this.vr("YAxisLabelFormatSpecifiers", b, this.zw);
            }
        }
    }
    XYChart.$t = markType(XYChart, 'XYChart', DomainChart.$);
    return XYChart;
})();
