text:
# https://github.com/JuliaGraphics/Cairo.jl
# https://www.cairographics.org
# https://www.cairographics.org/tutorial/
#
"""
    get_paddings(u::Tuple)

Return the top, right, bottom, and left padding in this order from the given value or tuple.

It follows the CSS standards:
    * If a single value is given, it is used in all paddings;
    * If two values are given, the first value gives the top and bottom paddings,
    and the second value gives the right and left values;
    * If three values are given, the first value gives the top paddings, the second
    value gives the right and left paddings, and the third value gives the bottom padding.
    * If four values are given, they yield, in the order, the top, right, bottom, and left
    paddings.
"""
function get_paddings(u::Tuple)
    if any(x -> (x < 0 || x > 1), u)
        throw(ArgumentError("padding is relative to the dimensions and should be between 0.0 and 1.0"))
    end
    if length(u) == 1
        return u[1], u[1], u[1], u[1]
    elseif length(u) == 2
        return u[1], u[2], u[1], u[2]
    elseif length(u) == 2
        return u[1], u[2], u[3], u[1]
    elseif length(u) == 4
        return u[1], u[2], u[3], u[4]
    else
        throw(ArgumentError("padding should either be a Real or a tuple with length between 1 and 4"))
    end
    return nothing
end

function get_paddings(u::Real)
    return get_paddings(Tuple(u))
end

function get_limits(v::AbstractVector{<:Number})
    vmin, vmax = minimum(v), maximum(v)
    if vmin ≈ vmax
        let vunit = oneunit(v)
            vmin -= vunit
            vmax += vunit
        end
    end
    return vmin, vmax
end

function get_limits(v::AbstractVector{<:Date})
    vmin, vmax = minimum(v), maximum(v)
    if vmin == vmax
        let vunit = oneunit(vmax - vmin)
            vmin -= vunit
            vmax += vunit
        end
    end
    return vmin, vmax
end

"""
    npos(v, beginoffset, endoffset, vmin, vmax)

Proportional transformation to map the coordinate to the pixel position.

    * `beginoffset` and `endoffset` are the offsets defining the pixel window
    to draw onto.
    * `vmin` and `vmax` are the values to be taken to `beginoffset` and
    `endoffset`, respectively.
    * `v` is the coordinate value we want to map from.
"""
function npos(v, beginoffset, endoffset, vmin, vmax)
    return  beginoffset .+ (endoffset - beginoffset) * (v - vmin)/(vmax - vmin)
end

function npos(v::Date, beginoffset, endoffset, vmin::Date, vmax::Date)
    return  beginoffset .+ (endoffset - beginoffset) * (v - vmin).value/(vmax - vmin).value
end

function get_tickvalues(vmin::Number, vmax::Number, nticks::Int)
    tstep = round(( vmax - vmin ) / nticks, sigdigits = 1)
    tickvalues = floor(vmin, sigdigits=1) : tstep : ceil(vmax, sigdigits=1)
    return tickvalues
end

function get_tickvalues(vmin::Date, vmax::Date, nticks::Int)
    tstep = div( ( vmax - vmin ), nticks)
    tickvalues = vmin : tstep : vmax
    return tickvalues
end

function crplot(
    x, y; Nx=512, Ny=384, title="", xticks=6, yticks=4,
    padding=(0.01, 0.04, 0.02, 0.01), plotstyle = :lineplot, marker_width = 4,
    titlefontsize = 12, tickfontsize = 10, fontface = "JuliaMono"
    )

    c = CairoRGBSurface(Nx,Ny)
    ctx = CairoContext(c)

    # Set font face
    select_font_face(ctx, fontface, Cairo.FONT_SLANT_NORMAL, Cairo.FONT_WEIGHT_BOLD)

    # colors
    background_frame_color = (0.25,0.25,0.25)
    background_plot_color = (0.15,0.15,0.15)
    title_color = (1.0, 1.0, 1.0)
    axes_color = (0.8, 0.8, 0.8)
    tickvalues_color = (1.0, 1.0, 1.0)
    series_color = (1.0, 0.25, 0.25)

    # line widths
    guide_lines_width = 1.0
    bar_width = 0.1
    series_width = 2.0

    # paddings and tick length
    toppadding, rightpadding, bottompadding, leftpadding = get_paddings(padding)
    titlepadding = 0.02
    titlespacing = 0.01
    ticklength = 0.02*min(Nx,Ny)
    innerpadding = 0.03
    tickvaluepadding = 0.01

    # background for frame around plot
    rectangle(ctx,0.0,0.0,Nx,Ny)
    set_source_rgb(ctx, background_frame_color...)
    fill(ctx)

    # inner offset
    xinneroffset = innerpadding * Nx
    yinneroffset = innerpadding * Ny

    # show title and calculate top offset (top offset from frame to canvas)
    set_font_size(ctx, titlefontsize)
    titlelines = strip.(split(title, '\n'))
    set_source_rgb(ctx, title_color...)
    Nw = 0.0
    topoffset = (toppadding+titlepadding)*Ny
    for i in 1:length(titlelines)
        width, height = text_extents(ctx, titlelines[i])[3:4]
        Nw = max(Nw, width)
        topoffset += height + titlespacing*Ny
        move_to(ctx, (Nx-width)/2, topoffset)
        show_text(ctx,titlelines[i])
    end
    topoffset += (toppadding+titlepadding)*Ny

    # calculate plot size
    xmin, xmax = get_limits(x)
    ymin, ymax = get_limits(y)

    # Set tick values offsets
    xvalueoffset = tickvaluepadding*Nx
    yvalueoffset = tickvaluepadding*Ny

    # calculate tick values
    if xticks !== nothing
        if xticks isa AbstractVector
            xtickvalues = xticks
        elseif xticks isa Int
            xtickvalues = get_tickvalues(xmin, xmax, xticks)
        else
            throw(Argument(
                "`xticks` should be one of the following:\n" *
                "  `nothing`,\n  an `AbstractVector`,\n  an `Int`.")
            )
        end
    end
    if yticks !== nothing
        if yticks isa AbstractVector
            ytickvalues = yticks
        elseif yticks isa Int
            ytickvalues = get_tickvalues(ymin, ymax, yticks)
        else
            throw(Argument(
                "`yticks` should be one of the following:\n" *
                "  `nothing`,\n  an `AbstractVector`,\n  an `Int`.")
            )
        end
    end

    set_font_size(ctx, tickfontsize)

    # calculate left offset
    leftoffset = 0.0
    if yticks !== nothing
        for yt in ytickvalues
            leftoffset = max(leftoffset, text_extents(ctx, string(yt))[3])
        end
    end
    leftoffset += xvalueoffset + leftpadding*Nx

    # calculate bottom offset
    bottomoffset = 0.0
    if xticks !== nothing
        for xt in xtickvalues
            bottomoffset = max(bottomoffset, text_extents(ctx, string(xt))[4])
        end
    end
    bottomoffset += yvalueoffset + bottompadding*Ny

    # set right offset
    rightoffset = rightpadding*Nx

    # background for plot
    rectangle(ctx,leftoffset,topoffset,Nx-rightoffset-leftoffset,Ny-bottomoffset-topoffset)
    set_source_rgb(ctx,background_plot_color...)
    fill(ctx)

    # draw axes
    move_to(ctx, leftoffset, topoffset)
    line_to(ctx, leftoffset, Ny - bottomoffset)
    line_to(ctx, Nx-rightoffset, Ny - bottomoffset)
    line_to(ctx, Nx-rightoffset, topoffset)
    line_to(ctx, leftoffset, topoffset)

    set_line_width(ctx, guide_lines_width)
    set_source_rgb(ctx, axes_color...)
    stroke(ctx)

    # draw ticks and grid
    if xticks !== nothing
        for xt in xtickvalues
            nt = npos(xt, leftoffset + xinneroffset,
                Nx - rightoffset - xinneroffset, xmin, xmax)
            if leftoffset ≤ nt ≤ Nx - rightoffset
                # draw bottom tick
                move_to(ctx, nt, Ny - bottomoffset)
                line_to(ctx, nt, Ny - bottomoffset - ticklength)
                set_line_width(ctx, guide_lines_width)
                set_source_rgb(ctx, axes_color...)
                stroke(ctx)
                # draw vertical bar
                move_to(ctx, nt, Ny - bottomoffset - ticklength)
                line_to(ctx, nt, topoffset + ticklength)
                set_line_width(ctx, bar_width)
                set_source_rgb(ctx, axes_color...)
                stroke(ctx)
                # draw top tick
                move_to(ctx, nt, topoffset + ticklength)
                line_to(ctx, nt, topoffset)
                set_line_width(ctx, guide_lines_width)
                set_source_rgb(ctx, axes_color...)
                stroke(ctx)

                # show tick value
                width, height = text_extents(ctx, string(xt))[3:4]
                move_to(ctx, nt-width/2, Ny-bottomoffset+yvalueoffset+height)
                set_source_rgb(ctx, tickvalues_color...)
                show_text(ctx,string(xt))
            end
        end
    end

    if yticks !== nothing
        for yt in ytickvalues
            nt = Ny - npos(yt, bottomoffset - yinneroffset,
                Ny - topoffset - yinneroffset, ymin, ymax)
            if topoffset ≤ nt ≤ Ny - bottomoffset
                # draw left tick
                move_to(ctx, leftoffset, nt)
                line_to(ctx, leftoffset + ticklength, nt)
                set_line_width(ctx, guide_lines_width)
                set_source_rgb(ctx, axes_color...)
                stroke(ctx)

                # draw horizontal bar
                move_to(ctx, leftoffset + ticklength, nt)
                line_to(ctx, Nx - rightoffset - ticklength, nt)
                set_line_width(ctx, bar_width)
                set_source_rgb(ctx, axes_color...)
                stroke(ctx)

                # draw right tick
                move_to(ctx, Nx - rightoffset - ticklength, nt)
                line_to(ctx, Nx - rightoffset, nt)
                set_line_width(ctx, guide_lines_width)
                set_source_rgb(ctx, axes_color...)
                stroke(ctx)

                # show tick value
                width, height = text_extents(ctx, string(yt))[3:4]
                move_to(ctx, leftoffset-xvalueoffset-width, nt+height/2)
                set_source_rgb(ctx, tickvalues_color...)
                show_text(ctx, string(yt))
            end
        end
    end

    # draw series
    nx = npos.(x, leftoffset + xinneroffset,
        Nx - rightoffset - xinneroffset, xmin, xmax)
    ny = Ny .- npos.(y, bottomoffset + yinneroffset,
        Ny - topoffset - yinneroffset, ymin, ymax)

    set_source_rgb(ctx, series_color...)

    if plotstyle == :lineplot
        move_to(ctx, nx[1], ny[1])
        for i in 2:length(nx)
            line_to(ctx, nx[i], ny[i])
        end
        set_line_width(ctx, series_width)
        stroke(ctx)
    elseif plotstyle == :scatterplot
        for i in 1:length(nx)
            circle(ctx, nx[i], ny[i], marker_width)
            fill(ctx)
        end
    end

    # Cairo.save(ctx) # not sure if needed, but I saw it in examples; it saves the state internally

    return c
end

nothing


text:
"""
    function read_g012(file)
---
This function read a `plink 012` genotype `file`.
It return a named tuple, with an `ID` string vector,
and `genotype` Int8 matrix.

Note, this function doesn't do error check.
The file integrity should be checked before this function.

The genotype matrix is of `nLoci` by `nID`, i.e., ID column majored.
Genotypes of the same ID are in the same column.
"""
function read_g012(file)
    # Determine the dimensions of the genotypes
    nid = countlines(file)
    nlc = length(split(readline(file))) - 1
    id = String[]
    genotype = zeros(Int8, nlc, nid)
    i = 1
    for line in eachline(file)
        # ToDo: speed up this reading using buffer.
        t = split(line)
        push!(id, t[1])
        genotype[:, i] = parse.(Int8, t[2:end])
        i += 1
    end
    return (ID = id, genotype = genotype)
end

ext: jl


text:
function test_data_MAG()
    Gxy_ref = [-1.48832445586882e-05 -2.38131912939011e-05;-3.74480983768149e-05 -4.74342579439655e-05;-9.88286473483331e-05 -9.22400708584442e-05;-0.000250110427509461 -0.000150066256505677;-0.000497833614888636 -0.00013275563063697;-0.000598457719018984 3.98971812679322e-05;-0.000395901951889955 0.000158360780755982;-0.000175111735223911 0.000128415272497535;-1.63831608865433e-05 -3.93195861277039e-05;-5.05152563971814e-05 -9.59789871546447e-05;-0.000183569363079999 -0.000256997108311999;-0.000750334140605396 -0.000675300726544857;-0.00259220560492793 -0.00103688224197117;-0.0037791642636553 0.000377916426365529;-0.00167170585717121 0.00100302351430272;-0.00042532473843958 0.000467857212283538;-1.1587198298914e-05 -5.5618551834787e-05;-4.24458623312784e-05 -0.000161294276858858;-0.00021266236921979 -0.000595454633815413;-0.00165757577066079 -0.00298363638718943;-0.0188672776270426 -0.0150938221016341;-0.0523463839091415 0.0104692767818283;-0.0071101313599369 0.00853215763192428;-0.000686112859379168 0.00150944829063417;0 -6.30314950837131e-05;0 -0.000196045427909072;0 -0.000838274791737913;0 -0.0061358146223629;0 -0.107695764643754;0 0.305729163252822;0 0.0306582431048522;0 0.00253957008577427;1.1587198298914e-05 -5.5618551834787e-05;4.24458623312784e-05 -0.000161294276858858;0.00021266236921979 -0.000595454633815413;0.00165757577066079 -0.00298363638718943;0.0188672776270426 -0.0150938221016341;0.0523463839091416 0.0104692767818283;0.00711013135993691 0.0085321576319243;0.000686112859379168 0.00150944829063417;1.63831608865433e-05 -3.93195861277039e-05;5.05152563971814e-05 -9.59789871546448e-05;0.000183569363079999 -0.000256997108311999;0.000750334140605397 -0.000675300726544858;0.00259220560492794 -0.00103688224197118;0.00377916426365531 0.00037791642636553;0.00167170585717121 0.00100302351430272;0.000425324738439581 0.000467857212283539;1.48832445586882e-05 -2.38131912939011e-05;3.74480983768149e-05 -4.74342579439655e-05;9.88286473483331e-05 -9.22400708584442e-05;0.000250110427509461 -0.000150066256505677;0.000497833614888636 -0.00013275563063697;0.000598457719018984 3.98971812679322e-05;0.000395901951889955 0.000158360780755982;0.000175111735223911 0.000128415272497535;1.10499256752187e-05 -1.32599108102625e-05;2.30914220539258e-05 -2.19368509512295e-05;4.75035680381937e-05 -3.32524976267356e-05;8.92042935697188e-05 -4.01419321063735e-05;0.000136454672754206 -2.72909345508412e-05;0.000151907039868104 7.59535199340517e-06;0.000118946735100136 3.56840205300408e-05;7.05587095750352e-05 3.88072902662694e-05];

    MAG_test_currents = [0.325889474557272 0.383002734173719 0.16870451305051 0.271494061943109 0.110769193984356 0.175497743862559 0.283745932343229 0.383897583406432;0.362316774830248 0.385955414079711 0.366294210075627 0.303096052231333 0.0184685562524616 0.152623382837203 0.301874672792944 0.136154290666453;0.0507947265174024 0.0630452326710193 0.316882931823822 0.297252987249966 0.038852712494339 0.306206715259601 0.110410030799431 0.234107100391911;0.365350342455608 0.388237112704246 0.383796970557161 0.156890807813667 0.329383131330917 0.318079960454825 0.27188107074147 0.0895247757964548;0.252943698490164 0.382866779297178 0.262296279662635 0.262191156071023 0.277931449190327 0.0747490418217514 0.262039201589536 0.300506823722261;0.0390161619997638 0.194150259489137 0.0142846714296758 0.0684746751246247 0.126839792024344 0.195905758315292 0.0650446940778522 0.102038046183708;0.111399287546819 0.32011218755552 0.339651722347511 0.282418435207844 0.380088819535342 0.17823448028436 0.0475990726233507 0.202382820666057;0.218752607681994 0.0567545354508861 0.37359729910302 0.0127331385509683 0.0137784322011635 0.258525204044506 0.199345620792857 0.279630689062674];

    MAG_fi_ref = [0.708157649839171 0.864181120564711 0.250618584778323 0.546012931117899 0.117710941886086 0.268362783358537 0.582990065513411 0.866430415933501;0.810284272995857 0.871575162941893 0.820914420835082 0.641039672940589 0.00370040025590568 0.21021162690719 0.637397426289994 0.171444931465102;0.0268567997106885 0.0407112159023159 0.681855816318776 0.623583605289569 0.0159581865925271 0.650298496813268 0.117008381913807 0.433853221436948;0.818402644458665 0.877233556139509 0.866177878763711 0.220702645053078 0.718267545277951 0.685369896057451 0.547181638402449 0.0792048331206948;0.490088547383563 0.863838748227292 0.51824963279822 0.517932588205338 0.565450137023924 0.0563402561093351 0.517474321035633 0.633314094679435;0.016089354181147 0.318877256249583 0.00222533393714341 0.0476790169791484 0.150827779767663 0.323753585407176 0.0432194060633783 0.101121983055249;0.118947568985047 0.691323445124944 0.747639109199778 0.578987808791188 0.856806764778999 0.275615441559596 0.0236822793663102 0.341907469265259;0.388801517791329 0.0332677318275154 0.84011228517068 0.00177159762174722 0.00207170719232372 0.506882596710115 0.333363765940953 0.570578441989521];

    MAG_F_ref = (-0.0184552462693713,0.14802915689219);

    return Gxy_ref, MAG_test_currents, MAG_fi_ref, MAG_F_ref
end

function test_data_DEP()
    Gamma_ref = [41.2852983574487 41.1674294631742 -33.7615068103785;112.724424201418 54.0413210021842 -37.640931509339;171.047043268624 0.670967755801142 -33.4768612237375;113.562089203212 -54.3332081110328 -36.5974092759513;41.3578039164159 -41.4755312511887 -33.71407386442;54.175430761883 113.163915914214 -36.7424392060159;271.246890260397 270.687969467419 77.3436927238062;616.530247637615 0.806322518686153 338.592190731318;270.521901156559 -271.489284766888 77.8262042707503;53.947611237522 -113.178558015495 -37.2097987910885;-0.532111057329399 170.498175679826 -33.4914072808022;-1.8198275542148 615.316482936338 336.832521421408;-2.2223334715864 2.38512743452405 1648.23543804161;-0.10078947628703 -616.97790306574 339.063608405428;0.0913875821335265 -170.980339016959 -33.5172491982466;-54.0978700711241 112.312830774013 -37.1844197722718;-270.921955182411 269.042461737538 75.6072513444723;-617.502005305626 1.75717623555472 335.022978109444;-272.728205664334 -269.915198652987 77.1394342240873;-54.5017416597165 -112.936571094134 -36.8458007647964;-41.0613361424956 40.7603679933642 -33.6838812532757;-111.780325315935 53.0186619033758 -38.1430467087846;-168.88982507666 0.151583200499108 -35.5611102455079;-112.112907216287 -53.0161333553779 -38.2324710397793;-41.2404075943894 -40.8217936772169 -33.7554100075737];

    Lambda_x = [-259170.4233397 -475779.6027444 96902.6080559736;-1267458.0604087 -883558.867432588 -158568.985068107;-2366752.74754613 -10250.6922066721 -501528.308944986;-1266295.07104806 891550.983770872 -183093.847945604;-255946.982819666 478494.588448192 96296.9471841694;146126.231061071 -889493.995431831 -39082.8701630588;-1078673.5353737 -3925794.83132594 -2746578.03532661;-5688610.54283989 6612.37201095255 -10430586.4876544;-1097397.54422701 3926049.67917494 -2710934.8500975;139184.636369098 883097.067593594 -30073.9455544923;786265.748965788 8579.74586599064 6610.06929228308;5738043.6641721 23777.9645855718 32569.3111341207;18628951.5138857 -33430.3572945936 46317.0915450109;5754050.75538953 -7252.98151377041 -12470.6226320933;789138.146138933 2205.18853864905 -6106.40501489531;135962.772214218 885615.40237937 30728.9508679963;-1093729.16954977 3920006.34171096 2722814.84269672;-5699747.58907288 34607.919621777 10438857.1426532;-1094485.72225086 -3942283.96384423 2765886.30292373;142079.896330474 -894245.516083904 38404.2548215725;-258488.204690207 472412.311558353 -97916.8847584054;-1267416.86235045 871541.511002272 144799.295623436;-2368187.55224591 3505.71491421619 450870.35025295;-1275122.91913017 -872849.367749576 144268.629284106;-261408.237013102 -473860.368763465 -98196.7184678339];
    Lambda_y = [-475779.6027444 -254614.838843182 98929.5694007042;-883558.867432588 131512.196634039 -29352.5318323678;-10250.6922066721 789761.784141088 -12891.7423525585;891550.983770872 146200.982317632 39940.0987845564;478494.588448192 -259654.712387669 -95446.0738369777;-889493.995431831 -1264225.34371853 -177581.068193319;-3925794.83132594 -1105986.18560341 -2714411.08717804;6612.37201095255 5745532.51164903 -13056.4328295101;3926049.67917494 -1088897.82567214 2741626.26182042;883097.067593594 -1268801.30810677 168868.714780177;8579.74586599064 -2359155.77954464 -497219.735485438;23777.9645855718 -5698690.29885017 -10391948.2048812;-33430.3572945936 18607821.5391295 -63041.3134852886;-7252.98151377041 -5686693.82168615 10448805.7858683;2205.18853864905 -2367263.20342021 499550.37626417;885615.40237937 -1256553.06964366 -165121.860878673;3920006.34171096 -1091098.95381958 -2688017.65426316;34607.919621777 5714884.0973528 -40324.9756045697;-3942283.96384423 -1085136.43400512 2717166.01533198;-894245.516083904 -1260857.61607379 174575.963625377;472412.311558353 -250114.557367282 99564.9243244543;871541.511002272 135868.132699439 -16620.2148944612;3505.71491421619 773115.113074383 254.375195827807;-872849.367749576 138343.624546725 17994.9875267588;-473860.368763465 -249659.276299217 -100392.38360857];
    Lambda_z = [96902.6080559736 98929.5694007042 513785.262182854;-158568.985068107 -29352.5318323678 1135945.86377465;-501528.308944986 -12891.7423525585 1576990.96340504;-183093.847945604 39940.0987845564 1120094.08873042;96296.9471841694 -95446.0738369777 515601.695207317;-39082.8701630588 -177581.068193319 1118099.11265746;-2746578.03532661 -2714411.08717804 2184659.72097712;-10430586.4876544 -13056.4328295101 -56921.9688091552;-2710934.8500975 2741626.26182042 2186295.36989915;-30073.9455544923 168868.714780177 1129616.67173767;6610.06929228308 -497219.735485438 1572890.03057886;32569.3111341207 -10391948.2048812 -39353.3653219329;46317.0915450109 -63041.3134852886 -37236773.0530151;-12470.6226320933 10448805.7858683 -67356.9337033745;-6106.40501489531 499550.37626417 1578125.05728129;30728.9508679963 -165121.860878673 1120590.29742942;2722814.84269672 -2688017.65426316 2184828.12336935;10438857.1426532 -40324.9756045697 -15136.508279923;2765886.30292373 2717166.01533198 2179622.15625603;38404.2548215725 174575.963625377 1118777.71974332;-97916.8847584054 99564.9243244543 508602.762057462;144799.295623436 -16620.2148944612 1131548.72965099;450870.35025295 254.375195827807 1595072.43917153;144268.629284106 17994.9875267588 1136779.29458343;-98196.7184678339 -100392.38360857 511067.51331231];

    DEP_test_phases = [4.52032930061494 4.08432650156559 4.56733882586942 2.34895416112916 3.65418800016197;0.729594133387073 0.36225303528011 6.15604645977144 1.78960025574676 3.73833377242993;6.04543605319071 1.16727925504212 1.2129049354475 2.14661321859088 5.86157035210292;2.45463652606772 1.71667120538135 0.954711659562535 2.49510844607674 2.35445069861814;0.823818000847767 2.73344144670666 0.574994187643745 3.86181507198343 0.0689836713677969];
    DEP_F_ref = (-1.19833731310733e-10, -9.3903057334697e-11, 1.63397569080767e-09);

    return Gamma_ref, Lambda_x, Lambda_y, Lambda_z, DEP_test_phases, DEP_F_ref
end

function test_data_ACU()
    C1ref = [0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978488-0.00193668406611477im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978488-0.00193668406611477im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377514+0.00331746232576439im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377512+0.00331746232576441im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978487-0.0019366840661148im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978487-0.0019366840661148im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im;0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763-4.60483726070982e-20im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.00104745278713111-0.00421004641115426im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713111-0.00421004641115426im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130967-0.00214780553351137im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763+6.76384651145179e-20im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130969-0.00214780553351134im 0.0037951521905763+6.76384651145179e-20im 0.00094464697648009+0.00322019589261906im 0.00104745278713114-0.00421004641115425im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713114-0.00421004641115425im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763-4.60483726070982e-20im 0.00094464697648009+0.00322019589261906im;0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763-4.60483726070982e-20im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.00104745278713111-0.00421004641115426im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713111-0.00421004641115426im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130967-0.00214780553351137im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763+6.76384651145179e-20im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130969-0.00214780553351134im 0.0037951521905763+6.76384651145179e-20im 0.00094464697648009+0.00322019589261906im 0.00104745278713114-0.00421004641115425im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713114-0.00421004641115425im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763-4.60483726070982e-20im 0.00094464697648009+0.00322019589261906im;0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978488-0.00193668406611477im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978488-0.00193668406611477im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377514+0.00331746232576439im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377512+0.00331746232576441im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978487-0.0019366840661148im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978487-0.0019366840661148im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im;0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978488-0.00193668406611477im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978488-0.00193668406611477im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377514+0.00331746232576439im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377512+0.00331746232576441im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978487-0.0019366840661148im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978487-0.0019366840661148im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im;-0.00331151437978488+0.00193668406611477im 0.00104745278713111+0.00421004641115426im 0.00104745278713111+0.00421004641115426im -0.00331151437978488+0.00193668406611477im -0.00331151437978488+0.00193668406611477im 0.00495939218776981+1.66014237455274e-19im 0.00112962188363067-0.00562894051077306im 0.00112962188363067-0.00562894051077306im 0.00495939218776981+1.66014237455274e-19im -0.00331151437978488+0.00193668406611477im 0.00104745278713111+0.00421004641115426im 0.00112962188363067-0.00562894051077306im -0.00634803633904732-0.00228279238036838im -0.00634803633904732-0.00228279238036838im 0.00112962188363067-0.00562894051077306im 0.00104745278713111+0.00421004641115426im 0.00104745278713111+0.00421004641115426im 0.00112962188363067-0.00562894051077306im -0.00634803633904732-0.00228279238036838im -0.00634803633904732-0.00228279238036838im 0.00112962188363063-0.00562894051077307im 0.00104745278713111+0.00421004641115426im -0.00331151437978488+0.00193668406611477im 0.00495939218776981+3.56118789998432e-17im 0.00112962188363067-0.00562894051077306im 0.00112962188363067-0.00562894051077306im 0.00495939218776981+3.56118789998432e-17im -0.00331151437978488+0.00193668406611477im -0.00331151437978488+0.00193668406611477im 0.00104745278713111+0.00421004641115426im 0.00104745278713111+0.00421004641115426im -0.00331151437978488+0.00193668406611477im;-0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im -0.00295242601377514-0.00331746232576439im 0.00112962188363067+0.00562894051077306im 0.00664618074672203-7.41592766850789e-20im 0.00664618074672203-7.41592766850789e-20im 0.00112962188363067+0.00562894051077306im -0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im 0.00664618074672203-7.41592766850789e-20im 0.00114506405742086-0.00772502147256087im 0.00114506405742086-0.00772502147256087im 0.00664618074672203+3.37689468253923e-19im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im 0.00664618074672203-7.41592766850789e-20im 0.00114506405742086-0.00772502147256087im 0.00114506405742086-0.00772502147256087im 0.00664618074672204-4.70333188981739e-17im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im 0.00112962188363063+0.00562894051077307im 0.00664618074672203-5.28906627571543e-19im 0.00664618074672203-5.28906627571543e-19im 0.00112962188363063+0.00562894051077307im -0.00295242601377514-0.00331746232576439im -0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im;-0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im -0.00295242601377514-0.00331746232576439im 0.00112962188363067+0.00562894051077306im 0.00664618074672203-7.41592766850789e-20im 0.00664618074672203-7.41592766850789e-20im 0.00112962188363067+0.00562894051077306im -0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im 0.00664618074672203-7.41592766850789e-20im 0.00114506405742086-0.00772502147256087im 0.00114506405742086-0.00772502147256087im 0.00664618074672203+3.37689468253923e-19im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im 0.00664618074672203-7.41592766850789e-20im 0.00114506405742086-0.00772502147256087im 0.00114506405742086-0.00772502147256087im 0.00664618074672204-4.70333188981739e-17im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im 0.00112962188363063+0.00562894051077307im 0.00664618074672203-5.28906627571543e-19im 0.00664618074672203-5.28906627571543e-19im 0.00112962188363063+0.00562894051077307im -0.00295242601377514-0.00331746232576439im -0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im;-0.00331151437978488+0.00193668406611477im 0.00104745278713111+0.00421004641115426im 0.00104745278713111+0.00421004641115426im -0.00331151437978488+0.00193668406611477im -0.00331151437978488+0.00193668406611477im 0.00495939218776981+1.66014237455274e-19im 0.00112962188363067-0.00562894051077306im 0.00112962188363067-0.00562894051077306im 0.00495939218776981+1.66014237455274e-19im -0.00331151437978488+0.00193668406611477im 0.00104745278713111+0.00421004641115426im 0.00112962188363067-0.00562894051077306im -0.00634803633904732-0.00228279238036838im -0.00634803633904732-0.00228279238036838im 0.00112962188363067-0.00562894051077306im 0.00104745278713111+0.00421004641115426im 0.00104745278713111+0.00421004641115426im 0.00112962188363067-0.00562894051077306im -0.00634803633904732-0.00228279238036838im -0.00634803633904732-0.00228279238036838im 0.00112962188363063-0.00562894051077307im 0.00104745278713111+0.00421004641115426im -0.00331151437978488+0.00193668406611477im 0.00495939218776981+3.56118789998432e-17im 0.00112962188363067-0.00562894051077306im 0.00112962188363067-0.00562894051077306im 0.00495939218776981+3.56118789998432e-17im -0.00331151437978488+0.00193668406611477im -0.00331151437978488+0.00193668406611477im 0.00104745278713111+0.00421004641115426im 0.00104745278713111+0.00421004641115426im -0.00331151437978488+0.00193668406611477im;0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978488-0.00193668406611477im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978488-0.00193668406611477im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377514+0.00331746232576439im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377512+0.00331746232576441im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978487-0.0019366840661148im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978487-0.0019366840661148im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im;0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763-4.60483726070982e-20im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.00104745278713111-0.00421004641115426im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713111-0.00421004641115426im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130967-0.00214780553351137im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763+6.76384651145179e-20im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130969-0.00214780553351134im 0.0037951521905763+6.76384651145179e-20im 0.00094464697648009+0.00322019589261906im 0.00104745278713114-0.00421004641115425im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713114-0.00421004641115425im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763-4.60483726070982e-20im 0.00094464697648009+0.00322019589261906im;-0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im -0.00295242601377514-0.00331746232576439im 0.00112962188363067+0.00562894051077306im 0.00664618074672203-7.41592766850789e-20im 0.00664618074672203-7.41592766850789e-20im 0.00112962188363067+0.00562894051077306im -0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im 0.00664618074672203-7.41592766850789e-20im 0.00114506405742086-0.00772502147256087im 0.00114506405742086-0.00772502147256087im 0.00664618074672203+3.37689468253923e-19im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im 0.00664618074672203-7.41592766850789e-20im 0.00114506405742086-0.00772502147256087im 0.00114506405742086-0.00772502147256087im 0.00664618074672204-4.70333188981739e-17im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im 0.00112962188363063+0.00562894051077307im 0.00664618074672203-5.28906627571543e-19im 0.00664618074672203-5.28906627571543e-19im 0.00112962188363063+0.00562894051077307im -0.00295242601377514-0.00331746232576439im -0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im;0.00334729849189637-0.00400324069380198im -0.00327861350925682-0.00490673240681282im -0.00327861350925682-0.00490673240681282im 0.00334729849189637-0.00400324069380198im 0.00334729849189637-0.00400324069380198im -0.00634803633904732+0.00228279238036838im 0.00114506405742086+0.00772502147256087im 0.00114506405742086+0.00772502147256087im -0.00634803633904732+0.00228279238036838im 0.00334729849189637-0.00400324069380198im -0.00327861350925682-0.00490673240681282im 0.00114506405742086+0.00772502147256087im 0.00917626690745707+2.39613301609981e-19im 0.00917626690745707+2.39613301609981e-19im 0.00114506405742086+0.00772502147256088im -0.00327861350925682-0.00490673240681282im -0.00327861350925682-0.00490673240681282im 0.00114506405742086+0.00772502147256087im 0.00917626690745707+2.39613301609981e-19im 0.00917626690745707+2.39613301609981e-19im 0.00114506405742092+0.00772502147256087im -0.00327861350925682-0.00490673240681282im 0.00334729849189637-0.00400324069380198im -0.00634803633904733+0.00228279238036833im 0.00114506405742086+0.00772502147256088im 0.00114506405742086+0.00772502147256088im -0.00634803633904733+0.00228279238036833im 0.00334729849189637-0.00400324069380198im 0.00334729849189637-0.00400324069380198im -0.00327861350925682-0.00490673240681282im -0.00327861350925682-0.00490673240681282im 0.00334729849189637-0.00400324069380198im;0.00334729849189637-0.00400324069380198im -0.00327861350925682-0.00490673240681282im -0.00327861350925682-0.00490673240681282im 0.00334729849189637-0.00400324069380198im 0.00334729849189637-0.00400324069380198im -0.00634803633904732+0.00228279238036838im 0.00114506405742086+0.00772502147256087im 0.00114506405742086+0.00772502147256087im -0.00634803633904732+0.00228279238036838im 0.00334729849189637-0.00400324069380198im -0.00327861350925682-0.00490673240681282im 0.00114506405742086+0.00772502147256087im 0.00917626690745707+2.39613301609981e-19im 0.00917626690745707+2.39613301609981e-19im 0.00114506405742086+0.00772502147256088im -0.00327861350925682-0.00490673240681282im -0.00327861350925682-0.00490673240681282im 0.00114506405742086+0.00772502147256087im 0.00917626690745707+2.39613301609981e-19im 0.00917626690745707+2.39613301609981e-19im 0.00114506405742092+0.00772502147256087im -0.00327861350925682-0.00490673240681282im 0.00334729849189637-0.00400324069380198im -0.00634803633904733+0.00228279238036833im 0.00114506405742086+0.00772502147256088im 0.00114506405742086+0.00772502147256088im -0.00634803633904733+0.00228279238036833im 0.00334729849189637-0.00400324069380198im 0.00334729849189637-0.00400324069380198im -0.00327861350925682-0.00490673240681282im -0.00327861350925682-0.00490673240681282im 0.00334729849189637-0.00400324069380198im;-0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im -0.00295242601377514-0.00331746232576439im 0.00112962188363067+0.00562894051077306im 0.00664618074672203-5.99207389290152e-19im 0.00664618074672203-5.99207389290152e-19im 0.00112962188363067+0.00562894051077306im -0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im 0.00664618074672203-5.99207389290152e-19im 0.00114506405742086-0.00772502147256088im 0.00114506405742086-0.00772502147256088im 0.00664618074672204-1.8735864435115e-19im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im 0.00664618074672203-5.99207389290152e-19im 0.00114506405742086-0.00772502147256088im 0.00114506405742086-0.00772502147256088im 0.00664618074672204-4.7558367010779e-17im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im 0.00112962188363063+0.00562894051077307im 0.00664618074672203-1.05395474017662e-18im 0.00664618074672203-1.05395474017662e-18im 0.00112962188363063+0.00562894051077307im -0.00295242601377514-0.00331746232576439im -0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im;0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763-4.60483726070982e-20im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.00104745278713111-0.00421004641115426im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713111-0.00421004641115426im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130967-0.00214780553351137im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763+6.76384651145179e-20im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130969-0.00214780553351134im 0.0037951521905763+6.76384651145179e-20im 0.00094464697648009+0.00322019589261906im 0.00104745278713114-0.00421004641115425im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713114-0.00421004641115425im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763-4.60483726070982e-20im 0.00094464697648009+0.00322019589261906im;0.00094464697648009+0.00322019589261906im 0.0037951521905763-1.68628283326964e-19im 0.0037951521905763-1.68628283326964e-19im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.00104745278713111-0.00421004641115426im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713111-0.00421004641115426im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-1.68628283326964e-19im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130967-0.00214780553351137im 0.0037951521905763-1.68628283326964e-19im 0.0037951521905763-5.49414456053476e-20im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130969-0.00214780553351134im 0.0037951521905763-5.49414456053476e-20im 0.00094464697648009+0.00322019589261906im 0.00104745278713114-0.00421004641115425im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713114-0.00421004641115425im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-1.68628283326964e-19im 0.0037951521905763-1.68628283326964e-19im 0.00094464697648009+0.00322019589261906im;-0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im -0.00295242601377514-0.00331746232576439im 0.00112962188363067+0.00562894051077306im 0.00664618074672203-7.41592766850789e-20im 0.00664618074672203-7.41592766850789e-20im 0.00112962188363067+0.00562894051077306im -0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im 0.00664618074672203-7.41592766850789e-20im 0.00114506405742086-0.00772502147256087im 0.00114506405742086-0.00772502147256087im 0.00664618074672203+3.37689468253923e-19im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im 0.00664618074672203-7.41592766850789e-20im 0.00114506405742086-0.00772502147256087im 0.00114506405742086-0.00772502147256087im 0.00664618074672204-4.70333188981739e-17im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im 0.00112962188363063+0.00562894051077307im 0.00664618074672203-5.28906627571543e-19im 0.00664618074672203-5.28906627571543e-19im 0.00112962188363063+0.00562894051077307im -0.00295242601377514-0.00331746232576439im -0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im;0.00334729849189637-0.00400324069380198im -0.00327861350925682-0.00490673240681282im -0.00327861350925682-0.00490673240681282im 0.00334729849189637-0.00400324069380198im 0.00334729849189637-0.00400324069380198im -0.00634803633904732+0.00228279238036838im 0.00114506405742086+0.00772502147256087im 0.00114506405742086+0.00772502147256087im -0.00634803633904732+0.00228279238036838im 0.00334729849189637-0.00400324069380198im -0.00327861350925682-0.00490673240681282im 0.00114506405742086+0.00772502147256087im 0.00917626690745707+2.39613301609981e-19im 0.00917626690745707+2.39613301609981e-19im 0.00114506405742086+0.00772502147256088im -0.00327861350925682-0.00490673240681282im -0.00327861350925682-0.00490673240681282im 0.00114506405742086+0.00772502147256087im 0.00917626690745707+2.39613301609981e-19im 0.00917626690745707+2.39613301609981e-19im 0.00114506405742092+0.00772502147256087im -0.00327861350925682-0.00490673240681282im 0.00334729849189637-0.00400324069380198im -0.00634803633904733+0.00228279238036833im 0.00114506405742086+0.00772502147256088im 0.00114506405742086+0.00772502147256088im -0.00634803633904733+0.00228279238036833im 0.00334729849189637-0.00400324069380198im 0.00334729849189637-0.00400324069380198im -0.00327861350925682-0.00490673240681282im -0.00327861350925682-0.00490673240681282im 0.00334729849189637-0.00400324069380198im;0.00334729849189637-0.00400324069380198im -0.00327861350925682-0.00490673240681282im -0.00327861350925682-0.00490673240681282im 0.00334729849189637-0.00400324069380198im 0.00334729849189637-0.00400324069380198im -0.00634803633904732+0.00228279238036838im 0.00114506405742086+0.00772502147256087im 0.00114506405742086+0.00772502147256087im -0.00634803633904732+0.00228279238036838im 0.00334729849189637-0.00400324069380198im -0.00327861350925682-0.00490673240681282im 0.00114506405742086+0.00772502147256087im 0.00917626690745707+2.39613301609981e-19im 0.00917626690745707+2.39613301609981e-19im 0.00114506405742086+0.00772502147256088im -0.00327861350925682-0.00490673240681282im -0.00327861350925682-0.00490673240681282im 0.00114506405742086+0.00772502147256087im 0.00917626690745707+2.39613301609981e-19im 0.00917626690745707+2.39613301609981e-19im 0.00114506405742092+0.00772502147256087im -0.00327861350925682-0.00490673240681282im 0.00334729849189637-0.00400324069380198im -0.00634803633904733+0.00228279238036833im 0.00114506405742086+0.00772502147256088im 0.00114506405742086+0.00772502147256088im -0.00634803633904733+0.00228279238036833im 0.00334729849189637-0.00400324069380198im 0.00334729849189637-0.00400324069380198im -0.00327861350925682-0.00490673240681282im -0.00327861350925682-0.00490673240681282im 0.00334729849189637-0.00400324069380198im;-0.00295242601377512-0.00331746232576441im -0.00453984568130969+0.00214780553351134im -0.00453984568130969+0.00214780553351134im -0.00295242601377512-0.00331746232576441im -0.00295242601377512-0.00331746232576441im 0.00112962188363063+0.00562894051077307im 0.00664618074672204+4.68504006046382e-17im 0.00664618074672204+4.68504006046382e-17im 0.00112962188363063+0.00562894051077307im -0.00295242601377512-0.00331746232576441im -0.00453984568130969+0.00214780553351134im 0.00664618074672204+4.68504006046382e-17im 0.00114506405742092-0.00772502147256087im 0.00114506405742092-0.00772502147256087im 0.00664618074672204+4.77169967004636e-17im -0.00453984568130969+0.00214780553351134im -0.00453984568130969+0.00214780553351134im 0.00664618074672204+4.68504006046382e-17im 0.00114506405742092-0.00772502147256087im 0.00114506405742092-0.00772502147256087im 0.00664618074672204-1.08759016850792e-19im -0.00453984568130969+0.00214780553351134im -0.00295242601377512-0.00331746232576441im 0.00112962188363059+0.00562894051077308im 0.00664618074672204+4.68504006046382e-17im 0.00664618074672204+4.68504006046382e-17im 0.00112962188363059+0.00562894051077308im -0.00295242601377512-0.00331746232576441im -0.00295242601377512-0.00331746232576441im -0.00453984568130969+0.00214780553351134im -0.00453984568130969+0.00214780553351134im -0.00295242601377512-0.00331746232576441im;0.00094464697648009+0.00322019589261906im 0.0037951521905763-1.68628283326964e-19im 0.0037951521905763-1.68628283326964e-19im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.00104745278713111-0.00421004641115426im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713111-0.00421004641115426im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-1.68628283326964e-19im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130967-0.00214780553351137im 0.0037951521905763-1.68628283326964e-19im 0.0037951521905763-5.49414456053476e-20im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130969-0.00214780553351134im 0.0037951521905763-5.49414456053476e-20im 0.00094464697648009+0.00322019589261906im 0.00104745278713114-0.00421004641115425im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713114-0.00421004641115425im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-1.68628283326964e-19im 0.0037951521905763-1.68628283326964e-19im 0.00094464697648009+0.00322019589261906im;0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978488-0.00193668406611477im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978488-0.00193668406611477im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377514+0.00331746232576439im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377512+0.00331746232576441im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978487-0.0019366840661148im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978487-0.0019366840661148im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im;-0.00331151437978487+0.0019366840661148im 0.00104745278713114+0.00421004641115425im 0.00104745278713114+0.00421004641115425im -0.00331151437978487+0.0019366840661148im -0.00331151437978487+0.0019366840661148im 0.00495939218776981-3.53005569980707e-17im 0.00112962188363063-0.00562894051077307im 0.00112962188363063-0.00562894051077307im 0.00495939218776981-3.53005569980707e-17im -0.00331151437978487+0.0019366840661148im 0.00104745278713114+0.00421004641115425im 0.00112962188363063-0.00562894051077307im -0.00634803633904733-0.00228279238036833im -0.00634803633904733-0.00228279238036833im 0.00112962188363063-0.00562894051077307im 0.00104745278713114+0.00421004641115425im 0.00104745278713114+0.00421004641115425im 0.00112962188363063-0.00562894051077307im -0.00634803633904733-0.00228279238036833im -0.00634803633904733-0.00228279238036833im 0.00112962188363059-0.00562894051077308im 0.00104745278713114+0.00421004641115425im -0.00331151437978487+0.0019366840661148im 0.00495939218776981+1.45307764317305e-19im 0.00112962188363063-0.00562894051077307im 0.00112962188363063-0.00562894051077307im 0.00495939218776981+1.45307764317305e-19im -0.00331151437978487+0.0019366840661148im -0.00331151437978487+0.0019366840661148im 0.00104745278713114+0.00421004641115425im 0.00104745278713114+0.00421004641115425im -0.00331151437978487+0.0019366840661148im;-0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im -0.00295242601377514-0.00331746232576439im 0.00112962188363067+0.00562894051077306im 0.00664618074672203+3.10287312482776e-19im 0.00664618074672203+3.10287312482776e-19im 0.00112962188363067+0.00562894051077306im -0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im 0.00664618074672203+3.10287312482776e-19im 0.00114506405742086-0.00772502147256087im 0.00114506405742086-0.00772502147256087im 0.00664618074672203+7.22136057421778e-19im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im 0.00664618074672203+3.10287312482776e-19im 0.00114506405742086-0.00772502147256087im 0.00114506405742086-0.00772502147256087im 0.00664618074672204-4.6648872309006e-17im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im 0.00112962188363063+0.00562894051077307im 0.00664618074672203-1.44460038403688e-19im 0.00664618074672203-1.44460038403688e-19im 0.00112962188363063+0.00562894051077307im -0.00295242601377514-0.00331746232576439im -0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im;-0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im -0.00295242601377514-0.00331746232576439im 0.00112962188363067+0.00562894051077306im 0.00664618074672203+3.10287312482776e-19im 0.00664618074672203+3.10287312482776e-19im 0.00112962188363067+0.00562894051077306im -0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im 0.00664618074672203+3.10287312482776e-19im 0.00114506405742086-0.00772502147256087im 0.00114506405742086-0.00772502147256087im 0.00664618074672203+7.22136057421778e-19im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im 0.00664618074672203+3.10287312482776e-19im 0.00114506405742086-0.00772502147256087im 0.00114506405742086-0.00772502147256087im 0.00664618074672204-4.6648872309006e-17im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im 0.00112962188363063+0.00562894051077307im 0.00664618074672203-1.44460038403688e-19im 0.00664618074672203-1.44460038403688e-19im 0.00112962188363063+0.00562894051077307im -0.00295242601377514-0.00331746232576439im -0.00295242601377514-0.00331746232576439im -0.00453984568130967+0.00214780553351137im -0.00453984568130967+0.00214780553351137im -0.00295242601377514-0.00331746232576439im;-0.00331151437978487+0.0019366840661148im 0.00104745278713114+0.00421004641115425im 0.00104745278713114+0.00421004641115425im -0.00331151437978487+0.0019366840661148im -0.00331151437978487+0.0019366840661148im 0.00495939218776981-3.53005569980707e-17im 0.00112962188363063-0.00562894051077307im 0.00112962188363063-0.00562894051077307im 0.00495939218776981-3.53005569980707e-17im -0.00331151437978487+0.0019366840661148im 0.00104745278713114+0.00421004641115425im 0.00112962188363063-0.00562894051077307im -0.00634803633904733-0.00228279238036833im -0.00634803633904733-0.00228279238036833im 0.00112962188363063-0.00562894051077307im 0.00104745278713114+0.00421004641115425im 0.00104745278713114+0.00421004641115425im 0.00112962188363063-0.00562894051077307im -0.00634803633904733-0.00228279238036833im -0.00634803633904733-0.00228279238036833im 0.00112962188363059-0.00562894051077308im 0.00104745278713114+0.00421004641115425im -0.00331151437978487+0.0019366840661148im 0.00495939218776981+1.45307764317305e-19im 0.00112962188363063-0.00562894051077307im 0.00112962188363063-0.00562894051077307im 0.00495939218776981+1.45307764317305e-19im -0.00331151437978487+0.0019366840661148im -0.00331151437978487+0.0019366840661148im 0.00104745278713114+0.00421004641115425im 0.00104745278713114+0.00421004641115425im -0.00331151437978487+0.0019366840661148im;0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978488-0.00193668406611477im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978488-0.00193668406611477im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377514+0.00331746232576439im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377512+0.00331746232576441im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978487-0.0019366840661148im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978487-0.0019366840661148im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im;0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978488-0.00193668406611477im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978488-0.00193668406611477im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377514+0.00331746232576439im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377512+0.00331746232576441im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978487-0.0019366840661148im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978487-0.0019366840661148im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im;0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763-4.60483726070982e-20im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.00104745278713111-0.00421004641115426im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713111-0.00421004641115426im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130967-0.00214780553351137im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763+6.76384651145179e-20im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130969-0.00214780553351134im 0.0037951521905763+6.76384651145179e-20im 0.00094464697648009+0.00322019589261906im 0.00104745278713114-0.00421004641115425im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713114-0.00421004641115425im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763-4.60483726070982e-20im 0.00094464697648009+0.00322019589261906im;0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763-4.60483726070982e-20im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.00104745278713111-0.00421004641115426im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713111-0.00421004641115426im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130967-0.00214780553351137im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763+6.76384651145179e-20im -0.00453984568130967-0.00214780553351137im -0.00327861350925682+0.00490673240681282im -0.00327861350925682+0.00490673240681282im -0.00453984568130969-0.00214780553351134im 0.0037951521905763+6.76384651145179e-20im 0.00094464697648009+0.00322019589261906im 0.00104745278713114-0.00421004641115425im -0.00453984568130967-0.00214780553351137im -0.00453984568130967-0.00214780553351137im 0.00104745278713114-0.00421004641115425im 0.00094464697648009+0.00322019589261906im 0.00094464697648009+0.00322019589261906im 0.0037951521905763-4.60483726070982e-20im 0.0037951521905763-4.60483726070982e-20im 0.00094464697648009+0.00322019589261906im;0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978488-0.00193668406611477im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978488-0.00193668406611477im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377514+0.00331746232576439im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im -0.00295242601377514+0.00331746232576439im 0.00334729849189637+0.00400324069380198im 0.00334729849189637+0.00400324069380198im -0.00295242601377512+0.00331746232576441im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im -0.00331151437978487-0.0019366840661148im -0.00295242601377514+0.00331746232576439im -0.00295242601377514+0.00331746232576439im -0.00331151437978487-0.0019366840661148im 0.00296747506594814+3.28573823040167e-22im 0.00296747506594814+3.28573823040167e-22im 0.00094464697648009-0.00322019589261906im 0.00094464697648009-0.00322019589261906im 0.00296747506594814+3.28573823040167e-22im];

    C2ref = [0.00336404692186542-2.53911070953098e-20im 0.00258247673576352-0.00254923683964431im 0.00333447032939478-0.000879958793480954im 0.00307342212525665-0.00175012836787023im -0.0038929066689399-0.00205087851411107im -0.00452790178639233+0.00164306106522615im -0.00443341152460889-0.000941261174161372im 0.00187950944988091-0.00321574391189503im -0.00107869389529323-0.00389261793653886im -0.0031347794794598+0.0040629193525893im 0.00116796518490688+0.00554946016158028im -0.00192306861281239+0.00494082439605269im -0.00310212513806486-0.00294026694687505im -0.00107869389529323-0.00389261793653886im -0.0031347794794598+0.0040629193525893im 0.00116796518490688+0.00554946016158028im -0.00192306861281239+0.00494082439605269im -0.00310212513806486-0.00294026694687505im 0.00307342212525665-0.00175012836787023im -0.0038929066689399-0.00205087851411107im -0.00452790178639233+0.00164306106522615im -0.00443341152460889-0.000941261174161371im 0.00187950944988091-0.00321574391189503im 0.00336404692186542-1.98905116184441e-19im 0.00258247673576352-0.00254923683964431im 0.00333447032939478-0.000879958793480954im;0.00258247673576352+0.00254923683964431im 0.00391427196504672+3.5200396448306e-21im 0.00322659453853497+0.00185130636892113im 0.00368560044943201+0.000985484206331812im -0.00143433369310835-0.00452439799379725im -0.00472102595216873-0.00216986481857083im -0.00269011838171719-0.00408216692196758im 0.00387969685892271-0.00104435793915677im 0.00212170142767282-0.00380566673897912im -0.00548530956796104+0.000743479336714599im -0.00330870693077702+0.0051452230132736im -0.00522038245315488+0.00233564123445607im -0.000153306179460577-0.00460790917321249im 0.00212170142767282-0.00380566673897912im -0.00548530956796104+0.000743479336714599im -0.00330870693077702+0.0051452230132736im -0.00522038245315488+0.00233564123445607im -0.000153306179460577-0.00460790917321249im 0.00368560044943201+0.000985484206331812im -0.00143433369310835-0.00452439799379725im -0.00472102595216874-0.00216986481857083im -0.00269011838171719-0.00408216692196757im 0.00387969685892271-0.00104435793915677im 0.00258247673576352+0.00254923683964431im 0.00391427196504673-5.50452722056289e-20im 0.00322659453853497+0.00185130636892113im;0.00333447032939478+0.000879958793480954im 0.00322659453853497-0.00185130636892113im 0.00353533114491866-3.8337216345461e-20im 0.00350419480084565-0.000930803393301232im -0.00332221680000606-0.00305114383016372im -0.00491788033222107+0.000444218351626814im -0.00414822042134345-0.00209266608854198im 0.00270415093445115-0.00269583391787643im -5.09890050345597e-05-0.00414055615608726im -0.00416998665618803+0.00320721069412901im -0.000293917129095349+0.00580618283322139im -0.00319856926941983+0.00439435345535513im -0.00230574384246748-0.00372586217722053im -5.09890050345597e-05-0.00414055615608726im -0.00416998665618803+0.00320721069412901im -0.000293917129095349+0.00580618283322139im -0.00319856926941983+0.00439435345535513im -0.00230574384246748-0.00372586217722053im 0.00350419480084565-0.000930803393301232im -0.00332221680000606-0.00305114383016372im -0.00491788033222107+0.000444218351626814im -0.00414822042134345-0.00209266608854198im 0.00270415093445115-0.00269583391787643im 0.00333447032939478+0.000879958793480954im 0.00322659453853497-0.00185130636892113im 0.00353533114491866+7.11864348915715e-20im;0.00307342212525665+0.00175012836787023im 0.00368560044943201-0.000985484206331812im 0.00350419480084565+0.000930803393301232im 0.00371840023476987-6.02778755484316e-20im -0.00248963377021908-0.00389896517525154im -0.00499152410822242-0.000854503281032633im -0.00356071644238062-0.00316640416777148im 0.00339011043448302-0.00196012595401147im 0.00103961076437791-0.00411751417249842im -0.00497767463244012+0.0020810648305343im -0.00182001552193868+0.00567766237815444im -0.00432737084152471+0.00351351284857768im -0.00130446915388825-0.00430011799165862im 0.00103961076437791-0.00411751417249842im -0.00497767463244012+0.0020810648305343im -0.00182001552193868+0.00567766237815444im -0.00432737084152471+0.00351351284857768im -0.00130446915388825-0.00430011799165862im 0.00371840023476987-6.02778755484316e-20im -0.00248963377021908-0.00389896517525154im -0.00499152410822242-0.000854503281032632im -0.00356071644238062-0.00316640416777147im 0.00339011043448302-0.00196012595401147im 0.00307342212525665+0.00175012836787024im 0.00368560044943201-0.000985484206331812im 0.00350419480084565+0.000930803393301232im;-0.0038929066689399+0.00205087851411107im -0.00143433369310835+0.00452439799379725im -0.00332221680000606+0.00305114383016372im -0.00248963377021908+0.00389896517525154im 0.00575521848012253+3.53790935208202e-20im 0.00423804446122324-0.00466178392580665im 0.00570422174668085-0.00161357634539645im -0.00021451983065319+0.00486712487915278im 0.00362139453800106+0.00384695234406878im 0.00115065277814469-0.00661275488738567im -0.00473478772373414-0.00570984181113195im -0.000786761906027846-0.00688995988432294im 0.00538233097382468+0.00151130561799452im 0.00362139453800106+0.00384695234406878im 0.00115065277814469-0.00661275488738567im -0.00473478772373414-0.00570984181113195im -0.000786761906027846-0.00688995988432294im 0.00538233097382468+0.00151130561799452im -0.00248963377021908+0.00389896517525154im 0.00575521848012253+3.53790935208202e-20im 0.00423804446122324-0.00466178392580665im 0.00570422174668084-0.00161357634539645im -0.00021451983065319+0.00486712487915279im -0.0038929066689399+0.00205087851411107im -0.00143433369310835+0.00452439799379726im -0.00332221680000606+0.00305114383016372im;-0.00452790178639233-0.00164306106522615im -0.00472102595216873+0.00216986481857083im -0.00491788033222107-0.000444218351626814im -0.00499152410822242+0.000854503281032632im 0.00423804446122324+0.00466178392580665im 0.00689691457645046-1.89688904488254e-19im 0.00550750414751693+0.00343226604216155im -0.00410038805445105+0.00341030433608345im -0.000449336466752085+0.00576619532955093im 0.00620371792936015-0.00393747946786715im 0.00113841167090756-0.00803985477259482im 0.00500157768110199-0.00571093355470025im 0.00273928397151035+0.00547264096567082im -0.000449336466752085+0.00576619532955093im 0.00620371792936015-0.00393747946786715im 0.00113841167090756-0.00803985477259482im 0.00500157768110199-0.00571093355470025im 0.00273928397151035+0.00547264096567082im -0.00499152410822242+0.000854503281032632im 0.00423804446122324+0.00466178392580665im 0.00689691457645046-1.43757589170293e-19im 0.00550750414751692+0.00343226604216155im -0.00410038805445105+0.00341030433608345im -0.00452790178639233-0.00164306106522615im -0.00472102595216874+0.00216986481857083im -0.00491788033222107-0.000444218351626814im;-0.00443341152460889+0.000941261174161372im -0.00269011838171719+0.00408216692196758im -0.00414822042134345+0.00209266608854198im -0.00356071644238062+0.00316640416777148im 0.00570422174668085+0.00161357634539645im 0.00550750414751693-0.00343226604216155im 0.00610607129496523+1.31753164373093e-19im -0.00157720272298063+0.00476385310997447im 0.00251074502603633+0.00482818608525819im 0.00299445859851962-0.00623155389380679im -0.00309197878042412-0.00698672786090324im 0.0011519305373284-0.00704949074428106im 0.00491091736838149+0.00300694480570527im 0.00251074502603633+0.00482818608525819im 0.00299445859851962-0.00623155389380679im -0.00309197878042412-0.00698672786090324im 0.0011519305373284-0.00704949074428106im 0.00491091736838149+0.00300694480570527im -0.00356071644238062+0.00316640416777148im 0.00570422174668085+0.00161357634539645im 0.00550750414751693-0.00343226604216155im 0.00610607129496523-3.91108695522966e-19im -0.00157720272298063+0.00476385310997447im -0.00443341152460889+0.000941261174161372im -0.00269011838171719+0.00408216692196758im -0.00414822042134345+0.00209266608854198im;0.00187950944988091+0.00321574391189503im 0.00387969685892271+0.00104435793915677im 0.00270415093445115+0.00269583391787643im 0.00339011043448302+0.00196012595401147im -0.00021451983065319-0.00486712487915278im -0.00410038805445105-0.00341030433608345im -0.00157720272298063-0.00476385310997447im 0.00412406990785624+5.21752494396351e-20im 0.00311834148116125-0.00320596465316476im -0.00563522336871417-0.000726610765451291im -0.004652266002896+0.00421698628990318im -0.00579743744807356+0.000922172024002298im 0.00107747368162263-0.00460811037971394im 0.00311834148116125-0.00320596465316476im -0.00563522336871417-0.000726610765451291im -0.004652266002896+0.00421698628990318im -0.00579743744807356+0.000922172024002298im 0.00107747368162263-0.00460811037971394im 0.00339011043448302+0.00196012595401147im -0.00021451983065319-0.00486712487915278im -0.00410038805445105-0.00341030433608345im -0.00157720272298063-0.00476385310997446im 0.00412406990785624+5.28410269197404e-20im 0.00187950944988091+0.00321574391189503im 0.00387969685892271+0.00104435793915677im 0.00270415093445115+0.00269583391787643im;-0.00107869389529323+0.00389261793653886im 0.00212170142767282+0.00380566673897912im -5.09890050345597e-05+0.00414055615608726im 0.00103961076437791+0.00411751417249842im 0.00362139453800106-0.00384695234406878im -0.000449336466752085-0.00576619532955093im 0.00251074502603633-0.00482818608525819im 0.00311834148116125+0.00320596465316476im 0.00485012703406628-8.59245681353284e-20im -0.00369612123368403-0.00493011706339376im -0.00679592336520446-0.000427974580583384im -0.00510050534104268-0.00380952132560028im 0.00439695986650573-0.00264673476752682im 0.00485012703406628-8.59245681353284e-20im -0.00369612123368403-0.00493011706339376im -0.00679592336520446-0.000427974580583384im -0.00510050534104268-0.00380952132560028im 0.00439695986650573-0.00264673476752682im 0.00103961076437791+0.00411751417249842im 0.00362139453800106-0.00384695234406878im -0.000449336466752086-0.00576619532955093im 0.00251074502603633-0.00482818608525819im 0.00311834148116125+0.00320596465316476im -0.00107869389529323+0.00389261793653886im 0.00212170142767282+0.00380566673897912im -5.09890050345599e-05+0.00414055615608726im;-0.0031347794794598-0.0040629193525893im -0.00548530956796104-0.000743479336714599im -0.00416998665618803-0.00320721069412901im -0.00497767463244012-0.0020810648305343im 0.00115065277814469+0.00661275488738567im 0.00620371792936015+0.00393747946786715im 0.00299445859851962+0.00623155389380679im -0.00563522336871417+0.000726610765451292im -0.00369612123368403+0.00493011706339376im 0.00782811793715534-3.3911437293432e-21im 0.00561398108622869-0.00658185890499777im 0.00775927556534528-0.00228151462309326im -0.000660391875117861+0.00648646503857185im -0.00369612123368403+0.00493011706339376im 0.00782811793715534-3.3911437293432e-21im 0.00561398108622869-0.00658185890499777im 0.00775927556534528-0.00228151462309326im -0.000660391875117861+0.00648646503857185im -0.00497767463244012-0.0020810648305343im 0.00115065277814469+0.00661275488738567im 0.00620371792936016+0.00393747946786715im 0.00299445859851962+0.00623155389380679im -0.00563522336871417+0.000726610765451292im -0.0031347794794598-0.0040629193525893im -0.00548530956796104-0.000743479336714599im -0.00416998665618803-0.00320721069412901im;0.00116796518490688-0.00554946016158028im -0.00330870693077702-0.0051452230132736im -0.000293917129095349-0.00580618283322139im -0.00182001552193868-0.00567766237815444im -0.00473478772373414+0.00570984181113195im 0.00113841167090756+0.00803985477259482im -0.00309197878042412+0.00698672786090324im -0.004652266002896-0.00421698628990318im -0.00679592336520446+0.000427974580583384im 0.00561398108622869+0.00658185890499777im 0.00956010766350657+7.96823192431384e-20im 0.0074829012638586+0.0048877747296694im -0.00592740497077297+0.00409655119614188im -0.00679592336520446+0.000427974580583384im 0.00561398108622869+0.00658185890499777im 0.00956010766350657+7.96823192431384e-20im 0.0074829012638586+0.0048877747296694im -0.00592740497077297+0.00409655119614188im -0.00182001552193868-0.00567766237815444im -0.00473478772373414+0.00570984181113195im 0.00113841167090756+0.00803985477259482im -0.00309197878042412+0.00698672786090324im -0.004652266002896-0.00421698628990318im 0.00116796518490688-0.00554946016158029im -0.00330870693077702-0.0051452230132736im -0.000293917129095349-0.00580618283322139im;-0.00192306861281239-0.00494082439605269im -0.00522038245315488-0.00233564123445607im -0.00319856926941983-0.00439435345535513im -0.00432737084152471-0.00351351284857768im -0.000786761906027846+0.00688995988432294im 0.00500157768110199+0.00571093355470025im 0.0011519305373284+0.00704949074428106im -0.00579743744807356-0.000922172024002298im -0.00510050534104268+0.00380952132560028im 0.00775927556534528+0.00228151462309326im 0.0074829012638586-0.0048877747296694im 0.00835598885958054+2.09974514311144e-19im -0.00254507246030063+0.00623694946233086im -0.00510050534104268+0.00380952132560028im 0.00775927556534528+0.00228151462309326im 0.0074829012638586-0.0048877747296694im 0.00835598885958054+2.09974514311144e-19im -0.00254507246030063+0.00623694946233086im -0.00432737084152471-0.00351351284857768im -0.000786761906027846+0.00688995988432294im 0.00500157768110199+0.00571093355470025im 0.0011519305373284+0.00704949074428106im -0.00579743744807356-0.000922172024002298im -0.00192306861281239-0.00494082439605269im -0.00522038245315488-0.00233564123445607im -0.00319856926941983-0.00439435345535513im;-0.00310212513806486+0.00294026694687505im -0.000153306179460577+0.00460790917321249im -0.00230574384246748+0.00372586217722053im -0.00130446915388825+0.00430011799165862im 0.00538233097382468-0.00151130561799452im 0.00273928397151035-0.00547264096567082im 0.00491091736838149-0.00300694480570527im 0.00107747368162263+0.00460811037971394im 0.00439695986650573+0.00264673476752682im -0.000660391875117861-0.00648646503857185im -0.00592740497077297-0.00409655119614188im -0.00254507246030063-0.00623694946233086im 0.00543046827687224-1.48077722300436e-20im 0.00439695986650573+0.00264673476752682im -0.000660391875117861-0.00648646503857185im -0.00592740497077297-0.00409655119614188im -0.00254507246030063-0.00623694946233086im 0.00543046827687224-1.48077722300436e-20im -0.00130446915388825+0.00430011799165862im 0.00538233097382468-0.00151130561799452im 0.00273928397151035-0.00547264096567082im 0.00491091736838149-0.00300694480570527im 0.00107747368162263+0.00460811037971394im -0.00310212513806486+0.00294026694687505im -0.000153306179460577+0.00460790917321249im -0.00230574384246748+0.00372586217722053im;-0.00107869389529323+0.00389261793653886im 0.00212170142767282+0.00380566673897912im -5.09890050345597e-05+0.00414055615608726im 0.00103961076437791+0.00411751417249842im 0.00362139453800106-0.00384695234406878im -0.000449336466752085-0.00576619532955093im 0.00251074502603633-0.00482818608525819im 0.00311834148116125+0.00320596465316476im 0.00485012703406628-8.59245681353284e-20im -0.00369612123368403-0.00493011706339376im -0.00679592336520446-0.000427974580583384im -0.00510050534104268-0.00380952132560028im 0.00439695986650573-0.00264673476752682im 0.00485012703406628-8.59245681353284e-20im -0.00369612123368403-0.00493011706339376im -0.00679592336520446-0.000427974580583384im -0.00510050534104268-0.00380952132560028im 0.00439695986650573-0.00264673476752682im 0.00103961076437791+0.00411751417249842im 0.00362139453800106-0.00384695234406878im -0.000449336466752086-0.00576619532955093im 0.00251074502603633-0.00482818608525819im 0.00311834148116125+0.00320596465316476im -0.00107869389529323+0.00389261793653886im 0.00212170142767282+0.00380566673897912im -5.09890050345599e-05+0.00414055615608726im;-0.0031347794794598-0.0040629193525893im -0.00548530956796104-0.000743479336714599im -0.00416998665618803-0.00320721069412901im -0.00497767463244012-0.0020810648305343im 0.00115065277814469+0.00661275488738567im 0.00620371792936015+0.00393747946786715im 0.00299445859851962+0.00623155389380679im -0.00563522336871417+0.000726610765451292im -0.00369612123368403+0.00493011706339376im 0.00782811793715534-3.3911437293432e-21im 0.00561398108622869-0.00658185890499777im 0.00775927556534528-0.00228151462309326im -0.000660391875117861+0.00648646503857185im -0.00369612123368403+0.00493011706339376im 0.00782811793715534-3.3911437293432e-21im 0.00561398108622869-0.00658185890499777im 0.00775927556534528-0.00228151462309326im -0.000660391875117861+0.00648646503857185im -0.00497767463244012-0.0020810648305343im 0.00115065277814469+0.00661275488738567im 0.00620371792936016+0.00393747946786715im 0.00299445859851962+0.00623155389380679im -0.00563522336871417+0.000726610765451292im -0.0031347794794598-0.0040629193525893im -0.00548530956796104-0.000743479336714599im -0.00416998665618803-0.00320721069412901im;0.00116796518490688-0.00554946016158028im -0.00330870693077702-0.0051452230132736im -0.000293917129095349-0.00580618283322139im -0.00182001552193868-0.00567766237815444im -0.00473478772373414+0.00570984181113195im 0.00113841167090756+0.00803985477259482im -0.00309197878042412+0.00698672786090324im -0.004652266002896-0.00421698628990318im -0.00679592336520446+0.000427974580583384im 0.00561398108622869+0.00658185890499777im 0.00956010766350657+7.96823192431384e-20im 0.0074829012638586+0.0048877747296694im -0.00592740497077297+0.00409655119614188im -0.00679592336520446+0.000427974580583384im 0.00561398108622869+0.00658185890499777im 0.00956010766350657+7.96823192431384e-20im 0.0074829012638586+0.0048877747296694im -0.00592740497077297+0.00409655119614188im -0.00182001552193868-0.00567766237815444im -0.00473478772373414+0.00570984181113195im 0.00113841167090756+0.00803985477259482im -0.00309197878042412+0.00698672786090324im -0.004652266002896-0.00421698628990318im 0.00116796518490688-0.00554946016158029im -0.00330870693077702-0.0051452230132736im -0.000293917129095349-0.00580618283322139im;-0.00192306861281239-0.00494082439605269im -0.00522038245315488-0.00233564123445607im -0.00319856926941983-0.00439435345535513im -0.00432737084152471-0.00351351284857768im -0.000786761906027846+0.00688995988432294im 0.00500157768110199+0.00571093355470025im 0.0011519305373284+0.00704949074428106im -0.00579743744807356-0.000922172024002298im -0.00510050534104268+0.00380952132560028im 0.00775927556534528+0.00228151462309326im 0.0074829012638586-0.0048877747296694im 0.00835598885958054+2.09974514311144e-19im -0.00254507246030063+0.00623694946233086im -0.00510050534104268+0.00380952132560028im 0.00775927556534528+0.00228151462309326im 0.0074829012638586-0.0048877747296694im 0.00835598885958054+2.09974514311144e-19im -0.00254507246030063+0.00623694946233086im -0.00432737084152471-0.00351351284857768im -0.000786761906027846+0.00688995988432294im 0.00500157768110199+0.00571093355470025im 0.0011519305373284+0.00704949074428106im -0.00579743744807356-0.000922172024002298im -0.00192306861281239-0.00494082439605269im -0.00522038245315488-0.00233564123445607im -0.00319856926941983-0.00439435345535513im;-0.00310212513806486+0.00294026694687505im -0.000153306179460577+0.00460790917321249im -0.00230574384246748+0.00372586217722053im -0.00130446915388825+0.00430011799165862im 0.00538233097382468-0.00151130561799452im 0.00273928397151035-0.00547264096567082im 0.00491091736838149-0.00300694480570527im 0.00107747368162263+0.00460811037971394im 0.00439695986650573+0.00264673476752682im -0.000660391875117861-0.00648646503857185im -0.00592740497077297-0.00409655119614188im -0.00254507246030063-0.00623694946233086im 0.00543046827687224-1.48077722300436e-20im 0.00439695986650573+0.00264673476752682im -0.000660391875117861-0.00648646503857185im -0.00592740497077297-0.00409655119614188im -0.00254507246030063-0.00623694946233086im 0.00543046827687224-1.48077722300436e-20im -0.00130446915388825+0.00430011799165862im 0.00538233097382468-0.00151130561799452im 0.00273928397151035-0.00547264096567082im 0.00491091736838149-0.00300694480570527im 0.00107747368162263+0.00460811037971394im -0.00310212513806486+0.00294026694687505im -0.000153306179460577+0.00460790917321249im -0.00230574384246748+0.00372586217722053im;0.00307342212525665+0.00175012836787023im 0.00368560044943201-0.000985484206331812im 0.00350419480084565+0.000930803393301232im 0.00371840023476987-6.02778755484316e-20im -0.00248963377021908-0.00389896517525154im -0.00499152410822242-0.000854503281032633im -0.00356071644238062-0.00316640416777148im 0.00339011043448302-0.00196012595401147im 0.00103961076437791-0.00411751417249842im -0.00497767463244012+0.0020810648305343im -0.00182001552193868+0.00567766237815444im -0.00432737084152471+0.00351351284857768im -0.00130446915388825-0.00430011799165862im 0.00103961076437791-0.00411751417249842im -0.00497767463244012+0.0020810648305343im -0.00182001552193868+0.00567766237815444im -0.00432737084152471+0.00351351284857768im -0.00130446915388825-0.00430011799165862im 0.00371840023476987-6.02778755484316e-20im -0.00248963377021908-0.00389896517525154im -0.00499152410822242-0.000854503281032632im -0.00356071644238062-0.00316640416777147im 0.00339011043448302-0.00196012595401147im 0.00307342212525665+0.00175012836787024im 0.00368560044943201-0.000985484206331812im 0.00350419480084565+0.000930803393301232im;-0.0038929066689399+0.00205087851411107im -0.00143433369310835+0.00452439799379725im -0.00332221680000606+0.00305114383016372im -0.00248963377021908+0.00389896517525154im 0.00575521848012253+3.53790935208202e-20im 0.00423804446122324-0.00466178392580665im 0.00570422174668085-0.00161357634539645im -0.00021451983065319+0.00486712487915278im 0.00362139453800106+0.00384695234406878im 0.00115065277814469-0.00661275488738567im -0.00473478772373414-0.00570984181113195im -0.000786761906027846-0.00688995988432294im 0.00538233097382468+0.00151130561799452im 0.00362139453800106+0.00384695234406878im 0.00115065277814469-0.00661275488738567im -0.00473478772373414-0.00570984181113195im -0.000786761906027846-0.00688995988432294im 0.00538233097382468+0.00151130561799452im -0.00248963377021908+0.00389896517525154im 0.00575521848012253+3.53790935208202e-20im 0.00423804446122324-0.00466178392580665im 0.00570422174668084-0.00161357634539645im -0.00021451983065319+0.00486712487915279im -0.0038929066689399+0.00205087851411107im -0.00143433369310835+0.00452439799379726im -0.00332221680000606+0.00305114383016372im;-0.00452790178639233-0.00164306106522615im -0.00472102595216874+0.00216986481857083im -0.00491788033222107-0.000444218351626814im -0.00499152410822242+0.000854503281032632im 0.00423804446122324+0.00466178392580665im 0.00689691457645046-1.98529546935596e-20im 0.00550750414751693+0.00343226604216156im -0.00410038805445105+0.00341030433608345im -0.000449336466752086+0.00576619532955093im 0.00620371792936016-0.00393747946786715im 0.00113841167090756-0.00803985477259482im 0.00500157768110199-0.00571093355470025im 0.00273928397151035+0.00547264096567082im -0.000449336466752086+0.00576619532955093im 0.00620371792936016-0.00393747946786715im 0.00113841167090756-0.00803985477259482im 0.00500157768110199-0.00571093355470025im 0.00273928397151035+0.00547264096567082im -0.00499152410822242+0.000854503281032632im 0.00423804446122324+0.00466178392580665im 0.00689691457645047+2.60783606244018e-20im 0.00550750414751693+0.00343226604216155im -0.00410038805445105+0.00341030433608345im -0.00452790178639233-0.00164306106522615im -0.00472102595216874+0.00216986481857083im -0.00491788033222107-0.000444218351626815im;-0.00443341152460889+0.000941261174161371im -0.00269011838171719+0.00408216692196757im -0.00414822042134345+0.00209266608854198im -0.00356071644238062+0.00316640416777147im 0.00570422174668084+0.00161357634539645im 0.00550750414751692-0.00343226604216155im 0.00610607129496523+5.42704654479417e-19im -0.00157720272298063+0.00476385310997446im 0.00251074502603633+0.00482818608525819im 0.00299445859851962-0.00623155389380679im -0.00309197878042412-0.00698672786090324im 0.0011519305373284-0.00704949074428106im 0.00491091736838149+0.00300694480570527im 0.00251074502603633+0.00482818608525819im 0.00299445859851962-0.00623155389380679im -0.00309197878042412-0.00698672786090324im 0.0011519305373284-0.00704949074428106im 0.00491091736838149+0.00300694480570527im -0.00356071644238062+0.00316640416777147im 0.00570422174668084+0.00161357634539645im 0.00550750414751693-0.00343226604216155im 0.00610607129496523+1.98427945833574e-20im -0.00157720272298063+0.00476385310997446im -0.00443341152460889+0.000941261174161371im -0.00269011838171719+0.00408216692196758im -0.00414822042134345+0.00209266608854198im;0.00187950944988091+0.00321574391189503im 0.00387969685892271+0.00104435793915677im 0.00270415093445115+0.00269583391787643im 0.00339011043448302+0.00196012595401147im -0.00021451983065319-0.00486712487915279im -0.00410038805445105-0.00341030433608345im -0.00157720272298063-0.00476385310997447im 0.00412406990785624+4.20531957946872e-20im 0.00311834148116125-0.00320596465316476im -0.00563522336871417-0.000726610765451292im -0.004652266002896+0.00421698628990318im -0.00579743744807356+0.000922172024002298im 0.00107747368162263-0.00460811037971394im 0.00311834148116125-0.00320596465316476im -0.00563522336871417-0.000726610765451292im -0.004652266002896+0.00421698628990318im -0.00579743744807356+0.000922172024002298im 0.00107747368162263-0.00460811037971394im 0.00339011043448302+0.00196012595401147im -0.00021451983065319-0.00486712487915279im -0.00410038805445105-0.00341030433608345im -0.00157720272298063-0.00476385310997447im 0.00412406990785624+4.27189732747925e-20im 0.00187950944988091+0.00321574391189503im 0.00387969685892271+0.00104435793915677im 0.00270415093445115+0.00269583391787643im;0.00336404692186542+1.68462164597919e-19im 0.00258247673576352-0.00254923683964431im 0.00333447032939478-0.000879958793480954im 0.00307342212525665-0.00175012836787024im -0.0038929066689399-0.00205087851411107im -0.00452790178639233+0.00164306106522615im -0.00443341152460889-0.000941261174161372im 0.00187950944988091-0.00321574391189503im -0.00107869389529323-0.00389261793653886im -0.0031347794794598+0.0040629193525893im 0.00116796518490688+0.00554946016158029im -0.00192306861281239+0.00494082439605269im -0.00310212513806486-0.00294026694687505im -0.00107869389529323-0.00389261793653886im -0.0031347794794598+0.0040629193525893im 0.00116796518490688+0.00554946016158029im -0.00192306861281239+0.00494082439605269im -0.00310212513806486-0.00294026694687505im 0.00307342212525665-0.00175012836787024im -0.0038929066689399-0.00205087851411107im -0.00452790178639233+0.00164306106522615im -0.00443341152460889-0.000941261174161372im 0.00187950944988091-0.00321574391189503im 0.00336404692186542-5.05184449121191e-21im 0.00258247673576352-0.00254923683964432im 0.00333447032939478-0.000879958793480954im;0.00258247673576352+0.00254923683964431im 0.00391427196504673+5.91709712352002e-20im 0.00322659453853497+0.00185130636892113im 0.00368560044943201+0.000985484206331812im -0.00143433369310835-0.00452439799379725im -0.00472102595216874-0.00216986481857083im -0.00269011838171719-0.00408216692196758im 0.00387969685892271-0.00104435793915677im 0.00212170142767282-0.00380566673897912im -0.00548530956796104+0.000743479336714599im -0.00330870693077702+0.0051452230132736im -0.00522038245315488+0.00233564123445607im -0.000153306179460577-0.00460790917321249im 0.00212170142767282-0.00380566673897912im -0.00548530956796104+0.000743479336714599im -0.00330870693077702+0.0051452230132736im -0.00522038245315488+0.00233564123445607im -0.000153306179460577-0.00460790917321249im 0.00368560044943201+0.000985484206331812im -0.00143433369310835-0.00452439799379725im -0.00472102595216874-0.00216986481857083im -0.00269011838171719-0.00408216692196758im 0.00387969685892271-0.00104435793915677im 0.00258247673576352+0.00254923683964432im 0.00391427196504673+6.05659384740719e-22im 0.00322659453853497+0.00185130636892113im;0.00333447032939478+0.000879958793480954im 0.00322659453853497-0.00185130636892113im 0.00353533114491866-1.07818800641901e-20im 0.00350419480084565-0.000930803393301232im -0.00332221680000606-0.00305114383016372im -0.00491788033222107+0.000444218351626814im -0.00414822042134345-0.00209266608854198im 0.00270415093445115-0.00269583391787643im -5.09890050345599e-05-0.00414055615608726im -0.00416998665618803+0.00320721069412901im -0.000293917129095349+0.00580618283322139im -0.00319856926941983+0.00439435345535514im -0.00230574384246748-0.00372586217722053im -5.09890050345599e-05-0.00414055615608726im -0.00416998665618803+0.00320721069412901im -0.000293917129095349+0.00580618283322139im -0.00319856926941983+0.00439435345535514im -0.00230574384246748-0.00372586217722053im 0.00350419480084565-0.000930803393301232im -0.00332221680000606-0.00305114383016372im -0.00491788033222107+0.000444218351626814im -0.00414822042134345-0.00209266608854198im 0.00270415093445115-0.00269583391787644im 0.00333447032939478+0.000879958793480954im 0.00322659453853497-0.00185130636892113im 0.00353533114491866+9.87417711728425e-20im];

    th1 = [0.534137567882728;0.885359450931142;0.89900489890614;0.625937626080496;0.137868992412558;0.217801593712125;0.182141075890434;0.0418198639729543;0.106941658550207;0.616443485085685;0.939661010161067;0.354455730967329;0.410629090059514;0.984349416984452;0.945579189035263;0.676644678433539;0.988302262313286;0.766831387216594;0.336699264391476;0.662381860399481;0.244165286790279;0.295507250831597;0.680178371230502;0.527846830418798;0.411593513407535;0.602638218036397;0.750520055923736;0.583533174261959;0.551792514935967;0.583570618757714;0.511819919958475;0.0825927269986994];
    th2 = [0.71957013485949;0.996156111296869;0.354534304956922;0.971258815183406;0.34644876130036;0.886543861760306;0.454694864991908;0.413427289020815;0.2177320683573;0.125654587362626;0.308914593566815;0.726104431664832;0.782872072979123;0.693787614986897;0.00980225226306208;0.84321333801051;0.922331997796276;0.770954220673924;0.0426598559350487;0.378186137050219;0.704339624483368;0.729513045504647;0.224277070664514;0.269054731773365;0.673031165004119;0.477492197726861];

    objVal1_ref = -0.880803791169386;
    objVal2_ref = -0.934962599877951;

    D1ref = [0.0269172222683992 0.0419882494313435 0.0420773449757913 0.0243953367068869 0.0349724558523605 -0.0268369930541015 -0.0513479435063354 -0.047616768718388 -0.0311584671359052 0.0246660566665021 0.0422962979435222 -0.0545430219603025 0.00308146144838995 -0.0332735996531699 -0.053047242697378 0.039664726655099 0.0424663865091894 -0.055551008019416 0.00795334332217164 -0.01347452171681 -0.0526791375399809 0.0311018745271053 0.0228072723167686 -0.0131853878919821 -0.0552491231107582 -0.0562919930187229 -0.00252354172500532 0.0255871105143013 0.0264491896919559 0.0380647340779089 0.0366055553396514 0.0356841315009091];
    D2ref = [-0.00695299830132643 -0.0215073215956686 -0.0229889587681935 -0.0149986692709139 0.00484327321600311 0.0172092753933814 0.0115084964341499 -0.0327513423893588 -0.0189097884221369 0.0444458832535192 0.0327128811238919 0.0461649340063613 -0.0207447109384663 -0.0305873840591757 0.0432447981686188 0.0473223145078699 0.0440063479993354 -0.0203697038935908 -0.0308021701234734 0.00362265393885006 0.0239376486269644 0.000721576109631663 -0.032078071143196 -0.0187797314963142 -0.0278797396050567 -0.020389492771706];

    phases_test = convert.(Float32, [0.0866737564671793 2.84627422498309 2.84108990612988 2.03199079585178 4.86513138671142 4.22513401490382 3.35495818284792 2.25302434027432;2.97641241880493 2.39113006831302 5.33567284214767 0.696618127004037 0.755633274365468 5.66637361969561 3.60811635900038 1.47184396526715;5.97654758469913 5.81740362475604 2.45314925114871 2.35751429992009 3.92981920490143 1.2513414773675 2.59372655163282 1.27865367506347;1.56421329975086 4.6548577949188 4.63935644826282 2.07284783447506 2.17805792780431 1.8741745875763 0.0927628292167981 5.11312792022015;2.4279660628027 4.63468528902002 6.13514439691679 2.14951019144338 2.10247560860656 3.11972886683568 4.41560148730336 2.47202245780268;2.71077585178706 5.94964869212566 3.2879849538381 5.13410916075232 3.61042234829737 5.59143319331812 3.18398625667817 0.336622726386574;5.22061375290926 3.20505097436937 2.70123750703454 3.34067735446063 5.42828029261993 3.15048078386785 2.39556554776196 2.35651856603609;5.18140878072941 4.97552365960461 1.30161262077135 3.27430639843833 1.24760857761109 1.74041241649679 0.407976865892025 4.86943202870046]);

    p1_ref = 987.112784068213;
    p2_ref = 731.514192781532;

    return C1ref, C2ref, th1, th2, objVal1_ref, objVal2_ref, D1ref, D2ref, phases_test, p1_ref, p2_ref
end