/*
 * 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_1) {
    area : 21.952000 ;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B&C" ;
      value : "3.6891e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "6.285e-05" ;
    }

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

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

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

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.01453, 0.01455, 0.01455, 0.01452, 0.01449, 0.01447, 0.01444, \
                  0.01442, 0.0144, 0.01438");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.01137, -0.01138, -0.01136, -0.01134, -0.01132, -0.01131, -0.01132, \
                  -0.01132, -0.01133, -0.01135");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.004323, 0.004328, 0.004331, 0.004326, 0.004328, 0.004351, 0.004351, \
                  0.004353, 0.004353, 0.004353");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.004303, -0.004305, -0.004306, -0.004311, -0.004321, -0.004335, \
                  -0.004338, -0.004345, -0.00435, -0.004365");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.004335, 0.004339, 0.004341, 0.004341, 0.00434, 0.004362, 0.004362, \
                  0.004364, 0.004364, 0.004363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.004321, -0.004324, -0.004325, -0.00433, -0.004336, -0.004357, \
                  -0.004359, -0.004373, -0.00438, -0.004399");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.004334, 0.004339, 0.004349, 0.004337, 0.00434, 0.004363, 0.004365, \
                  0.004361, 0.004361, 0.004362");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.00432, -0.004323, -0.004326, -0.004331, -0.004337, -0.004356, \
                  -0.00436, -0.004371, -0.004384, -0.004398");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.02155, 0.02155, 0.0215, 0.02147, 0.02144, 0.02144, 0.0214, 0.02135, \
                  0.02128, 0.02118");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.004383, -0.004386, -0.004398, -0.004387, -0.004391, -0.004403, \
                  -0.004401, -0.004397, -0.004391, -0.004387");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.01381, 0.0138, 0.01377, 0.01375, 0.01374, 0.01374, 0.01373, \
                  0.0137, 0.01366, 0.0136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.004376, -0.004379, -0.004386, -0.004384, -0.004389, -0.004397, \
                  -0.0044, -0.004399, -0.0044, -0.004399");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.01381, 0.0138, 0.01377, 0.01375, 0.01374, 0.01374, 0.01372, \
                  0.01369, 0.01366, 0.0136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.004376, -0.004378, -0.004389, -0.004388, -0.004386, -0.004397, \
                  -0.004399, -0.004401, -0.004398, -0.0044");
        }
      }
    }

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

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.01378, 0.01311, 0.01308, 0.01307, 0.01303, 0.01302, 0.013, 0.01297, \
                  0.01295, 0.01294");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.01311, -0.01311, -0.01312, -0.01308, -0.01305, -0.01302, -0.013, \
                  -0.01296, -0.01295, -0.01293");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.004329, 0.004327, 0.004329, 0.004332, 0.00433, 0.004353, 0.004354, \
                  0.004356, 0.004352, 0.004349");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.004307, -0.00431, -0.004313, -0.004316, -0.004318, -0.004337, \
                  -0.004337, -0.004346, -0.004354, -0.004363");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.00434, 0.004338, 0.004336, 0.004344, 0.004341, 0.004364, 0.004366, \
                  0.004366, 0.004364, 0.00436");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.004325, -0.004328, -0.004333, -0.004337, -0.004341, -0.004358, \
                  -0.004361, -0.004371, -0.004383, -0.004397");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.00434, 0.004338, 0.00434, 0.004345, 0.004339, 0.004364, 0.004366, \
                  0.004366, 0.004361, 0.004361");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.004325, -0.004328, -0.004333, -0.004334, -0.004339, -0.004355, \
                  -0.004359, -0.004372, -0.004381, -0.004398");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.02156, 0.02155, 0.0215, 0.02147, 0.02144, 0.02144, 0.0214, 0.02136, \
                  0.02129, 0.02117");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.004388, -0.004388, -0.004393, -0.004393, -0.004391, -0.004402, \
                  -0.004402, -0.004401, -0.004395, -0.004389");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.01381, 0.0138, 0.01377, 0.01375, 0.01374, 0.01375, 0.01372, \
                  0.0137, 0.01366, 0.01359");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.00438, -0.004381, -0.004386, -0.004385, -0.004386, -0.004401, \
                  -0.004401, -0.0044, -0.004398, -0.004398");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.01381, 0.0138, 0.01377, 0.01375, 0.01374, 0.01375, 0.01372, \
                  0.0137, 0.01366, 0.0136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.00438, -0.004381, -0.004387, -0.004389, -0.004389, -0.004397, \
                  -0.004402, -0.004403, -0.004399, -0.004396");
        }
      }
    }

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

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.008136, 0.008124, 0.008124, 0.00811, 0.008108, 0.008111, 0.00808, \
                  0.008046, 0.007991, 0.007913");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.00562, -0.005622, -0.005618, -0.005625, -0.005633, -0.005656, \
                  -0.005666, -0.005678, -0.00569, -0.005722");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.008051, 0.00804, 0.008031, 0.008024, 0.008021, 0.008026, 0.007988, \
                  0.007957, 0.007903, 0.007818");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.005638, -0.005641, -0.005637, -0.005644, -0.005652, -0.005677, \
                  -0.005688, -0.005695, -0.005714, -0.005737");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.008051, 0.008039, 0.008031, 0.008024, 0.008022, 0.008033, 0.008003, \
                  0.007959, 0.007899, 0.007819");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.005641, -0.005641, -0.005637, -0.005643, -0.005655, -0.005669, \
                  -0.005685, -0.005695, -0.005712, -0.005736");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.01294, 0.01293, 0.01291, 0.0129, 0.0129, 0.01292, 0.01292, 0.01293, \
                  0.01292, 0.01293");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.0107, -0.01085, -0.01143, -0.0119, -0.01215, -0.0123, -0.01237, \
                  -0.01243, -0.01246, -0.01249");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.007818, 0.007833, 0.007835, 0.007833, 0.007826, 0.007861, 0.007849, \
                  0.007854, 0.007853, 0.007854");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.009386, -0.009233, -0.009147, -0.009098, -0.009095, -0.009114, \
                  -0.009108, -0.009108, -0.009106, -0.009107");
        }
      }
    }

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

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.0129, 0.01289, 0.01289, 0.01289, 0.0129, 0.01293, 0.01292, 0.01292, \
                  0.01292, 0.01292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.01163, -0.012, -0.01233, -0.01248, -0.01253, -0.01261, -0.01264, \
                  -0.01266, -0.01267, -0.01269");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.0129, 0.01289, 0.01289, 0.01289, 0.0129, 0.01291, 0.01291, 0.01292, \
                  0.01292, 0.01291");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.01164, -0.012, -0.01233, -0.01248, -0.01253, -0.01261, -0.01264, \
                  -0.01266, -0.01267, -0.01269");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.0129, 0.01289, 0.01289, 0.01289, 0.0129, 0.01292, 0.01292, 0.01292, \
                  0.01292, 0.01292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.01164, -0.012, -0.01233, -0.01248, -0.01253, -0.01261, -0.01264, \
                  -0.01266, -0.01267, -0.01269");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.01291, 0.0129, 0.01289, 0.01289, 0.0129, 0.01291, 0.01293, 0.01293, \
                  0.01294, 0.01294");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.01061, -0.01096, -0.01142, -0.01179, -0.01202, -0.01219, -0.01227, \
                  -0.01234, -0.01239, -0.01242");
        }
      }

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

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("0.0129, 0.0129, 0.01288, 0.01289, 0.01291, 0.01293, 0.01291, 0.01292, \
                  0.01293, 0.01292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          values("-0.01171, -0.012, -0.01233, -0.01248, -0.01253, -0.01261, -0.01264, \
                  -0.01266, -0.01267, -0.01268");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B)&(!C))|((!A2)&(!B)&(!C)))" ;
      max_capacitance : 0.1231 ;
      max_transition : 11 ;
      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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.002298, 0.002335, 0.002392, 0.002461, 0.002495, 0.002519, 0.002534, 0.002543, 0.002553, 0.002554",\
                 "0.002074, 0.002191, 0.002455, 0.002703, 0.002866, 0.002972, 0.003037, 0.003076, 0.003104, 0.003125",\
                 "0.001906, 0.00204, 0.002406, 0.00284, 0.003191, 0.003436, 0.003602, 0.00371, 0.003788, 0.00383",\
                 "0.0025, 0.002554, 0.002761, 0.00306, 0.003376, 0.003645, 0.003836, 0.003975, 0.004076, 0.004144",\
                 "0.004378, 0.004329, 0.004211, 0.004156, 0.004205, 0.004264, 0.004326, 0.004383, 0.004426, 0.004453",\
                 "0.008, 0.007818, 0.00726, 0.006698, 0.006205, 0.005876, 0.005641, 0.005448, 0.00529, 0.005182",\
                 "0.01363, 0.01327, 0.0123, 0.01103, 0.009849, 0.008914, 0.008177, 0.007572, 0.007091, 0.006699",\
                 "0.02135, 0.02085, 0.01945, 0.01746, 0.01549, 0.01372, 0.01228, 0.01112, 0.01014, 0.009317",\
                 "0.03128, 0.03066, 0.02884, 0.02612, 0.02326, 0.02061, 0.01831, 0.01637, 0.01474, 0.01338",\
                 "0.04347, 0.04273, 0.04049, 0.03718, 0.03337, 0.02972, 0.02644, 0.02359, 0.02115, 0.0191");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.05162, 0.05171, 0.05192, 0.05213, 0.05229, 0.05248, 0.05266, 0.0528, 0.05336, 0.05733",\
                 "0.05047, 0.05064, 0.05113, 0.05166, 0.05209, 0.05242, 0.05272, 0.05292, 0.05348, 0.05749",\
                 "0.04927, 0.0494, 0.04977, 0.05041, 0.05105, 0.05164, 0.05209, 0.05256, 0.05326, 0.05773",\
                 "0.05024, 0.05021, 0.05015, 0.05025, 0.05063, 0.05113, 0.05161, 0.05206, 0.05301, 0.05796",\
                 "0.05312, 0.05294, 0.05251, 0.052, 0.05165, 0.05164, 0.05191, 0.05197, 0.05286, 0.05894",\
                 "0.05784, 0.05753, 0.05673, 0.05571, 0.05473, 0.05389, 0.05353, 0.05336, 0.05393, 0.06164",\
                 "0.06451, 0.06412, 0.06294, 0.06128, 0.05969, 0.05818, 0.05692, 0.05615, 0.05692, 0.06712",\
                 "0.07328, 0.07277, 0.07125, 0.06907, 0.06666, 0.06448, 0.06256, 0.06075, 0.06197, 0.07813",\
                 "0.08435, 0.0837, 0.08181, 0.07904, 0.07595, 0.07285, 0.07024, 0.06808, 0.07143, 0.09888",\
                 "0.09785, 0.09704, 0.09478, 0.09146, 0.08772, 0.08365, 0.08013, 0.07839, 0.08907, 0.1396");
        }
      }

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

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.002325, 0.00237, 0.002423, 0.002471, 0.002493, 0.002523, 0.002527, 0.002537, 0.002548, 0.002551",\
                 "0.002147, 0.002259, 0.002513, 0.002747, 0.002893, 0.002988, 0.003048, 0.003088, 0.003113, 0.003131",\
                 "0.001602, 0.001763, 0.002217, 0.002724, 0.003132, 0.003404, 0.003578, 0.003697, 0.003778, 0.003834",\
                 "0.001861, 0.001958, 0.002263, 0.002706, 0.003143, 0.003479, 0.003725, 0.003894, 0.004019, 0.004099",\
                 "0.003486, 0.003468, 0.003498, 0.003616, 0.003793, 0.003983, 0.004126, 0.004234, 0.004316, 0.004372",\
                 "0.00685, 0.006685, 0.006305, 0.0059, 0.005647, 0.005455, 0.005329, 0.005227, 0.005136, 0.005066",\
                 "0.01218, 0.0119, 0.01109, 0.01004, 0.009084, 0.00833, 0.007739, 0.007268, 0.006885, 0.006553",\
                 "0.01968, 0.01925, 0.01798, 0.01624, 0.01449, 0.01297, 0.01175, 0.01072, 0.009857, 0.009143",\
                 "0.02937, 0.02882, 0.02713, 0.02469, 0.02207, 0.01966, 0.01761, 0.01586, 0.01438, 0.01314",\
                 "0.04135, 0.0407, 0.03862, 0.0355, 0.03199, 0.02859, 0.02556, 0.02295, 0.02067, 0.01878");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.06064, 0.06067, 0.06071, 0.06081, 0.06094, 0.0611, 0.06131, 0.06157, 0.06205, 0.06619",\
                 "0.05971, 0.05978, 0.05998, 0.0602, 0.06044, 0.06065, 0.06092, 0.06121, 0.06175, 0.06587",\
                 "0.05896, 0.05902, 0.05921, 0.05952, 0.05986, 0.06017, 0.06053, 0.06088, 0.06159, 0.06611",\
                 "0.06, 0.05995, 0.05981, 0.05979, 0.05989, 0.06014, 0.06044, 0.06076, 0.06146, 0.06662",\
                 "0.0629, 0.06274, 0.0623, 0.06172, 0.06131, 0.06107, 0.06097, 0.06116, 0.06186, 0.06786",\
                 "0.06768, 0.0674, 0.06663, 0.06559, 0.06449, 0.06362, 0.06298, 0.06273, 0.06346, 0.07093",\
                 "0.07452, 0.07412, 0.07299, 0.07135, 0.06972, 0.06806, 0.0667, 0.06569, 0.0665, 0.07702",\
                 "0.08346, 0.08305, 0.0816, 0.07939, 0.07691, 0.07475, 0.07246, 0.07084, 0.07217, 0.08833",\
                 "0.09474, 0.0942, 0.09249, 0.08982, 0.08665, 0.08347, 0.08062, 0.07824, 0.08175, 0.11",\
                 "0.1085, 0.1078, 0.1058, 0.1027, 0.09876, 0.09466, 0.09108, 0.08912, 0.1002, 0.1522");
        }
      }

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

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.0169, 0.0169, 0.01692, 0.0169, 0.01692, 0.01693, 0.01694, 0.01695, 0.01695, 0.01695",\
                 "0.01702, 0.01705, 0.01709, 0.01709, 0.01713, 0.01716, 0.01719, 0.01719, 0.0172, 0.0172",\
                 "0.01665, 0.01669, 0.01675, 0.01688, 0.017, 0.0171, 0.01717, 0.01722, 0.01725, 0.01728",\
                 "0.01653, 0.01655, 0.01664, 0.01674, 0.0169, 0.01701, 0.0171, 0.01715, 0.01722, 0.01725",\
                 "0.01784, 0.01781, 0.01767, 0.01757, 0.01749, 0.01744, 0.01745, 0.01742, 0.01741, 0.0174",\
                 "0.02105, 0.02089, 0.02052, 0.01996, 0.01946, 0.01905, 0.0187, 0.01848, 0.01826, 0.0181",\
                 "0.02645, 0.02622, 0.02551, 0.02438, 0.0233, 0.02226, 0.02139, 0.02069, 0.02012, 0.01965",\
                 "0.03423, 0.03387, 0.03277, 0.03112, 0.02922, 0.02749, 0.02585, 0.02448, 0.02339, 0.02244",\
                 "0.0444, 0.04397, 0.04252, 0.04027, 0.03757, 0.03485, 0.03238, 0.03022, 0.02841, 0.02681",\
                 "0.05713, 0.05657, 0.05483, 0.05196, 0.04843, 0.04481, 0.04125, 0.03817, 0.03539, 0.03303");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.07015, 0.07018, 0.07027, 0.07039, 0.07051, 0.0707, 0.07091, 0.07106, 0.07135, 0.07255",\
                 "0.06959, 0.06967, 0.06986, 0.07009, 0.07031, 0.07052, 0.07073, 0.07097, 0.07129, 0.0726",\
                 "0.06886, 0.06895, 0.06918, 0.0695, 0.06986, 0.07022, 0.07049, 0.07079, 0.07134, 0.07252",\
                 "0.06863, 0.06867, 0.06881, 0.06909, 0.0694, 0.06983, 0.07013, 0.07053, 0.07101, 0.07276",\
                 "0.06955, 0.06952, 0.06945, 0.06949, 0.06953, 0.06974, 0.06998, 0.07038, 0.07076, 0.07281",\
                 "0.07263, 0.07244, 0.07199, 0.07158, 0.07126, 0.07094, 0.07091, 0.07104, 0.07141, 0.07378",\
                 "0.07858, 0.07823, 0.07722, 0.076, 0.07501, 0.07418, 0.07352, 0.07315, 0.07306, 0.07656",\
                 "0.08752, 0.08698, 0.08541, 0.08333, 0.08124, 0.07952, 0.07817, 0.07697, 0.07674, 0.08242",\
                 "0.09918, 0.09845, 0.09644, 0.09352, 0.09036, 0.08747, 0.08525, 0.0833, 0.08319, 0.09395",\
                 "0.1136, 0.1128, 0.1102, 0.1066, 0.1024, 0.09845, 0.09469, 0.09235, 0.09453, 0.1182");
        }
      }

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

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.0148, 0.01477, 0.01478, 0.01478, 0.01481, 0.01482, 0.01481, 0.01482, 0.01481, 0.01481",\
                 "0.01479, 0.01482, 0.01481, 0.01483, 0.01485, 0.01489, 0.01489, 0.0149, 0.01491, 0.01491",\
                 "0.01428, 0.01432, 0.0144, 0.01448, 0.01457, 0.01464, 0.01467, 0.01471, 0.01472, 0.01473",\
                 "0.01417, 0.0142, 0.01424, 0.01434, 0.01443, 0.01448, 0.01454, 0.01459, 0.01461, 0.01463",\
                 "0.01558, 0.01551, 0.01533, 0.01518, 0.01504, 0.01495, 0.0149, 0.01486, 0.01481, 0.01478",\
                 "0.01888, 0.01872, 0.01823, 0.01763, 0.01703, 0.01654, 0.01615, 0.01585, 0.01564, 0.01544",\
                 "0.02445, 0.02416, 0.02327, 0.02203, 0.0208, 0.01968, 0.01876, 0.01802, 0.01742, 0.01693",\
                 "0.03231, 0.03191, 0.03062, 0.02874, 0.02665, 0.02476, 0.02308, 0.02171, 0.02057, 0.01963",\
                 "0.04263, 0.04212, 0.04042, 0.03785, 0.03494, 0.03204, 0.02949, 0.02726, 0.02539, 0.02381",\
                 "0.05543, 0.05478, 0.05275, 0.04953, 0.04569, 0.04181, 0.03816, 0.03494, 0.03213, 0.02983");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.06415, 0.06417, 0.06425, 0.06435, 0.06445, 0.0646, 0.06478, 0.06502, 0.06559, 0.06962",\
                 "0.06358, 0.06365, 0.06384, 0.06406, 0.06428, 0.06451, 0.06475, 0.06496, 0.06553, 0.06959",\
                 "0.06286, 0.06293, 0.06315, 0.06348, 0.06384, 0.06418, 0.06448, 0.06481, 0.0654, 0.06981",\
                 "0.06261, 0.06266, 0.06278, 0.06302, 0.06338, 0.06373, 0.06403, 0.06439, 0.06518, 0.07028",\
                 "0.06342, 0.06338, 0.06336, 0.06333, 0.06347, 0.0637, 0.06388, 0.06424, 0.06528, 0.07126",\
                 "0.06633, 0.06618, 0.06575, 0.06535, 0.06503, 0.06475, 0.06481, 0.06488, 0.06578, 0.0734",\
                 "0.0721, 0.07177, 0.07079, 0.06959, 0.06863, 0.06781, 0.06712, 0.06673, 0.06785, 0.07821",\
                 "0.0808, 0.08029, 0.0788, 0.07676, 0.07467, 0.07312, 0.0718, 0.07058, 0.07212, 0.08754",\
                 "0.09237, 0.0917, 0.08963, 0.08679, 0.08366, 0.08089, 0.0787, 0.0771, 0.07993, 0.1051",\
                 "0.1068, 0.1059, 0.1034, 0.09976, 0.09566, 0.0916, 0.08812, 0.0865, 0.09508, 0.1392");
        }
      }

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

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.01479, 0.01479, 0.01479, 0.01479, 0.01479, 0.0148, 0.0148, 0.01481, 0.0148, 0.0148",\
                 "0.01482, 0.01482, 0.01482, 0.01485, 0.01486, 0.01488, 0.01489, 0.01489, 0.0149, 0.01489",\
                 "0.0143, 0.01433, 0.01441, 0.01448, 0.01458, 0.01462, 0.01466, 0.01471, 0.01471, 0.01471",\
                 "0.01419, 0.0142, 0.01426, 0.01434, 0.01443, 0.01449, 0.01455, 0.01459, 0.01462, 0.01463",\
                 "0.01556, 0.01551, 0.01534, 0.01519, 0.01504, 0.01495, 0.0149, 0.01484, 0.0148, 0.01477",\
                 "0.01887, 0.01872, 0.01822, 0.01761, 0.01701, 0.01653, 0.01615, 0.01586, 0.01563, 0.01545",\
                 "0.0244, 0.02411, 0.02324, 0.02202, 0.02077, 0.01968, 0.01876, 0.01801, 0.01742, 0.01694",\
                 "0.03229, 0.03187, 0.03059, 0.02871, 0.02663, 0.02475, 0.02307, 0.02171, 0.02057, 0.01962",\
                 "0.04257, 0.04205, 0.04037, 0.03782, 0.0349, 0.03203, 0.02947, 0.02726, 0.02537, 0.0238",\
                 "0.05533, 0.05473, 0.05268, 0.04949, 0.04567, 0.04178, 0.03814, 0.03495, 0.03214, 0.02981");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.0744, 0.07443, 0.0745, 0.0746, 0.07474, 0.07485, 0.07503, 0.07536, 0.07601, 0.08018",\
                 "0.07395, 0.074, 0.07416, 0.07436, 0.07455, 0.07479, 0.07503, 0.0753, 0.07595, 0.08031",\
                 "0.07325, 0.0733, 0.07352, 0.07379, 0.07412, 0.0744, 0.07473, 0.07506, 0.07583, 0.08038",\
                 "0.07292, 0.07294, 0.0731, 0.07333, 0.07367, 0.07404, 0.0744, 0.07482, 0.07557, 0.08079",\
                 "0.07359, 0.07358, 0.07354, 0.07361, 0.07374, 0.07395, 0.07428, 0.07462, 0.07561, 0.08195",\
                 "0.07619, 0.07606, 0.07577, 0.07546, 0.07517, 0.075, 0.07506, 0.07523, 0.07634, 0.0843",\
                 "0.08154, 0.08123, 0.08052, 0.07947, 0.07866, 0.07791, 0.07743, 0.07714, 0.07838, 0.08898",\
                 "0.08983, 0.08943, 0.08814, 0.08638, 0.0845, 0.0831, 0.08178, 0.08084, 0.08249, 0.09846",\
                 "0.1011, 0.1004, 0.09869, 0.09616, 0.09338, 0.09071, 0.08865, 0.0871, 0.09045, 0.1165",\
                 "0.1151, 0.1143, 0.1121, 0.1089, 0.105, 0.1013, 0.098, 0.09651, 0.1057, 0.1513");
        }
      }

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

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.02417, 0.02419, 0.02418, 0.02415, 0.02418, 0.02416, 0.02417, 0.02417, 0.02418, 0.02417",\
                 "0.02344, 0.02345, 0.02341, 0.02344, 0.02345, 0.02347, 0.02349, 0.02346, 0.02348, 0.02346",\
                 "0.02273, 0.02272, 0.02271, 0.02271, 0.02274, 0.02278, 0.0228, 0.02281, 0.0228, 0.0228",\
                 "0.02271, 0.0227, 0.02269, 0.02265, 0.02265, 0.02259, 0.0226, 0.02258, 0.0226, 0.02258",\
                 "0.02422, 0.02413, 0.02394, 0.02367, 0.02341, 0.02319, 0.02306, 0.02291, 0.02283, 0.02275",\
                 "0.02766, 0.02751, 0.02708, 0.02636, 0.02565, 0.02502, 0.0245, 0.0241, 0.02379, 0.02352",\
                 "0.03362, 0.03331, 0.03248, 0.03122, 0.02989, 0.0286, 0.02747, 0.02655, 0.02581, 0.02523",\
                 "0.04214, 0.04175, 0.04052, 0.03862, 0.03642, 0.03431, 0.03239, 0.03076, 0.02939, 0.02826",\
                 "0.05353, 0.05305, 0.0514, 0.04879, 0.04567, 0.04251, 0.03966, 0.03704, 0.0349, 0.03304",\
                 "0.06784, 0.06721, 0.06518, 0.06192, 0.05784, 0.05356, 0.04946, 0.04586, 0.04259, 0.03981");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.07817, 0.07821, 0.07828, 0.0784, 0.07853, 0.07865, 0.07892, 0.07904, 0.07936, 0.08064",\
                 "0.07764, 0.07768, 0.07791, 0.07811, 0.07836, 0.07862, 0.07877, 0.07904, 0.07927, 0.08071",\
                 "0.07685, 0.07693, 0.07716, 0.07748, 0.07784, 0.07823, 0.0785, 0.07877, 0.07911, 0.08054",\
                 "0.07653, 0.07658, 0.07674, 0.07706, 0.07738, 0.07775, 0.0782, 0.07851, 0.0789, 0.08066",\
                 "0.07701, 0.07701, 0.07707, 0.07715, 0.07731, 0.07757, 0.07799, 0.07827, 0.07874, 0.08072",\
                 "0.0796, 0.07946, 0.07914, 0.07883, 0.0787, 0.07859, 0.07859, 0.07875, 0.07915, 0.08159",\
                 "0.08541, 0.08509, 0.08422, 0.08313, 0.08219, 0.08162, 0.08111, 0.08073, 0.08084, 0.08404",\
                 "0.09488, 0.09434, 0.09286, 0.0908, 0.08875, 0.08711, 0.08591, 0.08489, 0.08451, 0.08958",\
                 "0.1079, 0.1072, 0.105, 0.102, 0.0987, 0.09578, 0.09347, 0.09168, 0.09133, 0.1",\
                 "0.1243, 0.1235, 0.1208, 0.1167, 0.1124, 0.108, 0.1041, 0.1012, 0.1023, 0.1204");
        }
      }

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

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.02205, 0.02204, 0.02201, 0.02201, 0.02201, 0.02204, 0.02203, 0.02204, 0.02203, 0.02202",\
                 "0.02131, 0.02132, 0.02128, 0.02127, 0.02129, 0.0213, 0.0213, 0.02131, 0.02131, 0.02129",\
                 "0.02051, 0.02051, 0.0205, 0.02048, 0.02049, 0.0205, 0.02052, 0.02054, 0.02054, 0.02052",\
                 "0.02046, 0.02045, 0.02041, 0.02036, 0.02033, 0.0203, 0.02027, 0.02024, 0.02024, 0.02022",\
                 "0.02193, 0.02186, 0.02161, 0.0213, 0.02104, 0.0208, 0.02065, 0.02049, 0.0204, 0.02032",\
                 "0.02552, 0.02532, 0.02477, 0.02397, 0.02319, 0.02252, 0.02197, 0.0216, 0.02129, 0.02103",\
                 "0.03153, 0.03121, 0.03022, 0.02875, 0.02728, 0.02595, 0.02483, 0.02392, 0.0232, 0.02261",\
                 "0.04015, 0.0397, 0.03827, 0.03611, 0.03371, 0.03152, 0.02956, 0.0279, 0.02656, 0.02545",\
                 "0.05166, 0.05105, 0.04913, 0.04622, 0.04286, 0.03953, 0.03654, 0.03395, 0.03176, 0.02994",\
                 "0.06601, 0.06529, 0.063, 0.05926, 0.05487, 0.05036, 0.04611, 0.04238, 0.03915, 0.03645");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.07216, 0.07217, 0.07225, 0.07235, 0.07248, 0.07259, 0.07276, 0.07302, 0.07345, 0.0776",\
                 "0.07163, 0.07171, 0.07188, 0.07208, 0.07233, 0.07253, 0.07273, 0.0729, 0.07339, 0.07769",\
                 "0.07083, 0.07091, 0.07112, 0.07145, 0.07181, 0.07214, 0.07243, 0.07273, 0.07341, 0.07766",\
                 "0.07051, 0.07056, 0.07069, 0.07101, 0.07134, 0.07175, 0.07204, 0.0724, 0.07313, 0.0784",\
                 "0.07092, 0.07093, 0.07099, 0.07106, 0.07122, 0.07154, 0.07186, 0.07213, 0.07311, 0.07893",\
                 "0.0733, 0.07315, 0.07282, 0.07259, 0.07242, 0.07232, 0.07234, 0.07262, 0.07361, 0.08103",\
                 "0.07879, 0.07844, 0.07762, 0.07656, 0.07579, 0.07517, 0.07468, 0.07444, 0.07542, 0.0854",\
                 "0.08783, 0.08726, 0.08576, 0.08386, 0.08192, 0.08048, 0.07936, 0.07836, 0.07952, 0.09388",\
                 "0.1005, 0.09981, 0.0977, 0.09471, 0.09151, 0.08876, 0.08665, 0.08506, 0.08748, 0.1096",\
                 "0.1168, 0.1159, 0.1132, 0.1091, 0.1049, 0.1006, 0.09706, 0.09501, 0.1015, 0.1394");
        }
      }

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

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.02204, 0.02204, 0.02204, 0.02202, 0.02202, 0.02203, 0.02203, 0.02203, 0.02203, 0.02203",\
                 "0.02132, 0.02131, 0.02127, 0.02128, 0.02128, 0.02128, 0.0213, 0.0213, 0.0213, 0.0213",\
                 "0.0205, 0.0205, 0.0205, 0.0205, 0.02051, 0.02051, 0.02052, 0.02053, 0.02053, 0.02053",\
                 "0.02046, 0.02045, 0.02041, 0.02035, 0.02031, 0.02029, 0.02026, 0.02025, 0.02023, 0.02022",\
                 "0.02194, 0.02184, 0.0216, 0.0213, 0.02103, 0.02081, 0.02063, 0.0205, 0.0204, 0.02033",\
                 "0.0255, 0.02531, 0.02475, 0.02396, 0.02319, 0.02252, 0.02199, 0.0216, 0.02127, 0.02103",\
                 "0.03148, 0.03116, 0.03017, 0.02876, 0.02729, 0.02595, 0.02482, 0.02392, 0.02319, 0.02262",\
                 "0.04013, 0.03965, 0.03823, 0.03608, 0.03371, 0.03146, 0.02954, 0.0279, 0.02658, 0.02548",\
                 "0.05159, 0.05098, 0.04908, 0.04618, 0.04284, 0.03952, 0.03653, 0.03395, 0.03177, 0.02996",\
                 "0.06594, 0.06523, 0.06291, 0.05921, 0.05483, 0.05032, 0.0461, 0.04235, 0.03918, 0.03643");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.08242, 0.08243, 0.08251, 0.08261, 0.08274, 0.08293, 0.08314, 0.08334, 0.084, 0.08816",\
                 "0.08198, 0.08199, 0.08219, 0.0824, 0.08256, 0.08281, 0.08305, 0.08328, 0.08399, 0.08841",\
                 "0.08125, 0.08128, 0.0815, 0.08184, 0.08214, 0.08245, 0.08281, 0.08307, 0.08375, 0.08845",\
                 "0.08084, 0.08087, 0.08103, 0.0813, 0.08166, 0.08203, 0.08239, 0.08283, 0.08356, 0.08891",\
                 "0.08114, 0.08115, 0.0812, 0.08127, 0.08151, 0.08179, 0.08217, 0.0826, 0.08347, 0.08974",\
                 "0.08323, 0.08315, 0.08294, 0.08276, 0.08262, 0.08257, 0.08274, 0.08294, 0.08391, 0.09179",\
                 "0.08828, 0.08805, 0.08738, 0.08651, 0.08584, 0.08533, 0.08487, 0.0847, 0.08578, 0.09607",\
                 "0.0969, 0.0965, 0.09521, 0.09346, 0.09177, 0.09046, 0.0894, 0.08856, 0.08999, 0.1047",\
                 "0.1091, 0.1086, 0.1067, 0.104, 0.1012, 0.09863, 0.09663, 0.09524, 0.09793, 0.1209",\
                 "0.125, 0.1242, 0.1218, 0.1182, 0.1142, 0.1102, 0.1068, 0.105, 0.1118, 0.1512");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.1439, 0.1592, 0.2122, 0.3133, 0.4704, 0.6909, 0.9807, 1.346, 1.792, 2.324",\
                 "0.1629, 0.1784, 0.2322, 0.3341, 0.4917, 0.7125, 1.002, 1.368, 1.814, 2.345",\
                 "0.2273, 0.2456, 0.3034, 0.4061, 0.5644, 0.7856, 1.076, 1.442, 1.888, 2.421",\
                 "0.2836, 0.3101, 0.3939, 0.528, 0.7015, 0.9235, 1.214, 1.579, 2.026, 2.558",\
                 "0.3114, 0.3458, 0.4553, 0.6324, 0.8602, 1.127, 1.429, 1.794, 2.241, 2.771",\
                 "0.3093, 0.3523, 0.4868, 0.7047, 0.9874, 1.319, 1.689, 2.094, 2.544, 3.074",\
                 "0.2734, 0.325, 0.4876, 0.7465, 1.082, 1.477, 1.919, 2.402, 2.919, 3.473",\
                 "0.2007, 0.2611, 0.4507, 0.7538, 1.141, 1.598, 2.113, 2.675, 3.277, 3.916",\
                 "0.0885, 0.1578, 0.3758, 0.7202, 1.167, 1.684, 2.268, 2.909, 3.597, 4.326",\
                 "-0.067, 0.012, 0.2581, 0.6492, 1.151, 1.735, 2.387, 3.104, 3.875, 4.696");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.3116, 0.3541, 0.503, 0.7855, 1.223, 1.837, 2.646, 3.663, 4.903, 6.382",\
                 "0.3229, 0.3663, 0.5178, 0.8039, 1.245, 1.86, 2.669, 3.686, 4.928, 6.408",\
                 "0.3937, 0.4355, 0.5848, 0.8714, 1.315, 1.933, 2.744, 3.764, 5.006, 6.486",\
                 "0.5586, 0.6021, 0.7454, 1.023, 1.463, 2.081, 2.891, 3.911, 5.154, 6.635",\
                 "0.7568, 0.811, 0.9875, 1.282, 1.712, 2.324, 3.132, 4.147, 5.389, 6.871",\
                 "0.9848, 1.048, 1.257, 1.606, 2.077, 2.681, 3.482, 4.495, 5.731, 7.21",\
                 "1.254, 1.325, 1.559, 1.957, 2.499, 3.159, 3.957, 4.962, 6.193, 7.667",\
                 "1.568, 1.647, 1.903, 2.345, 2.951, 3.696, 4.558, 5.563, 6.787, 8.254",\
                 "1.929, 2.017, 2.299, 2.777, 3.44, 4.263, 5.221, 6.297, 7.526, 8.983",\
                 "2.336, 2.434, 2.744, 3.261, 3.976, 4.869, 5.917, 7.098, 8.4, 9.864");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.1786, 0.2039, 0.2914, 0.4591, 0.7216, 1.088, 1.569, 2.177, 2.92, 3.802",\
                 "0.1788, 0.204, 0.2911, 0.4587, 0.7205, 1.088, 1.57, 2.177, 2.918, 3.802",\
                 "0.2161, 0.2345, 0.3042, 0.4605, 0.7216, 1.087, 1.57, 2.177, 2.917, 3.802",\
                 "0.315, 0.3417, 0.4245, 0.5593, 0.76, 1.091, 1.569, 2.179, 2.919, 3.801",\
                 "0.4262, 0.4598, 0.567, 0.7398, 0.9636, 1.236, 1.623, 2.185, 2.918, 3.804",\
                 "0.555, 0.5952, 0.7218, 0.933, 1.207, 1.527, 1.895, 2.348, 2.978, 3.811",\
                 "0.6992, 0.748, 0.8974, 1.138, 1.459, 1.842, 2.271, 2.745, 3.284, 3.983",\
                 "0.859, 0.9148, 1.091, 1.365, 1.726, 2.167, 2.661, 3.205, 3.795, 4.434",\
                 "1.034, 1.098, 1.298, 1.614, 2.022, 2.507, 3.065, 3.682, 4.346, 5.057",\
                 "1.225, 1.298, 1.524, 1.882, 2.336, 2.87, 3.481, 4.171, 4.913, 5.702");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.5327, 0.607, 0.8622, 1.341, 2.083, 3.119, 4.485, 6.2, 8.295, 10.79",\
                 "0.5289, 0.6043, 0.861, 1.341, 2.084, 3.118, 4.482, 6.197, 8.292, 10.79",\
                 "0.5105, 0.5887, 0.8558, 1.341, 2.083, 3.119, 4.484, 6.205, 8.294, 10.79",\
                 "0.5705, 0.63, 0.8548, 1.332, 2.081, 3.119, 4.484, 6.198, 8.299, 10.8",\
                 "0.6942, 0.7632, 0.9876, 1.386, 2.077, 3.122, 4.483, 6.199, 8.295, 10.8",\
                 "0.8246, 0.9018, 1.16, 1.589, 2.197, 3.135, 4.482, 6.203, 8.297, 10.8",\
                 "0.9518, 1.04, 1.331, 1.82, 2.477, 3.319, 4.529, 6.204, 8.295, 10.8",\
                 "1.098, 1.189, 1.501, 2.049, 2.783, 3.677, 4.776, 6.288, 8.305, 10.8",\
                 "1.266, 1.363, 1.685, 2.271, 3.089, 4.078, 5.215, 6.601, 8.438, 10.83",\
                 "1.454, 1.556, 1.892, 2.501, 3.383, 4.474, 5.72, 7.122, 8.814, 11");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.1593, 0.1747, 0.2277, 0.3287, 0.4859, 0.7062, 0.9962, 1.362, 1.807, 2.338",\
                 "0.1779, 0.1935, 0.2474, 0.3491, 0.5067, 0.7274, 1.017, 1.383, 1.829, 2.36",\
                 "0.2236, 0.241, 0.2984, 0.4015, 0.5601, 0.7814, 1.072, 1.438, 1.885, 2.417",\
                 "0.2675, 0.2903, 0.3632, 0.4855, 0.656, 0.8793, 1.17, 1.536, 1.983, 2.515",\
                 "0.2876, 0.3174, 0.4119, 0.5651, 0.7672, 1.018, 1.322, 1.689, 2.136, 2.668",\
                 "0.2753, 0.313, 0.4314, 0.6211, 0.8658, 1.158, 1.499, 1.895, 2.349, 2.881",\
                 "0.2258, 0.2717, 0.4164, 0.6446, 0.9374, 1.281, 1.67, 2.109, 2.604, 3.161",\
                 "0.1364, 0.1906, 0.3611, 0.6316, 0.975, 1.374, 1.821, 2.314, 2.859, 3.46",\
                 "0.0039, 0.0671, 0.264, 0.5764, 0.9734, 1.431, 1.941, 2.497, 3.101, 3.756",\
                 "-0.1754, -0.1031, 0.1219, 0.4765, 0.9284, 1.449, 2.023, 2.646, 3.318, 4.037");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.3896, 0.4319, 0.5802, 0.8623, 1.301, 1.915, 2.722, 3.739, 4.981, 6.461",\
                 "0.4032, 0.446, 0.5957, 0.8792, 1.319, 1.933, 2.741, 3.759, 5, 6.48",\
                 "0.4774, 0.5197, 0.669, 0.9532, 1.394, 2.01, 2.819, 3.837, 5.079, 6.56",\
                 "0.6479, 0.688, 0.8303, 1.11, 1.547, 2.162, 2.971, 3.989, 5.231, 6.712",\
                 "0.8726, 0.9227, 1.088, 1.369, 1.801, 2.41, 3.215, 4.231, 5.471, 6.951",\
                 "1.127, 1.185, 1.38, 1.713, 2.168, 2.771, 3.569, 4.58, 5.817, 7.293",\
                 "1.421, 1.487, 1.706, 2.086, 2.609, 3.253, 4.047, 5.051, 6.281, 7.752",\
                 "1.763, 1.835, 2.076, 2.496, 3.081, 3.807, 4.655, 5.656, 6.88, 8.343",\
                 "2.159, 2.238, 2.498, 2.953, 3.593, 4.393, 5.333, 6.396, 7.621, 9.075",\
                 "2.608, 2.695, 2.978, 3.465, 4.151, 5.022, 6.049, 7.213, 8.503, 9.962");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.1785, 0.2039, 0.2914, 0.4597, 0.7203, 1.087, 1.57, 2.177, 2.918, 3.803",\
                 "0.1784, 0.2034, 0.2915, 0.4592, 0.7204, 1.087, 1.57, 2.177, 2.918, 3.803",\
                 "0.2023, 0.2234, 0.3008, 0.4598, 0.7211, 1.087, 1.57, 2.178, 2.919, 3.803",\
                 "0.2759, 0.2994, 0.3773, 0.5233, 0.7496, 1.093, 1.57, 2.178, 2.92, 3.803",\
                 "0.3784, 0.4054, 0.4924, 0.646, 0.874, 1.187, 1.612, 2.187, 2.919, 3.804",\
                 "0.502, 0.5338, 0.6352, 0.8058, 1.048, 1.366, 1.78, 2.3, 2.971, 3.815",\
                 "0.642, 0.6788, 0.798, 0.9932, 1.256, 1.595, 2.017, 2.535, 3.166, 3.941",\
                 "0.7948, 0.839, 0.979, 1.202, 1.499, 1.86, 2.304, 2.834, 3.47, 4.222",\
                 "0.9636, 1.013, 1.172, 1.432, 1.76, 2.161, 2.631, 3.185, 3.833, 4.59",\
                 "1.145, 1.202, 1.382, 1.673, 2.047, 2.483, 3, 3.578, 4.255, 5.026");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.6332, 0.7067, 0.9606, 1.44, 2.181, 3.218, 4.584, 6.299, 8.396, 10.9",\
                 "0.6324, 0.706, 0.9601, 1.44, 2.182, 3.219, 4.582, 6.301, 8.394, 10.89",\
                 "0.6211, 0.6977, 0.9581, 1.439, 2.181, 3.219, 4.581, 6.3, 8.396, 10.9",\
                 "0.6436, 0.7086, 0.947, 1.433, 2.181, 3.219, 4.583, 6.3, 8.395, 10.9",\
                 "0.7718, 0.8376, 1.055, 1.466, 2.175, 3.219, 4.581, 6.299, 8.397, 10.89",\
                 "0.908, 0.9844, 1.235, 1.656, 2.275, 3.226, 4.582, 6.301, 8.397, 10.89",\
                 "1.041, 1.129, 1.413, 1.893, 2.541, 3.392, 4.618, 6.302, 8.398, 10.9",\
                 "1.177, 1.271, 1.586, 2.127, 2.852, 3.74, 4.852, 6.376, 8.406, 10.9",\
                 "1.326, 1.426, 1.759, 2.354, 3.16, 4.139, 5.276, 6.674, 8.522, 10.91",\
                 "1.495, 1.599, 1.947, 2.573, 3.458, 4.536, 5.778, 7.178, 8.888, 11.08");
        }
      }

      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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.2257, 0.2417, 0.296, 0.3971, 0.5517, 0.766, 1.046, 1.398, 1.826, 2.336",\
                 "0.2487, 0.2645, 0.3189, 0.4203, 0.5749, 0.7893, 1.069, 1.421, 1.85, 2.36",\
                 "0.3271, 0.3428, 0.3972, 0.4986, 0.6537, 0.8682, 1.149, 1.5, 1.929, 2.439",\
                 "0.4457, 0.4667, 0.5348, 0.6483, 0.8048, 1.019, 1.299, 1.651, 2.08, 2.59",\
                 "0.5402, 0.5681, 0.6584, 0.8102, 1.012, 1.253, 1.537, 1.888, 2.315, 2.825",\
                 "0.6081, 0.6421, 0.7543, 0.9436, 1.197, 1.501, 1.845, 2.22, 2.65, 3.158",\
                 "0.6493, 0.6899, 0.8226, 1.048, 1.351, 1.718, 2.134, 2.589, 3.076, 3.6",\
                 "0.6626, 0.7099, 0.8628, 1.123, 1.475, 1.902, 2.389, 2.925, 3.499, 4.107",\
                 "0.6431, 0.6977, 0.8732, 1.169, 1.568, 2.053, 2.609, 3.224, 3.885, 4.588",\
                 "0.5899, 0.6501, 0.8483, 1.183, 1.631, 2.172, 2.794, 3.486, 4.235, 5.03");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.4099, 0.4461, 0.5709, 0.8085, 1.178, 1.695, 2.376, 3.234, 4.281, 5.529",\
                 "0.4279, 0.4641, 0.5903, 0.829, 1.199, 1.717, 2.399, 3.257, 4.303, 5.552",\
                 "0.5022, 0.5385, 0.6649, 0.9042, 1.276, 1.795, 2.477, 3.336, 4.383, 5.631",\
                 "0.6321, 0.6718, 0.803, 1.043, 1.414, 1.935, 2.617, 3.476, 4.524, 5.773",\
                 "0.7874, 0.8357, 0.9909, 1.258, 1.634, 2.152, 2.834, 3.693, 4.741, 5.99",\
                 "0.9679, 1.025, 1.208, 1.515, 1.935, 2.468, 3.148, 4.005, 5.051, 6.298",\
                 "1.188, 1.252, 1.459, 1.808, 2.281, 2.867, 3.569, 4.425, 5.467, 6.713",\
                 "1.454, 1.525, 1.754, 2.14, 2.665, 3.311, 4.075, 4.96, 6.002, 7.243",\
                 "1.758, 1.839, 2.096, 2.517, 3.09, 3.798, 4.629, 5.581, 6.66, 7.901",\
                 "2.101, 2.192, 2.478, 2.942, 3.561, 4.329, 5.227, 6.252, 7.403, 8.687");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.2509, 0.2762, 0.3624, 0.5247, 0.7758, 1.125, 1.583, 2.162, 2.867, 3.707",\
                 "0.2509, 0.2758, 0.3622, 0.5242, 0.7758, 1.124, 1.584, 2.162, 2.866, 3.707",\
                 "0.2526, 0.2762, 0.3614, 0.525, 0.7755, 1.124, 1.583, 2.162, 2.866, 3.707",\
                 "0.3592, 0.3824, 0.4548, 0.5776, 0.7888, 1.125, 1.583, 2.162, 2.867, 3.707",\
                 "0.4936, 0.5246, 0.6214, 0.7784, 0.9766, 1.231, 1.615, 2.165, 2.867, 3.707",\
                 "0.6334, 0.6718, 0.7952, 0.9946, 1.248, 1.541, 1.871, 2.302, 2.91, 3.712",\
                 "0.7838, 0.8294, 0.9764, 1.215, 1.527, 1.886, 2.284, 2.708, 3.201, 3.866",\
                 "0.9482, 1.001, 1.17, 1.447, 1.809, 2.238, 2.708, 3.214, 3.746, 4.326",\
                 "1.124, 1.187, 1.384, 1.694, 2.105, 2.593, 3.143, 3.733, 4.349, 4.997",\
                 "1.307, 1.378, 1.604, 1.96, 2.417, 2.961, 3.581, 4.255, 4.962, 5.704");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.5135, 0.574, 0.7836, 1.184, 1.805, 2.674, 3.818, 5.255, 7.013, 9.111",\
                 "0.5139, 0.5735, 0.7835, 1.184, 1.805, 2.672, 3.817, 5.254, 7.013, 9.108",\
                 "0.5161, 0.5751, 0.7848, 1.183, 1.806, 2.675, 3.816, 5.255, 7.01, 9.109",\
                 "0.5716, 0.6216, 0.805, 1.185, 1.805, 2.674, 3.816, 5.255, 7.006, 9.105",\
                 "0.7088, 0.7608, 0.9376, 1.265, 1.825, 2.675, 3.815, 5.255, 7.014, 9.109",\
                 "0.867, 0.9234, 1.116, 1.458, 1.968, 2.729, 3.82, 5.256, 7.006, 9.112",\
                 "1.04, 1.099, 1.307, 1.684, 2.22, 2.933, 3.925, 5.277, 7.008, 9.102",\
                 "1.233, 1.294, 1.512, 1.914, 2.501, 3.251, 4.188, 5.431, 7.059, 9.113",\
                 "1.448, 1.513, 1.738, 2.159, 2.789, 3.593, 4.572, 5.754, 7.271, 9.192",\
                 "1.678, 1.748, 1.987, 2.425, 3.082, 3.947, 4.99, 6.214, 7.656, 9.452");
        }
      }

      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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.191, 0.2074, 0.2629, 0.3653, 0.5207, 0.7355, 1.016, 1.368, 1.796, 2.306",\
                 "0.2137, 0.23, 0.2854, 0.3879, 0.5434, 0.7582, 1.039, 1.391, 1.819, 2.329",\
                 "0.2932, 0.3091, 0.3638, 0.4658, 0.6214, 0.8364, 1.117, 1.469, 1.897, 2.408",\
                 "0.3985, 0.4213, 0.494, 0.6133, 0.7727, 0.9872, 1.268, 1.62, 2.048, 2.558",\
                 "0.4776, 0.5076, 0.6045, 0.7637, 0.9728, 1.219, 1.505, 1.856, 2.284, 2.794",\
                 "0.5303, 0.567, 0.6866, 0.8854, 1.148, 1.459, 1.808, 2.188, 2.618, 3.127",\
                 "0.5553, 0.5991, 0.7405, 0.9766, 1.291, 1.666, 2.089, 2.55, 3.041, 3.567",\
                 "0.5499, 0.6013, 0.7659, 1.039, 1.402, 1.839, 2.335, 2.878, 3.458, 4.071",\
                 "0.5122, 0.5705, 0.7579, 1.071, 1.483, 1.98, 2.546, 3.169, 3.837, 4.544",\
                 "0.4394, 0.5042, 0.7165, 1.067, 1.532, 2.087, 2.721, 3.421, 4.178, 4.979");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.4714, 0.5134, 0.6615, 0.9432, 1.381, 1.994, 2.801, 3.818, 5.059, 6.538",\
                 "0.4878, 0.531, 0.6802, 0.963, 1.402, 2.016, 2.824, 3.84, 5.082, 6.56",\
                 "0.5581, 0.6014, 0.751, 1.035, 1.475, 2.091, 2.899, 3.917, 5.158, 6.638",\
                 "0.6764, 0.7219, 0.8746, 1.158, 1.598, 2.214, 3.023, 4.041, 5.284, 6.764",\
                 "0.8166, 0.8687, 1.041, 1.344, 1.786, 2.401, 3.209, 4.227, 5.47, 6.953",\
                 "0.9907, 1.049, 1.242, 1.575, 2.05, 2.67, 3.476, 4.491, 5.733, 7.21",\
                 "1.208, 1.273, 1.486, 1.85, 2.363, 3.023, 3.838, 4.85, 6.087, 7.562",\
                 "1.472, 1.545, 1.779, 2.174, 2.725, 3.43, 4.291, 5.314, 6.546, 8.019",\
                 "1.776, 1.858, 2.119, 2.549, 3.139, 3.888, 4.797, 5.872, 7.118, 8.585",\
                 "2.121, 2.212, 2.502, 2.974, 3.606, 4.401, 5.36, 6.488, 7.789, 9.272");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.2327, 0.2575, 0.3428, 0.5044, 0.7544, 1.103, 1.561, 2.139, 2.844, 3.685",\
                 "0.2319, 0.257, 0.3427, 0.5041, 0.7531, 1.103, 1.562, 2.139, 2.844, 3.684",\
                 "0.2387, 0.2607, 0.3409, 0.5038, 0.7535, 1.103, 1.561, 2.139, 2.844, 3.684",\
                 "0.3536, 0.3772, 0.4505, 0.5699, 0.7734, 1.103, 1.562, 2.138, 2.843, 3.684",\
                 "0.4856, 0.5168, 0.6158, 0.7726, 0.9734, 1.222, 1.599, 2.143, 2.844, 3.684",\
                 "0.625, 0.6642, 0.7876, 0.987, 1.242, 1.537, 1.865, 2.29, 2.892, 3.69",\
                 "0.7786, 0.8272, 0.97, 1.208, 1.521, 1.881, 2.278, 2.704, 3.194, 3.853",\
                 "0.9452, 0.9996, 1.17, 1.448, 1.804, 2.234, 2.707, 3.21, 3.745, 4.319",\
                 "1.12, 1.185, 1.386, 1.699, 2.106, 2.592, 3.14, 3.728, 4.347, 4.994",\
                 "1.306, 1.378, 1.61, 1.971, 2.423, 2.964, 3.579, 4.253, 4.961, 5.704");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.5457, 0.6163, 0.8655, 1.342, 2.083, 3.12, 4.487, 6.206, 8.298, 10.8",\
                 "0.5461, 0.6166, 0.8654, 1.341, 2.082, 3.119, 4.482, 6.206, 8.298, 10.8",\
                 "0.5474, 0.6184, 0.8654, 1.341, 2.082, 3.119, 4.484, 6.202, 8.301, 10.8",\
                 "0.5924, 0.6546, 0.8814, 1.344, 2.081, 3.118, 4.481, 6.197, 8.293, 10.8",\
                 "0.6932, 0.7598, 0.985, 1.402, 2.093, 3.123, 4.481, 6.2, 8.298, 10.8",\
                 "0.814, 0.8832, 1.119, 1.552, 2.198, 3.152, 4.489, 6.202, 8.293, 10.8",\
                 "0.9602, 1.03, 1.274, 1.724, 2.394, 3.298, 4.55, 6.208, 8.303, 10.8",\
                 "1.136, 1.205, 1.45, 1.915, 2.614, 3.545, 4.736, 6.3, 8.319, 10.8",\
                 "1.333, 1.406, 1.658, 2.129, 2.849, 3.818, 5.038, 6.535, 8.45, 10.84",\
                 "1.545, 1.624, 1.894, 2.374, 3.104, 4.104, 5.366, 6.892, 8.724, 11");
        }
      }

      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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.1939, 0.2103, 0.2658, 0.3683, 0.5239, 0.7391, 1.02, 1.372, 1.802, 2.313",\
                 "0.2164, 0.2328, 0.2886, 0.3909, 0.5466, 0.7619, 1.043, 1.395, 1.825, 2.335",\
                 "0.2959, 0.3119, 0.3665, 0.4689, 0.6246, 0.84, 1.121, 1.474, 1.903, 2.414",\
                 "0.4032, 0.4255, 0.4981, 0.6169, 0.7757, 0.9907, 1.272, 1.624, 2.053, 2.564",\
                 "0.4844, 0.5141, 0.6099, 0.7692, 0.9774, 1.223, 1.509, 1.861, 2.289, 2.8",\
                 "0.5388, 0.5757, 0.6941, 0.8918, 1.154, 1.465, 1.813, 2.193, 2.624, 3.134",\
                 "0.5668, 0.6103, 0.751, 0.986, 1.299, 1.674, 2.096, 2.557, 3.048, 3.574",\
                 "0.5651, 0.6155, 0.7789, 1.05, 1.413, 1.849, 2.345, 2.886, 3.466, 4.078",\
                 "0.5307, 0.5881, 0.7746, 1.085, 1.497, 1.992, 2.557, 3.18, 3.847, 4.553",\
                 "0.4621, 0.5271, 0.7364, 1.086, 1.549, 2.102, 2.735, 3.435, 4.189, 4.99");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.5634, 0.6059, 0.7546, 1.037, 1.475, 2.089, 2.897, 3.914, 5.156, 6.635",\
                 "0.5814, 0.6243, 0.7739, 1.057, 1.496, 2.111, 2.919, 3.936, 5.178, 6.658",\
                 "0.6519, 0.695, 0.8452, 1.13, 1.57, 2.186, 2.995, 4.013, 5.255, 6.736",\
                 "0.7745, 0.8184, 0.9686, 1.253, 1.693, 2.31, 3.119, 4.138, 5.381, 6.861",\
                 "0.929, 0.9785, 1.144, 1.44, 1.88, 2.495, 3.304, 4.323, 5.566, 7.046",\
                 "1.117, 1.172, 1.356, 1.681, 2.148, 2.764, 3.571, 4.587, 5.828, 7.308",\
                 "1.349, 1.409, 1.611, 1.964, 2.468, 3.122, 3.934, 4.946, 6.183, 7.659",\
                 "1.627, 1.694, 1.915, 2.297, 2.837, 3.534, 4.388, 5.409, 6.642, 8.115",\
                 "1.952, 2.026, 2.268, 2.681, 3.259, 3.998, 4.901, 5.97, 7.214, 8.681",\
                 "2.316, 2.399, 2.667, 3.117, 3.733, 4.517, 5.469, 6.589, 7.886, 9.367");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.2736, 0.2982, 0.3834, 0.5438, 0.7928, 1.141, 1.6, 2.178, 2.883, 3.724",\
                 "0.2729, 0.2977, 0.3831, 0.5439, 0.7928, 1.141, 1.601, 2.178, 2.883, 3.723",\
                 "0.279, 0.301, 0.3813, 0.5426, 0.7926, 1.141, 1.601, 2.178, 2.883, 3.724",\
                 "0.4071, 0.4274, 0.4948, 0.6101, 0.8118, 1.142, 1.6, 2.177, 2.883, 3.723",\
                 "0.558, 0.5858, 0.6762, 0.823, 1.015, 1.261, 1.639, 2.182, 2.883, 3.723",\
                 "0.7178, 0.7526, 0.8648, 1.052, 1.297, 1.582, 1.905, 2.331, 2.931, 3.731",\
                 "0.8916, 0.9332, 1.065, 1.291, 1.589, 1.936, 2.325, 2.746, 3.233, 3.891",\
                 "1.08, 1.129, 1.283, 1.538, 1.882, 2.298, 2.761, 3.258, 3.785, 4.357",\
                 "1.28, 1.335, 1.516, 1.805, 2.195, 2.668, 3.205, 3.785, 4.397, 5.038",\
                 "1.489, 1.553, 1.76, 2.094, 2.527, 3.05, 3.653, 4.318, 5.018, 5.75");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.6405, 0.7118, 0.9627, 1.44, 2.181, 3.218, 4.582, 6.301, 8.397, 10.9",\
                 "0.6407, 0.7116, 0.9625, 1.44, 2.181, 3.219, 4.583, 6.301, 8.395, 10.89",\
                 "0.6412, 0.7125, 0.9624, 1.44, 2.18, 3.218, 4.582, 6.3, 8.398, 10.89",\
                 "0.6686, 0.734, 0.9704, 1.44, 2.182, 3.218, 4.583, 6.301, 8.396, 10.89",\
                 "0.769, 0.8358, 1.06, 1.484, 2.186, 3.218, 4.582, 6.3, 8.397, 10.89",\
                 "0.8886, 0.9586, 1.197, 1.628, 2.278, 3.244, 4.583, 6.301, 8.397, 10.89",\
                 "1.029, 1.101, 1.349, 1.802, 2.471, 3.381, 4.638, 6.306, 8.398, 10.9",\
                 "1.196, 1.271, 1.523, 1.992, 2.691, 3.623, 4.818, 6.394, 8.412, 10.9",\
                 "1.39, 1.466, 1.724, 2.203, 2.925, 3.895, 5.113, 6.62, 8.536, 10.93",\
                 "1.603, 1.685, 1.953, 2.442, 3.177, 4.182, 5.444, 6.97, 8.808, 11.09");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.2257, 0.2417, 0.296, 0.3971, 0.5517, 0.766, 1.046, 1.398, 1.826, 2.336",\
                 "0.2487, 0.2645, 0.3189, 0.4203, 0.5749, 0.7893, 1.069, 1.421, 1.85, 2.36",\
                 "0.3271, 0.3428, 0.3972, 0.4986, 0.6537, 0.8682, 1.149, 1.5, 1.929, 2.439",\
                 "0.4457, 0.4667, 0.5348, 0.6483, 0.8048, 1.019, 1.299, 1.651, 2.08, 2.59",\
                 "0.5402, 0.5681, 0.6584, 0.8102, 1.012, 1.253, 1.537, 1.888, 2.315, 2.825",\
                 "0.6081, 0.6421, 0.7543, 0.9436, 1.197, 1.501, 1.845, 2.22, 2.65, 3.158",\
                 "0.6493, 0.6899, 0.8226, 1.048, 1.351, 1.718, 2.134, 2.589, 3.076, 3.6",\
                 "0.6626, 0.7099, 0.8628, 1.123, 1.475, 1.902, 2.389, 2.925, 3.499, 4.107",\
                 "0.6431, 0.6977, 0.8732, 1.169, 1.568, 2.053, 2.609, 3.224, 3.885, 4.588",\
                 "0.5899, 0.6501, 0.8483, 1.183, 1.631, 2.172, 2.794, 3.486, 4.235, 5.03");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.5634, 0.6059, 0.7546, 1.037, 1.475, 2.089, 2.897, 3.914, 5.156, 6.635",\
                 "0.5814, 0.6243, 0.7739, 1.057, 1.496, 2.111, 2.919, 3.936, 5.178, 6.658",\
                 "0.6519, 0.695, 0.8452, 1.13, 1.57, 2.186, 2.995, 4.013, 5.255, 6.736",\
                 "0.7745, 0.8184, 0.9686, 1.253, 1.693, 2.31, 3.119, 4.138, 5.381, 6.861",\
                 "0.929, 0.9785, 1.144, 1.44, 1.88, 2.495, 3.304, 4.323, 5.566, 7.046",\
                 "1.117, 1.172, 1.356, 1.681, 2.148, 2.764, 3.571, 4.587, 5.828, 7.308",\
                 "1.349, 1.409, 1.611, 1.964, 2.468, 3.122, 3.934, 4.946, 6.183, 7.659",\
                 "1.627, 1.694, 1.915, 2.297, 2.837, 3.534, 4.388, 5.409, 6.642, 8.115",\
                 "1.952, 2.026, 2.268, 2.681, 3.259, 3.998, 4.901, 5.97, 7.214, 8.681",\
                 "2.316, 2.399, 2.667, 3.117, 3.733, 4.517, 5.469, 6.589, 7.886, 9.367");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.2736, 0.2982, 0.3834, 0.5438, 0.7928, 1.141, 1.6, 2.178, 2.883, 3.724",\
                 "0.2729, 0.2977, 0.3831, 0.5439, 0.7928, 1.141, 1.601, 2.178, 2.883, 3.723",\
                 "0.279, 0.301, 0.3813, 0.5426, 0.7926, 1.141, 1.601, 2.178, 2.883, 3.724",\
                 "0.4071, 0.4274, 0.4948, 0.6101, 0.8118, 1.142, 1.6, 2.177, 2.883, 3.723",\
                 "0.558, 0.5858, 0.6762, 0.823, 1.015, 1.261, 1.639, 2.182, 2.883, 3.723",\
                 "0.7178, 0.7526, 0.8648, 1.052, 1.297, 1.582, 1.905, 2.331, 2.931, 3.731",\
                 "0.8916, 0.9332, 1.065, 1.291, 1.589, 1.936, 2.325, 2.746, 3.233, 3.891",\
                 "1.08, 1.129, 1.283, 1.538, 1.882, 2.298, 2.761, 3.258, 3.785, 4.357",\
                 "1.28, 1.335, 1.516, 1.805, 2.195, 2.668, 3.205, 3.785, 4.397, 5.038",\
                 "1.489, 1.553, 1.76, 2.094, 2.527, 3.05, 3.653, 4.318, 5.018, 5.75");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.6405, 0.7118, 0.9627, 1.44, 2.181, 3.218, 4.582, 6.301, 8.397, 10.9",\
                 "0.6407, 0.7116, 0.9625, 1.44, 2.181, 3.219, 4.583, 6.301, 8.395, 10.89",\
                 "0.6412, 0.7125, 0.9624, 1.44, 2.18, 3.218, 4.582, 6.3, 8.398, 10.89",\
                 "0.6686, 0.734, 0.9704, 1.44, 2.182, 3.218, 4.583, 6.301, 8.396, 10.89",\
                 "0.769, 0.8358, 1.06, 1.484, 2.186, 3.218, 4.582, 6.3, 8.397, 10.89",\
                 "0.8886, 0.9586, 1.197, 1.628, 2.278, 3.244, 4.583, 6.301, 8.397, 10.89",\
                 "1.029, 1.101, 1.349, 1.802, 2.471, 3.381, 4.638, 6.306, 8.398, 10.9",\
                 "1.196, 1.271, 1.523, 1.992, 2.691, 3.623, 4.818, 6.394, 8.412, 10.9",\
                 "1.39, 1.466, 1.724, 2.203, 2.925, 3.895, 5.113, 6.62, 8.536, 10.93",\
                 "1.603, 1.685, 1.953, 2.442, 3.177, 4.182, 5.444, 6.97, 8.808, 11.09");
        }
      }

      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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.2499, 0.2669, 0.3244, 0.4293, 0.5878, 0.8054, 1.088, 1.442, 1.872, 2.383",\
                 "0.2698, 0.2867, 0.344, 0.4492, 0.6076, 0.8254, 1.108, 1.462, 1.892, 2.403",\
                 "0.3478, 0.3642, 0.4211, 0.5258, 0.6844, 0.9018, 1.185, 1.538, 1.968, 2.48",\
                 "0.4813, 0.5016, 0.5677, 0.6783, 0.8358, 1.053, 1.335, 1.689, 2.119, 2.63",\
                 "0.596, 0.6229, 0.7099, 0.8568, 1.053, 1.29, 1.572, 1.926, 2.355, 2.866",\
                 "0.6869, 0.7196, 0.8264, 1.009, 1.254, 1.551, 1.888, 2.259, 2.689, 3.2",\
                 "0.7539, 0.7929, 0.9189, 1.134, 1.427, 1.783, 2.191, 2.638, 3.12, 3.641",\
                 "0.7989, 0.8428, 0.9869, 1.233, 1.571, 1.985, 2.46, 2.986, 3.553, 4.155",\
                 "0.8201, 0.8697, 1.032, 1.309, 1.689, 2.157, 2.698, 3.301, 3.953, 4.646",\
                 "0.813, 0.8687, 1.051, 1.36, 1.782, 2.301, 2.906, 3.581, 4.316, 5.1");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.4485, 0.4844, 0.6089, 0.8469, 1.216, 1.734, 2.415, 3.272, 4.319, 5.567",\
                 "0.4701, 0.5064, 0.6327, 0.8712, 1.241, 1.76, 2.441, 3.299, 4.346, 5.595",\
                 "0.5378, 0.5742, 0.7013, 0.9405, 1.312, 1.831, 2.513, 3.372, 4.419, 5.667",\
                 "0.6422, 0.6808, 0.8108, 1.051, 1.422, 1.942, 2.625, 3.484, 4.531, 5.78",\
                 "0.756, 0.7997, 0.9467, 1.206, 1.583, 2.103, 2.785, 3.644, 4.692, 5.941",\
                 "0.8906, 0.9391, 1.101, 1.386, 1.796, 2.33, 3.011, 3.869, 4.915, 6.164",\
                 "1.059, 1.113, 1.291, 1.598, 2.038, 2.61, 3.316, 4.174, 5.216, 6.462",\
                 "1.261, 1.322, 1.521, 1.853, 2.32, 2.926, 3.673, 4.563, 5.608, 6.85",\
                 "1.495, 1.565, 1.788, 2.152, 2.647, 3.285, 4.069, 5.002, 6.087, 7.334",\
                 "1.762, 1.841, 2.088, 2.489, 3.024, 3.693, 4.51, 5.484, 6.616, 7.907");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.2873, 0.3137, 0.4016, 0.566, 0.8183, 1.168, 1.628, 2.206, 2.911, 3.752",\
                 "0.2869, 0.3129, 0.4016, 0.5666, 0.8184, 1.168, 1.627, 2.205, 2.911, 3.752",\
                 "0.2821, 0.3081, 0.3989, 0.5658, 0.8175, 1.169, 1.628, 2.206, 2.911, 3.752",\
                 "0.3812, 0.4045, 0.476, 0.6026, 0.825, 1.168, 1.627, 2.205, 2.911, 3.752",\
                 "0.521, 0.5518, 0.6474, 0.8034, 0.9976, 1.258, 1.652, 2.208, 2.911, 3.751",\
                 "0.6666, 0.7046, 0.8258, 1.021, 1.272, 1.563, 1.891, 2.333, 2.947, 3.756",\
                 "0.8198, 0.8648, 1.009, 1.246, 1.554, 1.909, 2.301, 2.726, 3.225, 3.898",\
                 "0.9852, 1.037, 1.203, 1.476, 1.837, 2.262, 2.729, 3.233, 3.763, 4.346",\
                 "1.165, 1.224, 1.414, 1.72, 2.128, 2.615, 3.163, 3.748, 4.367, 5.016",\
                 "1.35, 1.419, 1.637, 1.984, 2.433, 2.977, 3.596, 4.269, 4.979, 5.718");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.5144, 0.5738, 0.7842, 1.184, 1.804, 2.671, 3.818, 5.256, 7.013, 9.099",\
                 "0.5139, 0.5732, 0.7834, 1.182, 1.806, 2.674, 3.814, 5.256, 7.014, 9.105",\
                 "0.5151, 0.5742, 0.7846, 1.183, 1.806, 2.674, 3.816, 5.255, 7.01, 9.096",\
                 "0.5552, 0.608, 0.7992, 1.186, 1.806, 2.672, 3.817, 5.258, 7.009, 9.107",\
                 "0.6494, 0.705, 0.8966, 1.25, 1.826, 2.675, 3.815, 5.256, 7.007, 9.108",\
                 "0.7562, 0.8138, 1.017, 1.392, 1.944, 2.733, 3.825, 5.257, 7.012, 9.106",\
                 "0.9032, 0.96, 1.154, 1.539, 2.121, 2.903, 3.928, 5.285, 7.015, 9.113",\
                 "1.091, 1.144, 1.331, 1.707, 2.306, 3.123, 4.148, 5.434, 7.084, 9.121",\
                 "1.3, 1.354, 1.546, 1.913, 2.504, 3.346, 4.416, 5.706, 7.273, 9.226",\
                 "1.522, 1.579, 1.782, 2.158, 2.74, 3.583, 4.68, 6.028, 7.598, 9.468");
        }
      }

      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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.2034, 0.2213, 0.2812, 0.3894, 0.5503, 0.7698, 1.054, 1.409, 1.839, 2.351",\
                 "0.2238, 0.2414, 0.3012, 0.4093, 0.5701, 0.7895, 1.074, 1.428, 1.859, 2.371",\
                 "0.3058, 0.3224, 0.3795, 0.4858, 0.6462, 0.8658, 1.15, 1.505, 1.935, 2.447",\
                 "0.4274, 0.45, 0.5211, 0.6386, 0.7986, 1.017, 1.3, 1.655, 2.085, 2.597",\
                 "0.5267, 0.5559, 0.65, 0.8053, 1.01, 1.252, 1.538, 1.891, 2.321, 2.833",\
                 "0.6016, 0.6369, 0.7525, 0.9442, 1.2, 1.505, 1.848, 2.225, 2.656, 3.166",\
                 "0.6534, 0.6948, 0.8298, 1.056, 1.36, 1.727, 2.142, 2.597, 3.084, 3.607",\
                 "0.6799, 0.7276, 0.8829, 1.142, 1.493, 1.918, 2.403, 2.937, 3.51, 4.116",\
                 "0.6814, 0.7355, 0.9099, 1.204, 1.598, 2.079, 2.631, 3.242, 3.901, 4.6",\
                 "0.6542, 0.7136, 0.9099, 1.237, 1.678, 2.211, 2.827, 3.512, 4.256, 5.048");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.509, 0.5516, 0.6994, 0.9809, 1.418, 2.032, 2.839, 3.856, 5.097, 6.577",\
                 "0.5304, 0.5734, 0.7226, 1.005, 1.444, 2.058, 2.866, 3.882, 5.124, 6.603",\
                 "0.5966, 0.6395, 0.7891, 1.073, 1.513, 2.129, 2.937, 3.954, 5.196, 6.676",\
                 "0.6986, 0.743, 0.8943, 1.178, 1.618, 2.234, 3.043, 4.061, 5.304, 6.785",\
                 "0.8098, 0.8591, 1.025, 1.323, 1.764, 2.379, 3.187, 4.206, 5.448, 6.929",\
                 "0.9393, 0.9923, 1.171, 1.491, 1.958, 2.579, 3.385, 4.402, 5.643, 7.122",\
                 "1.103, 1.16, 1.351, 1.69, 2.184, 2.836, 3.654, 4.666, 5.903, 7.38",\
                 "1.302, 1.365, 1.574, 1.932, 2.448, 3.13, 3.983, 5.011, 6.244, 7.715",\
                 "1.533, 1.606, 1.837, 2.223, 2.76, 3.467, 4.352, 5.418, 6.672, 8.138",\
                 "1.8, 1.88, 2.135, 2.555, 3.126, 3.857, 4.77, 5.87, 7.164, 8.655");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.2686, 0.2954, 0.3843, 0.5487, 0.8001, 1.148, 1.608, 2.184, 2.889, 3.73",\
                 "0.2658, 0.2932, 0.3825, 0.5482, 0.7994, 1.148, 1.607, 2.185, 2.889, 3.73",\
                 "0.263, 0.2873, 0.3751, 0.5443, 0.7985, 1.148, 1.608, 2.185, 2.89, 3.73",\
                 "0.3787, 0.4022, 0.4738, 0.5954, 0.808, 1.147, 1.607, 2.184, 2.89, 3.73",\
                 "0.517, 0.548, 0.644, 0.7996, 0.996, 1.25, 1.636, 2.187, 2.889, 3.729",\
                 "0.6638, 0.701, 0.823, 1.018, 1.27, 1.561, 1.888, 2.322, 2.93, 3.735",\
                 "0.8204, 0.8664, 1.01, 1.243, 1.553, 1.906, 2.301, 2.723, 3.218, 3.885",\
                 "0.9932, 1.044, 1.212, 1.48, 1.836, 2.26, 2.727, 3.229, 3.761, 4.34",\
                 "1.18, 1.24, 1.43, 1.733, 2.139, 2.616, 3.161, 3.752, 4.367, 5.016",\
                 "1.369, 1.439, 1.66, 2.005, 2.448, 2.985, 3.602, 4.269, 4.982, 5.72");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.546, 0.6163, 0.8656, 1.341, 2.084, 3.118, 4.482, 6.204, 8.294, 10.79",\
                 "0.5459, 0.6166, 0.8659, 1.342, 2.083, 3.117, 4.484, 6.198, 8.293, 10.8",\
                 "0.547, 0.6177, 0.8655, 1.342, 2.084, 3.123, 4.487, 6.206, 8.299, 10.79",\
                 "0.5762, 0.6404, 0.875, 1.343, 2.082, 3.119, 4.482, 6.2, 8.298, 10.8",\
                 "0.653, 0.7214, 0.9534, 1.387, 2.091, 3.123, 4.484, 6.2, 8.297, 10.8",\
                 "0.737, 0.8072, 1.053, 1.504, 2.179, 3.152, 4.486, 6.202, 8.299, 10.81",\
                 "0.8534, 0.9222, 1.165, 1.633, 2.335, 3.281, 4.553, 6.212, 8.299, 10.8",\
                 "1.015, 1.084, 1.317, 1.777, 2.495, 3.478, 4.718, 6.311, 8.32, 10.8",\
                 "1.207, 1.274, 1.509, 1.956, 2.669, 3.673, 4.957, 6.52, 8.466, 10.86",\
                 "1.408, 1.48, 1.726, 2.178, 2.878, 3.88, 5.198, 6.806, 8.712, 11.03");
        }
      }

      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.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.2066, 0.2246, 0.2844, 0.3926, 0.5538, 0.7736, 1.058, 1.413, 1.845, 2.357",\
                 "0.2272, 0.2448, 0.3044, 0.4125, 0.5736, 0.7934, 1.078, 1.433, 1.865, 2.377",\
                 "0.3088, 0.3254, 0.3826, 0.4893, 0.6499, 0.8695, 1.154, 1.509, 1.941, 2.453",\
                 "0.432, 0.4542, 0.5253, 0.6425, 0.8019, 1.02, 1.304, 1.659, 2.091, 2.603",\
                 "0.5337, 0.5622, 0.6555, 0.8104, 1.014, 1.256, 1.542, 1.896, 2.327, 2.839",\
                 "0.6108, 0.6461, 0.7601, 0.9514, 1.206, 1.511, 1.854, 2.229, 2.661, 3.172",\
                 "0.6648, 0.7057, 0.8399, 1.066, 1.369, 1.735, 2.149, 2.603, 3.09, 3.614",\
                 "0.6956, 0.7424, 0.8959, 1.154, 1.504, 1.928, 2.412, 2.945, 3.518, 4.124",\
                 "0.7, 0.7529, 0.9259, 1.218, 1.612, 2.091, 2.642, 3.252, 3.911, 4.61",\
                 "0.6778, 0.7365, 0.9305, 1.256, 1.694, 2.226, 2.841, 3.525, 4.268, 5.059");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.6011, 0.6439, 0.7925, 1.075, 1.513, 2.127, 2.935, 3.952, 5.194, 6.674",\
                 "0.6236, 0.6666, 0.8161, 1.099, 1.539, 2.153, 2.961, 3.979, 5.22, 6.701",\
                 "0.6902, 0.7333, 0.8833, 1.168, 1.608, 2.224, 3.033, 4.051, 5.293, 6.773",\
                 "0.795, 0.8383, 0.9883, 1.272, 1.713, 2.329, 3.139, 4.158, 5.4, 6.881",\
                 "0.9162, 0.9639, 1.125, 1.418, 1.859, 2.474, 3.283, 4.302, 5.545, 7.026",\
                 "1.054, 1.106, 1.28, 1.594, 2.056, 2.674, 3.481, 4.498, 5.739, 7.22",\
                 "1.227, 1.281, 1.466, 1.798, 2.287, 2.935, 3.749, 4.762, 6, 7.477",\
                 "1.439, 1.499, 1.696, 2.045, 2.555, 3.232, 4.081, 5.106, 6.339, 7.813",\
                 "1.687, 1.754, 1.969, 2.341, 2.872, 3.574, 4.455, 5.518, 6.768, 8.236",\
                 "1.97, 2.043, 2.28, 2.683, 3.241, 3.965, 4.874, 5.972, 7.263, 8.751");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.3152, 0.3406, 0.4277, 0.5897, 0.8395, 1.188, 1.646, 2.224, 2.928, 3.77",\
                 "0.3124, 0.338, 0.426, 0.589, 0.8389, 1.188, 1.646, 2.224, 2.928, 3.768",\
                 "0.3082, 0.332, 0.4178, 0.5851, 0.8378, 1.188, 1.646, 2.224, 2.929, 3.77",\
                 "0.4336, 0.4542, 0.5188, 0.6364, 0.8478, 1.186, 1.646, 2.224, 2.928, 3.77",\
                 "0.5914, 0.618, 0.706, 0.85, 1.038, 1.289, 1.675, 2.226, 2.928, 3.768",\
                 "0.7562, 0.7908, 0.9002, 1.085, 1.323, 1.606, 1.926, 2.36, 2.969, 3.773",\
                 "0.9342, 0.9744, 1.104, 1.322, 1.615, 1.961, 2.346, 2.764, 3.259, 3.924",\
                 "1.126, 1.172, 1.322, 1.573, 1.913, 2.325, 2.782, 3.277, 3.803, 4.381",\
                 "1.335, 1.385, 1.556, 1.839, 2.223, 2.691, 3.225, 3.802, 4.416, 5.058",\
                 "1.548, 1.609, 1.806, 2.125, 2.55, 3.069, 3.672, 4.335, 5.033, 5.766");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.6406, 0.7117, 0.9627, 1.44, 2.181, 3.219, 4.583, 6.3, 8.397, 10.89",\
                 "0.6405, 0.7118, 0.9626, 1.44, 2.18, 3.219, 4.583, 6.299, 8.397, 10.9",\
                 "0.6414, 0.7125, 0.9631, 1.44, 2.181, 3.219, 4.583, 6.298, 8.394, 10.9",\
                 "0.6574, 0.7254, 0.9666, 1.441, 2.182, 3.219, 4.582, 6.3, 8.393, 10.9",\
                 "0.7346, 0.8022, 1.033, 1.473, 2.186, 3.219, 4.583, 6.301, 8.397, 10.89",\
                 "0.8196, 0.8918, 1.137, 1.589, 2.264, 3.244, 4.583, 6.3, 8.397, 10.89",\
                 "0.9246, 0.9966, 1.247, 1.718, 2.418, 3.366, 4.64, 6.31, 8.397, 10.9",\
                 "1.075, 1.144, 1.387, 1.858, 2.581, 3.561, 4.805, 6.402, 8.422, 10.9",\
                 "1.258, 1.33, 1.573, 2.029, 2.756, 3.761, 5.043, 6.607, 8.552, 10.95",\
                 "1.457, 1.533, 1.786, 2.244, 2.955, 3.968, 5.286, 6.894, 8.8, 11.11");
        }
      }

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

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.2499, 0.2669, 0.3244, 0.4293, 0.5878, 0.8054, 1.088, 1.442, 1.872, 2.383",\
                 "0.2698, 0.2867, 0.344, 0.4492, 0.6076, 0.8254, 1.108, 1.462, 1.892, 2.403",\
                 "0.3478, 0.3642, 0.4211, 0.5258, 0.6844, 0.9018, 1.185, 1.538, 1.968, 2.48",\
                 "0.4813, 0.5016, 0.5677, 0.6783, 0.8358, 1.053, 1.335, 1.689, 2.119, 2.63",\
                 "0.596, 0.6229, 0.7099, 0.8568, 1.053, 1.29, 1.572, 1.926, 2.355, 2.866",\
                 "0.6869, 0.7196, 0.8264, 1.009, 1.254, 1.551, 1.888, 2.259, 2.689, 3.2",\
                 "0.7539, 0.7929, 0.9189, 1.134, 1.427, 1.783, 2.191, 2.638, 3.12, 3.641",\
                 "0.7989, 0.8428, 0.9869, 1.233, 1.571, 1.985, 2.46, 2.986, 3.553, 4.155",\
                 "0.8201, 0.8697, 1.032, 1.309, 1.689, 2.157, 2.698, 3.301, 3.953, 4.646",\
                 "0.813, 0.8687, 1.051, 1.36, 1.782, 2.301, 2.906, 3.581, 4.316, 5.1");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.6011, 0.6439, 0.7925, 1.075, 1.513, 2.127, 2.935, 3.952, 5.194, 6.674",\
                 "0.6236, 0.6666, 0.8161, 1.099, 1.539, 2.153, 2.961, 3.979, 5.22, 6.701",\
                 "0.6902, 0.7333, 0.8833, 1.168, 1.608, 2.224, 3.033, 4.051, 5.293, 6.773",\
                 "0.795, 0.8383, 0.9883, 1.272, 1.713, 2.329, 3.139, 4.158, 5.4, 6.881",\
                 "0.9162, 0.9639, 1.125, 1.418, 1.859, 2.474, 3.283, 4.302, 5.545, 7.026",\
                 "1.054, 1.106, 1.28, 1.594, 2.056, 2.674, 3.481, 4.498, 5.739, 7.22",\
                 "1.227, 1.281, 1.466, 1.798, 2.287, 2.935, 3.749, 4.762, 6, 7.477",\
                 "1.439, 1.499, 1.696, 2.045, 2.555, 3.232, 4.081, 5.106, 6.339, 7.813",\
                 "1.687, 1.754, 1.969, 2.341, 2.872, 3.574, 4.455, 5.518, 6.768, 8.236",\
                 "1.97, 2.043, 2.28, 2.683, 3.241, 3.965, 4.874, 5.972, 7.263, 8.751");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.3152, 0.3406, 0.4277, 0.5897, 0.8395, 1.188, 1.646, 2.224, 2.928, 3.77",\
                 "0.3124, 0.338, 0.426, 0.589, 0.8389, 1.188, 1.646, 2.224, 2.928, 3.768",\
                 "0.3082, 0.332, 0.4178, 0.5851, 0.8378, 1.188, 1.646, 2.224, 2.929, 3.77",\
                 "0.4336, 0.4542, 0.5188, 0.6364, 0.8478, 1.186, 1.646, 2.224, 2.928, 3.77",\
                 "0.5914, 0.618, 0.706, 0.85, 1.038, 1.289, 1.675, 2.226, 2.928, 3.768",\
                 "0.7562, 0.7908, 0.9002, 1.085, 1.323, 1.606, 1.926, 2.36, 2.969, 3.773",\
                 "0.9342, 0.9744, 1.104, 1.322, 1.615, 1.961, 2.346, 2.764, 3.259, 3.924",\
                 "1.126, 1.172, 1.322, 1.573, 1.913, 2.325, 2.782, 3.277, 3.803, 4.381",\
                 "1.335, 1.385, 1.556, 1.839, 2.223, 2.691, 3.225, 3.802, 4.416, 5.058",\
                 "1.548, 1.609, 1.806, 2.125, 2.55, 3.069, 3.672, 4.335, 5.033, 5.766");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.09579, 0.3618, 0.8698, 1.661, 2.772, 4.233, 6.074, 8.321, 11");
          index_2("0.001, 0.001843, 0.004802, 0.01045, 0.01926, 0.03161, 0.04786, 0.06834, 0.09333, 0.1231");
          values("0.6406, 0.7117, 0.9627, 1.44, 2.181, 3.219, 4.583, 6.3, 8.397, 10.89",\
                 "0.6405, 0.7118, 0.9626, 1.44, 2.18, 3.219, 4.583, 6.299, 8.397, 10.9",\
                 "0.6414, 0.7125, 0.9631, 1.44, 2.181, 3.219, 4.583, 6.298, 8.394, 10.9",\
                 "0.6574, 0.7254, 0.9666, 1.441, 2.182, 3.219, 4.582, 6.3, 8.393, 10.9",\
                 "0.7346, 0.8022, 1.033, 1.473, 2.186, 3.219, 4.583, 6.301, 8.397, 10.89",\
                 "0.8196, 0.8918, 1.137, 1.589, 2.264, 3.244, 4.583, 6.3, 8.397, 10.89",\
                 "0.9246, 0.9966, 1.247, 1.718, 2.418, 3.366, 4.64, 6.31, 8.397, 10.9",\
                 "1.075, 1.144, 1.387, 1.858, 2.581, 3.561, 4.805, 6.402, 8.422, 10.9",\
                 "1.258, 1.33, 1.573, 2.029, 2.756, 3.761, 5.043, 6.607, 8.552, 10.95",\
                 "1.457, 1.533, 1.786, 2.244, 2.955, 3.968, 5.286, 6.894, 8.8, 11.11");
        }
      }
    }
  }

