[361] | 1 | # Anemon Dhcp |
---|
| 2 | # Copyright (C) 2005 Mathieu Ignacio -- mignacio@april.org |
---|
| 3 | # |
---|
| 4 | # This program is free software; you can redistribute it and/or modify |
---|
| 5 | # it under the terms of the GNU General Public License as published by |
---|
| 6 | # the Free Software Foundation; either version 2 of the License, or |
---|
| 7 | # (at your option) any later version. |
---|
| 8 | # |
---|
| 9 | # This program is distributed in the hope that it will be useful, |
---|
| 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
| 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
| 12 | # GNU General Public License for more details. |
---|
| 13 | # |
---|
| 14 | # You should have received a copy of the GNU General Public License |
---|
| 15 | # along with this program; if not, write to the Free Software |
---|
| 16 | # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
---|
| 17 | |
---|
| 18 | |
---|
| 19 | MagicCookie = [99,130,83,99] |
---|
| 20 | |
---|
| 21 | |
---|
| 22 | # DhcpBaseOptions = '{fieldname':[location,length]} |
---|
| 23 | DhcpFields = {'op':[0,1], |
---|
| 24 | 'htype':[1,1], |
---|
| 25 | 'hlen':[2,1], |
---|
| 26 | 'hops':[3,1], |
---|
| 27 | 'xid':[4,4], |
---|
| 28 | 'secs':[8,2], |
---|
| 29 | 'flags':[10,2], |
---|
| 30 | 'ciaddr':[12,4], |
---|
| 31 | 'yiaddr':[16,4], |
---|
| 32 | 'siaddr':[20,4], |
---|
| 33 | 'giaddr':[24,4], |
---|
| 34 | 'chaddr':[28,16], |
---|
| 35 | 'sname':[44,64], |
---|
| 36 | 'file':[108,128] |
---|
| 37 | } |
---|
| 38 | DhcpFieldsTypes = {'op':"int", |
---|
| 39 | 'htype':"int", |
---|
| 40 | 'hlen':"int", |
---|
| 41 | 'hops':"int", |
---|
| 42 | 'xid':"int4", |
---|
| 43 | 'secs':"int2", |
---|
| 44 | 'flags':"int2", |
---|
| 45 | 'ciaddr':"ipv4", |
---|
| 46 | 'yiaddr':"ipv4", |
---|
| 47 | 'siaddr':"ipv4", |
---|
| 48 | 'giaddr':"ipv4", |
---|
| 49 | 'chaddr':"hwmac", |
---|
| 50 | 'sname':"str", |
---|
| 51 | 'file':"str" |
---|
| 52 | } |
---|
| 53 | |
---|
| 54 | # DhcpOptions = 'option_name':option_code |
---|
| 55 | DhcpOptions = {'pad':0, |
---|
| 56 | |
---|
| 57 | # Vendor Extension |
---|
| 58 | 'subnet_mask':1,'time_offset':2, |
---|
| 59 | 'router':3,'time_server':4,'name_server':5, |
---|
| 60 | 'domain_name_server':6,'log_server':7, |
---|
| 61 | 'cookie_server':8,'lpr_server':9, |
---|
| 62 | 'impress_server':10,'resource_location_server':11, |
---|
| 63 | 'host_name':12,'boot_file':13,'merit_dump_file':14, |
---|
| 64 | 'domain_name':15,'swap_server':16,'root_path':17,'extensions_path':18, |
---|
| 65 | |
---|
| 66 | # IP layer parameters per host |
---|
| 67 | 'ip_forwarding':19,'nonlocal_source_rooting':20, |
---|
| 68 | 'policy_filter':21,'maximum_datagram_reassembly_size':22, |
---|
| 69 | 'default_ip_time-to-live':23,'path_mtu_aging_timeout':24, |
---|
| 70 | 'path_mtu_table':25, |
---|
| 71 | |
---|
| 72 | # IP layer parameters per interface |
---|
| 73 | 'interface_mtu':26,'all_subnets_are_local':27, |
---|
| 74 | 'broadcast_address':28,'perform_mask_discovery':29, |
---|
| 75 | 'mask_supplier':30,'perform_router_discovery':31, |
---|
| 76 | 'routeur_solicitation_address':32,'static_route':33, |
---|
| 77 | |
---|
| 78 | # link layer parameters per interface |
---|
| 79 | 'trailer_encapsulation':34,'arp_cache_timeout':35, |
---|
| 80 | 'ethernet_encapsulation':36, |
---|
| 81 | |
---|
| 82 | # TCP parameters |
---|
| 83 | 'tcp_default_ttl':37,'tcp_keepalive_interval':38, |
---|
| 84 | 'tcp_keepalive_garbage':39, |
---|
| 85 | |
---|
| 86 | # Applications and service parameters |
---|
| 87 | 'nis_domain':40, |
---|
| 88 | 'nis_servers':41, |
---|
| 89 | 'ntp_servers':42, |
---|
| 90 | 'vendor_specific_information':43, |
---|
| 91 | 'nbns':44, |
---|
| 92 | 'nbdd':45,'node_type':46, |
---|
| 93 | 'netbios_scope':47,'x_window_system_font_server':48, |
---|
| 94 | 'x_window_system_display_manager':49, |
---|
| 95 | |
---|
| 96 | # DHCP extensions |
---|
| 97 | 'request_ip_address':50, |
---|
| 98 | 'ip_address_lease_time':51, |
---|
| 99 | 'overload':52, |
---|
| 100 | 'dhcp_message_type':53, |
---|
| 101 | 'server_identifier':54, |
---|
| 102 | 'parameter_request_list':55, |
---|
| 103 | 'message':56, |
---|
| 104 | 'maximum_dhcp_message_size':57, |
---|
| 105 | 'renewal_time_value':58, |
---|
| 106 | 'rebinding_time_value':59, |
---|
| 107 | 'class_identifier':60, |
---|
| 108 | 'client_identifier':61, |
---|
| 109 | |
---|
| 110 | # Add from RFC 2132 |
---|
| 111 | 'netware_ip_domain_name':62, |
---|
| 112 | 'netware_ip_sub_options':63, |
---|
| 113 | |
---|
| 114 | 'nis+_domain':64, |
---|
| 115 | 'nis+_servers':65, |
---|
| 116 | 'tftp_server_name':66, |
---|
| 117 | 'bootfile_name':67, |
---|
| 118 | 'mobile_ip_home_agent':68, |
---|
| 119 | 'smtp_servers':69, |
---|
| 120 | 'pop_servers':70, |
---|
| 121 | 'nntp_servers':71, |
---|
| 122 | 'default_world_wide_web_server':72, |
---|
| 123 | 'default_finger_server':73, |
---|
| 124 | 'default_internet_relay_chat_server':74, |
---|
| 125 | 'streettalk_server':75, |
---|
| 126 | 'streettalk_directory_assistance_server':76, |
---|
| 127 | |
---|
| 128 | 'user_class':77, |
---|
| 129 | 'directory_agent':78, |
---|
| 130 | 'service_scope':79, |
---|
| 131 | 'rapid_commit':80, |
---|
| 132 | |
---|
| 133 | 'client_fqdn':81, |
---|
| 134 | 'relay_agent':82, |
---|
| 135 | 'internet_storage_name_service':83, |
---|
| 136 | '84':84, |
---|
| 137 | 'nds_server':85, |
---|
| 138 | 'nds_tree_name':86, |
---|
| 139 | 'nds_context':87, |
---|
| 140 | '88':88, |
---|
| 141 | '89':89, |
---|
| 142 | 'authentication':90, |
---|
| 143 | 'client_last_transaction_time':91, |
---|
| 144 | 'associated_ip':92, |
---|
| 145 | 'client_system':93, |
---|
| 146 | 'client_ndi':94, |
---|
| 147 | 'ldap':95, |
---|
| 148 | 'unassigned':96, |
---|
| 149 | 'uuid_guid':97, |
---|
| 150 | 'open_group_user_auth':98, |
---|
| 151 | 'unassigned':99, |
---|
| 152 | 'unassigned':100, |
---|
| 153 | 'unassigned':101, |
---|
| 154 | 'unassigned':102, |
---|
| 155 | 'unassigned':103, |
---|
| 156 | 'unassigned':104, |
---|
| 157 | 'unassigned':105, |
---|
| 158 | 'unassigned':106, |
---|
| 159 | 'unassigned':107, |
---|
| 160 | 'unassigned':108, |
---|
| 161 | 'unassigned':109, |
---|
| 162 | 'unassigned':110, |
---|
| 163 | 'unassigned':111, |
---|
| 164 | 'netinfo_address':112, |
---|
| 165 | 'netinfo_tag':113, |
---|
| 166 | 'url':114, |
---|
| 167 | 'unassigned':115, |
---|
| 168 | 'auto_config':116, |
---|
| 169 | 'name_service_search':117, |
---|
| 170 | 'subnet_selection':118, |
---|
| 171 | 'domain_search':119, |
---|
| 172 | 'sip_servers':120, |
---|
| 173 | 'classless_static_route':121, |
---|
| 174 | 'cablelabs_client_configuration':122, |
---|
| 175 | 'geoconf':123, |
---|
| 176 | 'vendor_class':124, |
---|
| 177 | 'vendor_specific':125, |
---|
| 178 | '126':126,'127':127,'128':128,'129':129, |
---|
| 179 | '130':130,'131':131,'132':132,'133':133, |
---|
| 180 | '134':134,'135':135,'136':136,'137':137, |
---|
| 181 | '138':138,'139':139,'140':140,'141':141, |
---|
| 182 | '142':142,'143':143,'144':144,'145':145, |
---|
| 183 | '146':146,'147':147,'148':148,'149':149, |
---|
| 184 | '150':150,'151':151,'152':152,'153':153, |
---|
| 185 | '154':154,'155':155,'156':156,'157':157, |
---|
| 186 | '158':158,'159':159,'160':160,'161':161, |
---|
| 187 | '162':162,'163':163,'164':164,'165':165, |
---|
| 188 | '166':166,'167':167,'168':168,'169':169, |
---|
| 189 | '170':170,'171':171,'172':172,'173':173, |
---|
| 190 | '174':174,'175':175,'176':176,'177':177, |
---|
| 191 | '178':178,'179':179,'180':180,'181':181, |
---|
| 192 | '182':182,'183':183,'184':184,'185':185, |
---|
| 193 | '186':186,'187':187,'188':188,'189':189, |
---|
| 194 | '190':190,'191':191,'192':192,'193':193, |
---|
| 195 | '194':194,'195':195,'196':196,'197':197, |
---|
| 196 | '198':198,'199':199,'200':200,'201':201, |
---|
| 197 | '202':202,'203':203,'204':204,'205':205, |
---|
| 198 | '206':206,'207':207,'208':208,'209':209, |
---|
| 199 | '210':210,'211':211,'212':212,'213':213, |
---|
| 200 | '214':214,'215':215,'216':216,'217':217, |
---|
| 201 | '218':218,'219':219,'220':220,'221':221, |
---|
| 202 | '222':222,'223':223,'224':224,'225':225, |
---|
| 203 | '226':226,'227':227,'228':228,'229':229, |
---|
| 204 | '230':230,'231':231,'232':232,'233':233, |
---|
| 205 | '234':234,'235':235,'236':236,'237':237, |
---|
| 206 | '238':238,'239':239,'240':240,'241':241, |
---|
| 207 | '242':242,'243':243,'244':244,'245':245, |
---|
| 208 | '246':246,'247':247,'248':248,'249':249, |
---|
| 209 | '250':250,'251':251,'252':252,'253':253, |
---|
| 210 | '254':254,'end':255 |
---|
| 211 | |
---|
| 212 | } |
---|
| 213 | |
---|
| 214 | # DhcpOptionsList : reverse of DhcpOptions |
---|
| 215 | DhcpOptionsList = ['pad', |
---|
| 216 | |
---|
| 217 | # Vendor Extension |
---|
| 218 | 'subnet_mask','time_offset', |
---|
| 219 | 'router','time_server','name_server', |
---|
| 220 | 'domain_name_server','log_server', |
---|
| 221 | 'cookie_server','lpr_server', |
---|
| 222 | 'impress_server','resource_location_server', |
---|
| 223 | 'host_name','boot_file','merit_dump_file', |
---|
| 224 | 'domain_name','swap_server','root_path','extensions_path', |
---|
| 225 | |
---|
| 226 | # IP layer parameters per host |
---|
| 227 | 'ip_forwarding','nonlocal_source_rooting', |
---|
| 228 | 'policy_filter','maximum_datagram_reassembly_size', |
---|
| 229 | 'default_ip_time-to-live','path_mtu_aging_timeout', |
---|
| 230 | 'path_mtu_table', |
---|
| 231 | |
---|
| 232 | # IP layer parameters per interface |
---|
| 233 | 'interface_mtu','all_subnets_are_local', |
---|
| 234 | 'broadcast_address','perform_mask_discovery', |
---|
| 235 | 'mask_supplier','perform_router_discovery', |
---|
| 236 | 'routeur_solicitation_address','static_route', |
---|
| 237 | |
---|
| 238 | # link layer parameters per interface |
---|
| 239 | 'trailer_encapsulation','arp_cache_timeout', |
---|
| 240 | 'ethernet_encapsulation', |
---|
| 241 | |
---|
| 242 | # TCP parameters |
---|
| 243 | 'tcp_default_ttl','tcp_keepalive_interval', |
---|
| 244 | 'tcp_keepalive_garbage', |
---|
| 245 | |
---|
| 246 | # Applications and service parameters |
---|
| 247 | 'nis_domain', |
---|
| 248 | 'nis_servers', |
---|
| 249 | 'ntp_servers', |
---|
| 250 | 'vendor_specific_information','nbns', |
---|
| 251 | 'nbdd','node_type', |
---|
| 252 | 'netbios_scope','x_window_system_font_server', |
---|
| 253 | 'x_window_system_display_manager', |
---|
| 254 | |
---|
| 255 | # DHCP extensions |
---|
| 256 | 'request_ip_address', |
---|
| 257 | 'ip_address_lease_time', |
---|
| 258 | 'overload', |
---|
| 259 | 'dhcp_message_type', |
---|
| 260 | 'server_identifier', |
---|
| 261 | 'parameter_request_list', |
---|
| 262 | 'message', |
---|
| 263 | 'maximum_dhcp_message_size', |
---|
| 264 | 'renewal_time_value', |
---|
| 265 | 'rebinding_time_value', |
---|
| 266 | 'class_identifier', |
---|
| 267 | 'client_identifier', |
---|
| 268 | |
---|
| 269 | |
---|
| 270 | # adds from RFC 2132,2242 |
---|
| 271 | 'netware_ip_domain_name', |
---|
| 272 | 'netware_ip_sub_options', |
---|
| 273 | 'nis+_domain', |
---|
| 274 | 'nis+_servers', |
---|
| 275 | 'tftp_server_name', |
---|
| 276 | 'bootfile_name', |
---|
| 277 | 'mobile_ip_home_agent', |
---|
| 278 | 'smtp_servers', |
---|
| 279 | 'pop_servers', |
---|
| 280 | 'nntp_servers', |
---|
| 281 | 'default_world_wide_web_server', |
---|
| 282 | 'default_finger_server', |
---|
| 283 | 'default_internet_relay_chat_server', |
---|
| 284 | 'streettalk_server', |
---|
| 285 | 'streettalk_directory_assistance_server', |
---|
| 286 | 'user_class','directory_agent','service_scope', |
---|
| 287 | |
---|
| 288 | # 80 |
---|
| 289 | 'rapid_commit','client_fqdn','relay_agent', |
---|
| 290 | 'internet_storage_name_service', |
---|
| 291 | '84', |
---|
| 292 | 'nds_server','nds_tree_name','nds_context', |
---|
| 293 | '88','89', |
---|
| 294 | |
---|
| 295 | #90 |
---|
| 296 | 'authentication', |
---|
| 297 | 'client_last_transaction_time','associated_ip', #RFC 4388 |
---|
| 298 | 'client_system', 'client_ndi', #RFC 3679 |
---|
| 299 | 'ldap','unassigned','uuid_guid', #RFC 3679 |
---|
| 300 | 'open_group_user_auth', #RFC 2485 |
---|
| 301 | |
---|
| 302 | # 99->115 RFC3679 |
---|
| 303 | 'unassigned','unassigned','unassigned', |
---|
| 304 | 'unassigned','unassigned','unassigned', |
---|
| 305 | 'unassigned','unassigned','unassigned', |
---|
| 306 | 'unassigned','unassigned','unassigned', |
---|
| 307 | 'unassigned','netinfo_address','netinfo_tag', |
---|
| 308 | 'url','unassigned', |
---|
| 309 | |
---|
| 310 | #116 |
---|
| 311 | 'auto_config','name_service_search','subnet_selection', |
---|
| 312 | 'domain_search','sip_servers','classless_static_route', |
---|
| 313 | 'cablelabs_client_configuration','geoconf', |
---|
| 314 | |
---|
| 315 | #124 |
---|
| 316 | 'vendor_class', 'vendor_specific', |
---|
| 317 | |
---|
| 318 | '126','127','128','129', |
---|
| 319 | '130','131','132','133','134','135','136','137','138','139', |
---|
| 320 | '140','141','142','143','144','145','146','147','148','149', |
---|
| 321 | '150','151','152','153','154','155','156','157','158','159', |
---|
| 322 | '160','161','162','163','164','165','166','167','168','169', |
---|
| 323 | '170','171','172','173','174','175','176','177','178','179', |
---|
| 324 | '180','181','182','183','184','185','186','187','188','189', |
---|
| 325 | '190','191','192','193','194','195','196','197','198','199', |
---|
| 326 | '200','201','202','203','204','205','206','207','208','209', |
---|
| 327 | '210','211','212','213','214','215','216','217','218','219', |
---|
| 328 | '220','221','222','223','224','225','226','227','228','229', |
---|
| 329 | '230','231','232','233','234','235','236','237','238','239', |
---|
| 330 | '240','241','242','243','244','245','246','247','248','249', |
---|
| 331 | '250','251','252','253','254', |
---|
| 332 | |
---|
| 333 | 'end' |
---|
| 334 | ] |
---|
| 335 | |
---|
| 336 | |
---|
| 337 | # See http://www.iana.org/assignments/bootp-dhcp-parameters |
---|
| 338 | # FIXME : verify all ipv4+ options, somes are 32 bits... |
---|
| 339 | |
---|
| 340 | DhcpOptionsTypes = {0:"none", 1:"ipv4", 2:"ipv4", 3:"ipv4+", |
---|
| 341 | 4:"ipv4+", 5:"ipv4+", 6:"ipv4+", 7:"ipv4+", |
---|
| 342 | 8:"ipv4+", 9:"ipv4+", 10:"ipv4+", 11:"ipv4+", |
---|
| 343 | 12:"string", 13:"16-bits", 14:"string", 15:"string", |
---|
| 344 | 16:"ipv4", 17:"string", 18:"string", 19:"bool", |
---|
| 345 | 20:"bool", 21:"ipv4+", 22:"16-bits", 23:"char", |
---|
| 346 | 24:"ipv4", 25:"16-bits", 26:"16-bits", 27:"bool", |
---|
| 347 | 28:"ipv4", 29:"bool", 30:"bool", 31:"bool", |
---|
| 348 | 32:"ipv4", 33:"ipv4+", 34:"bool", 35:"32-bits", |
---|
| 349 | 36:"bool", 37:"char", 38:"32-bits", 39:"bool", |
---|
| 350 | 40:"string", 41:"ipv4+", 42:"ipv4+", 43:"string", |
---|
| 351 | 44:"ipv4+", 45:"ipv4+", 46:"char", 47:"string", |
---|
| 352 | 48:"ipv4+", 49:"ipv4+", 50:"ipv4", 51:"32-bits", |
---|
| 353 | 52:"char", 53:"char", 54:"ipv4", 55:"none", |
---|
| 354 | 56:"string", 57:"16-bits", 58:"32-bits", 59:"32-bits", |
---|
| 355 | 60:"string", 61:"identifier", 62:"string", 63:"RFC2242", |
---|
| 356 | 64:"string", 65:"ipv4+", 66:"string", 67:"string", |
---|
| 357 | 68:"ipv4", 69:"ipv4+", 70:"ipv4+", 71:"ipv4+", |
---|
| 358 | 72:"ipv4+", 73:"ipv4+", 74:"ipv4+", 75:"ipv4+", |
---|
| 359 | 76:"ipv4+", 77:"RFC3004", 78:"RFC2610", 79:"RFC2610", |
---|
| 360 | 80:"null", 81:"string", 82:"RFC3046", 83:"RFC4174", |
---|
| 361 | 84:"Unassigned", 85:"ipv4+", 86:"RFC2241", 87:"RFC2241", |
---|
| 362 | 88:"Unassigned", 89:"Unassigned", 90:"RFC3118", 91:"RFC4388", |
---|
| 363 | 92:"ipv4+", 93:"Unassigned", 94:"Unassigned", 95:"Unassigned", |
---|
| 364 | 96:"Unassigned", 97:"Unassigned", 98:"string", 99:"Unassigned", |
---|
| 365 | 100:"Unassigned", 101:"Unassigned", 102:"Unassigned", 103:"Unassigned", |
---|
| 366 | 104:"Unassigned", 105:"Unassigned", 106:"Unassigned", 107:"Unassigned", |
---|
| 367 | 108:"Unassigned", 109:"Unassigned", 110:"Unassigned", 111:"Unassigned", |
---|
| 368 | 112:"Unassigned", 113:"Unassigned", 114:"Unassigned", 115:"Unassigned", |
---|
| 369 | 116:"char", 117:"RFC2937", 118:"ipv4", 119:"RFC3397", |
---|
| 370 | 120:"RFC3361", |
---|
| 371 | |
---|
| 372 | #TODO |
---|
| 373 | 121:"Unassigned", 122:"Unassigned", 123:"Unassigned", |
---|
| 374 | 124:"Unassigned", 125:"Unassigned", 126:"Unassigned", 127:"Unassigned", |
---|
| 375 | 128:"Unassigned", 129:"Unassigned", 130:"Unassigned", 131:"Unassigned", |
---|
| 376 | 132:"Unassigned", 133:"Unassigned", 134:"Unassigned", 135:"Unassigned", |
---|
| 377 | 136:"Unassigned", 137:"Unassigned", 138:"Unassigned", 139:"Unassigned", |
---|
| 378 | 140:"Unassigned", 141:"Unassigned", 142:"Unassigned", 143:"Unassigned", |
---|
| 379 | 144:"Unassigned", 145:"Unassigned", 146:"Unassigned", 147:"Unassigned", |
---|
| 380 | 148:"Unassigned", 149:"Unassigned", 150:"Unassigned", 151:"Unassigned", |
---|
| 381 | 152:"Unassigned", 153:"Unassigned", 154:"Unassigned", 155:"Unassigned", |
---|
| 382 | 156:"Unassigned", 157:"Unassigned", 158:"Unassigned", 159:"Unassigned", |
---|
| 383 | 160:"Unassigned", 161:"Unassigned", 162:"Unassigned", 163:"Unassigned", |
---|
| 384 | 164:"Unassigned", 165:"Unassigned", 166:"Unassigned", 167:"Unassigned", |
---|
| 385 | 168:"Unassigned", 169:"Unassigned", 170:"Unassigned", 171:"Unassigned", |
---|
| 386 | 172:"Unassigned", 173:"Unassigned", 174:"Unassigned", 175:"Unassigned", |
---|
| 387 | 176:"Unassigned", 177:"Unassigned", 178:"Unassigned", 179:"Unassigned", |
---|
| 388 | 180:"Unassigned", 181:"Unassigned", 182:"Unassigned", 183:"Unassigned", |
---|
| 389 | 184:"Unassigned", 185:"Unassigned", 186:"Unassigned", 187:"Unassigned", |
---|
| 390 | 188:"Unassigned", 189:"Unassigned", 190:"Unassigned", 191:"Unassigned", |
---|
| 391 | 192:"Unassigned", 193:"Unassigned", 194:"Unassigned", 195:"Unassigned", |
---|
| 392 | 196:"Unassigned", 197:"Unassigned", 198:"Unassigned", 199:"Unassigned", |
---|
| 393 | 200:"Unassigned", 201:"Unassigned", 202:"Unassigned", 203:"Unassigned", |
---|
| 394 | 204:"Unassigned", 205:"Unassigned", 206:"Unassigned", 207:"Unassigned", |
---|
| 395 | 208:"Unassigned", 209:"Unassigned", 210:"Unassigned", 211:"Unassigned", |
---|
| 396 | 212:"Unassigned", 213:"Unassigned", 214:"Unassigned", 215:"Unassigned", |
---|
| 397 | 216:"Unassigned", 217:"Unassigned", 218:"Unassigned", 219:"Unassigned", |
---|
| 398 | 220:"Unassigned", 221:"Unassigned", 222:"Unassigned", 223:"Unassigned", |
---|
| 399 | 224:"Unassigned", 225:"Unassigned", 226:"Unassigned", 227:"Unassigned", |
---|
| 400 | 228:"Unassigned", 229:"Unassigned", 230:"Unassigned", 231:"Unassigned", |
---|
| 401 | 232:"Unassigned", 233:"Unassigned", 234:"Unassigned", 235:"Unassigned", |
---|
| 402 | 236:"Unassigned", 237:"Unassigned", 238:"Unassigned", 239:"Unassigned", |
---|
| 403 | 240:"Unassigned", 241:"Unassigned", 242:"Unassigned", 243:"Unassigned", |
---|
| 404 | 244:"Unassigned", 245:"Un"} |
---|