/*
 * 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_mcu7t5v0__aoi211_4) {
    area : 79.027200 ;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B&C" ;
      value : "0.000210231" ;
    }

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

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

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

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

      internal_power() {
        when : "!A2&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.1394, 0.1395, 0.1395, 0.1392, 0.1392, 0.1388, 0.1388, 0.1387, \
                  0.1387, 0.1387");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.1002, -0.1002, -0.1001, -0.09985, -0.09977, -0.0997, -0.09967, \
                  -0.09973, -0.09971, -0.09975");
        }
      }

      internal_power() {
        when : "!A2&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.03446, 0.03438, 0.03443, 0.03441, 0.03459, 0.03445, 0.03463, \
                  0.03464, 0.03466, 0.03469");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.03328, -0.03326, -0.03333, -0.03329, -0.03346, -0.03339, -0.03353, \
                  -0.03354, -0.03357, -0.03359");
        }
      }

      internal_power() {
        when : "!A2&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.03454, 0.03446, 0.03452, 0.0345, 0.0347, 0.03453, 0.03472, 0.03473, \
                  0.03475, 0.03476");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.03288, -0.03286, -0.03295, -0.0329, -0.03308, -0.03298, -0.03317, \
                  -0.03321, -0.03321, -0.03331");
        }
      }

      internal_power() {
        when : "!A2&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.03451, 0.03448, 0.03451, 0.0345, 0.03465, 0.03456, 0.03474, \
                  0.03477, 0.03472, 0.03476");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.03288, -0.03287, -0.033, -0.03291, -0.0331, -0.03308, -0.03315, \
                  -0.03321, -0.03325, -0.0333");
        }
      }

      internal_power() {
        when : "A2&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.2041, 0.2039, 0.2038, 0.2034, 0.2034, 0.2032, 0.2033, 0.2032, \
                  0.2031, 0.2029");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.0356, -0.03561, -0.0357, -0.03573, -0.03579, -0.0357, -0.03581, \
                  -0.03583, -0.03584, -0.0358");
        }
      }

      internal_power() {
        when : "A2&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.1306, 0.1304, 0.1302, 0.13, 0.13, 0.1299, 0.1301, 0.13, 0.1299, \
                  0.1298");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.03482, -0.03483, -0.03492, -0.03495, -0.03502, -0.03495, -0.03502, \
                  -0.03504, -0.03505, -0.03501");
        }
      }

      internal_power() {
        when : "A2&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.1305, 0.1304, 0.1303, 0.13, 0.13, 0.1299, 0.13, 0.1299, 0.13, \
                  0.1298");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.03483, -0.03484, -0.03492, -0.03496, -0.035, -0.03491, -0.03505, \
                  -0.03506, -0.03504, -0.03506");
        }
      }
    }

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

      internal_power() {
        when : "!A1&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.1345, 0.1282, 0.1258, 0.1256, 0.1255, 0.1252, 0.1252, 0.1252, \
                  0.1251, 0.1251");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.1259, -0.1259, -0.1258, -0.1255, -0.1253, -0.1251, -0.1251, \
                  -0.125, -0.125, -0.1249");
        }
      }

      internal_power() {
        when : "!A1&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.03449, 0.0344, 0.03442, 0.03446, 0.03464, 0.03448, 0.03464, \
                  0.03466, 0.03463, 0.03467");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.03333, -0.03328, -0.03337, -0.03331, -0.0335, -0.03336, -0.03353, \
                  -0.03356, -0.03358, -0.03359");
        }
      }

      internal_power() {
        when : "!A1&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.03457, 0.03448, 0.03451, 0.03455, 0.03471, 0.03456, 0.03475, \
                  0.03475, 0.03472, 0.03475");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.03293, -0.03288, -0.03298, -0.03291, -0.0331, -0.03298, -0.03314, \
                  -0.03321, -0.03325, -0.03332");
        }
      }

      internal_power() {
        when : "!A1&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.03456, 0.03449, 0.03451, 0.03452, 0.03473, 0.03457, 0.03475, \
                  0.03474, 0.03473, 0.03475");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.03293, -0.03288, -0.03298, -0.03292, -0.03311, -0.033, -0.03315, \
                  -0.03317, -0.03323, -0.03327");
        }
      }

      internal_power() {
        when : "A1&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.2042, 0.2041, 0.2038, 0.2035, 0.2035, 0.2032, 0.2033, 0.2031, \
                  0.203, 0.2029");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.03564, -0.03561, -0.03572, -0.03568, -0.03582, -0.03572, -0.03585, \
                  -0.03581, -0.03582, -0.0358");
        }
      }

      internal_power() {
        when : "A1&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.1307, 0.1304, 0.1302, 0.13, 0.1302, 0.1298, 0.1301, 0.1299, \
                  0.1299, 0.1298");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.03486, -0.03483, -0.03493, -0.03491, -0.03504, -0.03496, -0.03505, \
                  -0.03504, -0.03507, -0.03504");
        }
      }

      internal_power() {
        when : "A1&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.1306, 0.1304, 0.1302, 0.13, 0.1301, 0.1299, 0.1301, 0.1299, \
                  0.1299, 0.1298");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.03486, -0.03484, -0.03493, -0.03492, -0.03503, -0.03495, -0.03507, \
                  -0.03501, -0.03505, -0.03503");
        }
      }
    }

    pin(B) {
      capacitance : 0.01722 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 5 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.07684, 0.07678, 0.07678, 0.0766, 0.07679, 0.07661, 0.07677, \
                  0.07672, 0.07665, 0.07652");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.04352, -0.0435, -0.04354, -0.04356, -0.04378, -0.04362, -0.0438, \
                  -0.04382, -0.0439, -0.04395");
        }
      }

      internal_power() {
        when : "!A1&A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.07638, 0.07625, 0.07632, 0.07614, 0.07634, 0.07617, 0.07635, \
                  0.07624, 0.0762, 0.07602");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.04369, -0.04366, -0.04367, -0.04372, -0.04391, -0.04382, -0.04397, \
                  -0.044, -0.04405, -0.04412");
        }
      }

      internal_power() {
        when : "A1&!A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.07638, 0.07634, 0.07632, 0.07614, 0.07638, 0.07615, 0.07632, \
                  0.07628, 0.07618, 0.07608");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.04371, -0.04369, -0.04369, -0.04372, -0.04393, -0.04382, -0.04397, \
                  -0.044, -0.04403, -0.04411");
        }
      }

      internal_power() {
        when : "A1&A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.1246, 0.1245, 0.1241, 0.124, 0.1243, 0.1241, 0.1242, 0.1242, \
                  0.1241, 0.1244");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.0977, -0.1004, -0.1074, -0.1132, -0.1166, -0.1183, -0.1194, \
                  -0.1201, -0.1206, -0.121");
        }
      }

      internal_power() {
        when : "A1&A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.06806, 0.06806, 0.06819, 0.06802, 0.06828, 0.06813, 0.06838, \
                  0.0684, 0.06838, 0.06838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.07919, -0.07443, -0.07118, -0.07007, -0.06987, -0.06942, -0.06941, \
                  -0.06914, -0.06905, -0.06891");
        }
      }
    }

    pin(C) {
      capacitance : 0.0165 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 5 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.1251, 0.1246, 0.1244, 0.1246, 0.1251, 0.1246, 0.1249, 0.1249, \
                  0.1249, 0.125");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.1112, -0.1151, -0.1194, -0.1207, -0.1221, -0.122, -0.1227, \
                  -0.1228, -0.1228, -0.123");
        }
      }

      internal_power() {
        when : "!A1&A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.1251, 0.1246, 0.1244, 0.1246, 0.1251, 0.1246, 0.1249, 0.125, \
                  0.1251, 0.125");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.1113, -0.1151, -0.1194, -0.1208, -0.1221, -0.122, -0.1226, \
                  -0.1227, -0.1228, -0.123");
        }
      }

      internal_power() {
        when : "A1&!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.1251, 0.1246, 0.1245, 0.1245, 0.1247, 0.1248, 0.125, 0.1247, \
                  0.125, 0.1249");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.1113, -0.1152, -0.1194, -0.1208, -0.1221, -0.122, -0.1226, \
                  -0.1228, -0.1229, -0.123");
        }
      }

      internal_power() {
        when : "A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.1243, 0.1241, 0.1238, 0.1239, 0.124, 0.1239, 0.1242, 0.1241, \
                  0.1243, 0.1242");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.1014, -0.104, -0.109, -0.1133, -0.1163, -0.1175, -0.119, -0.1196, \
                  -0.1202, -0.1205");
        }
      }

      internal_power() {
        when : "A1&A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("0.1251, 0.1246, 0.1244, 0.1246, 0.125, 0.1246, 0.125, 0.125, 0.125, \
                  0.1249");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          values("-0.1143, -0.1163, -0.1193, -0.1207, -0.1221, -0.122, -0.1227, \
                  -0.1228, -0.1228, -0.123");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B)&(!C))|((!A2)&(!B)&(!C)))" ;
      max_capacitance : 0.363 ;
      max_transition : 5 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.01072, 0.01137, 0.01298, 0.0144, 0.01537, 0.0159, 0.01626, 0.0165, 0.01667, 0.01677",\
                 "0.009988, 0.01093, 0.01351, 0.01608, 0.0181, 0.01937, 0.02021, 0.02078, 0.02118, 0.02145",\
                 "0.01823, 0.01882, 0.02044, 0.02272, 0.02476, 0.02641, 0.0275, 0.02826, 0.02877, 0.02925",\
                 "0.0425, 0.04198, 0.04094, 0.03986, 0.03894, 0.03827, 0.03774, 0.03727, 0.03689, 0.03661",\
                 "0.0878, 0.0862, 0.08123, 0.07505, 0.06879, 0.06354, 0.05894, 0.05522, 0.05215, 0.04966",\
                 "0.1613, 0.1581, 0.1488, 0.1358, 0.1222, 0.1099, 0.09908, 0.0898, 0.082, 0.07557",\
                 "0.2675, 0.2631, 0.2495, 0.2287, 0.2059, 0.1846, 0.1649, 0.1477, 0.133, 0.1204",\
                 "0.4095, 0.4035, 0.3854, 0.3573, 0.3246, 0.2918, 0.2618, 0.2349, 0.2109, 0.19",\
                 "0.5884, 0.5817, 0.5596, 0.5242, 0.4816, 0.4369, 0.3945, 0.3557, 0.321, 0.2899",\
                 "0.8066, 0.7986, 0.7727, 0.7306, 0.6789, 0.6222, 0.5664, 0.5141, 0.467, 0.4234");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.4626, 0.464, 0.4674, 0.4706, 0.4734, 0.4755, 0.4778, 0.4798, 0.4815, 0.4849",\
                 "0.4544, 0.4559, 0.4601, 0.4653, 0.4701, 0.4738, 0.4767, 0.4793, 0.482, 0.4858",\
                 "0.4551, 0.4555, 0.4569, 0.4601, 0.4642, 0.4687, 0.4726, 0.4771, 0.4806, 0.4845",\
                 "0.4871, 0.4859, 0.4822, 0.4783, 0.4762, 0.4759, 0.4769, 0.4793, 0.482, 0.4854",\
                 "0.5509, 0.5482, 0.5404, 0.5294, 0.5178, 0.5088, 0.5027, 0.4991, 0.4977, 0.4975",\
                 "0.6464, 0.6423, 0.631, 0.6143, 0.5947, 0.5749, 0.5587, 0.545, 0.5342, 0.5295",\
                 "0.7768, 0.7717, 0.7563, 0.7329, 0.7063, 0.6786, 0.651, 0.6265, 0.6057, 0.5898",\
                 "0.9449, 0.9384, 0.9195, 0.8902, 0.856, 0.82, 0.7825, 0.7466, 0.7133, 0.6843",\
                 "1.152, 1.145, 1.123, 1.088, 1.046, 1, 0.9538, 0.9068, 0.8627, 0.8214",\
                 "1.403, 1.395, 1.37, 1.329, 1.279, 1.224, 1.168, 1.112, 1.055, 1.002");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.01117, 0.01184, 0.01339, 0.01472, 0.01559, 0.016, 0.01634, 0.01654, 0.01669, 0.01677",\
                 "0.008666, 0.009842, 0.01288, 0.01591, 0.01806, 0.01938, 0.02025, 0.02082, 0.02121, 0.02149",\
                 "0.01131, 0.01226, 0.01516, 0.01883, 0.02205, 0.02437, 0.02602, 0.02721, 0.028, 0.02859",\
                 "0.03314, 0.03302, 0.03316, 0.03373, 0.03435, 0.03481, 0.03509, 0.03525, 0.03539, 0.03536",\
                 "0.07751, 0.07624, 0.07265, 0.06798, 0.0635, 0.05957, 0.056, 0.05314, 0.05063, 0.04851",\
                 "0.1507, 0.148, 0.1399, 0.1288, 0.1172, 0.1063, 0.09687, 0.08851, 0.08135, 0.07529",\
                 "0.2578, 0.2538, 0.2413, 0.2228, 0.2021, 0.1823, 0.1643, 0.1483, 0.1343, 0.1221",\
                 "0.4015, 0.3961, 0.3795, 0.3534, 0.323, 0.292, 0.2637, 0.2379, 0.2149, 0.1948",\
                 "0.5837, 0.577, 0.5561, 0.5228, 0.4828, 0.4406, 0.3997, 0.3623, 0.3284, 0.2984",\
                 "0.806, 0.7984, 0.7735, 0.7333, 0.6835, 0.6298, 0.576, 0.5252, 0.4788, 0.4369");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.5669, 0.567, 0.5679, 0.5688, 0.5701, 0.5714, 0.5731, 0.5751, 0.5778, 0.5807",\
                 "0.5603, 0.5607, 0.5622, 0.564, 0.5659, 0.568, 0.5703, 0.5724, 0.5755, 0.5789",\
                 "0.5631, 0.5632, 0.563, 0.5634, 0.5649, 0.5665, 0.5685, 0.5715, 0.5733, 0.5776",\
                 "0.5963, 0.5948, 0.5907, 0.5854, 0.5811, 0.5787, 0.5775, 0.5778, 0.5791, 0.5812",\
                 "0.6618, 0.6592, 0.6512, 0.6398, 0.627, 0.6161, 0.6078, 0.6021, 0.5989, 0.5969",\
                 "0.7604, 0.757, 0.7456, 0.7282, 0.7077, 0.6867, 0.6686, 0.6534, 0.6417, 0.6334",\
                 "0.8957, 0.8912, 0.8768, 0.854, 0.8257, 0.796, 0.7666, 0.7398, 0.7177, 0.6986",\
                 "1.069, 1.064, 1.047, 1.019, 0.9836, 0.9448, 0.9044, 0.8663, 0.832, 0.8006",\
                 "1.285, 1.279, 1.259, 1.227, 1.184, 1.136, 1.087, 1.037, 0.9888, 0.9451",\
                 "1.543, 1.537, 1.515, 1.478, 1.428, 1.373, 1.313, 1.251, 1.193, 1.134");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&!A2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1558, 0.1556, 0.1556, 0.156, 0.1561, 0.1563, 0.1565, 0.1566, 0.1566, 0.1567",\
                 "0.1567, 0.1566, 0.1569, 0.1575, 0.1578, 0.158, 0.1582, 0.1583, 0.1584, 0.1586",\
                 "0.1565, 0.1566, 0.1569, 0.1574, 0.1577, 0.1585, 0.159, 0.1592, 0.1593, 0.1595",\
                 "0.1665, 0.1662, 0.1658, 0.1648, 0.1638, 0.1631, 0.1624, 0.162, 0.1618, 0.1617",\
                 "0.2, 0.199, 0.1956, 0.191, 0.1865, 0.1821, 0.178, 0.1747, 0.1722, 0.1702",\
                 "0.2644, 0.2628, 0.2559, 0.2461, 0.2348, 0.2236, 0.2139, 0.2055, 0.1982, 0.1923",\
                 "0.3657, 0.3624, 0.3517, 0.3356, 0.316, 0.2956, 0.2772, 0.2606, 0.2464, 0.2339",\
                 "0.5044, 0.5004, 0.4859, 0.4623, 0.4338, 0.403, 0.3739, 0.3467, 0.3229, 0.302",\
                 "0.6836, 0.6784, 0.6604, 0.6304, 0.592, 0.5507, 0.5085, 0.469, 0.4332, 0.4012",\
                 "0.9043, 0.8979, 0.8769, 0.8407, 0.7933, 0.7398, 0.6851, 0.6316, 0.5823, 0.5374");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.684, 0.6845, 0.6857, 0.6866, 0.6875, 0.6891, 0.6906, 0.6927, 0.6948, 0.697",\
                 "0.6794, 0.6801, 0.682, 0.6839, 0.6857, 0.6877, 0.6896, 0.6922, 0.6948, 0.6966",\
                 "0.6732, 0.6738, 0.6757, 0.6783, 0.6814, 0.6844, 0.687, 0.69, 0.6921, 0.6957",\
                 "0.6809, 0.6807, 0.6805, 0.6804, 0.6816, 0.6835, 0.6865, 0.6891, 0.6912, 0.6948",\
                 "0.7205, 0.7187, 0.7147, 0.7086, 0.7036, 0.7004, 0.699, 0.699, 0.6989, 0.7002",\
                 "0.8009, 0.7977, 0.7881, 0.7753, 0.7612, 0.749, 0.7389, 0.7318, 0.7263, 0.7231",\
                 "0.9247, 0.9199, 0.9057, 0.8837, 0.8604, 0.8375, 0.8163, 0.7984, 0.7839, 0.7722",\
                 "1.091, 1.085, 1.066, 1.037, 1.003, 0.9688, 0.9363, 0.906, 0.8789, 0.8554",\
                 "1.299, 1.292, 1.27, 1.235, 1.19, 1.144, 1.099, 1.056, 1.017, 0.9813",\
                 "1.551, 1.543, 1.518, 1.477, 1.424, 1.366, 1.307, 1.252, 1.199, 1.151");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1356, 0.1353, 0.1354, 0.1354, 0.1356, 0.1357, 0.1358, 0.1358, 0.1359, 0.1359",\
                 "0.1353, 0.1356, 0.1354, 0.1356, 0.1357, 0.136, 0.1362, 0.1364, 0.1363, 0.1363",\
                 "0.1339, 0.1339, 0.134, 0.1341, 0.1341, 0.1346, 0.1346, 0.135, 0.1348, 0.1349",\
                 "0.1439, 0.1435, 0.1422, 0.1406, 0.139, 0.1379, 0.1371, 0.1365, 0.136, 0.1357",\
                 "0.1783, 0.1767, 0.1728, 0.1669, 0.1613, 0.1561, 0.1518, 0.1481, 0.1456, 0.1436",\
                 "0.2446, 0.2419, 0.234, 0.2218, 0.2087, 0.1965, 0.1862, 0.1773, 0.1698, 0.1638",\
                 "0.3469, 0.3426, 0.3306, 0.3112, 0.2889, 0.2671, 0.2474, 0.2302, 0.2158, 0.2035",\
                 "0.4874, 0.482, 0.4647, 0.438, 0.4054, 0.3722, 0.3412, 0.3131, 0.2891, 0.2682",\
                 "0.6672, 0.6607, 0.6398, 0.6053, 0.5623, 0.5172, 0.4729, 0.4319, 0.395, 0.3633",\
                 "0.8882, 0.8808, 0.856, 0.815, 0.762, 0.7037, 0.6456, 0.59, 0.5391, 0.4935");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.6179, 0.6184, 0.6196, 0.6208, 0.6217, 0.6233, 0.6248, 0.626, 0.6278, 0.6307",\
                 "0.6133, 0.614, 0.6159, 0.6178, 0.6198, 0.6222, 0.6235, 0.6256, 0.6278, 0.6312",\
                 "0.607, 0.6076, 0.6095, 0.6123, 0.6152, 0.6182, 0.6215, 0.6233, 0.626, 0.6289",\
                 "0.613, 0.6131, 0.6128, 0.6133, 0.6147, 0.6169, 0.6196, 0.6229, 0.6255, 0.6289",\
                 "0.6496, 0.6478, 0.6443, 0.6386, 0.6342, 0.6318, 0.6301, 0.631, 0.6309, 0.6325",\
                 "0.7257, 0.7225, 0.7136, 0.701, 0.6888, 0.677, 0.6678, 0.6611, 0.6566, 0.6537",\
                 "0.8466, 0.8423, 0.8277, 0.8064, 0.7841, 0.7619, 0.7424, 0.7246, 0.7115, 0.7005",\
                 "1.011, 1.005, 0.9864, 0.9571, 0.9237, 0.8908, 0.8588, 0.8303, 0.8033, 0.781",\
                 "1.218, 1.211, 1.188, 1.153, 1.109, 1.063, 1.02, 0.9784, 0.9383, 0.9038",\
                 "1.468, 1.46, 1.435, 1.393, 1.341, 1.284, 1.226, 1.173, 1.121, 1.072");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1354, 0.1354, 0.1355, 0.1355, 0.1357, 0.1357, 0.1357, 0.1358, 0.1357, 0.1358",\
                 "0.1354, 0.1353, 0.1355, 0.1357, 0.1359, 0.1361, 0.1362, 0.1362, 0.1362, 0.1361",\
                 "0.1339, 0.134, 0.134, 0.1341, 0.1344, 0.1344, 0.1347, 0.1347, 0.1348, 0.1348",\
                 "0.1438, 0.1435, 0.1422, 0.1407, 0.1392, 0.138, 0.1371, 0.1365, 0.136, 0.1355",\
                 "0.1778, 0.1765, 0.1725, 0.1671, 0.1613, 0.1562, 0.1518, 0.1485, 0.1456, 0.1433",\
                 "0.2443, 0.2415, 0.2337, 0.2217, 0.2087, 0.1966, 0.1861, 0.1772, 0.1698, 0.1637",\
                 "0.3461, 0.3419, 0.3299, 0.3108, 0.2886, 0.2668, 0.2473, 0.2303, 0.2158, 0.2035",\
                 "0.4863, 0.4809, 0.464, 0.4374, 0.4053, 0.3721, 0.3411, 0.3133, 0.2887, 0.268",\
                 "0.6659, 0.6595, 0.6384, 0.6044, 0.562, 0.5168, 0.4724, 0.4316, 0.3951, 0.3632",\
                 "0.8867, 0.8792, 0.8548, 0.8138, 0.7612, 0.7032, 0.6451, 0.5898, 0.5388, 0.4932");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.7352, 0.7355, 0.7362, 0.7372, 0.7385, 0.7399, 0.7418, 0.7439, 0.7456, 0.749",\
                 "0.7315, 0.7321, 0.7332, 0.7346, 0.7368, 0.7386, 0.7408, 0.7425, 0.7456, 0.7486",\
                 "0.7254, 0.7256, 0.7273, 0.7297, 0.7325, 0.7355, 0.7383, 0.7412, 0.7443, 0.7463",\
                 "0.729, 0.7289, 0.7291, 0.7299, 0.7313, 0.7339, 0.7369, 0.7398, 0.7434, 0.7472",\
                 "0.7609, 0.7597, 0.7569, 0.7529, 0.7497, 0.7475, 0.7466, 0.7475, 0.7479, 0.7513",\
                 "0.8321, 0.8295, 0.8226, 0.8126, 0.8014, 0.7914, 0.7833, 0.7772, 0.7726, 0.7706",\
                 "0.9477, 0.9436, 0.9318, 0.9137, 0.8941, 0.8738, 0.8557, 0.8402, 0.8266, 0.8183",\
                 "1.108, 1.102, 1.086, 1.061, 1.03, 0.9994, 0.9703, 0.9423, 0.9189, 0.8975",\
                 "1.311, 1.305, 1.285, 1.253, 1.212, 1.17, 1.128, 1.089, 1.052, 1.019",\
                 "1.558, 1.551, 1.528, 1.49, 1.442, 1.387, 1.332, 1.28, 1.231, 1.183");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&!A2&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.2202, 0.2201, 0.22, 0.22, 0.2199, 0.2199, 0.22, 0.22, 0.2202, 0.2202",\
                 "0.2141, 0.2142, 0.2143, 0.2143, 0.2142, 0.2143, 0.2145, 0.2145, 0.2146, 0.2145",\
                 "0.2091, 0.2092, 0.2087, 0.2085, 0.2084, 0.2085, 0.2085, 0.2085, 0.2084, 0.2083",\
                 "0.2188, 0.2185, 0.2168, 0.2151, 0.213, 0.2112, 0.21, 0.2091, 0.2087, 0.208",\
                 "0.2549, 0.2536, 0.2496, 0.2439, 0.2375, 0.2314, 0.2261, 0.2222, 0.2188, 0.2161",\
                 "0.3268, 0.3242, 0.3165, 0.3043, 0.2907, 0.2774, 0.2651, 0.2548, 0.2463, 0.2393",\
                 "0.4402, 0.4364, 0.4242, 0.4047, 0.3812, 0.357, 0.3349, 0.3154, 0.2985, 0.2842",\
                 "0.5988, 0.5937, 0.5771, 0.5489, 0.5148, 0.4779, 0.443, 0.4109, 0.3825, 0.3584",\
                 "0.8046, 0.7983, 0.7767, 0.7414, 0.6955, 0.6455, 0.595, 0.5479, 0.5055, 0.4681",\
                 "1.06, 1.052, 1.027, 0.9837, 0.9269, 0.8624, 0.7964, 0.7322, 0.6725, 0.6201");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.7713, 0.7717, 0.7725, 0.7738, 0.7748, 0.7762, 0.7784, 0.78, 0.7817, 0.7843",\
                 "0.7663, 0.7671, 0.7689, 0.7712, 0.7728, 0.7747, 0.7766, 0.7786, 0.7808, 0.7834",\
                 "0.7593, 0.76, 0.7621, 0.7651, 0.768, 0.771, 0.7737, 0.7768, 0.7794, 0.7821",\
                 "0.7622, 0.7624, 0.763, 0.7636, 0.7659, 0.7685, 0.7715, 0.7746, 0.7772, 0.7803",\
                 "0.7964, 0.7952, 0.7918, 0.7879, 0.7843, 0.7824, 0.7818, 0.7822, 0.7835, 0.7852",\
                 "0.878, 0.8749, 0.8659, 0.8543, 0.8417, 0.8312, 0.8226, 0.8164, 0.8118, 0.8095",\
                 "1.012, 1.007, 0.9926, 0.9712, 0.9478, 0.9261, 0.9065, 0.8884, 0.8748, 0.8626",\
                 "1.198, 1.192, 1.173, 1.142, 1.107, 1.071, 1.038, 1.009, 0.9819, 0.9571",\
                 "1.435, 1.428, 1.406, 1.369, 1.321, 1.271, 1.223, 1.179, 1.139, 1.101",\
                 "1.724, 1.716, 1.69, 1.647, 1.59, 1.527, 1.463, 1.403, 1.347, 1.295");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1999, 0.2001, 0.1999, 0.1997, 0.1997, 0.1998, 0.2, 0.2, 0.2001, 0.2",\
                 "0.1943, 0.194, 0.1941, 0.1939, 0.1937, 0.194, 0.1941, 0.1942, 0.1942, 0.1942",\
                 "0.1883, 0.1884, 0.1881, 0.1873, 0.1871, 0.187, 0.1868, 0.187, 0.187, 0.187",\
                 "0.1976, 0.1969, 0.1952, 0.1928, 0.1904, 0.1885, 0.1872, 0.1866, 0.1859, 0.1854",\
                 "0.2338, 0.2324, 0.2272, 0.2202, 0.2132, 0.2069, 0.2016, 0.1976, 0.1944, 0.1923",\
                 "0.3068, 0.3039, 0.2942, 0.2801, 0.2649, 0.2503, 0.2383, 0.228, 0.2196, 0.2129",\
                 "0.4214, 0.4167, 0.4022, 0.3797, 0.3531, 0.3276, 0.3045, 0.285, 0.2684, 0.2546",\
                 "0.5814, 0.5754, 0.555, 0.5229, 0.4845, 0.4452, 0.4084, 0.3759, 0.3479, 0.3243",\
                 "0.7881, 0.7803, 0.7553, 0.7142, 0.6631, 0.6088, 0.5558, 0.5076, 0.4647, 0.4276",\
                 "1.043, 1.034, 1.005, 0.9554, 0.8922, 0.8216, 0.7519, 0.6853, 0.6253, 0.5719");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.7051, 0.7055, 0.7065, 0.7077, 0.709, 0.7103, 0.712, 0.7133, 0.716, 0.7176",\
                 "0.7001, 0.7008, 0.7029, 0.7048, 0.7072, 0.709, 0.7106, 0.7124, 0.7142, 0.7176",\
                 "0.6933, 0.6941, 0.6961, 0.6988, 0.7018, 0.7049, 0.7075, 0.7102, 0.7128, 0.7158",\
                 "0.6951, 0.6952, 0.6958, 0.6968, 0.699, 0.7019, 0.705, 0.7079, 0.711, 0.7144",\
                 "0.7256, 0.7243, 0.7213, 0.7178, 0.7144, 0.7132, 0.713, 0.7138, 0.7155, 0.7167",\
                 "0.8007, 0.798, 0.7895, 0.7781, 0.7677, 0.7574, 0.7494, 0.7439, 0.7407, 0.7383",\
                 "0.9283, 0.9238, 0.9097, 0.8892, 0.8667, 0.8467, 0.8278, 0.811, 0.7979, 0.7882",\
                 "1.11, 1.103, 1.084, 1.055, 1.019, 0.9857, 0.9547, 0.9262, 0.8996, 0.8778",\
                 "1.343, 1.335, 1.312, 1.275, 1.228, 1.18, 1.134, 1.091, 1.053, 1.016",\
                 "1.628, 1.62, 1.594, 1.549, 1.493, 1.431, 1.368, 1.31, 1.257, 1.207");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.2, 0.1999, 0.1999, 0.1997, 0.1998, 0.1999, 0.2, 0.1999, 0.1999, 0.1999",\
                 "0.1942, 0.1941, 0.1941, 0.194, 0.194, 0.194, 0.1941, 0.1941, 0.194, 0.194",\
                 "0.1884, 0.1882, 0.1881, 0.1876, 0.1873, 0.1872, 0.187, 0.1869, 0.1868, 0.1868",\
                 "0.1974, 0.1968, 0.1951, 0.1927, 0.1905, 0.1888, 0.1874, 0.1864, 0.1857, 0.1853",\
                 "0.2335, 0.2318, 0.227, 0.2201, 0.2131, 0.2069, 0.2018, 0.1977, 0.1945, 0.1921",\
                 "0.3063, 0.3033, 0.2936, 0.2799, 0.2647, 0.2504, 0.2383, 0.2281, 0.2196, 0.213",\
                 "0.4205, 0.4158, 0.4013, 0.3791, 0.3529, 0.3273, 0.3043, 0.2849, 0.2684, 0.2546",\
                 "0.5799, 0.5737, 0.554, 0.5223, 0.4842, 0.4448, 0.4082, 0.3757, 0.348, 0.3242",\
                 "0.7863, 0.7788, 0.7537, 0.7131, 0.6624, 0.6084, 0.5555, 0.507, 0.4646, 0.4278",\
                 "1.042, 1.032, 1.003, 0.9542, 0.8913, 0.8209, 0.7515, 0.685, 0.6252, 0.5718");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.8224, 0.8225, 0.8235, 0.8243, 0.8256, 0.827, 0.8291, 0.8307, 0.8325, 0.8363",\
                 "0.8186, 0.819, 0.8202, 0.8218, 0.8238, 0.8256, 0.8278, 0.8303, 0.8325, 0.8359",\
                 "0.8118, 0.8122, 0.8139, 0.8164, 0.8191, 0.8223, 0.8249, 0.8276, 0.8307, 0.8341",\
                 "0.8119, 0.812, 0.8125, 0.814, 0.8162, 0.8193, 0.8223, 0.8258, 0.8289, 0.8323",\
                 "0.838, 0.8373, 0.8353, 0.8322, 0.8301, 0.8294, 0.83, 0.8312, 0.832, 0.835",\
                 "0.9075, 0.9053, 0.8993, 0.8903, 0.8804, 0.872, 0.8645, 0.86, 0.8572, 0.8561",\
                 "1.03, 1.026, 1.014, 0.9962, 0.9773, 0.9588, 0.9409, 0.9261, 0.913, 0.9043",\
                 "1.206, 1.2, 1.183, 1.157, 1.126, 1.095, 1.066, 1.039, 1.015, 0.9938",\
                 "1.435, 1.429, 1.408, 1.374, 1.33, 1.286, 1.242, 1.202, 1.165, 1.131",\
                 "1.718, 1.711, 1.687, 1.646, 1.592, 1.533, 1.475, 1.419, 1.367, 1.318");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.08373, 0.09107, 0.1164, 0.1646, 0.2388, 0.3428, 0.4796, 0.6519, 0.8622, 1.113",\
                 "0.0902, 0.09764, 0.1232, 0.1715, 0.2463, 0.3505, 0.4875, 0.6598, 0.8702, 1.121",\
                 "0.114, 0.1224, 0.1492, 0.1975, 0.2722, 0.3766, 0.5135, 0.6859, 0.8964, 1.147",\
                 "0.133, 0.1441, 0.1801, 0.2408, 0.3219, 0.4261, 0.5627, 0.7347, 0.9449, 1.195",\
                 "0.1364, 0.1507, 0.1967, 0.2727, 0.3743, 0.4979, 0.6406, 0.812, 1.021, 1.271",\
                 "0.1193, 0.1374, 0.1946, 0.2879, 0.4104, 0.558, 0.7284, 0.9187, 1.131, 1.38",\
                 "0.0805, 0.1018, 0.1701, 0.2826, 0.4281, 0.6016, 0.7987, 1.019, 1.262, 1.524",\
                 "0.0184, 0.0436, 0.1231, 0.2537, 0.4238, 0.6246, 0.851, 1.101, 1.376, 1.673",\
                 "-0.068, -0.0393, 0.0518, 0.2003, 0.3948, 0.624, 0.88, 1.164, 1.471, 1.802",\
                 "-0.1798, -0.1479, -0.045, 0.1217, 0.3397, 0.5976, 0.8871, 1.202, 1.544, 1.91");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1498, 0.1682, 0.2329, 0.3556, 0.5453, 0.8108, 1.159, 1.597, 2.132, 2.768",\
                 "0.153, 0.1713, 0.2361, 0.3603, 0.5517, 0.8179, 1.166, 1.605, 2.14, 2.777",\
                 "0.1838, 0.2005, 0.2626, 0.3846, 0.5756, 0.8421, 1.192, 1.631, 2.166, 2.804",\
                 "0.2579, 0.2757, 0.3347, 0.4496, 0.6357, 0.899, 1.247, 1.685, 2.22, 2.857",\
                 "0.3578, 0.3779, 0.4455, 0.566, 0.7444, 1.001, 1.344, 1.778, 2.309, 2.944",\
                 "0.4841, 0.5072, 0.5825, 0.7156, 0.9071, 1.158, 1.494, 1.921, 2.446, 3.078",\
                 "0.6357, 0.6623, 0.7485, 0.8934, 1.101, 1.371, 1.704, 2.124, 2.642, 3.266",\
                 "0.8127, 0.8431, 0.9417, 1.104, 1.327, 1.616, 1.97, 2.39, 2.901, 3.516",\
                 "1.016, 1.05, 1.162, 1.345, 1.588, 1.894, 2.271, 2.715, 3.227, 3.835",\
                 "1.246, 1.285, 1.411, 1.614, 1.883, 2.211, 2.606, 3.076, 3.613, 4.226");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.09618, 0.108, 0.1495, 0.2282, 0.3509, 0.5244, 0.7504, 1.036, 1.386, 1.8",\
                 "0.0961, 0.108, 0.1495, 0.2285, 0.3509, 0.5228, 0.7502, 1.036, 1.384, 1.8",\
                 "0.1118, 0.1209, 0.1548, 0.2289, 0.3519, 0.523, 0.7504, 1.037, 1.385, 1.801",\
                 "0.1528, 0.165, 0.2051, 0.2734, 0.371, 0.5265, 0.7499, 1.036, 1.385, 1.8",\
                 "0.2084, 0.2223, 0.2688, 0.3483, 0.4585, 0.5957, 0.7799, 1.041, 1.385, 1.801",\
                 "0.2769, 0.2944, 0.3498, 0.4399, 0.5628, 0.7184, 0.9044, 1.125, 1.42, 1.806",\
                 "0.356, 0.3766, 0.4442, 0.5504, 0.6884, 0.8576, 1.061, 1.298, 1.567, 1.899",\
                 "0.4464, 0.4702, 0.5492, 0.6752, 0.8328, 1.018, 1.237, 1.493, 1.786, 2.11",\
                 "0.546, 0.576, 0.6666, 0.8104, 0.9914, 1.202, 1.44, 1.71, 2.025, 2.371",\
                 "0.6564, 0.6894, 0.795, 0.9586, 1.164, 1.4, 1.662, 1.953, 2.282, 2.655");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.2828, 0.3179, 0.4375, 0.6564, 0.9891, 1.452, 2.06, 2.825, 3.756, 4.869",\
                 "0.2793, 0.3151, 0.4358, 0.6559, 0.9894, 1.451, 2.06, 2.822, 3.756, 4.869",\
                 "0.2698, 0.3056, 0.4295, 0.6538, 0.9903, 1.451, 2.059, 2.825, 3.759, 4.873",\
                 "0.2944, 0.3242, 0.4302, 0.6451, 0.9859, 1.45, 2.06, 2.825, 3.76, 4.865",\
                 "0.33, 0.3622, 0.4744, 0.6694, 0.9836, 1.45, 2.061, 2.826, 3.757, 4.87",\
                 "0.3842, 0.4136, 0.523, 0.7306, 1.032, 1.459, 2.055, 2.822, 3.761, 4.871",\
                 "0.4608, 0.491, 0.5958, 0.8002, 1.115, 1.532, 2.086, 2.825, 3.755, 4.863",\
                 "0.5478, 0.582, 0.6924, 0.8914, 1.206, 1.644, 2.183, 2.874, 3.761, 4.868",\
                 "0.6422, 0.6816, 0.8038, 1.01, 1.317, 1.757, 2.324, 2.997, 3.839, 4.892",\
                 "0.7464, 0.7896, 0.9244, 1.148, 1.459, 1.891, 2.468, 3.166, 3.985, 4.987");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.09723, 0.1045, 0.1298, 0.1779, 0.2522, 0.3562, 0.4929, 0.6652, 0.8754, 1.126",\
                 "0.1027, 0.1102, 0.1359, 0.1844, 0.259, 0.3633, 0.5003, 0.6727, 0.8828, 1.134",\
                 "0.1166, 0.1246, 0.1513, 0.2, 0.275, 0.3796, 0.5168, 0.6893, 0.8997, 1.15",\
                 "0.1279, 0.1376, 0.1694, 0.2244, 0.3034, 0.4083, 0.5452, 0.7175, 0.9277, 1.179",\
                 "0.1241, 0.1367, 0.1771, 0.2436, 0.3337, 0.4484, 0.5901, 0.7623, 0.972, 1.222",\
                 "0.09811, 0.1139, 0.1642, 0.2466, 0.3546, 0.4849, 0.6394, 0.8223, 1.036, 1.285",\
                 "0.0476, 0.0666, 0.127, 0.2264, 0.3555, 0.5086, 0.6827, 0.8809, 1.108, 1.368",\
                 "-0.0295, -0.0073, 0.0638, 0.1799, 0.3315, 0.5098, 0.7105, 0.9313, 1.177, 1.452",\
                 "-0.1346, -0.109, -0.0275, 0.1058, 0.2795, 0.4846, 0.7136, 0.9641, 1.235, 1.53",\
                 "-0.2686, -0.2402, -0.1482, 0.0026, 0.1983, 0.4295, 0.6885, 0.9699, 1.273, 1.597");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1996, 0.2177, 0.2816, 0.4033, 0.5922, 0.857, 1.205, 1.642, 2.177, 2.813",\
                 "0.2036, 0.2218, 0.2859, 0.4084, 0.5978, 0.8629, 1.21, 1.649, 2.183, 2.82",\
                 "0.2344, 0.252, 0.3148, 0.4359, 0.6251, 0.8898, 1.238, 1.676, 2.21, 2.848",\
                 "0.3124, 0.3286, 0.3869, 0.5031, 0.6883, 0.95, 1.296, 1.732, 2.265, 2.902",\
                 "0.4249, 0.4436, 0.5069, 0.6216, 0.7997, 1.056, 1.396, 1.829, 2.358, 2.992",\
                 "0.5663, 0.5867, 0.6562, 0.7828, 0.9665, 1.216, 1.549, 1.975, 2.499, 3.129",\
                 "0.7392, 0.7621, 0.8379, 0.9742, 1.173, 1.435, 1.763, 2.181, 2.698, 3.32",\
                 "0.9425, 0.9682, 1.054, 1.201, 1.413, 1.693, 2.037, 2.453, 2.961, 3.574",\
                 "1.178, 1.207, 1.303, 1.466, 1.692, 1.986, 2.353, 2.787, 3.294, 3.899",\
                 "1.445, 1.477, 1.584, 1.765, 2.01, 2.321, 2.705, 3.162, 3.693, 4.296");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.09604, 0.108, 0.1494, 0.2287, 0.3506, 0.5229, 0.7503, 1.036, 1.385, 1.799",\
                 "0.09596, 0.1076, 0.1494, 0.228, 0.3514, 0.5229, 0.7502, 1.036, 1.385, 1.8",\
                 "0.1057, 0.116, 0.153, 0.2284, 0.3509, 0.5233, 0.7504, 1.037, 1.384, 1.801",\
                 "0.1405, 0.1505, 0.1862, 0.2553, 0.3641, 0.5262, 0.7505, 1.036, 1.386, 1.799",\
                 "0.1962, 0.2075, 0.2444, 0.3122, 0.4168, 0.5669, 0.7707, 1.042, 1.386, 1.801",\
                 "0.2657, 0.2792, 0.3227, 0.3968, 0.5014, 0.6456, 0.841, 1.092, 1.411, 1.808",\
                 "0.3462, 0.3624, 0.4138, 0.4996, 0.6156, 0.7602, 0.9492, 1.192, 1.495, 1.864",\
                 "0.4388, 0.4574, 0.5172, 0.6164, 0.7472, 0.9054, 1.098, 1.331, 1.625, 1.985",\
                 "0.5408, 0.5624, 0.632, 0.746, 0.894, 1.07, 1.276, 1.513, 1.8, 2.149",\
                 "0.649, 0.6748, 0.7568, 0.8852, 1.054, 1.25, 1.476, 1.73, 2.018, 2.358");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.3737, 0.408, 0.5251, 0.742, 1.074, 1.536, 2.144, 2.907, 3.839, 4.95",\
                 "0.3723, 0.4066, 0.5242, 0.7421, 1.074, 1.536, 2.143, 2.907, 3.839, 4.95",\
                 "0.3648, 0.4005, 0.5209, 0.7405, 1.073, 1.536, 2.143, 2.907, 3.84, 4.951",\
                 "0.3716, 0.4025, 0.514, 0.7338, 1.072, 1.536, 2.144, 2.908, 3.84, 4.951",\
                 "0.4106, 0.4427, 0.5486, 0.7459, 1.067, 1.535, 2.143, 2.907, 3.839, 4.95",\
                 "0.4558, 0.4874, 0.5986, 0.8054, 1.106, 1.539, 2.141, 2.906, 3.839, 4.95",\
                 "0.5192, 0.5512, 0.6614, 0.8726, 1.188, 1.603, 2.162, 2.907, 3.838, 4.949",\
                 "0.6026, 0.6354, 0.745, 0.952, 1.275, 1.711, 2.251, 2.949, 3.843, 4.948",\
                 "0.695, 0.732, 0.8508, 1.058, 1.375, 1.821, 2.387, 3.064, 3.908, 4.964",\
                 "0.7956, 0.8362, 0.9646, 1.185, 1.5, 1.945, 2.528, 3.227, 4.05, 5.054");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1728, 0.1816, 0.2125, 0.2694, 0.3565, 0.4775, 0.635, 0.8327, 1.073, 1.36",\
                 "0.1806, 0.1898, 0.2206, 0.2774, 0.365, 0.4856, 0.6432, 0.841, 1.082, 1.368",\
                 "0.2081, 0.2167, 0.2476, 0.3051, 0.3922, 0.513, 0.6707, 0.8685, 1.109, 1.396",\
                 "0.2607, 0.27, 0.3028, 0.3599, 0.4465, 0.5668, 0.7241, 0.9216, 1.162, 1.448",\
                 "0.3096, 0.3218, 0.3624, 0.4328, 0.5311, 0.6542, 0.8105, 1.007, 1.247, 1.532",\
                 "0.3489, 0.3627, 0.4117, 0.4957, 0.613, 0.7603, 0.9329, 1.131, 1.369, 1.654",\
                 "0.3761, 0.3937, 0.4496, 0.5481, 0.6844, 0.8541, 1.055, 1.283, 1.533, 1.817",\
                 "0.3913, 0.4096, 0.4753, 0.5878, 0.7448, 0.9376, 1.164, 1.422, 1.709, 2.02",\
                 "0.392, 0.414, 0.4874, 0.615, 0.7911, 1.009, 1.263, 1.55, 1.869, 2.218",\
                 "0.3785, 0.4028, 0.4853, 0.6275, 0.824, 1.067, 1.349, 1.665, 2.017, 2.401");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.2247, 0.2404, 0.295, 0.3979, 0.556, 0.778, 1.069, 1.436, 1.884, 2.417",\
                 "0.23, 0.2454, 0.3011, 0.4038, 0.5629, 0.785, 1.076, 1.443, 1.891, 2.424",\
                 "0.2527, 0.269, 0.3239, 0.4278, 0.5871, 0.8096, 1.102, 1.469, 1.917, 2.451",\
                 "0.2979, 0.3149, 0.3715, 0.475, 0.6341, 0.856, 1.148, 1.515, 1.963, 2.497",\
                 "0.3618, 0.3804, 0.4433, 0.5548, 0.7154, 0.9352, 1.225, 1.59, 2.037, 2.569",\
                 "0.4491, 0.4701, 0.5396, 0.6599, 0.8321, 1.058, 1.345, 1.706, 2.149, 2.679",\
                 "0.5554, 0.5799, 0.6591, 0.7922, 0.9766, 1.217, 1.513, 1.871, 2.31, 2.835",\
                 "0.6788, 0.7065, 0.7972, 0.9476, 1.149, 1.403, 1.715, 2.088, 2.524, 3.043",\
                 "0.8173, 0.8492, 0.9516, 1.121, 1.345, 1.619, 1.947, 2.337, 2.789, 3.31",\
                 "0.9722, 1.008, 1.123, 1.311, 1.56, 1.86, 2.209, 2.616, 3.088, 3.628");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1951, 0.2094, 0.259, 0.3518, 0.4933, 0.6897, 0.9465, 1.27, 1.663, 2.131",\
                 "0.1948, 0.2094, 0.2592, 0.3516, 0.4932, 0.6897, 0.9462, 1.27, 1.663, 2.131",\
                 "0.1943, 0.2087, 0.259, 0.3515, 0.4932, 0.6895, 0.9463, 1.269, 1.663, 2.131",\
                 "0.2303, 0.2417, 0.2813, 0.3605, 0.4936, 0.6893, 0.9466, 1.269, 1.663, 2.131",\
                 "0.3047, 0.3192, 0.3659, 0.4458, 0.5549, 0.7155, 0.9508, 1.27, 1.663, 2.131",\
                 "0.3911, 0.4074, 0.4622, 0.5546, 0.6834, 0.8418, 1.035, 1.305, 1.669, 2.132",\
                 "0.491, 0.5096, 0.5728, 0.6776, 0.8204, 1.003, 1.216, 1.458, 1.765, 2.171",\
                 "0.6012, 0.6232, 0.6974, 0.8168, 0.9766, 1.175, 1.412, 1.686, 1.985, 2.336",\
                 "0.7212, 0.7472, 0.8308, 0.9694, 1.152, 1.368, 1.625, 1.921, 2.259, 2.622",\
                 "0.8482, 0.8782, 0.978, 1.133, 1.337, 1.579, 1.858, 2.176, 2.536, 2.938");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.3199, 0.3462, 0.4376, 0.6145, 0.8887, 1.275, 1.78, 2.42, 3.195, 4.123",\
                 "0.3209, 0.3459, 0.438, 0.6147, 0.8898, 1.275, 1.783, 2.42, 3.198, 4.125",\
                 "0.3229, 0.348, 0.4386, 0.6146, 0.89, 1.274, 1.781, 2.42, 3.194, 4.123",\
                 "0.3531, 0.3743, 0.455, 0.6187, 0.8904, 1.276, 1.782, 2.42, 3.198, 4.122",\
                 "0.4168, 0.4383, 0.5162, 0.6639, 0.9089, 1.279, 1.782, 2.42, 3.195, 4.122",\
                 "0.5026, 0.5216, 0.5958, 0.7448, 0.9782, 1.317, 1.791, 2.421, 3.198, 4.126",\
                 "0.6164, 0.6354, 0.7038, 0.8454, 1.082, 1.41, 1.854, 2.442, 3.198, 4.126",\
                 "0.7428, 0.7638, 0.8364, 0.9756, 1.2, 1.532, 1.969, 2.527, 3.244, 4.13",\
                 "0.878, 0.8992, 0.9798, 1.128, 1.353, 1.677, 2.114, 2.669, 3.351, 4.199",\
                 "1.021, 1.045, 1.132, 1.295, 1.532, 1.853, 2.287, 2.842, 3.517, 4.331");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1424, 0.1517, 0.1837, 0.2422, 0.3308, 0.4523, 0.6104, 0.8085, 1.05, 1.336",\
                 "0.15, 0.1595, 0.1914, 0.2499, 0.3384, 0.4601, 0.6183, 0.8164, 1.057, 1.344",\
                 "0.1778, 0.1869, 0.2184, 0.2769, 0.3652, 0.4869, 0.6451, 0.8432, 1.084, 1.371",\
                 "0.2265, 0.2373, 0.2724, 0.332, 0.4193, 0.5402, 0.6981, 0.896, 1.137, 1.423",\
                 "0.2667, 0.2799, 0.3239, 0.3985, 0.5012, 0.6272, 0.7842, 0.9809, 1.221, 1.507",\
                 "0.295, 0.311, 0.3642, 0.4542, 0.5767, 0.7283, 0.9044, 1.105, 1.343, 1.627",\
                 "0.3099, 0.329, 0.3914, 0.497, 0.6398, 0.8156, 1.021, 1.252, 1.506, 1.791",\
                 "0.3114, 0.3331, 0.4044, 0.5264, 0.6906, 0.8915, 1.123, 1.386, 1.677, 1.99",\
                 "0.2984, 0.3225, 0.4034, 0.5406, 0.7266, 0.9537, 1.215, 1.507, 1.831, 2.183",\
                 "0.2701, 0.2977, 0.387, 0.5398, 0.7464, 0.9995, 1.291, 1.615, 1.971, 2.359");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.2571, 0.2757, 0.3408, 0.4629, 0.6521, 0.9163, 1.264, 1.702, 2.236, 2.872",\
                 "0.2617, 0.2804, 0.3459, 0.4692, 0.659, 0.9234, 1.271, 1.709, 2.243, 2.881",\
                 "0.2824, 0.3016, 0.3674, 0.4906, 0.6812, 0.9466, 1.295, 1.733, 2.268, 2.906",\
                 "0.3213, 0.3412, 0.4078, 0.5302, 0.7199, 0.9849, 1.333, 1.772, 2.307, 2.945",\
                 "0.3773, 0.3978, 0.4688, 0.5968, 0.7859, 1.048, 1.394, 1.831, 2.363, 2.999",\
                 "0.459, 0.4822, 0.5567, 0.6893, 0.8861, 1.149, 1.49, 1.922, 2.452, 3.085",\
                 "0.5621, 0.5881, 0.6717, 0.814, 1.017, 1.288, 1.632, 2.058, 2.582, 3.21",\
                 "0.6837, 0.7127, 0.8078, 0.9653, 1.181, 1.46, 1.813, 2.244, 2.761, 3.382",\
                 "0.821, 0.855, 0.9614, 1.137, 1.373, 1.666, 2.028, 2.468, 2.991, 3.606",\
                 "0.9755, 1.012, 1.132, 1.328, 1.586, 1.902, 2.278, 2.728, 3.263, 3.885");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1713, 0.186, 0.2352, 0.3271, 0.4679, 0.6638, 0.9202, 1.243, 1.636, 2.105",\
                 "0.1711, 0.1854, 0.2353, 0.3271, 0.468, 0.6634, 0.9205, 1.243, 1.636, 2.105",\
                 "0.1684, 0.183, 0.2335, 0.3267, 0.4679, 0.6636, 0.9207, 1.243, 1.637, 2.105",\
                 "0.2162, 0.2281, 0.2663, 0.3403, 0.4693, 0.6635, 0.9201, 1.243, 1.636, 2.105",\
                 "0.2896, 0.3041, 0.3518, 0.4319, 0.5404, 0.6959, 0.9266, 1.243, 1.636, 2.105",\
                 "0.3772, 0.3938, 0.449, 0.5422, 0.6692, 0.8278, 1.02, 1.285, 1.645, 2.105",\
                 "0.4782, 0.499, 0.5632, 0.6678, 0.8106, 0.9896, 1.203, 1.444, 1.747, 2.149",\
                 "0.5904, 0.6152, 0.6906, 0.8114, 0.9704, 1.168, 1.401, 1.675, 1.974, 2.321",\
                 "0.7132, 0.7404, 0.829, 0.9698, 1.149, 1.365, 1.619, 1.915, 2.247, 2.612",\
                 "0.844, 0.8766, 0.9788, 1.141, 1.343, 1.585, 1.857, 2.173, 2.529, 2.929");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.3083, 0.339, 0.4488, 0.6597, 0.9892, 1.453, 2.061, 2.821, 3.752, 4.866",\
                 "0.3088, 0.3394, 0.4488, 0.6595, 0.9909, 1.454, 2.061, 2.821, 3.761, 4.872",\
                 "0.3111, 0.3412, 0.4494, 0.6599, 0.9891, 1.45, 2.058, 2.824, 3.756, 4.87",\
                 "0.3361, 0.3626, 0.4611, 0.663, 0.9898, 1.451, 2.057, 2.827, 3.76, 4.874",\
                 "0.3789, 0.4075, 0.5094, 0.697, 1.001, 1.452, 2.06, 2.826, 3.758, 4.865",\
                 "0.4462, 0.4716, 0.5672, 0.7582, 1.053, 1.478, 2.062, 2.822, 3.758, 4.871",\
                 "0.5462, 0.5714, 0.659, 0.8352, 1.13, 1.545, 2.104, 2.836, 3.755, 4.868",\
                 "0.6584, 0.6862, 0.778, 0.9496, 1.225, 1.64, 2.186, 2.89, 3.78, 4.873",\
                 "0.7804, 0.8098, 0.9098, 1.091, 1.36, 1.754, 2.296, 2.987, 3.847, 4.908",\
                 "0.9088, 0.942, 1.051, 1.246, 1.526, 1.907, 2.434, 3.121, 3.963, 4.992");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1512, 0.1606, 0.193, 0.2522, 0.3411, 0.4628, 0.6209, 0.8189, 1.06, 1.347",\
                 "0.1587, 0.1683, 0.2007, 0.26, 0.3489, 0.4706, 0.6287, 0.8268, 1.068, 1.354",\
                 "0.1861, 0.1955, 0.2276, 0.2868, 0.3757, 0.4974, 0.6555, 0.8536, 1.095, 1.381",\
                 "0.2381, 0.2485, 0.2828, 0.3419, 0.4296, 0.5507, 0.7085, 0.9063, 1.147, 1.434",\
                 "0.2839, 0.2967, 0.339, 0.4123, 0.513, 0.6379, 0.7946, 0.9914, 1.232, 1.517",\
                 "0.3185, 0.3338, 0.3842, 0.471, 0.5914, 0.7411, 0.9157, 1.115, 1.354, 1.638",\
                 "0.3396, 0.3571, 0.4162, 0.5182, 0.6577, 0.8309, 1.034, 1.264, 1.516, 1.801",\
                 "0.347, 0.3672, 0.4345, 0.5513, 0.7119, 0.9091, 1.139, 1.4, 1.689, 2.002",\
                 "0.3399, 0.3628, 0.4385, 0.5701, 0.7509, 0.9742, 1.232, 1.522, 1.845, 2.196",\
                 "0.3182, 0.3434, 0.4278, 0.5741, 0.7751, 1.023, 1.311, 1.632, 1.987, 2.373");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.3182, 0.3371, 0.4012, 0.524, 0.7129, 0.9767, 1.325, 1.762, 2.296, 2.934",\
                 "0.3239, 0.3423, 0.407, 0.5299, 0.7194, 0.9837, 1.332, 1.769, 2.304, 2.941",\
                 "0.3452, 0.3637, 0.4288, 0.5523, 0.7423, 1.008, 1.356, 1.794, 2.328, 2.965",\
                 "0.3853, 0.4041, 0.4692, 0.5911, 0.7808, 1.045, 1.394, 1.832, 2.367, 3.005",\
                 "0.4446, 0.4643, 0.5332, 0.6582, 0.8459, 1.108, 1.454, 1.891, 2.424, 3.061",\
                 "0.5315, 0.5524, 0.6232, 0.7532, 0.9473, 1.209, 1.55, 1.982, 2.512, 3.145",\
                 "0.6442, 0.667, 0.7443, 0.8796, 1.08, 1.349, 1.691, 2.117, 2.642, 3.27",\
                 "0.7759, 0.802, 0.888, 1.037, 1.246, 1.522, 1.873, 2.302, 2.819, 3.441",\
                 "0.9254, 0.9548, 1.052, 1.216, 1.442, 1.73, 2.089, 2.528, 3.05, 3.665",\
                 "1.092, 1.125, 1.232, 1.414, 1.662, 1.969, 2.341, 2.789, 3.322, 3.943");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.218, 0.2316, 0.2793, 0.3696, 0.5094, 0.705, 0.9613, 1.284, 1.677, 2.146",\
                 "0.2177, 0.2314, 0.2792, 0.3696, 0.5094, 0.705, 0.9615, 1.284, 1.677, 2.146",\
                 "0.2149, 0.2288, 0.2775, 0.3692, 0.5093, 0.705, 0.9615, 1.284, 1.677, 2.146",\
                 "0.2652, 0.2754, 0.3102, 0.3829, 0.511, 0.7046, 0.9614, 1.284, 1.678, 2.146",\
                 "0.3525, 0.3653, 0.4063, 0.4789, 0.5825, 0.7371, 0.9676, 1.284, 1.678, 2.146",\
                 "0.455, 0.4687, 0.516, 0.5994, 0.7194, 0.8718, 1.061, 1.325, 1.685, 2.146",\
                 "0.5724, 0.5896, 0.6432, 0.7378, 0.87, 1.041, 1.249, 1.485, 1.789, 2.189",\
                 "0.703, 0.7224, 0.7864, 0.8932, 1.039, 1.227, 1.454, 1.72, 2.015, 2.362",\
                 "0.8444, 0.8666, 0.9426, 1.064, 1.228, 1.432, 1.677, 1.965, 2.294, 2.656",\
                 "0.9956, 1.022, 1.107, 1.25, 1.434, 1.663, 1.923, 2.23, 2.582, 2.977");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.3896, 0.4207, 0.5318, 0.744, 1.075, 1.536, 2.143, 2.906, 3.838, 4.951",\
                 "0.3889, 0.421, 0.5315, 0.7438, 1.074, 1.536, 2.143, 2.906, 3.838, 4.951",\
                 "0.3903, 0.4215, 0.532, 0.7441, 1.074, 1.537, 2.143, 2.907, 3.838, 4.949",\
                 "0.4041, 0.433, 0.5377, 0.7458, 1.075, 1.536, 2.143, 2.906, 3.839, 4.951",\
                 "0.4507, 0.4804, 0.5801, 0.7709, 1.082, 1.537, 2.144, 2.907, 3.838, 4.951",\
                 "0.5078, 0.5358, 0.6366, 0.8312, 1.127, 1.557, 2.146, 2.906, 3.839, 4.949",\
                 "0.601, 0.6256, 0.7188, 0.9038, 1.202, 1.62, 2.182, 2.916, 3.839, 4.949",\
                 "0.7138, 0.7422, 0.8356, 1.01, 1.296, 1.712, 2.26, 2.966, 3.858, 4.95",\
                 "0.8406, 0.8696, 0.9694, 1.149, 1.425, 1.825, 2.37, 3.064, 3.925, 4.983",\
                 "0.9736, 1.006, 1.116, 1.308, 1.587, 1.973, 2.503, 3.193, 4.039, 5.066");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1728, 0.1816, 0.2125, 0.2694, 0.3565, 0.4775, 0.635, 0.8327, 1.073, 1.36",\
                 "0.1806, 0.1898, 0.2206, 0.2774, 0.365, 0.4856, 0.6432, 0.841, 1.082, 1.368",\
                 "0.2081, 0.2167, 0.2476, 0.3051, 0.3922, 0.513, 0.6707, 0.8685, 1.109, 1.396",\
                 "0.2607, 0.27, 0.3028, 0.3599, 0.4465, 0.5668, 0.7241, 0.9216, 1.162, 1.448",\
                 "0.3096, 0.3218, 0.3624, 0.4328, 0.5311, 0.6542, 0.8105, 1.007, 1.247, 1.532",\
                 "0.3489, 0.3627, 0.4117, 0.4957, 0.613, 0.7603, 0.9329, 1.131, 1.369, 1.654",\
                 "0.3761, 0.3937, 0.4496, 0.5481, 0.6844, 0.8541, 1.055, 1.283, 1.533, 1.817",\
                 "0.3913, 0.4096, 0.4753, 0.5878, 0.7448, 0.9376, 1.164, 1.422, 1.709, 2.02",\
                 "0.392, 0.414, 0.4874, 0.615, 0.7911, 1.009, 1.263, 1.55, 1.869, 2.218",\
                 "0.3785, 0.4028, 0.4853, 0.6275, 0.824, 1.067, 1.349, 1.665, 2.017, 2.401");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.3182, 0.3371, 0.4012, 0.524, 0.7129, 0.9767, 1.325, 1.762, 2.296, 2.934",\
                 "0.3239, 0.3423, 0.407, 0.5299, 0.7194, 0.9837, 1.332, 1.769, 2.304, 2.941",\
                 "0.3452, 0.3637, 0.4288, 0.5523, 0.7423, 1.008, 1.356, 1.794, 2.328, 2.965",\
                 "0.3853, 0.4041, 0.4692, 0.5911, 0.7808, 1.045, 1.394, 1.832, 2.367, 3.005",\
                 "0.4446, 0.4643, 0.5332, 0.6582, 0.8459, 1.108, 1.454, 1.891, 2.424, 3.061",\
                 "0.5315, 0.5524, 0.6232, 0.7532, 0.9473, 1.209, 1.55, 1.982, 2.512, 3.145",\
                 "0.6442, 0.667, 0.7443, 0.8796, 1.08, 1.349, 1.691, 2.117, 2.642, 3.27",\
                 "0.7759, 0.802, 0.888, 1.037, 1.246, 1.522, 1.873, 2.302, 2.819, 3.441",\
                 "0.9254, 0.9548, 1.052, 1.216, 1.442, 1.73, 2.089, 2.528, 3.05, 3.665",\
                 "1.092, 1.125, 1.232, 1.414, 1.662, 1.969, 2.341, 2.789, 3.322, 3.943");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.218, 0.2316, 0.2793, 0.3696, 0.5094, 0.705, 0.9613, 1.284, 1.677, 2.146",\
                 "0.2177, 0.2314, 0.2792, 0.3696, 0.5094, 0.705, 0.9615, 1.284, 1.677, 2.146",\
                 "0.2149, 0.2288, 0.2775, 0.3692, 0.5093, 0.705, 0.9615, 1.284, 1.677, 2.146",\
                 "0.2652, 0.2754, 0.3102, 0.3829, 0.511, 0.7046, 0.9614, 1.284, 1.678, 2.146",\
                 "0.3525, 0.3653, 0.4063, 0.4789, 0.5825, 0.7371, 0.9676, 1.284, 1.678, 2.146",\
                 "0.455, 0.4687, 0.516, 0.5994, 0.7194, 0.8718, 1.061, 1.325, 1.685, 2.146",\
                 "0.5724, 0.5896, 0.6432, 0.7378, 0.87, 1.041, 1.249, 1.485, 1.789, 2.189",\
                 "0.703, 0.7224, 0.7864, 0.8932, 1.039, 1.227, 1.454, 1.72, 2.015, 2.362",\
                 "0.8444, 0.8666, 0.9426, 1.064, 1.228, 1.432, 1.677, 1.965, 2.294, 2.656",\
                 "0.9956, 1.022, 1.107, 1.25, 1.434, 1.663, 1.923, 2.23, 2.582, 2.977");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.3896, 0.4207, 0.5318, 0.744, 1.075, 1.536, 2.143, 2.906, 3.838, 4.951",\
                 "0.3889, 0.421, 0.5315, 0.7438, 1.074, 1.536, 2.143, 2.906, 3.838, 4.951",\
                 "0.3903, 0.4215, 0.532, 0.7441, 1.074, 1.537, 2.143, 2.907, 3.838, 4.949",\
                 "0.4041, 0.433, 0.5377, 0.7458, 1.075, 1.536, 2.143, 2.906, 3.839, 4.951",\
                 "0.4507, 0.4804, 0.5801, 0.7709, 1.082, 1.537, 2.144, 2.907, 3.838, 4.951",\
                 "0.5078, 0.5358, 0.6366, 0.8312, 1.127, 1.557, 2.146, 2.906, 3.839, 4.949",\
                 "0.601, 0.6256, 0.7188, 0.9038, 1.202, 1.62, 2.182, 2.916, 3.839, 4.949",\
                 "0.7138, 0.7422, 0.8356, 1.01, 1.296, 1.712, 2.26, 2.966, 3.858, 4.95",\
                 "0.8406, 0.8696, 0.9694, 1.149, 1.425, 1.825, 2.37, 3.064, 3.925, 4.983",\
                 "0.9736, 1.006, 1.116, 1.308, 1.587, 1.973, 2.503, 3.193, 4.039, 5.066");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1932, 0.203, 0.2351, 0.2948, 0.3847, 0.5075, 0.667, 0.8663, 1.108, 1.396",\
                 "0.1993, 0.2086, 0.2409, 0.3008, 0.3902, 0.5134, 0.6729, 0.8724, 1.114, 1.402",\
                 "0.2254, 0.2349, 0.2672, 0.3266, 0.416, 0.5389, 0.6985, 0.8976, 1.14, 1.427",\
                 "0.2822, 0.2917, 0.3235, 0.3815, 0.4697, 0.5924, 0.7513, 0.9502, 1.192, 1.479",\
                 "0.3424, 0.354, 0.3935, 0.4622, 0.5581, 0.6805, 0.838, 1.036, 1.276, 1.563",\
                 "0.3963, 0.4099, 0.4557, 0.5366, 0.6502, 0.7939, 0.9628, 1.16, 1.399, 1.684",\
                 "0.4424, 0.4581, 0.5112, 0.6046, 0.7339, 0.8988, 1.095, 1.317, 1.565, 1.849",\
                 "0.4808, 0.4996, 0.5593, 0.6653, 0.8123, 0.9964, 1.216, 1.468, 1.75, 2.056",\
                 "0.5141, 0.5341, 0.5996, 0.7183, 0.8827, 1.088, 1.331, 1.609, 1.921, 2.263",\
                 "0.5387, 0.559, 0.6348, 0.7641, 0.9455, 1.172, 1.44, 1.744, 2.083, 2.458");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.2505, 0.2663, 0.3206, 0.424, 0.582, 0.804, 1.095, 1.462, 1.909, 2.443",\
                 "0.2568, 0.2732, 0.3276, 0.4312, 0.5901, 0.8124, 1.104, 1.471, 1.918, 2.452",\
                 "0.276, 0.2918, 0.3469, 0.4508, 0.6105, 0.8334, 1.125, 1.492, 1.941, 2.474",\
                 "0.3042, 0.321, 0.3774, 0.4808, 0.6406, 0.8629, 1.155, 1.522, 1.97, 2.504",\
                 "0.3431, 0.3608, 0.4206, 0.5295, 0.6904, 0.9107, 1.201, 1.567, 2.014, 2.547",\
                 "0.3976, 0.4172, 0.4822, 0.5964, 0.764, 0.9888, 1.276, 1.638, 2.082, 2.612",\
                 "0.4627, 0.4854, 0.5585, 0.6842, 0.8597, 1.091, 1.386, 1.746, 2.184, 2.709",\
                 "0.5395, 0.5642, 0.6471, 0.7862, 0.9776, 1.22, 1.52, 1.89, 2.328, 2.847",\
                 "0.6255, 0.6541, 0.7459, 0.9007, 1.11, 1.37, 1.683, 2.058, 2.506, 3.028",\
                 "0.7208, 0.7521, 0.854, 1.024, 1.254, 1.535, 1.868, 2.256, 2.711, 3.243");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.2289, 0.2438, 0.2952, 0.3897, 0.5331, 0.731, 0.9895, 1.313, 1.708, 2.178",\
                 "0.2285, 0.2434, 0.2948, 0.3896, 0.5335, 0.7309, 0.9894, 1.314, 1.708, 2.178",\
                 "0.2264, 0.2418, 0.2941, 0.3892, 0.5328, 0.7311, 0.9898, 1.313, 1.708, 2.178",\
                 "0.2524, 0.2644, 0.3073, 0.3924, 0.5319, 0.7304, 0.9893, 1.313, 1.708, 2.178",\
                 "0.3335, 0.3478, 0.3943, 0.4724, 0.5828, 0.7497, 0.9914, 1.313, 1.708, 2.177",\
                 "0.425, 0.4422, 0.4948, 0.5856, 0.713, 0.8688, 1.067, 1.343, 1.712, 2.178",\
                 "0.5322, 0.5498, 0.6126, 0.7132, 0.8548, 1.033, 1.245, 1.488, 1.8, 2.212",\
                 "0.6536, 0.6764, 0.7448, 0.8576, 1.012, 1.207, 1.443, 1.714, 2.013, 2.369",\
                 "0.7884, 0.8132, 0.89, 1.02, 1.193, 1.402, 1.655, 1.949, 2.283, 2.648",\
                 "0.9338, 0.9628, 1.051, 1.196, 1.386, 1.616, 1.887, 2.2, 2.561, 2.962");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.3208, 0.3464, 0.438, 0.6147, 0.8897, 1.276, 1.782, 2.42, 3.199, 4.123",\
                 "0.3211, 0.3469, 0.4382, 0.6149, 0.889, 1.276, 1.782, 2.42, 3.199, 4.125",\
                 "0.3224, 0.3476, 0.4379, 0.615, 0.8902, 1.276, 1.783, 2.42, 3.195, 4.122",\
                 "0.3457, 0.3678, 0.4505, 0.6174, 0.8905, 1.276, 1.781, 2.42, 3.197, 4.125",\
                 "0.3941, 0.4165, 0.4974, 0.6535, 0.9079, 1.277, 1.782, 2.419, 3.199, 4.123",\
                 "0.4764, 0.4958, 0.569, 0.7182, 0.9626, 1.313, 1.794, 2.422, 3.197, 4.125",\
                 "0.5916, 0.612, 0.6804, 0.8166, 1.048, 1.388, 1.848, 2.447, 3.204, 4.124",\
                 "0.7194, 0.7388, 0.8104, 0.9514, 1.169, 1.494, 1.942, 2.519, 3.25, 4.138",\
                 "0.8542, 0.8754, 0.9524, 1.1, 1.326, 1.638, 2.069, 2.636, 3.339, 4.206",\
                 "0.9968, 1.02, 1.101, 1.258, 1.499, 1.819, 2.238, 2.783, 3.476, 4.317");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1523, 0.1632, 0.1979, 0.2605, 0.3526, 0.4778, 0.6389, 0.8393, 1.082, 1.37",\
                 "0.1588, 0.1693, 0.204, 0.2664, 0.3586, 0.4836, 0.6448, 0.8452, 1.088, 1.376",\
                 "0.1863, 0.1962, 0.2301, 0.2918, 0.3837, 0.5089, 0.6699, 0.8702, 1.113, 1.401",\
                 "0.2418, 0.2526, 0.2877, 0.3479, 0.4378, 0.5618, 0.7223, 0.9224, 1.165, 1.453",\
                 "0.2922, 0.3056, 0.3489, 0.4231, 0.5244, 0.6497, 0.8084, 1.007, 1.249, 1.536",\
                 "0.3351, 0.3503, 0.4017, 0.489, 0.6095, 0.7583, 0.9319, 1.132, 1.371, 1.657",\
                 "0.3677, 0.3859, 0.4455, 0.5469, 0.6851, 0.8564, 1.057, 1.285, 1.536, 1.821",\
                 "0.3921, 0.4124, 0.4798, 0.5951, 0.7517, 0.9452, 1.172, 1.428, 1.715, 2.025",\
                 "0.4077, 0.431, 0.5053, 0.634, 0.8101, 1.026, 1.278, 1.562, 1.879, 2.226",\
                 "0.415, 0.4395, 0.5224, 0.6639, 0.8573, 1.096, 1.374, 1.687, 2.034, 2.414");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.2827, 0.3014, 0.3669, 0.4889, 0.6782, 0.9421, 1.29, 1.728, 2.263, 2.899",\
                 "0.2889, 0.3079, 0.3732, 0.4965, 0.6861, 0.9507, 1.298, 1.736, 2.271, 2.908",\
                 "0.3067, 0.3258, 0.3916, 0.5154, 0.705, 0.9709, 1.319, 1.757, 2.292, 2.929",\
                 "0.334, 0.3537, 0.4198, 0.5429, 0.7328, 0.9978, 1.346, 1.785, 2.32, 2.958",\
                 "0.372, 0.392, 0.4607, 0.5867, 0.7754, 1.039, 1.385, 1.822, 2.356, 2.992",\
                 "0.4272, 0.4491, 0.5206, 0.6494, 0.8426, 1.105, 1.447, 1.88, 2.41, 3.044",\
                 "0.4914, 0.5165, 0.597, 0.736, 0.9332, 1.2, 1.544, 1.97, 2.494, 3.122",\
                 "0.5669, 0.5942, 0.6847, 0.8389, 1.051, 1.323, 1.67, 2.099, 2.617, 3.238",\
                 "0.6516, 0.683, 0.7837, 0.954, 1.185, 1.474, 1.826, 2.259, 2.781, 3.395",\
                 "0.747, 0.7809, 0.8929, 1.079, 1.332, 1.643, 2.012, 2.451, 2.976, 3.595");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.2027, 0.2181, 0.2701, 0.3643, 0.5077, 0.7054, 0.9629, 1.286, 1.681, 2.151",\
                 "0.2019, 0.2171, 0.2693, 0.3643, 0.5076, 0.7056, 0.9632, 1.286, 1.681, 2.151",\
                 "0.1941, 0.2101, 0.2647, 0.3629, 0.5068, 0.7045, 0.9631, 1.287, 1.681, 2.15",\
                 "0.2396, 0.2514, 0.2898, 0.3693, 0.5047, 0.7042, 0.9627, 1.286, 1.681, 2.15",\
                 "0.3214, 0.3355, 0.3818, 0.4605, 0.5674, 0.7277, 0.9656, 1.286, 1.68, 2.15",\
                 "0.4179, 0.4345, 0.4874, 0.5762, 0.7006, 0.8566, 1.049, 1.321, 1.687, 2.15",\
                 "0.5314, 0.5506, 0.6108, 0.7116, 0.8482, 1.023, 1.233, 1.473, 1.781, 2.188",\
                 "0.6618, 0.6836, 0.7522, 0.8664, 1.016, 1.205, 1.434, 1.703, 2.001, 2.353",\
                 "0.8084, 0.8338, 0.9134, 1.04, 1.206, 1.41, 1.654, 1.943, 2.276, 2.639",\
                 "0.9658, 0.9986, 1.091, 1.232, 1.418, 1.638, 1.899, 2.206, 2.557, 2.955");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.3084, 0.3394, 0.4487, 0.6598, 0.9889, 1.451, 2.061, 2.825, 3.759, 4.869",\
                 "0.3087, 0.3396, 0.4489, 0.6592, 0.9911, 1.453, 2.058, 2.822, 3.762, 4.868",\
                 "0.311, 0.3414, 0.4497, 0.6599, 0.9913, 1.451, 2.059, 2.821, 3.752, 4.865",\
                 "0.3278, 0.3551, 0.4564, 0.6626, 0.99, 1.454, 2.06, 2.825, 3.756, 4.867",\
                 "0.3618, 0.3915, 0.4929, 0.6869, 0.9986, 1.452, 2.058, 2.823, 3.758, 4.865",\
                 "0.4276, 0.4536, 0.5468, 0.7374, 1.04, 1.476, 2.061, 2.825, 3.757, 4.867",\
                 "0.5318, 0.5584, 0.6474, 0.8196, 1.108, 1.53, 2.1, 2.838, 3.756, 4.867",\
                 "0.652, 0.6796, 0.7746, 0.9482, 1.218, 1.619, 2.169, 2.885, 3.783, 4.875",\
                 "0.7812, 0.8102, 0.9116, 1.098, 1.37, 1.746, 2.278, 2.971, 3.842, 4.907",\
                 "0.9152, 0.9482, 1.058, 1.259, 1.55, 1.927, 2.426, 3.097, 3.946, 4.984");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1639, 0.1743, 0.2091, 0.2718, 0.3642, 0.489, 0.6498, 0.85, 1.093, 1.381",\
                 "0.17, 0.1803, 0.2151, 0.2777, 0.3701, 0.4949, 0.6557, 0.8559, 1.099, 1.387",\
                 "0.1969, 0.2069, 0.241, 0.3032, 0.3953, 0.52, 0.6808, 0.881, 1.124, 1.412",\
                 "0.2551, 0.2654, 0.2993, 0.359, 0.4491, 0.5729, 0.7332, 0.9331, 1.175, 1.463",\
                 "0.3119, 0.3242, 0.3655, 0.4374, 0.5367, 0.6609, 0.8192, 1.018, 1.259, 1.547",\
                 "0.3598, 0.3742, 0.4227, 0.5071, 0.6244, 0.7711, 0.9433, 1.142, 1.382, 1.668",\
                 "0.3985, 0.415, 0.471, 0.5682, 0.7031, 0.8716, 1.071, 1.297, 1.547, 1.832",\
                 "0.4284, 0.4474, 0.5104, 0.6206, 0.7736, 0.9636, 1.187, 1.442, 1.727, 2.036",\
                 "0.4503, 0.4713, 0.5412, 0.6637, 0.8347, 1.047, 1.295, 1.578, 1.893, 2.239",\
                 "0.4637, 0.4864, 0.5635, 0.6986, 0.886, 1.121, 1.395, 1.705, 2.049, 2.428");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.3442, 0.3629, 0.4276, 0.5499, 0.7387, 1.003, 1.351, 1.788, 2.322, 2.96",\
                 "0.3508, 0.3693, 0.4347, 0.557, 0.7466, 1.011, 1.359, 1.797, 2.331, 2.968",\
                 "0.3691, 0.3881, 0.4531, 0.5767, 0.7666, 1.032, 1.38, 1.818, 2.353, 2.989",\
                 "0.3972, 0.4159, 0.4812, 0.6039, 0.7939, 1.059, 1.407, 1.845, 2.381, 3.018",\
                 "0.4374, 0.457, 0.5239, 0.6479, 0.8358, 1.099, 1.446, 1.883, 2.416, 3.054",\
                 "0.4965, 0.5168, 0.5855, 0.7118, 0.9034, 1.165, 1.507, 1.94, 2.47, 3.105",\
                 "0.5698, 0.5924, 0.6677, 0.8006, 0.9949, 1.261, 1.603, 2.03, 2.553, 3.182",\
                 "0.6541, 0.6792, 0.7629, 0.9091, 1.114, 1.384, 1.73, 2.158, 2.675, 3.297",\
                 "0.7494, 0.7776, 0.8706, 1.03, 1.253, 1.536, 1.886, 2.319, 2.84, 3.454",\
                 "0.8555, 0.886, 0.9878, 1.163, 1.406, 1.708, 2.074, 2.511, 3.035, 3.654");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.2554, 0.2694, 0.3183, 0.4099, 0.5513, 0.7475, 1.004, 1.328, 1.722, 2.191",\
                 "0.254, 0.2683, 0.3176, 0.4096, 0.551, 0.7474, 1.005, 1.328, 1.722, 2.191",\
                 "0.2464, 0.2614, 0.3132, 0.4078, 0.5502, 0.7472, 1.004, 1.328, 1.722, 2.191",\
                 "0.291, 0.3007, 0.3369, 0.4144, 0.5484, 0.746, 1.004, 1.328, 1.722, 2.192",\
                 "0.3866, 0.3983, 0.4379, 0.508, 0.6107, 0.7705, 1.007, 1.327, 1.722, 2.191",\
                 "0.4974, 0.5105, 0.555, 0.636, 0.7504, 0.8992, 1.091, 1.362, 1.728, 2.192",\
                 "0.626, 0.6418, 0.6914, 0.78, 0.9064, 1.074, 1.278, 1.514, 1.822, 2.229",\
                 "0.774, 0.79, 0.8472, 0.946, 1.085, 1.263, 1.486, 1.749, 2.042, 2.394",\
                 "0.938, 0.959, 1.022, 1.132, 1.283, 1.475, 1.712, 1.997, 2.323, 2.68",\
                 "1.117, 1.141, 1.215, 1.337, 1.506, 1.712, 1.965, 2.263, 2.609, 3.003");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.3891, 0.4209, 0.5317, 0.744, 1.074, 1.536, 2.144, 2.907, 3.838, 4.95",\
                 "0.3893, 0.421, 0.5315, 0.7447, 1.074, 1.536, 2.143, 2.906, 3.839, 4.949",\
                 "0.3902, 0.4211, 0.5326, 0.7441, 1.074, 1.537, 2.143, 2.906, 3.838, 4.948",\
                 "0.3989, 0.4285, 0.5354, 0.7455, 1.075, 1.537, 2.143, 2.906, 3.839, 4.95",\
                 "0.4345, 0.4645, 0.5664, 0.7632, 1.079, 1.537, 2.144, 2.908, 3.838, 4.95",\
                 "0.4892, 0.5166, 0.6166, 0.812, 1.117, 1.554, 2.146, 2.907, 3.839, 4.95",\
                 "0.5878, 0.6146, 0.7064, 0.8858, 1.182, 1.607, 2.178, 2.917, 3.839, 4.949",\
                 "0.7104, 0.7382, 0.834, 1.008, 1.281, 1.691, 2.246, 2.963, 3.86, 4.952",\
                 "0.841, 0.8716, 0.973, 1.16, 1.431, 1.814, 2.35, 3.048, 3.921, 4.987",\
                 "0.98, 1.013, 1.123, 1.323, 1.61, 1.988, 2.495, 3.171, 4.022, 5.064");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.1932, 0.203, 0.2351, 0.2948, 0.3847, 0.5075, 0.667, 0.8663, 1.108, 1.396",\
                 "0.1993, 0.2086, 0.2409, 0.3008, 0.3902, 0.5134, 0.6729, 0.8724, 1.114, 1.402",\
                 "0.2254, 0.2349, 0.2672, 0.3266, 0.416, 0.5389, 0.6985, 0.8976, 1.14, 1.427",\
                 "0.2822, 0.2917, 0.3235, 0.3815, 0.4697, 0.5924, 0.7513, 0.9502, 1.192, 1.479",\
                 "0.3424, 0.354, 0.3935, 0.4622, 0.5581, 0.6805, 0.838, 1.036, 1.276, 1.563",\
                 "0.3963, 0.4099, 0.4557, 0.5366, 0.6502, 0.7939, 0.9628, 1.16, 1.399, 1.684",\
                 "0.4424, 0.4581, 0.5112, 0.6046, 0.7339, 0.8988, 1.095, 1.317, 1.565, 1.849",\
                 "0.4808, 0.4996, 0.5593, 0.6653, 0.8123, 0.9964, 1.216, 1.468, 1.75, 2.056",\
                 "0.5141, 0.5341, 0.5996, 0.7183, 0.8827, 1.088, 1.331, 1.609, 1.921, 2.263",\
                 "0.5387, 0.559, 0.6348, 0.7641, 0.9455, 1.172, 1.44, 1.744, 2.083, 2.458");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.3442, 0.3629, 0.4276, 0.5499, 0.7387, 1.003, 1.351, 1.788, 2.322, 2.96",\
                 "0.3508, 0.3693, 0.4347, 0.557, 0.7466, 1.011, 1.359, 1.797, 2.331, 2.968",\
                 "0.3691, 0.3881, 0.4531, 0.5767, 0.7666, 1.032, 1.38, 1.818, 2.353, 2.989",\
                 "0.3972, 0.4159, 0.4812, 0.6039, 0.7939, 1.059, 1.407, 1.845, 2.381, 3.018",\
                 "0.4374, 0.457, 0.5239, 0.6479, 0.8358, 1.099, 1.446, 1.883, 2.416, 3.054",\
                 "0.4965, 0.5168, 0.5855, 0.7118, 0.9034, 1.165, 1.507, 1.94, 2.47, 3.105",\
                 "0.5698, 0.5924, 0.6677, 0.8006, 0.9949, 1.261, 1.603, 2.03, 2.553, 3.182",\
                 "0.6541, 0.6792, 0.7629, 0.9091, 1.114, 1.384, 1.73, 2.158, 2.675, 3.297",\
                 "0.7494, 0.7776, 0.8706, 1.03, 1.253, 1.536, 1.886, 2.319, 2.84, 3.454",\
                 "0.8555, 0.886, 0.9878, 1.163, 1.406, 1.708, 2.074, 2.511, 3.035, 3.654");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.2554, 0.2694, 0.3183, 0.4099, 0.5513, 0.7475, 1.004, 1.328, 1.722, 2.191",\
                 "0.254, 0.2683, 0.3176, 0.4096, 0.551, 0.7474, 1.005, 1.328, 1.722, 2.191",\
                 "0.2464, 0.2614, 0.3132, 0.4078, 0.5502, 0.7472, 1.004, 1.328, 1.722, 2.191",\
                 "0.291, 0.3007, 0.3369, 0.4144, 0.5484, 0.746, 1.004, 1.328, 1.722, 2.192",\
                 "0.3866, 0.3983, 0.4379, 0.508, 0.6107, 0.7705, 1.007, 1.327, 1.722, 2.191",\
                 "0.4974, 0.5105, 0.555, 0.636, 0.7504, 0.8992, 1.091, 1.362, 1.728, 2.192",\
                 "0.626, 0.6418, 0.6914, 0.78, 0.9064, 1.074, 1.278, 1.514, 1.822, 2.229",\
                 "0.774, 0.79, 0.8472, 0.946, 1.085, 1.263, 1.486, 1.749, 2.042, 2.394",\
                 "0.938, 0.959, 1.022, 1.132, 1.283, 1.475, 1.712, 1.997, 2.323, 2.68",\
                 "1.117, 1.141, 1.215, 1.337, 1.506, 1.712, 1.965, 2.263, 2.609, 3.003");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.05437, 0.175, 0.4054, 0.7644, 1.268, 1.931, 2.766, 3.785, 5");
          index_2("0.001, 0.003499, 0.01227, 0.02902, 0.05511, 0.09172, 0.1399, 0.2006, 0.2747, 0.363");
          values("0.3891, 0.4209, 0.5317, 0.744, 1.074, 1.536, 2.144, 2.907, 3.838, 4.95",\
                 "0.3893, 0.421, 0.5315, 0.7447, 1.074, 1.536, 2.143, 2.906, 3.839, 4.949",\
                 "0.3902, 0.4211, 0.5326, 0.7441, 1.074, 1.537, 2.143, 2.906, 3.838, 4.948",\
                 "0.3989, 0.4285, 0.5354, 0.7455, 1.075, 1.537, 2.143, 2.906, 3.839, 4.95",\
                 "0.4345, 0.4645, 0.5664, 0.7632, 1.079, 1.537, 2.144, 2.908, 3.838, 4.95",\
                 "0.4892, 0.5166, 0.6166, 0.812, 1.117, 1.554, 2.146, 2.907, 3.839, 4.95",\
                 "0.5878, 0.6146, 0.7064, 0.8858, 1.182, 1.607, 2.178, 2.917, 3.839, 4.949",\
                 "0.7104, 0.7382, 0.834, 1.008, 1.281, 1.691, 2.246, 2.963, 3.86, 4.952",\
                 "0.841, 0.8716, 0.973, 1.16, 1.431, 1.814, 2.35, 3.048, 3.921, 4.987",\
                 "0.98, 1.013, 1.123, 1.323, 1.61, 1.988, 2.495, 3.171, 4.022, 5.064");
        }
      }
    }
  }

