/*
 * Copyright 2022 GlobalFoundries PDK Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
  cell(gf180mcu_fd_sc_mcu9t5v0__nand2_4) {
    area : 45.158400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "7.7832e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "7.78392e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "0.0001573524" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "0.000137844" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001573524" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.02516 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 4.4 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          values("0.1235, 0.123, 0.1224, 0.1219, 0.1219, 0.1221, 0.1223, 0.1222, \
                  0.1222, 0.1219");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          values("-0.08001, -0.07994, -0.07983, -0.07975, -0.0799, -0.07992, -0.08016, \
                  -0.08031, -0.08026, -0.08023");
        }
      }
    }

    pin(A2) {
      capacitance : 0.02547 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 4.4 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          values("0.1172, 0.1113, 0.1075, 0.107, 0.1069, 0.1069, 0.1073, 0.1072, \
                  0.1072, 0.1072");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          values("-0.1076, -0.1074, -0.1069, -0.1067, -0.1067, -0.1067, -0.1068, \
                  -0.1069, -0.1068, -0.1067");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)|(!A2))" ;
      max_capacitance : 1.578 ;
      max_transition : 4.4 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.01188, 0.05008, 0.123, 0.2367, 0.3961, 0.6059, 0.8703, 1.193, 1.578");
          values("0.003613, 0.006626, 0.01033, 0.01206, 0.01282, 0.0132, 0.01343, 0.01353, 0.01369, 0.01373",\
                 "0.001318, 0.003656, 0.008026, 0.0108, 0.01212, 0.01279, 0.01318, 0.01344, 0.0136, 0.01367",\
                 "0.02062, 0.01835, 0.01615, 0.0152, 0.01472, 0.01445, 0.01413, 0.01418, 0.01412, 0.01405",\
                 "0.08913, 0.07864, 0.05985, 0.0456, 0.03578, 0.02933, 0.02506, 0.02235, 0.0204, 0.01904",\
                 "0.2135, 0.1959, 0.1562, 0.1199, 0.09253, 0.0725, 0.05836, 0.04807, 0.04076, 0.03513",\
                 "0.3974, 0.374, 0.3154, 0.2521, 0.1994, 0.1591, 0.128, 0.1043, 0.08654, 0.07277",\
                 "0.6444, 0.6162, 0.5417, 0.4511, 0.3687, 0.3009, 0.2467, 0.2034, 0.1697, 0.1427",\
                 "0.9594, 0.9275, 0.8392, 0.723, 0.6084, 0.5081, 0.4249, 0.3568, 0.3015, 0.2562",\
                 "1.347, 1.311, 1.211, 1.073, 0.9262, 0.791, 0.6742, 0.5749, 0.492, 0.4234",\
                 "1.81, 1.771, 1.661, 1.503, 1.326, 1.155, 1, 0.867, 0.7517, 0.6539");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.01188, 0.05008, 0.123, 0.2367, 0.3961, 0.6059, 0.8703, 1.193, 1.578");
          values("0.2651, 0.2725, 0.283, 0.2884, 0.2917, 0.2951, 0.2985, 0.3028, 0.3066, 0.3201",\
                 "0.2629, 0.2678, 0.277, 0.2851, 0.2903, 0.294, 0.3, 0.3039, 0.3116, 0.3129",\
                 "0.2914, 0.2885, 0.2846, 0.2871, 0.2887, 0.2937, 0.2982, 0.305, 0.312, 0.314",\
                 "0.3748, 0.3624, 0.3406, 0.3231, 0.3144, 0.3081, 0.3097, 0.3126, 0.3152, 0.3248",\
                 "0.5189, 0.4996, 0.4557, 0.4164, 0.3834, 0.3599, 0.3493, 0.341, 0.34, 0.3352",\
                 "0.7281, 0.7033, 0.6411, 0.5725, 0.517, 0.4665, 0.4343, 0.4101, 0.394, 0.3852",\
                 "1.007, 0.9782, 0.9004, 0.8035, 0.7186, 0.6429, 0.5804, 0.5343, 0.4945, 0.467",\
                 "1.361, 1.328, 1.238, 1.118, 0.9951, 0.8927, 0.8015, 0.7219, 0.6619, 0.6088",\
                 "1.795, 1.76, 1.659, 1.516, 1.364, 1.22, 1.101, 0.9912, 0.8937, 0.8136",\
                 "2.314, 2.276, 2.166, 2.004, 1.823, 1.643, 1.485, 1.344, 1.216, 1.096");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.01188, 0.05008, 0.123, 0.2367, 0.3961, 0.6059, 0.8703, 1.193, 1.578");
          values("0.003701, 0.006946, 0.0107, 0.01227, 0.01305, 0.01326, 0.01347, 0.01365, 0.01371, 0.01383",\
                 "-0.002466, 0.00117, 0.006964, 0.01021, 0.01177, 0.01252, 0.01305, 0.01333, 0.0135, 0.01361",\
                 "0.007966, 0.008252, 0.009602, 0.01123, 0.01189, 0.01251, 0.01318, 0.01314, 0.01331, 0.0134",\
                 "0.07083, 0.06288, 0.04879, 0.03817, 0.03105, 0.0262, 0.02292, 0.02061, 0.01905, 0.01788",\
                 "0.1956, 0.1797, 0.1444, 0.1119, 0.08743, 0.06956, 0.05658, 0.0471, 0.04013, 0.0349",\
                 "0.3837, 0.3615, 0.3066, 0.2461, 0.1964, 0.1579, 0.1282, 0.1054, 0.08786, 0.07444",\
                 "0.6393, 0.6126, 0.5399, 0.4513, 0.3708, 0.3046, 0.2515, 0.2094, 0.1755, 0.1485",\
                 "0.9658, 0.9341, 0.8478, 0.7334, 0.6194, 0.5202, 0.4377, 0.3698, 0.3141, 0.2683",\
                 "1.368, 1.332, 1.233, 1.096, 0.9494, 0.8137, 0.6967, 0.598, 0.5144, 0.4448",\
                 "1.848, 1.811, 1.701, 1.542, 1.366, 1.193, 1.037, 0.9017, 0.7857, 0.6864");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.01188, 0.05008, 0.123, 0.2367, 0.3961, 0.6059, 0.8703, 1.193, 1.578");
          values("0.3854, 0.3867, 0.3901, 0.3925, 0.3944, 0.3964, 0.3994, 0.4052, 0.414, 0.4192",\
                 "0.3814, 0.3825, 0.386, 0.3893, 0.3923, 0.3942, 0.3973, 0.4056, 0.4111, 0.4217",\
                 "0.4079, 0.404, 0.3985, 0.3957, 0.3955, 0.3964, 0.4009, 0.402, 0.4096, 0.4199",\
                 "0.4911, 0.48, 0.4585, 0.4379, 0.4247, 0.4165, 0.4142, 0.416, 0.4201, 0.4264",\
                 "0.6395, 0.6233, 0.5816, 0.5377, 0.5019, 0.4749, 0.4599, 0.452, 0.45, 0.448",\
                 "0.8556, 0.8355, 0.7784, 0.7081, 0.6442, 0.5908, 0.5524, 0.5247, 0.5065, 0.4991",\
                 "1.146, 1.123, 1.054, 0.9585, 0.8645, 0.7801, 0.7119, 0.6586, 0.6177, 0.5884",\
                 "1.515, 1.489, 1.411, 1.295, 1.169, 1.052, 0.9474, 0.8595, 0.793, 0.7371",\
                 "1.968, 1.94, 1.853, 1.723, 1.566, 1.412, 1.276, 1.152, 1.048, 0.9624",\
                 "2.509, 2.479, 2.386, 2.241, 2.063, 1.87, 1.691, 1.534, 1.39, 1.268");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.01188, 0.05008, 0.123, 0.2367, 0.3961, 0.6059, 0.8703, 1.193, 1.578");
          values("0.03513, 0.04824, 0.09304, 0.1774, 0.3085, 0.4922, 0.734, 1.039, 1.411, 1.855",\
                 "0.03999, 0.05318, 0.0981, 0.1825, 0.3138, 0.4977, 0.7396, 1.044, 1.416, 1.859",\
                 "0.04634, 0.06545, 0.1184, 0.2027, 0.3335, 0.5171, 0.7589, 1.063, 1.435, 1.879",\
                 "0.0461, 0.07198, 0.1408, 0.2424, 0.3743, 0.5567, 0.7977, 1.102, 1.474, 1.917",\
                 "0.03577, 0.06889, 0.1559, 0.2794, 0.4356, 0.6223, 0.8614, 1.164, 1.535, 1.976",\
                 "0.01379, 0.05392, 0.1598, 0.3078, 0.4901, 0.7065, 0.9543, 1.255, 1.623, 2.065",\
                 "-0.0205, 0.0269, 0.151, 0.3242, 0.5348, 0.7807, 1.063, 1.379, 1.745, 2.183",\
                 "-0.0695, -0.0141, 0.1287, 0.3272, 0.5673, 0.8439, 1.159, 1.512, 1.9, 2.337",\
                 "-0.1328, -0.0703, 0.0913, 0.3154, 0.585, 0.8959, 1.243, 1.632, 2.061, 2.526",\
                 "-0.2126, -0.1425, 0.0381, 0.2869, 0.588, 0.932, 1.316, 1.739, 2.206, 2.714");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.01188, 0.05008, 0.123, 0.2367, 0.3961, 0.6059, 0.8703, 1.193, 1.578");
          values("0.04105, 0.05949, 0.121, 0.2352, 0.4114, 0.6585, 0.9839, 1.394, 1.893, 2.488",\
                 "0.04865, 0.06651, 0.128, 0.2424, 0.4193, 0.6665, 0.991, 1.402, 1.901, 2.497",\
                 "0.07503, 0.09623, 0.1578, 0.271, 0.4471, 0.6941, 1.02, 1.428, 1.93, 2.526",\
                 "0.1142, 0.1418, 0.2172, 0.3331, 0.5067, 0.7523, 1.076, 1.485, 1.985, 2.58",\
                 "0.1646, 0.2, 0.2926, 0.4288, 0.6065, 0.8477, 1.169, 1.576, 2.074, 2.666",\
                 "0.2264, 0.2703, 0.383, 0.541, 0.7437, 0.9899, 1.306, 1.708, 2.204, 2.795",\
                 "0.3002, 0.3531, 0.4872, 0.6712, 0.8982, 1.173, 1.494, 1.891, 2.382, 2.969",\
                 "0.3879, 0.4486, 0.6042, 0.8173, 1.073, 1.375, 1.728, 2.131, 2.614, 3.197",\
                 "0.4896, 0.5591, 0.7374, 0.9791, 1.266, 1.597, 1.981, 2.418, 2.907, 3.482",\
                 "0.6065, 0.6842, 0.885, 1.156, 1.477, 1.843, 2.255, 2.727, 3.251, 3.832");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.01188, 0.05008, 0.123, 0.2367, 0.3961, 0.6059, 0.8703, 1.193, 1.578");
          values("0.03475, 0.05642, 0.1315, 0.2741, 0.4958, 0.8076, 1.217, 1.735, 2.365, 3.12",\
                 "0.03748, 0.05635, 0.1313, 0.2739, 0.4959, 0.8073, 1.218, 1.733, 2.364, 3.114",\
                 "0.05648, 0.07816, 0.1414, 0.2743, 0.4958, 0.8083, 1.218, 1.736, 2.364, 3.115",\
                 "0.0878, 0.1138, 0.187, 0.3059, 0.4994, 0.8076, 1.217, 1.733, 2.368, 3.117",\
                 "0.1285, 0.1622, 0.2487, 0.3807, 0.562, 0.8248, 1.218, 1.735, 2.366, 3.114",\
                 "0.1772, 0.219, 0.3245, 0.4714, 0.6702, 0.9212, 1.26, 1.739, 2.365, 3.118",\
                 "0.2344, 0.2861, 0.4122, 0.5818, 0.7938, 1.066, 1.394, 1.815, 2.382, 3.119",\
                 "0.2978, 0.3596, 0.5088, 0.7058, 0.941, 1.227, 1.578, 1.99, 2.498, 3.163",\
                 "0.3702, 0.4418, 0.6152, 0.843, 1.107, 1.411, 1.781, 2.218, 2.717, 3.319",\
                 "0.4498, 0.5324, 0.7304, 0.9902, 1.287, 1.619, 2.005, 2.461, 2.99, 3.584");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.01188, 0.05008, 0.123, 0.2367, 0.3961, 0.6059, 0.8703, 1.193, 1.578");
          values("0.04549, 0.07469, 0.1779, 0.3737, 0.6796, 1.109, 1.674, 2.385, 3.256, 4.287",\
                 "0.04591, 0.07471, 0.1774, 0.3738, 0.68, 1.11, 1.676, 2.385, 3.252, 4.293",\
                 "0.06516, 0.09148, 0.1786, 0.3736, 0.6794, 1.108, 1.673, 2.388, 3.253, 4.289",\
                 "0.09798, 0.1266, 0.2168, 0.3799, 0.6787, 1.108, 1.675, 2.384, 3.25, 4.287",\
                 "0.1391, 0.1772, 0.2748, 0.4403, 0.6947, 1.107, 1.671, 2.383, 3.25, 4.29",\
                 "0.1875, 0.2343, 0.3523, 0.528, 0.7774, 1.137, 1.671, 2.381, 3.25, 4.293",\
                 "0.2422, 0.2996, 0.4388, 0.6332, 0.9, 1.244, 1.719, 2.384, 3.249, 4.291",\
                 "0.303, 0.37, 0.5386, 0.7578, 1.033, 1.4, 1.849, 2.451, 3.257, 4.284",\
                 "0.3712, 0.4498, 0.645, 0.8956, 1.195, 1.573, 2.045, 2.606, 3.343, 4.301",\
                 "0.4462, 0.5342, 0.7574, 1.041, 1.377, 1.766, 2.258, 2.836, 3.526, 4.41");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.01188, 0.05008, 0.123, 0.2367, 0.3961, 0.6059, 0.8703, 1.193, 1.578");
          values("0.04401, 0.05717, 0.102, 0.1863, 0.3176, 0.5011, 0.743, 1.048, 1.419, 1.863",\
                 "0.04697, 0.06032, 0.1054, 0.19, 0.3214, 0.505, 0.747, 1.052, 1.423, 1.867",\
                 "0.0494, 0.06618, 0.1159, 0.2008, 0.3322, 0.5159, 0.7579, 1.062, 1.434, 1.878",\
                 "0.04422, 0.06673, 0.1278, 0.2218, 0.3543, 0.5373, 0.7788, 1.083, 1.454, 1.897",\
                 "0.02654, 0.05552, 0.1327, 0.2428, 0.3873, 0.5741, 0.814, 1.117, 1.488, 1.931",\
                 "-0.00494, 0.03023, 0.1238, 0.2558, 0.4188, 0.6196, 0.8666, 1.168, 1.537, 1.979",\
                 "-0.05251, -0.0111, 0.0993, 0.2544, 0.4425, 0.6628, 0.9254, 1.238, 1.606, 2.046",\
                 "-0.118, -0.0701, 0.0575, 0.2363, 0.4515, 0.6989, 0.9815, 1.311, 1.693, 2.134",\
                 "-0.2021, -0.148, -0.0032, 0.1992, 0.4425, 0.7199, 1.031, 1.381, 1.781, 2.239",\
                 "-0.3064, -0.2459, -0.0838, 0.1421, 0.4142, 0.7228, 1.065, 1.444, 1.866, 2.342");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.01188, 0.05008, 0.123, 0.2367, 0.3961, 0.6059, 0.8703, 1.193, 1.578");
          values("0.05937, 0.07712, 0.1375, 0.2507, 0.4265, 0.6738, 0.9979, 1.407, 1.907, 2.503",\
                 "0.06657, 0.08426, 0.1446, 0.258, 0.4345, 0.6809, 1.006, 1.414, 1.914, 2.511",\
                 "0.09841, 0.1169, 0.1756, 0.2878, 0.4633, 0.7092, 1.035, 1.444, 1.943, 2.535",\
                 "0.1485, 0.1712, 0.2397, 0.3514, 0.5237, 0.7683, 1.091, 1.5, 1.999, 2.593",\
                 "0.2143, 0.2426, 0.3236, 0.4521, 0.6255, 0.8652, 1.185, 1.59, 2.088, 2.682",\
                 "0.2963, 0.3304, 0.4271, 0.5727, 0.768, 1.01, 1.324, 1.726, 2.22, 2.811",\
                 "0.3948, 0.4354, 0.5491, 0.7159, 0.9319, 1.199, 1.516, 1.911, 2.4, 2.986",\
                 "0.5114, 0.5582, 0.6898, 0.881, 1.12, 1.411, 1.756, 2.153, 2.635, 3.215",\
                 "0.6465, 0.7009, 0.85, 1.066, 1.332, 1.647, 2.02, 2.448, 2.932, 3.505",\
                 "0.8026, 0.8627, 1.031, 1.272, 1.568, 1.911, 2.308, 2.768, 3.284, 3.859");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.01188, 0.05008, 0.123, 0.2367, 0.3961, 0.6059, 0.8703, 1.193, 1.578");
          values("0.03475, 0.05617, 0.1314, 0.2735, 0.4957, 0.8081, 1.218, 1.734, 2.366, 3.114",\
                 "0.03612, 0.05638, 0.1313, 0.2739, 0.4964, 0.8075, 1.218, 1.735, 2.365, 3.116",\
                 "0.0544, 0.07292, 0.1378, 0.2742, 0.4973, 0.8089, 1.217, 1.734, 2.365, 3.118",\
                 "0.08952, 0.1084, 0.171, 0.2943, 0.4995, 0.8076, 1.218, 1.733, 2.364, 3.119",\
                 "0.1358, 0.1587, 0.2274, 0.3454, 0.5377, 0.8224, 1.218, 1.734, 2.366, 3.119",\
                 "0.1905, 0.2181, 0.2988, 0.4245, 0.6094, 0.879, 1.248, 1.741, 2.364, 3.118",\
                 "0.2522, 0.2859, 0.3816, 0.5232, 0.7112, 0.9728, 1.328, 1.789, 2.386, 3.119",\
                 "0.3198, 0.3614, 0.4734, 0.6362, 0.8406, 1.1, 1.446, 1.893, 2.453, 3.158",\
                 "0.3938, 0.4428, 0.575, 0.7614, 0.9866, 1.258, 1.599, 2.036, 2.584, 3.249",\
                 "0.4732, 0.5312, 0.6854, 0.8956, 1.147, 1.441, 1.788, 2.217, 2.753, 3.408");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05023, 0.1564, 0.359, 0.6747, 1.118, 1.701, 2.435, 3.331, 4.4");
          index_2("0.001, 0.01188, 0.05008, 0.123, 0.2367, 0.3961, 0.6059, 0.8703, 1.193, 1.578");
          values("0.0743, 0.1038, 0.2078, 0.4046, 0.7099, 1.138, 1.701, 2.411, 3.277, 4.31",\
                 "0.07403, 0.104, 0.2073, 0.4035, 0.7104, 1.138, 1.7, 2.412, 3.277, 4.313",\
                 "0.08934, 0.1134, 0.2075, 0.4038, 0.7096, 1.137, 1.7, 2.41, 3.276, 4.31",\
                 "0.1219, 0.1506, 0.2388, 0.408, 0.7093, 1.138, 1.701, 2.412, 3.279, 4.311",\
                 "0.1651, 0.1991, 0.297, 0.4619, 0.7222, 1.138, 1.701, 2.41, 3.278, 4.313",\
                 "0.2164, 0.2586, 0.3698, 0.5476, 0.7986, 1.162, 1.701, 2.41, 3.277, 4.311",\
                 "0.2754, 0.3242, 0.4564, 0.6476, 0.9158, 1.263, 1.742, 2.413, 3.276, 4.309",\
                 "0.339, 0.3988, 0.5526, 0.7658, 1.046, 1.415, 1.868, 2.473, 3.284, 4.307",\
                 "0.4094, 0.4798, 0.6582, 0.9008, 1.197, 1.579, 2.054, 2.623, 3.364, 4.325",\
                 "0.4866, 0.5676, 0.773, 1.045, 1.371, 1.764, 2.26, 2.845, 3.542, 4.427");
        }
      }
    }
  }

