blob: 2c513072148a0ec3378a888bd0f1da59d56af149 [file] [log] [blame]
/*
* 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__or2_4) {
area : 39.513600 ;
leakage_power() {
related_pg_pin : "VDD" ;
when : "!A1&!A2" ;
value : "0.00085725" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!A1&A2" ;
value : "0.0008712" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "A1&!A2" ;
value : "0.00081369" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "A1&A2" ;
value : "0.0008136" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "0.0008712" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(A1) {
capacitance : 0.009658 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "A2" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.04503, 0.04503, 0.04503, 0.04504, 0.045, 0.04509, 0.04506, 0.04504, \
0.04499, 0.04494");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("-0.01865, -0.01878, -0.01884, -0.01892, -0.01887, -0.01895, -0.01896, \
-0.01897, -0.01896, -0.01896");
}
}
}
pin(A2) {
capacitance : 0.00994 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 7 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "A1" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("0.06386, 0.06353, 0.06354, 0.06371, 0.06361, 0.06374, 0.06377, \
0.0638, 0.0638, 0.06376");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
values("-0.06039, -0.06034, -0.06109, -0.06181, -0.0622, -0.06255, -0.06271, \
-0.06281, -0.06296, -0.06301");
}
}
}
pin(Z) {
direction : output ;
function : "(A1|A2)" ;
max_capacitance : 0.9878 ;
max_transition : 7 ;
min_capacitance : 0.001 ;
output_voltage : default ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
related_pin : "A1" ;
when : "!A2" ;
fall_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007811, 0.03172, 0.07737, 0.1485, 0.2483, 0.3796, 0.5451, 0.747, 0.9878");
values("0.6174, 0.6005, 0.5688, 0.548, 0.5354, 0.5279, 0.5226, 0.5192, 0.5166, 0.5151",\
"0.6133, 0.5966, 0.5646, 0.5436, 0.5315, 0.5237, 0.5188, 0.5153, 0.5128, 0.511",\
"0.6136, 0.5965, 0.565, 0.5437, 0.5316, 0.5238, 0.5189, 0.5155, 0.513, 0.5112",\
"0.6385, 0.6211, 0.5879, 0.5654, 0.5524, 0.5444, 0.5396, 0.5357, 0.5332, 0.5318",\
"0.705, 0.6855, 0.647, 0.6196, 0.6033, 0.5933, 0.5866, 0.5821, 0.5792, 0.5771",\
"0.8059, 0.7835, 0.7384, 0.7038, 0.6819, 0.6691, 0.6603, 0.6546, 0.6505, 0.6474",\
"0.9425, 0.9176, 0.865, 0.8211, 0.7933, 0.7752, 0.7637, 0.7557, 0.7504, 0.7463",\
"1.119, 1.091, 1.031, 0.9767, 0.9407, 0.9164, 0.9001, 0.889, 0.8814, 0.876",\
"1.334, 1.304, 1.235, 1.17, 1.124, 1.093, 1.071, 1.057, 1.046, 1.039",\
"1.588, 1.555, 1.479, 1.403, 1.346, 1.307, 1.279, 1.26, 1.247, 1.237");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007811, 0.03172, 0.07737, 0.1485, 0.2483, 0.3796, 0.5451, 0.747, 0.9878");
values("0.2859, 0.283, 0.2826, 0.2849, 0.2885, 0.2909, 0.2951, 0.3001, 0.3055, 0.3119",\
"0.2874, 0.2846, 0.2837, 0.286, 0.2894, 0.2922, 0.2969, 0.301, 0.3059, 0.3132",\
"0.2944, 0.2907, 0.2879, 0.2898, 0.2929, 0.2967, 0.301, 0.3046, 0.31, 0.3168",\
"0.3277, 0.3216, 0.3137, 0.3088, 0.3097, 0.3111, 0.3158, 0.3217, 0.3244, 0.3326",\
"0.3864, 0.3774, 0.3605, 0.3527, 0.3484, 0.348, 0.3491, 0.3527, 0.3568, 0.3672",\
"0.475, 0.4619, 0.4393, 0.4217, 0.4144, 0.4119, 0.4099, 0.4094, 0.4141, 0.4216",\
"0.5955, 0.5785, 0.5488, 0.5233, 0.5054, 0.5033, 0.4999, 0.4976, 0.4965, 0.5035",\
"0.7485, 0.7275, 0.6903, 0.6554, 0.6326, 0.6185, 0.6173, 0.6146, 0.6108, 0.615",\
"0.936, 0.9104, 0.8666, 0.8267, 0.7915, 0.7724, 0.7591, 0.7604, 0.7591, 0.7666",\
"1.158, 1.13, 1.077, 1.028, 0.9923, 0.9609, 0.9391, 0.9301, 0.9346, 0.9487");
}
}
internal_power() {
related_pin : "A2" ;
when : "!A1" ;
fall_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007811, 0.03172, 0.07737, 0.1485, 0.2483, 0.3796, 0.5451, 0.747, 0.9878");
values("0.665, 0.6482, 0.6171, 0.596, 0.5835, 0.5759, 0.5704, 0.5671, 0.5644, 0.5629",\
"0.6612, 0.6443, 0.6128, 0.5915, 0.5794, 0.5716, 0.5667, 0.5631, 0.5606, 0.5587",\
"0.6566, 0.6396, 0.6077, 0.5866, 0.5742, 0.5664, 0.5614, 0.558, 0.5556, 0.5537",\
"0.676, 0.6585, 0.6252, 0.6022, 0.5894, 0.5812, 0.5758, 0.5722, 0.5695, 0.5679",\
"0.7408, 0.7219, 0.6842, 0.6566, 0.6402, 0.6306, 0.6239, 0.6197, 0.6164, 0.6143",\
"0.8505, 0.8294, 0.7855, 0.7509, 0.7299, 0.7168, 0.7079, 0.7021, 0.6982, 0.6952",\
"1.009, 0.9848, 0.9335, 0.8902, 0.8618, 0.844, 0.8316, 0.8235, 0.8174, 0.8134",\
"1.212, 1.187, 1.127, 1.072, 1.036, 1.011, 0.9945, 0.9834, 0.9748, 0.9689",\
"1.46, 1.432, 1.366, 1.3, 1.254, 1.222, 1.199, 1.184, 1.172, 1.164",\
"1.753, 1.723, 1.651, 1.574, 1.517, 1.476, 1.447, 1.427, 1.412, 1.401");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007811, 0.03172, 0.07737, 0.1485, 0.2483, 0.3796, 0.5451, 0.747, 0.9878");
values("0.3314, 0.3271, 0.3233, 0.3235, 0.3258, 0.33, 0.3328, 0.3364, 0.3414, 0.3478",\
"0.3288, 0.3238, 0.3203, 0.3213, 0.3235, 0.3273, 0.3297, 0.3333, 0.3374, 0.3465",\
"0.33, 0.3253, 0.3195, 0.32, 0.3221, 0.3246, 0.3288, 0.3333, 0.3365, 0.3438",\
"0.3633, 0.3569, 0.3461, 0.3399, 0.3396, 0.3417, 0.3436, 0.3481, 0.3522, 0.3591",\
"0.4276, 0.4173, 0.3997, 0.3894, 0.3826, 0.3831, 0.3823, 0.385, 0.3878, 0.3964",\
"0.5269, 0.5142, 0.4905, 0.4697, 0.4603, 0.456, 0.453, 0.4521, 0.4546, 0.4625",\
"0.6656, 0.6492, 0.6169, 0.5893, 0.5711, 0.5644, 0.5587, 0.5556, 0.554, 0.5615",\
"0.8457, 0.8242, 0.787, 0.751, 0.7239, 0.7053, 0.7014, 0.6964, 0.6917, 0.6973",\
"1.067, 1.042, 0.9962, 0.9534, 0.9172, 0.8925, 0.8769, 0.8724, 0.871, 0.8781",\
"1.333, 1.304, 1.251, 1.199, 1.157, 1.12, 1.097, 1.084, 1.083, 1.098");
}
}
timing() {
related_pin : "A1" ;
timing_sense : positive_unate ;
timing_type : combinational ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007811, 0.03172, 0.07737, 0.1485, 0.2483, 0.3796, 0.5451, 0.747, 0.9878");
values("0.4466, 0.4863, 0.5914, 0.7449, 0.9461, 1.202, 1.524, 1.925, 2.413, 2.995",\
"0.4513, 0.4907, 0.5962, 0.7497, 0.9507, 1.206, 1.529, 1.93, 2.418, 3",\
"0.4904, 0.5298, 0.6348, 0.7885, 0.9894, 1.245, 1.568, 1.969, 2.457, 3.038",\
"0.5936, 0.6328, 0.7373, 0.8905, 1.091, 1.347, 1.669, 2.071, 2.559, 3.14",\
"0.7569, 0.7968, 0.9023, 1.056, 1.257, 1.513, 1.834, 2.236, 2.723, 3.305",\
"0.9642, 1.005, 1.112, 1.269, 1.472, 1.73, 2.052, 2.452, 2.94, 3.521",\
"1.218, 1.26, 1.371, 1.529, 1.735, 1.994, 2.318, 2.719, 3.206, 3.787",\
"1.514, 1.56, 1.677, 1.84, 2.049, 2.31, 2.635, 3.036, 3.524, 4.105",\
"1.855, 1.903, 2.027, 2.197, 2.414, 2.679, 3.006, 3.408, 3.896, 4.477",\
"2.241, 2.293, 2.423, 2.602, 2.826, 3.1, 3.433, 3.838, 4.325, 4.907");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007811, 0.03172, 0.07737, 0.1485, 0.2483, 0.3796, 0.5451, 0.747, 0.9878");
values("0.2297, 0.2616, 0.3606, 0.5403, 0.8185, 1.208, 1.72, 2.368, 3.157, 4.093",\
"0.241, 0.2728, 0.3717, 0.5515, 0.83, 1.22, 1.733, 2.378, 3.168, 4.108",\
"0.2799, 0.3114, 0.4096, 0.5889, 0.8671, 1.258, 1.77, 2.417, 3.206, 4.142",\
"0.3318, 0.3642, 0.4621, 0.6398, 0.9171, 1.306, 1.818, 2.466, 3.255, 4.191",\
"0.3621, 0.3961, 0.4958, 0.6725, 0.948, 1.336, 1.848, 2.494, 3.282, 4.223",\
"0.3634, 0.3995, 0.503, 0.6801, 0.9537, 1.341, 1.851, 2.496, 3.284, 4.22",\
"0.3314, 0.3704, 0.4781, 0.6573, 0.9309, 1.318, 1.827, 2.47, 3.257, 4.196",\
"0.2631, 0.3052, 0.4181, 0.5996, 0.8753, 1.263, 1.773, 2.415, 3.2, 4.137",\
"0.1565, 0.2011, 0.32, 0.5057, 0.7819, 1.173, 1.684, 2.328, 3.113, 4.049",\
"0.0086, 0.0569, 0.1819, 0.3722, 0.6513, 1.043, 1.559, 2.206, 2.993, 3.928");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007811, 0.03172, 0.07737, 0.1485, 0.2483, 0.3796, 0.5451, 0.747, 0.9878");
values("0.1505, 0.1908, 0.3002, 0.4776, 0.742, 1.117, 1.631, 2.294, 3.114, 4.1",\
"0.1505, 0.1912, 0.2997, 0.4777, 0.7422, 1.118, 1.632, 2.294, 3.113, 4.1",\
"0.1507, 0.191, 0.3002, 0.4778, 0.7423, 1.118, 1.631, 2.292, 3.116, 4.098",\
"0.1508, 0.1912, 0.3008, 0.4782, 0.7428, 1.117, 1.632, 2.295, 3.113, 4.101",\
"0.1614, 0.2016, 0.3092, 0.4854, 0.7466, 1.12, 1.632, 2.296, 3.115, 4.101",\
"0.1768, 0.2166, 0.3246, 0.4994, 0.7584, 1.128, 1.636, 2.297, 3.114, 4.094",\
"0.1976, 0.2384, 0.344, 0.5166, 0.7728, 1.139, 1.645, 2.302, 3.115, 4.101",\
"0.224, 0.2668, 0.3732, 0.5414, 0.7932, 1.153, 1.654, 2.307, 3.122, 4.099",\
"0.253, 0.2988, 0.409, 0.5766, 0.827, 1.179, 1.667, 2.315, 3.127, 4.103",\
"0.2814, 0.3314, 0.4482, 0.6172, 0.8672, 1.22, 1.701, 2.336, 3.137, 4.11");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007811, 0.03172, 0.07737, 0.1485, 0.2483, 0.3796, 0.5451, 0.747, 0.9878");
values("0.0972, 0.1421, 0.2987, 0.6136, 1.112, 1.811, 2.731, 3.89, 5.306, 6.995",\
"0.09754, 0.1421, 0.2988, 0.6138, 1.112, 1.811, 2.736, 3.893, 5.31, 6.994",\
"0.09736, 0.1423, 0.2991, 0.6151, 1.112, 1.813, 2.736, 3.89, 5.307, 6.997",\
"0.1064, 0.1497, 0.3031, 0.6142, 1.111, 1.811, 2.73, 3.892, 5.308, 6.997",\
"0.1191, 0.162, 0.3108, 0.6176, 1.113, 1.812, 2.73, 3.891, 5.307, 6.993",\
"0.1362, 0.178, 0.3256, 0.6234, 1.115, 1.814, 2.733, 3.889, 5.304, 6.989",\
"0.1552, 0.1976, 0.3418, 0.6362, 1.124, 1.818, 2.733, 3.896, 5.304, 6.992",\
"0.1766, 0.2206, 0.3622, 0.6516, 1.137, 1.829, 2.74, 3.893, 5.304, 6.987",\
"0.1966, 0.244, 0.3844, 0.669, 1.154, 1.849, 2.757, 3.905, 5.309, 6.991",\
"0.2208, 0.2702, 0.4094, 0.6886, 1.172, 1.872, 2.784, 3.928, 5.325, 6.998");
}
}
timing() {
related_pin : "A2" ;
timing_sense : positive_unate ;
timing_type : combinational ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007811, 0.03172, 0.07737, 0.1485, 0.2483, 0.3796, 0.5451, 0.747, 0.9878");
values("0.4912, 0.5306, 0.6358, 0.7894, 0.9905, 1.246, 1.569, 1.97, 2.458, 3.039",\
"0.498, 0.5378, 0.6428, 0.7964, 0.9974, 1.253, 1.576, 1.977, 2.465, 3.046",\
"0.5235, 0.563, 0.6679, 0.8215, 1.023, 1.278, 1.601, 2.002, 2.49, 3.072",\
"0.5865, 0.6257, 0.7303, 0.8837, 1.085, 1.34, 1.662, 2.064, 2.552, 3.133",\
"0.6961, 0.7363, 0.8436, 0.9989, 1.2, 1.456, 1.779, 2.179, 2.667, 3.249",\
"0.8514, 0.8935, 1.003, 1.162, 1.367, 1.625, 1.948, 2.348, 2.836, 3.417",\
"1.045, 1.089, 1.205, 1.369, 1.578, 1.839, 2.163, 2.564, 3.051, 3.632",\
"1.269, 1.317, 1.439, 1.613, 1.83, 2.097, 2.424, 2.826, 3.313, 3.894",\
"1.523, 1.573, 1.703, 1.887, 2.117, 2.394, 2.729, 3.133, 3.621, 4.201",\
"1.809, 1.861, 1.999, 2.193, 2.434, 2.725, 3.073, 3.487, 3.978, 4.559");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007811, 0.03172, 0.07737, 0.1485, 0.2483, 0.3796, 0.5451, 0.747, 0.9878");
values("0.2596, 0.2916, 0.3909, 0.5706, 0.8493, 1.239, 1.751, 2.397, 3.185, 4.123",\
"0.2691, 0.3008, 0.4001, 0.5799, 0.8586, 1.248, 1.761, 2.406, 3.195, 4.134",\
"0.3063, 0.3382, 0.4368, 0.6163, 0.8947, 1.284, 1.796, 2.443, 3.23, 4.167",\
"0.3676, 0.3999, 0.4978, 0.6754, 0.9527, 1.342, 1.854, 2.5, 3.287, 4.224",\
"0.4128, 0.4462, 0.5459, 0.7222, 0.9975, 1.386, 1.898, 2.542, 3.329, 4.267",\
"0.4342, 0.4704, 0.5731, 0.7492, 1.023, 1.41, 1.92, 2.564, 3.351, 4.289",\
"0.4296, 0.4683, 0.5744, 0.753, 1.026, 1.412, 1.922, 2.565, 3.35, 4.289",\
"0.3964, 0.4381, 0.5501, 0.731, 1.006, 1.393, 1.902, 2.544, 3.329, 4.266",\
"0.3337, 0.3782, 0.4959, 0.6813, 0.9577, 1.348, 1.859, 2.501, 3.285, 4.221",\
"0.241, 0.2888, 0.4124, 0.6023, 0.8817, 1.273, 1.788, 2.434, 3.219, 4.154");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007811, 0.03172, 0.07737, 0.1485, 0.2483, 0.3796, 0.5451, 0.747, 0.9878");
values("0.1504, 0.1908, 0.3, 0.4771, 0.742, 1.119, 1.63, 2.295, 3.114, 4.1",\
"0.1506, 0.1904, 0.3, 0.4777, 0.7422, 1.118, 1.632, 2.294, 3.113, 4.097",\
"0.151, 0.1908, 0.3002, 0.4774, 0.7423, 1.118, 1.631, 2.296, 3.114, 4.101",\
"0.1518, 0.1916, 0.3012, 0.48, 0.743, 1.118, 1.632, 2.294, 3.114, 4.1",\
"0.1628, 0.2044, 0.312, 0.4866, 0.7468, 1.12, 1.632, 2.296, 3.116, 4.099",\
"0.177, 0.2198, 0.3294, 0.5026, 0.7614, 1.129, 1.636, 2.297, 3.113, 4.099",\
"0.1992, 0.244, 0.3558, 0.5276, 0.7816, 1.143, 1.645, 2.299, 3.116, 4.101",\
"0.2254, 0.272, 0.391, 0.566, 0.8178, 1.171, 1.661, 2.309, 3.122, 4.101",\
"0.2516, 0.3028, 0.4294, 0.6122, 0.869, 1.219, 1.696, 2.329, 3.127, 4.099",\
"0.2804, 0.335, 0.4684, 0.6596, 0.9242, 1.284, 1.758, 2.373, 3.153, 4.11");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.06818, 0.2373, 0.5602, 1.063, 1.769, 2.698, 3.869, 5.297, 7");
index_2("0.001, 0.007811, 0.03172, 0.07737, 0.1485, 0.2483, 0.3796, 0.5451, 0.747, 0.9878");
values("0.1006, 0.1456, 0.3017, 0.6155, 1.114, 1.812, 2.733, 3.897, 5.304, 6.992",\
"0.1008, 0.1454, 0.3017, 0.6166, 1.113, 1.811, 2.731, 3.888, 5.306, 6.991",\
"0.1003, 0.1453, 0.3017, 0.6164, 1.114, 1.813, 2.733, 3.897, 5.305, 6.991",\
"0.107, 0.1508, 0.3045, 0.616, 1.113, 1.812, 2.732, 3.897, 5.305, 6.987",\
"0.1196, 0.1622, 0.3124, 0.6202, 1.113, 1.814, 2.731, 3.889, 5.305, 6.991",\
"0.1354, 0.178, 0.3242, 0.6248, 1.117, 1.814, 2.733, 3.89, 5.301, 6.988",\
"0.154, 0.1966, 0.341, 0.6374, 1.125, 1.818, 2.734, 3.898, 5.313, 6.992",\
"0.176, 0.22, 0.3606, 0.6518, 1.139, 1.83, 2.74, 3.894, 5.306, 7.004",\
"0.1984, 0.244, 0.3836, 0.6714, 1.157, 1.85, 2.76, 3.903, 5.309, 6.998",\
"0.221, 0.2698, 0.4084, 0.6912, 1.176, 1.876, 2.786, 3.927, 5.322, 6.997");
}
}
}
}