# Package Imports
from gmdkit.models.prop.string import decode_text, encode_text
from gmdkit.models.prop.list import IDList, IntPairList, RemapList
from gmdkit.models.prop.guideline import GuidelineList
from gmdkit.models.prop.hsv import HSV
from gmdkit.models.prop.particle import Particle
from gmdkit.models.prop.color import Color, ColorList


PROPERTY_DECODERS = {
    1: int,
    2: float,
    3: float,
    4: lambda x: bool(int(x)),
    5: lambda x: bool(int(x)),
    6: float,
    7: int,
    8: int,
    9: int,
    10: float,
    11: lambda x: bool(int(x)),
    12: int,
    13: lambda x: bool(int(x)),
    14: lambda x: bool(int(x)),
    15: lambda x: bool(int(x)),
    16: lambda x: bool(int(x)),
    17: lambda x: bool(int(x)),
    19: int,
    20: int,
    21: int,
    22: int,
    23: int,
    24: int,
    25: int,
    28: float,
    29: float,
    30: int,
    31: decode_text,
    32: float,
    34: lambda x: bool(int(x)),
    35: float,
    36: lambda x: bool(int(x)),
    41: lambda x: bool(int(x)),
    42: lambda x: bool(int(x)),
    43: HSV.from_string,
    44: HSV.from_string,
    45: float,
    46: float,
    47: float,
    48: lambda x: bool(int(x)),
    49: HSV.from_string,
    50: int,
    51: int,
    52: int,
    54: float,
    55: lambda x: bool(int(x)),
    56: lambda x: bool(int(x)),
    57: IDList.from_string,
    58: lambda x: bool(int(x)),
    59: lambda x: bool(int(x)),
    60: lambda x: bool(int(x)),
    61: int,
    62: lambda x: bool(int(x)),
    63: float,
    64: lambda x: bool(int(x)),
    65: lambda x: bool(int(x)),
    66: lambda x: bool(int(x)),
    67: lambda x: bool(int(x)),
    68: float,
    69: int,
    70: lambda x: bool(int(x)),
    71: int,
    72: float,
    73: float,
    75: float,
    76: int,
    77: int,
    78: lambda x: bool(int(x)),
    80: int,
    81: lambda x: bool(int(x)),
    82: int,
    84: float,
    85: float,
    86: lambda x: bool(int(x)),
    87: lambda x: bool(int(x)),
    88: int,
    89: lambda x: bool(int(x)),
    90: float,
    91: float,
    92: int,
    93: lambda x: bool(int(x)),
    94: lambda x: bool(int(x)),
    95: int,
    96: lambda x: bool(int(x)),
    97: float,
    98: lambda x: bool(int(x)),
    99: lambda x: bool(int(x)),
    100: lambda x: bool(int(x)),
    101: int,
    102: lambda x: bool(int(x)),
    103: lambda x: bool(int(x)),
    104: lambda x: bool(int(x)),
    105: float,
    106: lambda x: bool(int(x)),
    107: float,
    108: int,
    110: lambda x: bool(int(x)),
    111: lambda x: bool(int(x)),
    112: lambda x: bool(int(x)),
    113: float,
    114: float,
    115: int,
    116: lambda x: bool(int(x)),
    117: lambda x: bool(int(x)),
    118: lambda x: bool(int(x)),
    120: float,
    121: lambda x: bool(int(x)),
    122: lambda x: bool(int(x)),
    123: lambda x: bool(int(x)),
    126: lambda x: bool(int(x)),
    127: lambda x: bool(int(x)),
    128: float,
    129: float,
    131: float,
    132: float,
    133: lambda x: bool(int(x)),
    134: lambda x: bool(int(x)),
    135: lambda x: bool(int(x)),
    136: lambda x: bool(int(x)),
    137: lambda x: bool(int(x)),
    138: lambda x: bool(int(x)),
    139: lambda x: bool(int(x)),
    141: lambda x: bool(int(x)),
    142: lambda x: bool(int(x)),
    143: float,
    144: float,
    145: Particle.from_string,
    146: lambda x: bool(int(x)),
    147: lambda x: bool(int(x)),
    148: float,
    149: float,
    150: float,
    151: float,
    152: IntPairList.from_string,
    153: lambda x: bool(int(x)),
    154: lambda x: bool(int(x)),
    155: int,
    156: int,
    157: lambda x: bool(int(x)),
    159: int,
    160: int,
    161: int,
    162: int,
    163: int,
    164: int,
    165: int,
    166: int,
    167: int,
    169: lambda x: bool(int(x)),
    170: int,
    171: lambda x: bool(int(x)),
    172: lambda x: bool(int(x)),
    173: int,
    174: int,
    175: float,
    176: float,
    177: float,
    179: float,
    180: float,
    181: float,
    182: float,
    183: float,
    184: lambda x: bool(int(x)),
    185: lambda x: bool(int(x)),
    186: lambda x: bool(int(x)),
    187: lambda x: bool(int(x)),
    188: lambda x: bool(int(x)),
    189: float,
    190: lambda x: bool(int(x)),
    191: float,
    192: lambda x: bool(int(x)),
    193: lambda x: bool(int(x)),
    194: lambda x: bool(int(x)),
    195: int,
    196: int,
    197: int,
    198: int,
    199: int,
    200: lambda x: bool(int(x)),
    201: lambda x: bool(int(x)),
    202: int,
    203: int,
    204: int,
    205: int,
    206: int,
    207: lambda x: bool(int(x)),
    208: lambda x: bool(int(x)),
    209: int,
    210: lambda x: bool(int(x)),
    211: lambda x: bool(int(x)),
    212: lambda x: bool(int(x)),
    213: float,
    214: lambda x: bool(int(x)),
    217: int,
    218: int,
    219: int,
    220: int,
    221: int,
    222: int,
    223: int,
    224: int,
    225: int,
    231: int,
    232: int,
    233: float,
    234: float,
    235: float,
    236: float,
    237: int,
    238: int,
    239: int,
    240: int,
    241: lambda x: bool(int(x)),
    242: int,
    243: float,
    248: int,
    249: float,
    252: int,
    253: int,
    260: int,
    261: lambda x: bool(int(x)),
    262: int,
    263: float,
    264: float,
    265: float,
    270: float,
    271: float,
    274: IDList.from_string,
    275: float,
    276: lambda x: bool(int(x)),
    278: lambda x: bool(int(x)),
    279: lambda x: bool(int(x)),
    280: lambda x: bool(int(x)),
    281: lambda x: bool(int(x)),
    282: float,
    283: lambda x: bool(int(x)),
    284: lambda x: bool(int(x)),
    285: float,
    286: float,
    287: lambda x: bool(int(x)),
    288: float,
    289: lambda x: bool(int(x)),
    290: float,
    291: float,
    292: float,
    293: float,
    298: float,
    299: float,
    300: float,
    301: float,
    305: lambda x: bool(int(x)),
    306: lambda x: bool(int(x)),
    307: lambda x: bool(int(x)),
    308: float,
    309: float,
    310: float,
    311: float,
    312: float,
    313: float,
    314: float,
    315: float,
    316: float,
    317: float,
    318: float,
    319: float,
    320: float,
    321: float,
    322: float,
    323: float,
    324: float,
    325: float,
    326: float,
    327: float,
    328: int,
    329: int,
    330: float,
    331: float,
    332: float,
    333: float,
    334: float,
    335: float,
    336: lambda x: bool(int(x)),
    337: lambda x: bool(int(x)),
    338: lambda x: bool(int(x)),
    339: lambda x: bool(int(x)),
    340: float,
    341: int,
    343: int,
    344: int,
    345: lambda x: bool(int(x)),
    346: float,
    347: lambda x: bool(int(x)),
    348: float,
    349: float,
    350: float,
    351: lambda x: bool(int(x)),
    352: lambda x: bool(int(x)),
    353: lambda x: bool(int(x)),
    354: int,
    355: lambda x: bool(int(x)),
    356: lambda x: bool(int(x)),
    357: float,
    358: float,
    359: float,
    360: float,
    361: float,
    362: float,
    363: float,
    364: float,
    365: int,
    366: int,
    367: int,
    368: lambda x: bool(int(x)),
    369: lambda x: bool(int(x)),
    370: lambda x: bool(int(x)),
    371: float,
    372: lambda x: bool(int(x)),
    373: int,
    374: int,
    375: lambda x: bool(int(x)),
    376: lambda x: bool(int(x)),
    377: lambda x: bool(int(x)),
    378: lambda x: bool(int(x)),
    379: int,
    380: lambda x: bool(int(x)),
    381: lambda x: bool(int(x)),
    382: lambda x: bool(int(x)),
    383: int,
    385: int,
    386: int,
    387: lambda x: bool(int(x)),
    388: lambda x: bool(int(x)),
    389: lambda x: bool(int(x)),
    390: int,
    391: int,
    392: int,
    393: lambda x: bool(int(x)),
    394: lambda x: bool(int(x)),
    395: int,
    396: int,
    397: lambda x: bool(int(x)),
    399: lambda x: bool(int(x)),
    400: lambda x: bool(int(x)),
    401: int,
    402: float,
    403: int,
    404: int,
    405: int,
    406: float,
    407: lambda x: bool(int(x)),
    408: int,
    409: int,
    410: int,
    411: int,
    412: lambda x: bool(int(x)),
    413: lambda x: bool(int(x)),
    414: lambda x: bool(int(x)),
    415: lambda x: bool(int(x)),
    416: int,
    417: lambda x: bool(int(x)),
    418: lambda x: bool(int(x)),
    419: lambda x: bool(int(x)),
    420: lambda x: bool(int(x)),
    421: float,
    422: float,
    423: float,
    424: int,
    425: int,
    426: int,
    428: lambda x: bool(int(x)),
    430: IDList.from_string,
    431: lambda x: bool(int(x)),
    432: int,
    433: lambda x: bool(int(x)),
    434: float,
    435: IntPairList.from_string,
    436: int,
    437: float,
    438: float,
    439: lambda x: bool(int(x)),
    440: int,
    441: lambda x: bool(int(x)),
    442: RemapList.from_string,
    443: lambda x: bool(int(x)),
    444: lambda x: bool(int(x)),
    445: lambda x: bool(int(x)),
    446: int,
    447: int,
    448: int,
    449: float,
    452: lambda x: bool(int(x)),
    453: lambda x: bool(int(x)),
    454: float,
    455: int,
    456: float,
    457: int,
    458: int,
    459: lambda x: bool(int(x)),
    460: lambda x: bool(int(x)),
    461: lambda x: bool(int(x)),
    462: int,
    463: lambda x: bool(int(x)),
    464: lambda x: bool(int(x)),
    465: lambda x: bool(int(x)),
    466: lambda x: bool(int(x)),
    467: float,
    468: lambda x: bool(int(x)),
    469: lambda x: bool(int(x)),
    470: float,
    471: lambda x: bool(int(x)),
    472: lambda x: bool(int(x)),
    473: float,
    474: lambda x: bool(int(x)),
    475: lambda x: bool(int(x)),
    476: int,
    477: int,
    478: int,
    479: float,
    480: int,
    481: int,
    482: int,
    483: float,
    484: float,
    485: int,
    486: int,
    487: lambda x: bool(int(x)),
    488: int,
    489: lambda x: bool(int(x)),
    490: float,
    491: lambda x: bool(int(x)),
    492: lambda x: bool(int(x)),
    493: lambda x: bool(int(x)),
    494: lambda x: bool(int(x)),
    495: lambda x: bool(int(x)),
    496: lambda x: bool(int(x)),
    497: int,
    498: int,
    499: int,
    500: lambda x: bool(int(x)),
    501: int,
    502: int,
    503: lambda x: bool(int(x)),
    504: lambda x: bool(int(x)),
    505: lambda x: bool(int(x)),
    506: float,
    507: lambda x: bool(int(x)),
    508: lambda x: bool(int(x)),
    509: lambda x: bool(int(x)),
    510: lambda x: bool(int(x)),
    511: lambda x: bool(int(x)),
    512: float,
    513: lambda x: bool(int(x)),
    514: lambda x: bool(int(x)),
    515: lambda x: bool(int(x)),
    516: int,
    517: int,
    518: int,
    519: int,
    520: float,
    521: float,
    522: float,
    523: float,
    524: float,
    525: int,
    526: float,
    527: float,
    528: lambda x: bool(int(x)),
    529: lambda x: bool(int(x)),
    530: int,
    531: lambda x: bool(int(x)),
    532: int,
    533: int,
    534: int,
    535: lambda x: bool(int(x)),
    536: int,
    537: int,
    538: int,
    539: lambda x: bool(int(x)),
    540: lambda x: bool(int(x)),
    541: lambda x: bool(int(x)),
    542: lambda x: bool(int(x)),
    543: lambda x: bool(int(x)),
    544: lambda x: bool(int(x)),
    545: float,
    546: float,
    547: float,
    548: float,
    549: float,
    550: float,
    551: lambda x: bool(int(x)),
    552: float,
    553: float,
    554: float,
    555: float,
    556: float,
    557: float,
    558: float,
    559: float,
    560: int,
    561: float,
    562: float,
    563: float,
    564: float,
    565: int,
    566: float,
    567: float,
    568: float,
    569: float,
    570: lambda x: bool(int(x)),
    571: lambda x: bool(int(x)),
    572: int,
    573: int,
    574: float,
    575: int,
    576: int,
    577: lambda x: bool(int(x)),
    578: int,
    579: int,
    580: int,
    581: lambda x: bool(int(x)),
    582: float,
    583: float,
    584: lambda x: bool(int(x)),
    585: lambda x: bool(int(x)),
    586: float,
    587: lambda x: bool(int(x)),
    588: float,
    589: lambda x: bool(int(x)),
    590: float,
    591: lambda x: bool(int(x)),
    592: lambda x: bool(int(x)),
    593: int,
    595: lambda x: bool(int(x)),
    596: int,
    597: int,
    598: float,
    599: lambda x: bool(int(x)),
    'kA1': int,
    'kA10': lambda x: bool(int(x)),
    'kA11': lambda x: bool(int(x)),
    'kA12': lambda x: bool(int(x)),
    'kA13': float,
    'kA14': GuidelineList.from_string,
    'kA15': lambda x: bool(int(x)),
    'kA16': lambda x: bool(int(x)),
    'kA17': int,
    'kA18': int,
    'kA19': lambda x: bool(int(x)),
    'kA2': int,
    'kA20': lambda x: bool(int(x)),
    'kA21': lambda x: bool(int(x)),
    'kA22': lambda x: bool(int(x)),
    'kA23': lambda x: bool(int(x)),
    'kA24': lambda x: bool(int(x)),
    'kA25': int,
    'kA26': int,
    'kA27': lambda x: bool(int(x)),
    'kA28': lambda x: bool(int(x)),
    'kA29': lambda x: bool(int(x)),
    'kA3': lambda x: bool(int(x)),
    'kA31': lambda x: bool(int(x)),
    'kA32': lambda x: bool(int(x)),
    'kA33': lambda x: bool(int(x)),
    'kA34': lambda x: bool(int(x)),
    'kA35': lambda x: bool(int(x)),
    'kA36': int,
    'kA37': lambda x: bool(int(x)),
    'kA38': lambda x: bool(int(x)),
    'kA39': lambda x: bool(int(x)),
    'kA4': int,
    'kA40': lambda x: bool(int(x)),
    'kA41': lambda x: bool(int(x)),
    'kA42': lambda x: bool(int(x)),
    'kA43': lambda x: bool(int(x)),
    'kA44': int,
    'kA45': lambda x: bool(int(x)),
    'kA46': lambda x: bool(int(x)),
    'kA5': lambda x: bool(int(x)),
    'kA6': int,
    'kA7': int,
    'kA8': lambda x: bool(int(x)),
    'kA9': lambda x: bool(int(x)),
    'kS1': int,
    'kS10': int,
    'kS11': int,
    'kS12': int,
    'kS13': int,
    'kS14': int,
    'kS15': int,
    'kS16': int,
    'kS17': int,
    'kS18': int,
    'kS19': int,
    'kS2': int,
    'kS20': int,
    'kS29': Color.from_string,
    'kS3': int,
    'kS30': Color.from_string,
    'kS31': Color.from_string,
    'kS32': Color.from_string,
    'kS33': Color.from_string,
    'kS34': Color.from_string,
    'kS35': Color.from_string,
    'kS36': Color.from_string,
    'kS37': Color.from_string,
    'kS38': ColorList.from_string,
    'kS39': int,
    'kS4': int,
    'kS5': int,
    'kS6': int,
    'kS7': int,
    'kS8': int,
    'kS9': int,
}


PROPERTY_ENCODERS = {
    4: lambda x: str(int(x)),
    5: lambda x: str(int(x)),
    11: lambda x: str(int(x)),
    13: lambda x: str(int(x)),
    14: lambda x: str(int(x)),
    15: lambda x: str(int(x)),
    16: lambda x: str(int(x)),
    17: lambda x: str(int(x)),
    31: encode_text,
    34: lambda x: str(int(x)),
    36: lambda x: str(int(x)),
    41: lambda x: str(int(x)),
    42: lambda x: str(int(x)),
    43: lambda x: x.to_string(),
    44: lambda x: x.to_string(),
    48: lambda x: str(int(x)),
    49: lambda x: x.to_string(),
    55: lambda x: str(int(x)),
    56: lambda x: str(int(x)),
    57: lambda x: x.to_string(),
    58: lambda x: str(int(x)),
    59: lambda x: str(int(x)),
    60: lambda x: str(int(x)),
    62: lambda x: str(int(x)),
    64: lambda x: str(int(x)),
    65: lambda x: str(int(x)),
    66: lambda x: str(int(x)),
    67: lambda x: str(int(x)),
    70: lambda x: str(int(x)),
    78: lambda x: str(int(x)),
    81: lambda x: str(int(x)),
    86: lambda x: str(int(x)),
    87: lambda x: str(int(x)),
    89: lambda x: str(int(x)),
    93: lambda x: str(int(x)),
    94: lambda x: str(int(x)),
    96: lambda x: str(int(x)),
    98: lambda x: str(int(x)),
    99: lambda x: str(int(x)),
    100: lambda x: str(int(x)),
    102: lambda x: str(int(x)),
    103: lambda x: str(int(x)),
    104: lambda x: str(int(x)),
    106: lambda x: str(int(x)),
    110: lambda x: str(int(x)),
    111: lambda x: str(int(x)),
    112: lambda x: str(int(x)),
    116: lambda x: str(int(x)),
    117: lambda x: str(int(x)),
    118: lambda x: str(int(x)),
    121: lambda x: str(int(x)),
    122: lambda x: str(int(x)),
    123: lambda x: str(int(x)),
    126: lambda x: str(int(x)),
    127: lambda x: str(int(x)),
    133: lambda x: str(int(x)),
    134: lambda x: str(int(x)),
    135: lambda x: str(int(x)),
    136: lambda x: str(int(x)),
    137: lambda x: str(int(x)),
    138: lambda x: str(int(x)),
    139: lambda x: str(int(x)),
    141: lambda x: str(int(x)),
    142: lambda x: str(int(x)),
    145: lambda x: x.to_string(),
    146: lambda x: str(int(x)),
    147: lambda x: str(int(x)),
    152: lambda x: x.to_string(),
    153: lambda x: str(int(x)),
    154: lambda x: str(int(x)),
    157: lambda x: str(int(x)),
    169: lambda x: str(int(x)),
    171: lambda x: str(int(x)),
    172: lambda x: str(int(x)),
    184: lambda x: str(int(x)),
    185: lambda x: str(int(x)),
    186: lambda x: str(int(x)),
    187: lambda x: str(int(x)),
    188: lambda x: str(int(x)),
    190: lambda x: str(int(x)),
    192: lambda x: str(int(x)),
    193: lambda x: str(int(x)),
    194: lambda x: str(int(x)),
    200: lambda x: str(int(x)),
    201: lambda x: str(int(x)),
    207: lambda x: str(int(x)),
    208: lambda x: str(int(x)),
    210: lambda x: str(int(x)),
    211: lambda x: str(int(x)),
    212: lambda x: str(int(x)),
    214: lambda x: str(int(x)),
    241: lambda x: str(int(x)),
    261: lambda x: str(int(x)),
    274: lambda x: x.to_string(),
    276: lambda x: str(int(x)),
    278: lambda x: str(int(x)),
    279: lambda x: str(int(x)),
    280: lambda x: str(int(x)),
    281: lambda x: str(int(x)),
    283: lambda x: str(int(x)),
    284: lambda x: str(int(x)),
    287: lambda x: str(int(x)),
    289: lambda x: str(int(x)),
    305: lambda x: str(int(x)),
    306: lambda x: str(int(x)),
    307: lambda x: str(int(x)),
    336: lambda x: str(int(x)),
    337: lambda x: str(int(x)),
    338: lambda x: str(int(x)),
    339: lambda x: str(int(x)),
    345: lambda x: str(int(x)),
    347: lambda x: str(int(x)),
    351: lambda x: str(int(x)),
    352: lambda x: str(int(x)),
    353: lambda x: str(int(x)),
    355: lambda x: str(int(x)),
    356: lambda x: str(int(x)),
    368: lambda x: str(int(x)),
    369: lambda x: str(int(x)),
    370: lambda x: str(int(x)),
    372: lambda x: str(int(x)),
    375: lambda x: str(int(x)),
    376: lambda x: str(int(x)),
    377: lambda x: str(int(x)),
    378: lambda x: str(int(x)),
    380: lambda x: str(int(x)),
    381: lambda x: str(int(x)),
    382: lambda x: str(int(x)),
    387: lambda x: str(int(x)),
    388: lambda x: str(int(x)),
    389: lambda x: str(int(x)),
    393: lambda x: str(int(x)),
    394: lambda x: str(int(x)),
    397: lambda x: str(int(x)),
    399: lambda x: str(int(x)),
    400: lambda x: str(int(x)),
    407: lambda x: str(int(x)),
    412: lambda x: str(int(x)),
    413: lambda x: str(int(x)),
    414: lambda x: str(int(x)),
    415: lambda x: str(int(x)),
    417: lambda x: str(int(x)),
    418: lambda x: str(int(x)),
    419: lambda x: str(int(x)),
    420: lambda x: str(int(x)),
    428: lambda x: str(int(x)),
    430: lambda x: x.to_string(),
    431: lambda x: str(int(x)),
    433: lambda x: str(int(x)),
    435: lambda x: x.to_string(),
    439: lambda x: str(int(x)),
    441: lambda x: str(int(x)),
    442: lambda x: x.to_string(),
    443: lambda x: str(int(x)),
    444: lambda x: str(int(x)),
    445: lambda x: str(int(x)),
    452: lambda x: str(int(x)),
    453: lambda x: str(int(x)),
    459: lambda x: str(int(x)),
    460: lambda x: str(int(x)),
    461: lambda x: str(int(x)),
    463: lambda x: str(int(x)),
    464: lambda x: str(int(x)),
    465: lambda x: str(int(x)),
    466: lambda x: str(int(x)),
    468: lambda x: str(int(x)),
    469: lambda x: str(int(x)),
    471: lambda x: str(int(x)),
    472: lambda x: str(int(x)),
    474: lambda x: str(int(x)),
    475: lambda x: str(int(x)),
    487: lambda x: str(int(x)),
    489: lambda x: str(int(x)),
    491: lambda x: str(int(x)),
    492: lambda x: str(int(x)),
    493: lambda x: str(int(x)),
    494: lambda x: str(int(x)),
    495: lambda x: str(int(x)),
    496: lambda x: str(int(x)),
    500: lambda x: str(int(x)),
    503: lambda x: str(int(x)),
    504: lambda x: str(int(x)),
    505: lambda x: str(int(x)),
    507: lambda x: str(int(x)),
    508: lambda x: str(int(x)),
    509: lambda x: str(int(x)),
    510: lambda x: str(int(x)),
    511: lambda x: str(int(x)),
    513: lambda x: str(int(x)),
    514: lambda x: str(int(x)),
    515: lambda x: str(int(x)),
    528: lambda x: str(int(x)),
    529: lambda x: str(int(x)),
    531: lambda x: str(int(x)),
    535: lambda x: str(int(x)),
    539: lambda x: str(int(x)),
    540: lambda x: str(int(x)),
    541: lambda x: str(int(x)),
    542: lambda x: str(int(x)),
    543: lambda x: str(int(x)),
    544: lambda x: str(int(x)),
    551: lambda x: str(int(x)),
    570: lambda x: str(int(x)),
    571: lambda x: str(int(x)),
    577: lambda x: str(int(x)),
    581: lambda x: str(int(x)),
    584: lambda x: str(int(x)),
    585: lambda x: str(int(x)),
    587: lambda x: str(int(x)),
    589: lambda x: str(int(x)),
    591: lambda x: str(int(x)),
    592: lambda x: str(int(x)),
    595: lambda x: str(int(x)),
    599: lambda x: str(int(x)),
    'kA10': lambda x: str(int(x)),
    'kA11': lambda x: str(int(x)),
    'kA12': lambda x: str(int(x)),
    'kA14': lambda x: x.to_string(),
    'kA15': lambda x: str(int(x)),
    'kA16': lambda x: str(int(x)),
    'kA19': lambda x: str(int(x)),
    'kA20': lambda x: str(int(x)),
    'kA21': lambda x: str(int(x)),
    'kA22': lambda x: str(int(x)),
    'kA23': lambda x: str(int(x)),
    'kA24': lambda x: str(int(x)),
    'kA27': lambda x: str(int(x)),
    'kA28': lambda x: str(int(x)),
    'kA29': lambda x: str(int(x)),
    'kA3': lambda x: str(int(x)),
    'kA31': lambda x: str(int(x)),
    'kA32': lambda x: str(int(x)),
    'kA33': lambda x: str(int(x)),
    'kA34': lambda x: str(int(x)),
    'kA35': lambda x: str(int(x)),
    'kA37': lambda x: str(int(x)),
    'kA38': lambda x: str(int(x)),
    'kA39': lambda x: str(int(x)),
    'kA40': lambda x: str(int(x)),
    'kA41': lambda x: str(int(x)),
    'kA42': lambda x: str(int(x)),
    'kA43': lambda x: str(int(x)),
    'kA45': lambda x: str(int(x)),
    'kA46': lambda x: str(int(x)),
    'kA5': lambda x: str(int(x)),
    'kA8': lambda x: str(int(x)),
    'kA9': lambda x: str(int(x)),
    'kS29': lambda x: x.to_string(),
    'kS30': lambda x: x.to_string(),
    'kS31': lambda x: x.to_string(),
    'kS32': lambda x: x.to_string(),
    'kS33': lambda x: x.to_string(),
    'kS34': lambda x: x.to_string(),
    'kS35': lambda x: x.to_string(),
    'kS36': lambda x: x.to_string(),
    'kS37': lambda x: x.to_string(),
    'kS38': lambda x: x.to_string(),
}
