r4452 Make VLAN switch templates one of "generic" realms:
[racktables] / wwwroot / inc / install.php
1 <?php
2
3 function renderInstallerHTML()
4 {
5 $stepfunc[1] = 'not_already_installed';
6 $stepfunc[2] = 'platform_is_ok';
7 $stepfunc[3] = 'init_config';
8 $stepfunc[4] = 'init_database_static';
9 $stepfunc[5] = 'init_database_dynamic';
10 $stepfunc[6] = 'congrats';
11
12 if (isset ($_REQUEST['step']))
13 $step = $_REQUEST['step'];
14 else
15 $step = 1;
16
17 if ($step > count ($stepfunc))
18 {
19 $root = (empty($_SERVER['HTTPS']) or $_SERVER['HTTPS'] == 'off') ? 'http://' : 'https://';
20 $root .= isset ($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ($_SERVER['SERVER_NAME'].($_SERVER['SERVER_PORT']=='80'?'':$_SERVER['SERVER_PORT']));
21 // "Since PHP 4.3.0, you will often get a slash or a dot back from
22 // dirname() in situations where the older functionality would have given
23 // you the empty string."
24 // "On Windows, both slash (/) and backslash (\) are used as directory
25 // separator character."
26 $root .= strtr (dirname ($_SERVER['PHP_SELF']), '\\', '/');
27 if (substr ($root, -1) != '/')
28 $root .= '/';
29 header ("Location: ${root}");
30 exit;
31 }
32 $title = "RackTables installation: step ${step} of " . count ($stepfunc);
33 header ('Content-Type: text/html; charset=UTF-8');
34 ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
35 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
36 <head><title><?php echo $title; ?></title>
37 <style type="text/css">
38 .tdleft {
39 text-align: left;
40 }
41
42 .trok {
43 background-color: #80FF80;
44 }
45
46 .trwarning {
47 background-color: #FFFF80;
48 }
49
50 .trerror {
51 background-color: #FF8080;
52 }
53 </style>
54 </head>
55 <body>
56 <center>
57 <?php
58 echo "<h1>${title}</h1><p>";
59
60 echo "</p><form method=post>\n";
61 $testres = $stepfunc[$step] ();
62 if ($testres)
63 {
64 $next_step = $step + 1;
65 echo "<br><input type=submit value='proceed'>";
66 }
67 else
68 {
69 $next_step = $step;
70 echo "<br><input type=submit value='retry'>";
71 }
72 echo "<input type=hidden name=step value='${next_step}'>\n";
73
74 ?>
75 </form>
76 </center>
77 </body>
78 </html>
79
80 <?php
81 }
82
83 // Check if the software is already installed.
84 function not_already_installed()
85 {
86 global $found_secret_file, $pdo_dsn;
87 if ($found_secret_file and isset ($pdo_dsn))
88 {
89 echo 'Your configuration file exists and seems to hold necessary data already.<br>';
90 return FALSE;
91 }
92 else
93 {
94 echo 'There seem to be no existing installation here, I am going to setup one now.<br>';
95 return TRUE;
96 }
97 }
98
99 // Check that we can write to configuration file.
100 // If so, ask for DB connection paramaters and test
101 // the connection. Neither save the parameters nor allow
102 // going further until we succeed with the given
103 // credentials.
104 function init_config ()
105 {
106 global $path_to_secret_php;
107 if (!is_writable ($path_to_secret_php))
108 {
109 echo "The $path_to_secret_php file is not writable by web-server. Make sure it is.";
110 echo "The following commands should suffice:<pre>touch '$path_to_secret_php'; chmod 666 '$path_to_secret_php'</pre>";
111 echo 'Fedora Linux with SELinux may require this file to be owned by specific user (apache) and/or executing "setenforce 0" for the time of installation. ';
112 echo 'SELinux may be turned back on with "setenforce 1" command.<br>';
113 return FALSE;
114 }
115 if
116 (
117 !isset ($_REQUEST['save_config']) or
118 empty ($_REQUEST['mysql_host']) or
119 empty ($_REQUEST['mysql_db']) or
120 empty ($_REQUEST['mysql_username']) or
121 empty ($_REQUEST['mysql_password'])
122 )
123 {
124 echo "<input type=hidden name=save_config value=1>\n";
125 echo '<h3>Hint on setting up a database:</h3><pre>';
126 echo "mysql&gt;\nCREATE DATABASE racktables_db CHARACTER SET utf8 COLLATE utf8_general_ci;\n";
127 echo "GRANT ALL PRIVILEGES ON racktables_db.* TO racktables_user@localhost IDENTIFIED BY 'MY_SECRET_PASSWORD';\n</pre>";
128 echo '<table>';
129 echo "<tr><td><label for=mysql_host>MySQL host:</label></td>";
130 echo "<td><input type=text name=mysql_host id=mysql_host value=localhost></td></tr>\n";
131 echo "<tr><td><label for=mysql_host>database:</label></td>";
132 echo "<td><input type=text name=mysql_db id=mysql_db value=racktables_db></td></tr>\n";
133 echo "<tr><td><label for=mysql_username>username:</label></td>";
134 echo "<td><input type=text name=mysql_username value=racktables_user></td></tr>\n";
135 echo "<tr><td><label for=mysql_password>password:</label></td>";
136 echo "<td><input type=password name=mysql_password></td></tr>\n";
137 echo '</table>';
138 return FALSE;
139 }
140 $pdo_dsn = 'mysql:host=' . $_REQUEST['mysql_host'] . ';dbname=' . $_REQUEST['mysql_db'];
141 try
142 {
143 $dbxlink = new PDO ($pdo_dsn, $_REQUEST['mysql_username'], $_REQUEST['mysql_password']);
144 }
145 catch (PDOException $e)
146 {
147 echo "<input type=hidden name=save_config value=1>\n";
148 echo '<table>';
149 echo "<tr><td><label for=mysql_host>MySQL host:</label></td>";
150 echo "<td><input type=text name=mysql_host id=mysql_host value='" . $_REQUEST['mysql_host'] . "'></td></tr>\n";
151 echo "<tr><td><label for=mysql_host>database:</label></td>";
152 echo "<td><input type=text name=mysql_db id=mysql_db value='" . $_REQUEST['mysql_db'] . "'></td></tr>\n";
153 echo "<tr><td><label for=mysql_username>username:</label></td>";
154 echo "<td><input type=text name=mysql_username value='" . $_REQUEST['mysql_username'] . "'></td></tr>\n";
155 echo "<tr><td><label for=mysql_password>password:</label></td>";
156 echo "<td><input type=password name=mysql_password value='" . $_REQUEST['mysql_password'] . "'></td></tr>\n";
157 echo "<tr><td colspan=2>The above parameters did not work. Check and try again.</td></tr>\n";
158 echo '</table>';
159 return FALSE;
160 }
161
162 $conf = fopen ($path_to_secret_php, 'w+');
163 if ($conf === FALSE)
164 {
165 echo "Error: failed to open $path_to_secret_php for writing";
166 return FALSE;
167 }
168 fwrite ($conf, "<?php\n/* This file has been generated automatically by RackTables installer.\n");
169 fwrite ($conf, " * you shouldn't normally edit it unless your database setup has changed.\n");
170 fwrite ($conf, " */\n");
171 fwrite ($conf, "\$pdo_dsn = '${pdo_dsn}';\n");
172 fwrite ($conf, "\$db_username = '" . $_REQUEST['mysql_username'] . "';\n");
173 fwrite ($conf, "\$db_password = '" . $_REQUEST['mysql_password'] . "';\n\n");
174 fwrite ($conf, <<<ENDOFTEXT
175 // Default setting is to authenticate users locally, but it is possible to
176 // employ existing LDAP or Apache userbase. Uncommenting below two lines MAY
177 // help in switching authentication to LDAP completely.
178 // More info: http://sourceforge.net/apps/mediawiki/racktables/index.php?title=RackTablesAdminGuide
179 #\$user_auth_src = 'ldap';
180 #\$require_local_account = FALSE;
181
182 // This is only necessary for 'ldap' authentication source
183 \$LDAP_options = array
184 (
185 'server' => 'some.server',
186 'domain' => 'some.domain',
187 # 'search_dn' => 'ou=people,O=YourCompany',
188 'search_attr' => 'uid',
189 # 'displayname_attrs' => 'givenname familyname',
190
191 // LDAP cache, values in seconds. Refresh, retry and expiry values are
192 // treated exactly as those for DNS SOA record. Example values 300-15-600:
193 // unconditionally remeber successful auth for 5 minutes, after that still
194 // permit user access, but try to revalidate username and password on the
195 // server (not more often, than once in 15 seconds). After 10 minutes of
196 // unsuccessful retries give up and deny access, so someone goes to fix
197 // LDAP server.
198 //
199 // Like in DNS, the following condition must be always met:
200 // cache_retry <= cache_refresh <= cache_expiry
201 //
202 // To disable LDAP cache completely, set cache_refresh, cache_retry and
203 // cache_expiry to 0.
204 'cache_refresh' => 300,
205 'cache_retry' => 15,
206 'cache_expiry' => 600,
207 // Uncomment line below to work around ActiveDirectory+PHP problem to perform
208 // search right in the base DN (not in one of OUs/CNs below).
209 # 'options' => array (LDAP_OPT_PROTOCOL_VERSION => 3, LDAP_OPT_REFERRALS => 0),
210 );
211
212
213 ENDOFTEXT
214 );
215 fwrite ($conf, "?>\n");
216 fclose ($conf);
217 echo "The configuration file has been written successfully.<br>";
218 return TRUE;
219 }
220
221 function connect_to_db_or_die ()
222 {
223 try
224 {
225 connectDB();
226 }
227 catch (RackTablesError $e)
228 {
229 die ('Error connecting to the database');
230 }
231 }
232
233 function init_database_static ()
234 {
235 connect_to_db_or_die();
236 global $dbxlink;
237 if (!isInnoDBSupported())
238 {
239 echo 'InnoDB test failed! Please configure MySQL server properly and retry.';
240 return FALSE;
241 }
242 $result = $dbxlink->query ('show tables');
243 $tables = $result->fetchAll (PDO::FETCH_NUM);
244 $result->closeCursor();
245 unset ($result);
246 if (count ($tables))
247 {
248 echo 'Your database is already holding ' . count ($tables);
249 echo ' tables, so I will stop here and let you check it yourself.<br>';
250 echo 'There is some important data there probably.<br>';
251 return FALSE;
252 }
253 echo 'Initializing the database...<br>';
254 echo '<table border=1>';
255 echo "<tr><th>section</th><th>queries</th><th>errors</th></tr>";
256 $errlist = array();
257 foreach (array ('structure', 'dictbase') as $part)
258 {
259 echo "<tr><td>${part}</td>";
260 $nq = $nerrs = 0;
261 foreach (preg_split ("/;\s*\n/", get_pseudo_file ($part)) as $query)
262 {
263 $query = trim($query);
264 if (empty ($query) or '--' == substr ($query, 0, 2))
265 continue;
266 $nq++;
267 if ($dbxlink->exec ($query) === FALSE)
268 {
269 $nerrs++;
270 $errlist[] = $query;
271 }
272 }
273 echo "<td>${nq}</td><td>${nerrs}</td></tr>\n";
274 }
275 // (re)load dictionary by pure PHP means w/o any external file
276 echo "<tr><td>dictionary</td>";
277 $nq = $nerrs = 0;
278 $dictq = array();
279 foreach (reloadDictionary() as $query)
280 {
281 $nq++;
282 if ($dbxlink->exec ($query) === FALSE)
283 {
284 $nerrs++;
285 $errlist[] = $query;
286 }
287 }
288 echo "<td>${nq}</td><td>${nerrs}</td></tr>\n";
289
290 echo '</table>';
291 if (count ($errlist))
292 {
293 echo '<pre>The following queries failed:\n';
294 foreach ($errlist as $q)
295 echo "${q}\n\n";
296 echo '</pre>';
297 return FALSE;
298 }
299 return TRUE;
300 }
301
302 function init_database_dynamic ()
303 {
304 connect_to_db_or_die();
305 global $dbxlink;
306 if (!isset ($_REQUEST['password']) or empty ($_REQUEST['password']))
307 {
308 $result = $dbxlink->query ('select count(user_id) from UserAccount where user_id = 1');
309 $row = $result->fetch (PDO::FETCH_NUM);
310 $nrecs = $row[0];
311 $result->closeCursor();
312 if (!$nrecs)
313 {
314 echo '<table border=1>';
315 echo '<caption>Administrator password not set</caption>';
316 echo '<tr><td><input type=password name=password></td></tr>';
317 echo '</table>';
318 }
319 return FALSE;
320 }
321 else
322 {
323 // Never send cleartext password over the wire.
324 $hash = sha1 ($_REQUEST['password']);
325 $query = "INSERT INTO `UserAccount` (`user_id`, `user_name`, `user_password_hash`, `user_realname`) " .
326 "VALUES (1,'admin','${hash}','RackTables Administrator')";
327 $result = $dbxlink->exec ($query);
328 echo "Administrator password has been set successfully.<br>";
329 return TRUE;
330 }
331 }
332
333 function congrats ()
334 {
335 echo 'Congratulations! RackTables installation is complete. After pressing Proceed you will ';
336 echo 'enter the system. Authenticate with <strong>admin</strong> username.<br>RackTables project has a ';
337 echo "<a href='http://sourceforge.net/apps/mediawiki/racktables/index.php?title=RackTablesAdminGuide'>";
338 echo "wiki</a> and a ";
339 echo "<a href='http://www.freelists.org/list/racktables-users'>mailing list</a> for users. Have fun.<br>";
340 return TRUE;
341 }
342
343 function get_pseudo_file ($name)
344 {
345 switch ($name)
346 {
347 case 'structure':
348 return <<<END_OF_FILE
349 alter database character set utf8;
350 set names 'utf8';
351 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
352
353 CREATE TABLE `Atom` (
354 `molecule_id` int(10) unsigned default NULL,
355 `rack_id` int(10) unsigned default NULL,
356 `unit_no` int(10) unsigned default NULL,
357 `atom` enum('front','interior','rear') default NULL
358 ) ENGINE=InnoDB;
359
360 CREATE TABLE `Attribute` (
361 `id` int(10) unsigned NOT NULL auto_increment,
362 `type` enum('string','uint','float','dict') default NULL,
363 `name` char(64) default NULL,
364 PRIMARY KEY (`id`),
365 UNIQUE KEY `name` (`name`)
366 ) ENGINE=MyISAM AUTO_INCREMENT=10000;
367
368 CREATE TABLE `AttributeMap` (
369 `objtype_id` int(10) unsigned NOT NULL default '1',
370 `attr_id` int(10) unsigned NOT NULL default '1',
371 `chapter_id` int(10) unsigned default NULL,
372 UNIQUE KEY `objtype_id` (`objtype_id`,`attr_id`)
373 ) ENGINE=InnoDB;
374
375 CREATE TABLE `AttributeValue` (
376 `object_id` int(10) unsigned default NULL,
377 `attr_id` int(10) unsigned default NULL,
378 `string_value` char(128) default NULL,
379 `uint_value` int(10) unsigned default NULL,
380 `float_value` float default NULL,
381 UNIQUE KEY `object_id` (`object_id`,`attr_id`),
382 KEY `attr_id-uint_value` (`attr_id`,`uint_value`),
383 KEY `attr_id-string_value` (`attr_id`,`string_value`(12)),
384 CONSTRAINT `AttributeValue-FK-object_id` FOREIGN KEY (`object_id`) REFERENCES `RackObject` (`id`) ON DELETE CASCADE
385 ) ENGINE=InnoDB;
386
387 CREATE TABLE `CachedPAV` (
388 `object_id` int(10) unsigned NOT NULL,
389 `port_name` char(255) NOT NULL,
390 `vlan_id` int(10) unsigned NOT NULL default '0',
391 PRIMARY KEY (`object_id`,`port_name`,`vlan_id`),
392 KEY `vlan_id` (`vlan_id`),
393 CONSTRAINT `CachedPAV-FK-object-port` FOREIGN KEY (`object_id`, `port_name`) REFERENCES `CachedPVM` (`object_id`, `port_name`) ON DELETE CASCADE,
394 CONSTRAINT `CachedPAV-FK-vlan_id` FOREIGN KEY (`vlan_id`) REFERENCES `VLANValidID` (`vlan_id`)
395 ) ENGINE=InnoDB;
396
397 CREATE TABLE `CachedPNV` (
398 `object_id` int(10) unsigned NOT NULL,
399 `port_name` char(255) NOT NULL,
400 `vlan_id` int(10) unsigned NOT NULL default '0',
401 PRIMARY KEY (`object_id`,`port_name`,`vlan_id`),
402 UNIQUE KEY `port_id` (`object_id`,`port_name`),
403 CONSTRAINT `CachedPNV-FK-compound` FOREIGN KEY (`object_id`, `port_name`, `vlan_id`) REFERENCES `CachedPAV` (`object_id`, `port_name`, `vlan_id`) ON DELETE CASCADE
404 ) ENGINE=InnoDB;
405
406 CREATE TABLE `CachedPVM` (
407 `object_id` int(10) unsigned NOT NULL,
408 `port_name` char(255) NOT NULL,
409 `vlan_mode` enum('access','trunk') NOT NULL default 'access',
410 PRIMARY KEY (`object_id`,`port_name`),
411 CONSTRAINT `CachedPVM-FK-object_id` FOREIGN KEY (`object_id`) REFERENCES `RackObject` (`id`) ON DELETE CASCADE
412 ) ENGINE=InnoDB;
413
414 CREATE TABLE `Chapter` (
415 `id` int(10) unsigned NOT NULL auto_increment,
416 `sticky` enum('yes','no') default 'no',
417 `name` char(128) NOT NULL,
418 PRIMARY KEY (`id`),
419 UNIQUE KEY `name` (`name`)
420 ) ENGINE=MyISAM AUTO_INCREMENT=10000;
421
422 CREATE TABLE `Config` (
423 `varname` char(32) NOT NULL,
424 `varvalue` text NOT NULL,
425 `vartype` enum('string','uint') NOT NULL default 'string',
426 `emptyok` enum('yes','no') NOT NULL default 'no',
427 `is_hidden` enum('yes','no') NOT NULL default 'yes',
428 `is_userdefined` enum('yes','no') NOT NULL default 'no',
429 `description` text,
430 PRIMARY KEY (`varname`)
431 ) ENGINE=InnoDB;
432
433 CREATE TABLE `Dictionary` (
434 `chapter_id` int(10) unsigned NOT NULL,
435 `dict_key` int(10) unsigned NOT NULL auto_increment,
436 `dict_value` char(255) default NULL,
437 PRIMARY KEY (`dict_key`),
438 UNIQUE KEY `chap_to_val` (`chapter_id`,`dict_value`)
439 ) ENGINE=MyISAM AUTO_INCREMENT=50000;
440
441 CREATE TABLE `EntityLink` (
442 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
443 `parent_entity_type` enum('ipv4net','ipv4rspool','ipv4vs','ipv6net','object','rack','user') NOT NULL,
444 `parent_entity_id` int(10) unsigned NOT NULL,
445 `child_entity_type` enum('file','object') NOT NULL,
446 `child_entity_id` int(10) unsigned NOT NULL,
447 PRIMARY KEY (`id`),
448 UNIQUE KEY `EntityLink-unique` (`parent_entity_type`,`parent_entity_id`,`child_entity_type`,`child_entity_id`)
449 ) ENGINE=InnoDB;
450
451 CREATE TABLE `File` (
452 `id` int(10) unsigned NOT NULL auto_increment,
453 `name` char(255) NOT NULL,
454 `type` char(255) NOT NULL,
455 `size` int(10) unsigned NOT NULL,
456 `ctime` datetime NOT NULL,
457 `mtime` datetime NOT NULL,
458 `atime` datetime NOT NULL,
459 `thumbnail` longblob,
460 `contents` longblob NOT NULL,
461 `comment` text,
462 PRIMARY KEY (`id`),
463 UNIQUE KEY `name` (`name`)
464 ) ENGINE=InnoDB;
465
466 CREATE TABLE `FileLink` (
467 `id` int(10) unsigned NOT NULL auto_increment,
468 `file_id` int(10) unsigned NOT NULL,
469 `entity_type` enum('ipv4net','ipv4rspool','ipv4vs','object','rack','user','ipv6net') NOT NULL default 'object',
470 `entity_id` int(10) NOT NULL,
471 PRIMARY KEY (`id`),
472 KEY `FileLink-file_id` (`file_id`),
473 UNIQUE KEY `FileLink-unique` (`file_id`,`entity_type`,`entity_id`),
474 CONSTRAINT `FileLink-File_fkey` FOREIGN KEY (`file_id`) REFERENCES `File` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
475 ) ENGINE=InnoDB;
476
477 CREATE TABLE `IPv4Address` (
478 `ip` int(10) unsigned NOT NULL default '0',
479 `name` char(255) NOT NULL default '',
480 `reserved` enum('yes','no') default NULL,
481 PRIMARY KEY (`ip`)
482 ) ENGINE=InnoDB;
483
484 CREATE TABLE `IPv4Allocation` (
485 `object_id` int(10) unsigned NOT NULL default '0',
486 `ip` int(10) unsigned NOT NULL default '0',
487 `name` char(255) NOT NULL default '',
488 `type` enum('regular','shared','virtual','router') default NULL,
489 PRIMARY KEY (`object_id`,`ip`),
490 KEY `ip` (`ip`),
491 CONSTRAINT `IPv4Allocation-FK-object_id` FOREIGN KEY (`object_id`) REFERENCES `RackObject` (`id`) ON DELETE CASCADE
492 ) ENGINE=InnoDB;
493
494 CREATE TABLE `IPv4LB` (
495 `object_id` int(10) unsigned default NULL,
496 `rspool_id` int(10) unsigned default NULL,
497 `vs_id` int(10) unsigned default NULL,
498 `prio` int(10) unsigned default NULL,
499 `vsconfig` text,
500 `rsconfig` text,
501 UNIQUE KEY `LB-VS` (`object_id`,`vs_id`),
502 KEY `IPv4LB-FK-rspool_id` (`rspool_id`),
503 KEY `IPv4LB-FK-vs_id` (`vs_id`),
504 CONSTRAINT `IPv4LB-FK-vs_id` FOREIGN KEY (`vs_id`) REFERENCES `IPv4VS` (`id`),
505 CONSTRAINT `IPv4LB-FK-object_id` FOREIGN KEY (`object_id`) REFERENCES `RackObject` (`id`),
506 CONSTRAINT `IPv4LB-FK-rspool_id` FOREIGN KEY (`rspool_id`) REFERENCES `IPv4RSPool` (`id`)
507 ) ENGINE=InnoDB;
508
509 CREATE TABLE `IPv4NAT` (
510 `object_id` int(10) unsigned NOT NULL default '0',
511 `proto` enum('TCP','UDP') NOT NULL default 'TCP',
512 `localip` int(10) unsigned NOT NULL default '0',
513 `localport` smallint(5) unsigned NOT NULL default '0',
514 `remoteip` int(10) unsigned NOT NULL default '0',
515 `remoteport` smallint(5) unsigned NOT NULL default '0',
516 `description` char(255) default NULL,
517 PRIMARY KEY (`object_id`,`proto`,`localip`,`localport`,`remoteip`,`remoteport`),
518 KEY `localip` (`localip`),
519 KEY `remoteip` (`remoteip`),
520 KEY `object_id` (`object_id`),
521 CONSTRAINT `IPv4NAT-FK-object_id` FOREIGN KEY (`object_id`) REFERENCES `RackObject` (`id`)
522 ) ENGINE=InnoDB;
523
524 CREATE TABLE `IPv4Network` (
525 `id` int(10) unsigned NOT NULL auto_increment,
526 `ip` int(10) unsigned NOT NULL default '0',
527 `mask` int(10) unsigned NOT NULL default '0',
528 `name` char(255) default NULL,
529 `comment` text,
530 PRIMARY KEY (`id`),
531 UNIQUE KEY `base-len` (`ip`,`mask`)
532 ) ENGINE=InnoDB;
533
534 CREATE TABLE `IPv4RS` (
535 `id` int(10) unsigned NOT NULL auto_increment,
536 `inservice` enum('yes','no') NOT NULL default 'no',
537 `rsip` int(10) unsigned default NULL,
538 `rsport` smallint(5) unsigned default NULL,
539 `rspool_id` int(10) unsigned default NULL,
540 `rsconfig` text,
541 PRIMARY KEY (`id`),
542 KEY `rsip` (`rsip`),
543 UNIQUE KEY `pool-endpoint` (`rspool_id`,`rsip`,`rsport`),
544 CONSTRAINT `IPv4RS-FK` FOREIGN KEY (`rspool_id`) REFERENCES `IPv4RSPool` (`id`) ON DELETE CASCADE
545 ) ENGINE=InnoDB;
546
547 CREATE TABLE `IPv4RSPool` (
548 `id` int(10) unsigned NOT NULL auto_increment,
549 `name` char(255) default NULL,
550 `vsconfig` text,
551 `rsconfig` text,
552 PRIMARY KEY (`id`)
553 ) ENGINE=InnoDB;
554
555 CREATE TABLE `IPv4VS` (
556 `id` int(10) unsigned NOT NULL auto_increment,
557 `vip` int(10) unsigned default NULL,
558 `vport` smallint(5) unsigned default NULL,
559 `proto` enum('TCP','UDP') NOT NULL default 'TCP',
560 `name` char(255) default NULL,
561 `vsconfig` text,
562 `rsconfig` text,
563 PRIMARY KEY (`id`),
564 KEY `vip` (`vip`)
565 ) ENGINE=InnoDB;
566
567 CREATE TABLE `IPv6Address` (
568 `ip` binary(16) NOT NULL,
569 `name` char(255) NOT NULL default '',
570 `reserved` enum('yes','no') default NULL,
571 PRIMARY KEY (`ip`)
572 ) ENGINE=InnoDB;
573
574 CREATE TABLE `IPv6Allocation` (
575 `object_id` int(10) unsigned NOT NULL default '0',
576 `ip` binary(16) NOT NULL,
577 `name` char(255) NOT NULL default '',
578 `type` enum('regular','shared','virtual','router') default NULL,
579 PRIMARY KEY (`object_id`,`ip`),
580 KEY `ip` (`ip`),
581 CONSTRAINT `IPv6Allocation-FK-object_id` FOREIGN KEY (`object_id`) REFERENCES `RackObject` (`id`) ON DELETE CASCADE
582 ) ENGINE=InnoDB;
583
584 CREATE TABLE `IPv6Network` (
585 `id` int(10) unsigned NOT NULL auto_increment,
586 `ip` binary(16) NOT NULL,
587 `mask` int(10) unsigned NOT NULL,
588 `last_ip` binary(16) NOT NULL,
589 `name` char(255) default NULL,
590 `comment` text,
591 PRIMARY KEY (`id`),
592 UNIQUE KEY `ip` (`ip`,`mask`)
593 ) ENGINE=InnoDB;
594
595 CREATE TABLE `LDAPCache` (
596 `presented_username` char(64) NOT NULL,
597 `successful_hash` char(40) NOT NULL,
598 `first_success` timestamp NOT NULL default CURRENT_TIMESTAMP,
599 `last_retry` timestamp NOT NULL default '0000-00-00 00:00:00',
600 `displayed_name` char(128) default NULL,
601 `memberof` text,
602 UNIQUE KEY `presented_username` (`presented_username`),
603 KEY `scanidx` (`presented_username`,`successful_hash`)
604 ) ENGINE=InnoDB;
605
606 CREATE TABLE `Link` (
607 `porta` int(10) unsigned NOT NULL default '0',
608 `portb` int(10) unsigned NOT NULL default '0',
609 `cable` char(64) DEFAULT NULL,
610 PRIMARY KEY (`porta`,`portb`),
611 UNIQUE KEY `porta` (`porta`),
612 UNIQUE KEY `portb` (`portb`),
613 CONSTRAINT `Link-FK-a` FOREIGN KEY (`porta`) REFERENCES `Port` (`id`) ON DELETE CASCADE,
614 CONSTRAINT `Link-FK-b` FOREIGN KEY (`portb`) REFERENCES `Port` (`id`) ON DELETE CASCADE
615 ) ENGINE=InnoDB;
616
617 CREATE TABLE `Molecule` (
618 `id` int(10) unsigned NOT NULL auto_increment,
619 PRIMARY KEY (`id`)
620 ) ENGINE=InnoDB;
621
622 CREATE TABLE `MountOperation` (
623 `id` int(10) unsigned NOT NULL auto_increment,
624 `object_id` int(10) unsigned NOT NULL default '0',
625 `ctime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
626 `user_name` char(64) default NULL,
627 `old_molecule_id` int(10) unsigned default NULL,
628 `new_molecule_id` int(10) unsigned default NULL,
629 `comment` text,
630 PRIMARY KEY (`id`),
631 KEY `object_id` (`object_id`),
632 CONSTRAINT `MountOperation-FK-object_id` FOREIGN KEY (`object_id`) REFERENCES `RackObject` (`id`) ON DELETE CASCADE
633 ) ENGINE=InnoDB;
634
635 CREATE TABLE `ObjectLog` (
636 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
637 `object_id` int(10) unsigned NOT NULL,
638 `user` char(64) NOT NULL,
639 `date` datetime NOT NULL,
640 `content` text NOT NULL,
641 PRIMARY KEY (`id`),
642 KEY `object_id` (`object_id`),
643 KEY `date` (`date`),
644 CONSTRAINT `ObjectLog-FK-object_id` FOREIGN KEY (`object_id`) REFERENCES `RackObject` (`id`) ON DELETE CASCADE
645 ) ENGINE=InnoDB;
646
647 CREATE TABLE `ObjectParentCompat` (
648 `parent_objtype_id` int(10) unsigned NOT NULL,
649 `child_objtype_id` int(10) unsigned NOT NULL,
650 UNIQUE KEY `parent_child` (`parent_objtype_id`,`child_objtype_id`)
651 ) ENGINE=InnoDB;
652
653 CREATE TABLE `Port` (
654 `id` int(10) unsigned NOT NULL auto_increment,
655 `object_id` int(10) unsigned NOT NULL default '0',
656 `name` char(255) NOT NULL default '',
657 `iif_id` int(10) unsigned NOT NULL,
658 `type` int(10) unsigned NOT NULL default '0',
659 `l2address` char(64) default NULL,
660 `reservation_comment` char(255) default NULL,
661 `label` char(255) default NULL,
662 PRIMARY KEY (`id`),
663 UNIQUE KEY `object_iif_oif_name` (`object_id`,`iif_id`,`type`,`name`),
664 KEY `type` (`type`),
665 KEY `comment` (`reservation_comment`),
666 KEY `l2address` (`l2address`),
667 KEY `Port-FK-iif-oif` (`iif_id`,`type`),
668 CONSTRAINT `Port-FK-iif-oif` FOREIGN KEY (`iif_id`, `type`) REFERENCES `PortInterfaceCompat` (`iif_id`, `oif_id`),
669 CONSTRAINT `Port-FK-object_id` FOREIGN KEY (`object_id`) REFERENCES `RackObject` (`id`) ON DELETE CASCADE
670 ) ENGINE=InnoDB;
671
672 CREATE TABLE `PortAllowedVLAN` (
673 `object_id` int(10) unsigned NOT NULL,
674 `port_name` char(255) NOT NULL,
675 `vlan_id` int(10) unsigned NOT NULL default '0',
676 PRIMARY KEY (`object_id`,`port_name`,`vlan_id`),
677 KEY `vlan_id` (`vlan_id`),
678 CONSTRAINT `PortAllowedVLAN-FK-object-port` FOREIGN KEY (`object_id`, `port_name`) REFERENCES `PortVLANMode` (`object_id`, `port_name`) ON DELETE CASCADE,
679 CONSTRAINT `PortAllowedVLAN-FK-vlan_id` FOREIGN KEY (`vlan_id`) REFERENCES `VLANValidID` (`vlan_id`)
680 ) ENGINE=InnoDB;
681
682 CREATE TABLE `PortCompat` (
683 `type1` int(10) unsigned NOT NULL default '0',
684 `type2` int(10) unsigned NOT NULL default '0',
685 UNIQUE KEY `type1_2` (`type1`,`type2`),
686 KEY `type2` (`type2`)
687 ) ENGINE=InnoDB;
688
689 CREATE TABLE `PortInnerInterface` (
690 `id` int(10) unsigned NOT NULL,
691 `iif_name` char(16) NOT NULL,
692 PRIMARY KEY (`id`),
693 UNIQUE KEY `iif_name` (`iif_name`)
694 ) ENGINE=InnoDB;
695
696 CREATE TABLE `PortInterfaceCompat` (
697 `iif_id` int(10) unsigned NOT NULL,
698 `oif_id` int(10) unsigned NOT NULL,
699 UNIQUE KEY `pair` (`iif_id`,`oif_id`),
700 CONSTRAINT `PortInterfaceCompat-FK-iif_id` FOREIGN KEY (`iif_id`) REFERENCES `PortInnerInterface` (`id`)
701 ) ENGINE=InnoDB;
702
703 CREATE TABLE `PortLog` (
704 `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
705 `port_id` int(10) unsigned NOT NULL,
706 `user` char(64) NOT NULL,
707 `date` datetime NOT NULL,
708 `content` text NOT NULL,
709 PRIMARY KEY (`id`),
710 KEY `port_id-date` (`port_id`,`date`),
711 CONSTRAINT `PortLog_ibfk_1` FOREIGN KEY (`port_id`) REFERENCES `Port` (`id`) ON DELETE CASCADE
712 ) ENGINE=InnoDB;
713
714 CREATE TABLE `PortNativeVLAN` (
715 `object_id` int(10) unsigned NOT NULL,
716 `port_name` char(255) NOT NULL,
717 `vlan_id` int(10) unsigned NOT NULL default '0',
718 PRIMARY KEY (`object_id`,`port_name`,`vlan_id`),
719 UNIQUE KEY `port_id` (`object_id`,`port_name`),
720 CONSTRAINT `PortNativeVLAN-FK-compound` FOREIGN KEY (`object_id`, `port_name`, `vlan_id`) REFERENCES `PortAllowedVLAN` (`object_id`, `port_name`, `vlan_id`) ON DELETE CASCADE
721 ) ENGINE=InnoDB;
722
723 CREATE TABLE `PortVLANMode` (
724 `object_id` int(10) unsigned NOT NULL,
725 `port_name` char(255) NOT NULL,
726 `vlan_mode` enum('access','trunk') NOT NULL default 'access',
727 PRIMARY KEY (`object_id`,`port_name`),
728 CONSTRAINT `PortVLANMode-FK-object-port` FOREIGN KEY (`object_id`, `port_name`) REFERENCES `CachedPVM` (`object_id`, `port_name`)
729 ) ENGINE=InnoDB;
730
731 CREATE TABLE `Rack` (
732 `id` int(10) unsigned NOT NULL auto_increment,
733 `name` char(255) default NULL,
734 `row_id` int(10) unsigned NOT NULL default '1',
735 `height` tinyint(3) unsigned NOT NULL default '42',
736 `comment` text,
737 `thumb_data` blob,
738 PRIMARY KEY (`id`),
739 UNIQUE KEY `name_in_row` (`row_id`,`name`),
740 CONSTRAINT `Rack-FK-row_id` FOREIGN KEY (`row_id`) REFERENCES `RackRow` (`id`)
741 ) ENGINE=InnoDB;
742
743 CREATE TABLE `RackHistory` (
744 `id` int(10) unsigned default NULL,
745 `name` char(255) default NULL,
746 `row_id` int(10) unsigned default NULL,
747 `height` tinyint(3) unsigned default NULL,
748 `comment` text,
749 `thumb_data` blob,
750 `ctime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
751 `user_name` char(64) default NULL
752 ) ENGINE=InnoDB;
753
754 CREATE TABLE `RackObject` (
755 `id` int(10) unsigned NOT NULL auto_increment,
756 `name` char(255) default NULL,
757 `label` char(255) default NULL,
758 `objtype_id` int(10) unsigned NOT NULL default '1',
759 `asset_no` char(64) default NULL,
760 `has_problems` enum('yes','no') NOT NULL default 'no',
761 `comment` text,
762 PRIMARY KEY (`id`),
763 UNIQUE KEY `RackObject_asset_no` (`asset_no`),
764 UNIQUE KEY `name` (`name`)
765 ) ENGINE=InnoDB;
766
767 CREATE TABLE `RackObjectHistory` (
768 `id` int(10) unsigned default NULL,
769 `name` char(255) default NULL,
770 `label` char(255) default NULL,
771 `objtype_id` int(10) unsigned default NULL,
772 `asset_no` char(64) default NULL,
773 `has_problems` enum('yes','no') NOT NULL default 'no',
774 `comment` text,
775 `ctime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
776 `user_name` char(64) default NULL,
777 KEY `id` (`id`),
778 CONSTRAINT `RackObjectHistory-FK-object_id` FOREIGN KEY (`id`) REFERENCES `RackObject` (`id`) ON DELETE CASCADE
779 ) ENGINE=InnoDB;
780
781 CREATE TABLE `RackRow` (
782 `id` int(10) unsigned NOT NULL auto_increment,
783 `name` char(255) NOT NULL,
784 PRIMARY KEY (`id`),
785 UNIQUE KEY `name` (`name`)
786 ) ENGINE=InnoDB;
787
788 CREATE TABLE `RackSpace` (
789 `rack_id` int(10) unsigned NOT NULL default '0',
790 `unit_no` int(10) unsigned NOT NULL default '0',
791 `atom` enum('front','interior','rear') NOT NULL default 'interior',
792 `state` enum('A','U','T','W') NOT NULL default 'A',
793 `object_id` int(10) unsigned default NULL,
794 PRIMARY KEY (`rack_id`,`unit_no`,`atom`),
795 KEY `RackSpace_object_id` (`object_id`),
796 CONSTRAINT `RackSpace-FK-rack_id` FOREIGN KEY (`rack_id`) REFERENCES `Rack` (`id`),
797 CONSTRAINT `RackSpace-FK-object_id` FOREIGN KEY (`object_id`) REFERENCES `RackObject` (`id`) ON DELETE CASCADE
798 ) ENGINE=InnoDB;
799
800 CREATE TABLE `Script` (
801 `script_name` char(64) NOT NULL,
802 `script_text` longtext,
803 PRIMARY KEY (`script_name`)
804 ) ENGINE=InnoDB;
805
806 CREATE TABLE `TagStorage` (
807 `entity_realm` enum('file','ipv4net','ipv4vs','ipv4rspool','object','rack','user','ipv6net','vst') NOT NULL default 'object',
808 `entity_id` int(10) unsigned NOT NULL,
809 `tag_id` int(10) unsigned NOT NULL default '0',
810 UNIQUE KEY `entity_tag` (`entity_realm`,`entity_id`,`tag_id`),
811 KEY `entity_id` (`entity_id`),
812 KEY `TagStorage-FK-tag_id` (`tag_id`),
813 CONSTRAINT `TagStorage-FK-tag_id` FOREIGN KEY (`tag_id`) REFERENCES `TagTree` (`id`)
814 ) ENGINE=InnoDB;
815
816 CREATE TABLE `TagTree` (
817 `id` int(10) unsigned NOT NULL auto_increment,
818 `parent_id` int(10) unsigned default NULL,
819 `tag` char(255) default NULL,
820 PRIMARY KEY (`id`),
821 UNIQUE KEY `tag` (`tag`),
822 KEY `TagTree-K-parent_id` (`parent_id`),
823 CONSTRAINT `TagTree-K-parent_id` FOREIGN KEY (`parent_id`) REFERENCES `TagTree` (`id`)
824 ) ENGINE=InnoDB;
825
826 CREATE TABLE `UserAccount` (
827 `user_id` int(10) unsigned NOT NULL auto_increment,
828 `user_name` char(64) NOT NULL default '',
829 `user_password_hash` char(40) default NULL,
830 `user_realname` char(64) default NULL,
831 PRIMARY KEY (`user_id`),
832 UNIQUE KEY `user_name` (`user_name`)
833 ) ENGINE=MyISAM AUTO_INCREMENT=10000;
834
835 CREATE TABLE `UserConfig` (
836 `varname` char(32) NOT NULL,
837 `varvalue` text NOT NULL,
838 `user` char(64) NOT NULL,
839 UNIQUE KEY `user_varname` (`user`,`varname`)
840 ) ENGINE=InnoDB;
841
842 CREATE TABLE `VLANDescription` (
843 `domain_id` int(10) unsigned NOT NULL,
844 `vlan_id` int(10) unsigned NOT NULL default '0',
845 `vlan_type` enum('ondemand','compulsory','alien') NOT NULL default 'ondemand',
846 `vlan_descr` char(255) default NULL,
847 PRIMARY KEY (`domain_id`,`vlan_id`),
848 KEY `vlan_id` (`vlan_id`),
849 CONSTRAINT `VLANDescription-FK-domain_id` FOREIGN KEY (`domain_id`) REFERENCES `VLANDomain` (`id`) ON DELETE CASCADE,
850 CONSTRAINT `VLANDescription-FK-vlan_id` FOREIGN KEY (`vlan_id`) REFERENCES `VLANValidID` (`vlan_id`)
851 ) ENGINE=InnoDB;
852
853 CREATE TABLE `VLANDomain` (
854 `id` int(10) unsigned NOT NULL auto_increment,
855 `description` char(255) default NULL,
856 PRIMARY KEY (`id`),
857 UNIQUE KEY `description` (`description`)
858 ) ENGINE=InnoDB;
859
860 CREATE TABLE `VLANIPv4` (
861 `domain_id` int(10) unsigned NOT NULL,
862 `vlan_id` int(10) unsigned NOT NULL,
863 `ipv4net_id` int(10) unsigned NOT NULL,
864 UNIQUE KEY `network-domain` (`ipv4net_id`,`domain_id`),
865 KEY `VLANIPv4-FK-compound` (`domain_id`,`vlan_id`),
866 CONSTRAINT `VLANIPv4-FK-compound` FOREIGN KEY (`domain_id`, `vlan_id`) REFERENCES `VLANDescription` (`domain_id`, `vlan_id`) ON DELETE CASCADE,
867 CONSTRAINT `VLANIPv4-FK-ipv4net_id` FOREIGN KEY (`ipv4net_id`) REFERENCES `IPv4Network` (`id`) ON DELETE CASCADE
868 ) ENGINE=InnoDB;
869
870 CREATE TABLE `VLANIPv6` (
871 `domain_id` int(10) unsigned NOT NULL,
872 `vlan_id` int(10) unsigned NOT NULL,
873 `ipv6net_id` int(10) unsigned NOT NULL,
874 UNIQUE KEY `network-domain` (`ipv6net_id`,`domain_id`),
875 KEY `VLANIPv6-FK-compound` (`domain_id`,`vlan_id`),
876 CONSTRAINT `VLANIPv6-FK-compound` FOREIGN KEY (`domain_id`, `vlan_id`) REFERENCES `VLANDescription` (`domain_id`, `vlan_id`) ON DELETE CASCADE,
877 CONSTRAINT `VLANIPv6-FK-ipv6net_id` FOREIGN KEY (`ipv6net_id`) REFERENCES `IPv6Network` (`id`) ON DELETE CASCADE
878 ) ENGINE=InnoDB;
879
880 CREATE TABLE `VLANSTRule` (
881 `vst_id` int(10) unsigned NOT NULL,
882 `rule_no` int(10) unsigned NOT NULL,
883 `port_pcre` char(255) NOT NULL,
884 `port_role` enum('access','trunk','anymode','uplink','downlink','none') NOT NULL default 'none',
885 `wrt_vlans` char(255) default NULL,
886 `description` char(255) default NULL,
887 UNIQUE KEY `vst-rule` (`vst_id`,`rule_no`),
888 CONSTRAINT `VLANSTRule-FK-vst_id` FOREIGN KEY (`vst_id`) REFERENCES `VLANSwitchTemplate` (`id`) ON DELETE CASCADE
889 ) ENGINE=InnoDB;
890
891 CREATE TABLE `VLANSwitch` (
892 `object_id` int(10) unsigned NOT NULL,
893 `domain_id` int(10) unsigned NOT NULL,
894 `template_id` int(10) unsigned NOT NULL,
895 `mutex_rev` int(10) unsigned NOT NULL default '0',
896 `out_of_sync` enum('yes','no') NOT NULL default 'yes',
897 `last_errno` int(10) unsigned NOT NULL default '0',
898 `last_change` timestamp NOT NULL default '0000-00-00 00:00:00',
899 `last_push_started` timestamp NOT NULL default '0000-00-00 00:00:00',
900 `last_push_finished` timestamp NOT NULL default '0000-00-00 00:00:00',
901 `last_error_ts` timestamp NOT NULL default '0000-00-00 00:00:00',
902 UNIQUE KEY `object_id` (`object_id`),
903 KEY `domain_id` (`domain_id`),
904 KEY `template_id` (`template_id`),
905 KEY `out_of_sync` (`out_of_sync`),
906 KEY `last_errno` (`last_errno`),
907 CONSTRAINT `VLANSwitch-FK-domain_id` FOREIGN KEY (`domain_id`) REFERENCES `VLANDomain` (`id`),
908 CONSTRAINT `VLANSwitch-FK-object_id` FOREIGN KEY (`object_id`) REFERENCES `RackObject` (`id`),
909 CONSTRAINT `VLANSwitch-FK-template_id` FOREIGN KEY (`template_id`) REFERENCES `VLANSwitchTemplate` (`id`)
910 ) ENGINE=InnoDB;
911
912 CREATE TABLE `VLANSwitchTemplate` (
913 `id` int(10) unsigned NOT NULL auto_increment,
914 `mutex_rev` int(10) NOT NULL,
915 `description` char(255) default NULL,
916 `saved_by` char(64) NOT NULL,
917 PRIMARY KEY (`id`),
918 UNIQUE KEY `description` (`description`)
919 ) ENGINE=InnoDB;
920
921 CREATE TABLE `VLANValidID` (
922 `vlan_id` int(10) unsigned NOT NULL default '1',
923 PRIMARY KEY (`vlan_id`)
924 ) ENGINE=InnoDB;
925
926 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
927 END_OF_FILE;
928 ##########################################################################
929 case 'dictbase':
930 return <<<END_OF_FILE
931 INSERT INTO `Attribute` (`id`, `type`, `name`) VALUES
932 (1,'string','OEM S/N 1'),
933 (2,'dict','HW type'),
934 (3,'string','FQDN'),
935 (4,'dict','SW type'),
936 (5,'string','SW version'),
937 (6,'uint','number of ports'),
938 (7,'float','max. current, Ampers'),
939 (8,'float','power load, percents'),
940 (14,'string','contact person'),
941 (13,'float','max power, Watts'),
942 (16,'uint','flash memory, MB'),
943 (17,'uint','DRAM, MB'),
944 (18,'uint','CPU, MHz'),
945 (20,'string','OEM S/N 2'),
946 (21,'string','support contract expiration'),
947 (22,'string','HW warranty expiration'),
948 (24,'string','SW warranty expiration'),
949 (25,'string','UUID'),
950 (26,'dict','Hypervisor');
951
952 INSERT INTO `AttributeMap` (`objtype_id`, `attr_id`, `chapter_id`) VALUES
953 (2,1,NULL),
954 (2,2,27),
955 (2,3,NULL),
956 (2,5,NULL),
957 (4,1,NULL),
958 (4,2,11),
959 (4,3,NULL),
960 (4,4,13),
961 (4,14,NULL),
962 (4,21,NULL),
963 (4,22,NULL),
964 (4,24,NULL),
965 (4,25,NULL),
966 (4,26,29),
967 (5,1,NULL),
968 (5,2,18),
969 (6,1,NULL),
970 (6,2,19),
971 (6,20,NULL),
972 (7,1,NULL),
973 (7,2,17),
974 (7,3,NULL),
975 (7,4,16),
976 (7,5,NULL),
977 (7,14,NULL),
978 (7,16,NULL),
979 (7,17,NULL),
980 (7,18,NULL),
981 (7,21,NULL),
982 (7,22,NULL),
983 (7,24,NULL),
984 (8,1,NULL),
985 (8,2,12),
986 (8,3,NULL),
987 (8,4,14),
988 (8,5,NULL),
989 (8,14,NULL),
990 (8,16,NULL),
991 (8,17,NULL),
992 (8,18,NULL),
993 (8,20,NULL),
994 (8,21,NULL),
995 (8,22,NULL),
996 (8,24,NULL),
997 (9,6,NULL),
998 (12,1,NULL),
999 (12,3,NULL),
1000 (12,7,NULL),
1001 (12,8,NULL),
1002 (12,13,NULL),
1003 (12,20,NULL),
1004 (445,1,NULL),
1005 (445,2,21),
1006 (445,3,NULL),
1007 (445,5,NULL),
1008 (445,14,NULL),
1009 (445,22,NULL),
1010 (447,1,NULL),
1011 (447,2,22),
1012 (447,3,NULL),
1013 (447,5,NULL),
1014 (447,14,NULL),
1015 (447,22,NULL),
1016 (15,2,23),
1017 (798,1,NULL),
1018 (798,2,24),
1019 (798,3,NULL),
1020 (798,5,NULL),
1021 (798,14,NULL),
1022 (798,16,NULL),
1023 (798,17,NULL),
1024 (798,18,NULL),
1025 (798,20,NULL),
1026 (798,21,NULL),
1027 (798,22,NULL),
1028 (798,24,NULL),
1029 (965,1,NULL),
1030 (965,3,NULL),
1031 (965,2,25),
1032 (1055,2,26),
1033 (1323,1,NULL),
1034 (1323,2,28),
1035 (1323,3,NULL),
1036 (1323,5,NULL),
1037 (1397,1,NULL),
1038 (1397,2,34),
1039 (1397,14,NULL),
1040 (1397,21,NULL),
1041 (1397,22,NULL),
1042 (1398,1,NULL),
1043 (1398,2,35),
1044 (1398,14,NULL),
1045 (1398,21,NULL),
1046 (1398,22,NULL),
1047 (1502,1,NULL),
1048 (1502,2,31),
1049 (1502,3,NULL),
1050 (1502,14,NULL),
1051 (1502,20,NULL),
1052 (1502,21,NULL),
1053 (1502,22,NULL),
1054 (1503,1,NULL),
1055 (1503,2,30),
1056 (1503,3,NULL),
1057 (1503,4,14),
1058 (1503,5,NULL),
1059 (1503,14,NULL),
1060 (1503,16,NULL),
1061 (1503,17,NULL),
1062 (1503,18,NULL),
1063 (1503,20,NULL),
1064 (1503,21,NULL),
1065 (1503,22,NULL),
1066 (1503,24,NULL),
1067 (1504,3,NULL),
1068 (1504,4,13),
1069 (1504,14,NULL),
1070 (1504,24,NULL),
1071 (1505,14,NULL),
1072 (1506,14,NULL),
1073 (1506,17,NULL),
1074 (1506,18,NULL),
1075 (1507,1,NULL),
1076 (1507,2,32),
1077 (1507,3,NULL),
1078 (1507,4,33),
1079 (1507,5,NULL),
1080 (1507,14,NULL),
1081 (1507,20,NULL),
1082 (1507,21,NULL),
1083 (1507,22,NULL);
1084
1085 INSERT INTO `Chapter` (`id`, `sticky`, `name`) VALUES
1086 (1,'yes','RackObjectType'),
1087 (2,'yes','PortOuterInterface'),
1088 (11,'no','server models'),
1089 (12,'no','network switch models'),
1090 (13,'no','server OS type'),
1091 (14,'no','switch OS type'),
1092 (16,'no','router OS type'),
1093 (17,'no','router models'),
1094 (18,'no','disk array models'),
1095 (19,'no','tape library models'),
1096 (21,'no','KVM switch models'),
1097 (22,'no','multiplexer models'),
1098 (23,'no','console models'),
1099 (24,'no','network security models'),
1100 (25,'no','wireless models'),
1101 (26,'no','fibre channel switch models'),
1102 (27,'no','PDU models'),
1103 (28,'no','Voice/video hardware'),
1104 (29,'no','Yes/No'),
1105 (30,'no','network chassis models'),
1106 (31,'no','server chassis models'),
1107 (32,'no','virtual switch models'),
1108 (33,'no','virtual switch OS type'),
1109 (34,'no','power supply chassis models'),
1110 (35,'no','power supply models');
1111
1112 INSERT INTO `PortInnerInterface` VALUES
1113 (1,'hardwired'),
1114 (2,'SFP-100'),
1115 (3,'GBIC'),
1116 (4,'SFP-1000'),
1117 (5,'XENPAK'),
1118 (6,'X2'),
1119 (7,'XPAK'),
1120 (8,'XFP'),
1121 (9,'SFP+');
1122
1123 INSERT INTO `ObjectParentCompat` VALUES
1124 (3,13),
1125 (4,1504),
1126 (4,1507),
1127 (1397,1398),
1128 (1502,4),
1129 (1503,8),
1130 (1505,4),
1131 (1505,1504),
1132 (1505,1506),
1133 (1505,1507),
1134 (1506,1504);
1135
1136 INSERT INTO `PortInterfaceCompat` VALUES
1137 (2,1208),(2,1195),(2,1196),(2,1197),(2,1198),(2,1199),(2,1200),(2,1201),
1138 (3,1078),(3,24),(3,34),(3,1202),(3,1203),(3,1204),(3,1205),(3,1206),(3,1207),
1139 (4,1077),(4,24),(4,34),(4,1202),(4,1203),(4,1204),(4,1205),(4,1206),(4,1207),
1140 (5,1079),(5,30),(5,35),(5,36),(5,37),(5,38),(5,39),(5,40),
1141 (6,1080),(6,30),(6,35),(6,36),(6,37),(6,38),(6,39),(6,40),
1142 (7,1081),(7,30),(7,35),(7,36),(7,37),(7,38),(7,39),(7,40),
1143 (8,1082),(8,30),(8,35),(8,36),(8,37),(8,38),(8,39),(8,40),
1144 (9,1084),(9,30),(9,35),(9,36),(9,37),(9,38),(9,39),(9,40),
1145 (1,16),(1,19),(1,24),(1,29),(1,31),(1,33),(1,446),(1,681),(1,682),(1,1322),(1,1399);
1146
1147 INSERT INTO `PortCompat` (`type1`, `type2`) VALUES
1148 (17,17),
1149 (18,18),
1150 (19,19),
1151 (24,24),
1152 (18,19),
1153 (19,18),
1154 (18,24),
1155 (24,18),
1156 (19,24),
1157 (24,19),
1158 (29,29),
1159 (30,30),
1160 (16,1322),
1161 (1322,16),
1162 (29,681),
1163 (29,682),
1164 (32,32),
1165 (33,446),
1166 (34,34),
1167 (35,35),
1168 (36,36),
1169 (37,37),
1170 (38,38),
1171 (39,39),
1172 (40,40),
1173 (41,41),
1174 (439,439),
1175 (446,33),
1176 (681,29),
1177 (681,681),
1178 (681,682),
1179 (682,29),
1180 (682,681),
1181 (682,682),
1182 (1077,1077),
1183 (1084,1084),
1184 (1087,1087),
1185 (1195,1195),
1186 (1196,1196),
1187 (1197,1197),
1188 (1198,1199),
1189 (1199,1198),
1190 (1200,1200),
1191 (1201,1201),
1192 (1202,1202),
1193 (1203,1203),
1194 (1204,1204),
1195 (1205,1205),
1196 (1206,1207),
1197 (1207,1206),
1198 (1209,1209),
1199 (1210,1210),
1200 (1211,1211),
1201 (1212,1212),
1202 (1213,1213),
1203 (1214,1214),
1204 (1215,1215),
1205 (1216,1216),
1206 (1217,1217),
1207 (1218,1218),
1208 (1219,1219),
1209 (1220,1220),
1210 (1221,1221),
1211 (1222,1222),
1212 (1223,1223),
1213 (1224,1224),
1214 (1225,1225),
1215 (1226,1226),
1216 (1227,1227),
1217 (1228,1228),
1218 (1229,1229),
1219 (1230,1230),
1220 (1231,1231),
1221 (1232,1232),
1222 (1233,1233),
1223 (1234,1234),
1224 (1235,1235),
1225 (1236,1236),
1226 (1237,1237),
1227 (1238,1238),
1228 (1239,1239),
1229 (1240,1240),
1230 (1241,1241),
1231 (1242,1242),
1232 (1243,1243),
1233 (1244,1244),
1234 (1245,1245),
1235 (1246,1246),
1236 (1247,1247),
1237 (1248,1248),
1238 (1249,1249),
1239 (1250,1250),
1240 (1251,1251),
1241 (1252,1252),
1242 (1253,1253),
1243 (1254,1254),
1244 (1255,1255),
1245 (1256,1256),
1246 (1257,1257),
1247 (1258,1258),
1248 (1259,1259),
1249 (1260,1260),
1250 (1261,1261),
1251 (1262,1262),
1252 (1263,1263),
1253 (1264,1264),
1254 (1265,1265),
1255 (1266,1266),
1256 (1267,1267),
1257 (1268,1268),
1258 (1269,1269),
1259 (1270,1270),
1260 (1271,1271),
1261 (1272,1272),
1262 (1273,1273),
1263 (1274,1274),
1264 (1275,1275),
1265 (1276,1276),
1266 (1277,1277),
1267 (1278,1278),
1268 (1279,1279),
1269 (1280,1280),
1270 (1281,1281),
1271 (1282,1282),
1272 (1283,1283),
1273 (1284,1284),
1274 (1285,1285),
1275 (1286,1286),
1276 (1287,1287),
1277 (1288,1288),
1278 (1289,1289),
1279 (1290,1290),
1280 (1291,1291),
1281 (1292,1292),
1282 (1293,1293),
1283 (1294,1294),
1284 (1295,1295),
1285 (1296,1296),
1286 (1297,1297),
1287 (1298,1298),
1288 (1299,1299),
1289 (1300,1300),
1290 (1316,1316),
1291 (1424,1424),
1292 (1425,1425),
1293 (1426,1426),
1294 (1427,1427),
1295 (1428,1428),
1296 (1429,1429),
1297 (1430,1430),
1298 (1431,1431),
1299 (1432,1432),
1300 (1433,1433),
1301 (1434,1434),
1302 (1435,1435),
1303 (1436,1436),
1304 (1437,1437),
1305 (1438,1438),
1306 (1439,1439),
1307 (1440,1440),
1308 (1441,1441),
1309 (1442,1442),
1310 (1443,1443),
1311 (1444,1444),
1312 (1445,1445),
1313 (1446,1446),
1314 (1447,1447),
1315 (1448,1448),
1316 (1449,1449),
1317 (1450,1450),
1318 (1451,1451),
1319 (1452,1452),
1320 (1453,1453),
1321 (1454,1454),
1322 (1455,1455),
1323 (1456,1456),
1324 (1457,1457),
1325 (1458,1458),
1326 (1459,1459),
1327 (1460,1460),
1328 (1461,1461),
1329 (1462,1462),
1330 (1463,1463),
1331 (1464,1464),
1332 (1465,1465),
1333 (1466,1466),
1334 (1399,1399);
1335
1336 INSERT INTO `Config` (varname, varvalue, vartype, emptyok, is_hidden, is_userdefined, description) VALUES
1337 ('color_F','8fbfbf','string','no','yes','no','HSV: 180-25-75. Free atoms, they are available for allocation to objects.'),
1338 ('color_A','bfbfbf','string','no','yes','no','HSV: 0-0-75. Absent atoms.'),
1339 ('color_U','bf8f8f','string','no','yes','no','HSV: 0-25-75. Unusable atoms. Some problems keep them from being free.'),
1340 ('color_T','408080','string','no','yes','no','HSV: 180-50-50. Taken atoms, object_id should be set for such.'),
1341 ('color_Th','80ffff','string','no','yes','no','HSV: 180-50-100. Taken atoms with highlight. They are not stored in the database and are only used for highlighting.'),
1342 ('color_Tw','804040','string','no','yes','no','HSV: 0-50-50. Taken atoms with object problem. This is detected at runtime.'),
1343 ('color_Thw','ff8080','string','no','yes','no','HSV: 0-50-100. An object can be both current and problematic. We run highlightObject() first and markupObjectProblems() second.'),
1344 ('MASSCOUNT','8','uint','no','no','yes','&quot;Fast&quot; form is this many records tall'),
1345 ('MAXSELSIZE','30','uint','no','no','yes','&lt;SELECT&gt; lists height'),
1346 ('enterprise','MyCompanyName','string','no','no','no','Organization name'),
1347 ('ROW_SCALE','2','uint','no','no','yes','Picture scale for rack row display'),
1348 ('PORTS_PER_ROW','12','uint','no','no','yes','Ports per row in VLANs tab'),
1349 ('IPV4_ADDRS_PER_PAGE','256','uint','no','no','yes','IPv4 addresses per page'),
1350 ('DEFAULT_RACK_HEIGHT','42','uint','yes','no','yes','Default rack height'),
1351 ('DEFAULT_SLB_VS_PORT','','uint','yes','no','yes','Default port of SLB virtual service'),
1352 ('DEFAULT_SLB_RS_PORT','','uint','yes','no','yes','Default port of SLB real server'),
1353 ('DETECT_URLS','no','string','yes','no','yes','Detect URLs in text fields'),
1354 ('RACK_PRESELECT_THRESHOLD','1','uint','no','no','yes','Rack pre-selection threshold'),
1355 ('DEFAULT_IPV4_RS_INSERVICE','no','string','no','no','yes','Inservice status for new SLB real servers'),
1356 ('AUTOPORTS_CONFIG','4 = 1*33*kvm + 2*24*eth%u;15 = 1*446*kvm','string','yes','no','no','AutoPorts configuration'),
1357 ('DEFAULT_OBJECT_TYPE','4','uint','yes','no','yes','Default object type for new objects'),
1358 ('SHOW_EXPLICIT_TAGS','yes','string','no','no','yes','Show explicit tags'),
1359 ('SHOW_IMPLICIT_TAGS','yes','string','no','no','yes','Show implicit tags'),
1360 ('SHOW_AUTOMATIC_TAGS','no','string','no','no','yes','Show automatic tags'),
1361 ('IPV4_AUTO_RELEASE','1','uint','no','no','yes','Auto-release IPv4 addresses on allocation'),
1362 ('SHOW_LAST_TAB','no','string','yes','no','yes','Remember last tab shown for each page'),
1363 ('EXT_IPV4_VIEW','yes','string','no','no','yes','Extended IPv4 view'),
1364 ('TREE_THRESHOLD','25','uint','yes','no','yes','Tree view auto-collapse threshold'),
1365 ('IPV4_JAYWALK','no','string','no','no','no','Enable IPv4 address allocations w/o covering network'),
1366 ('ADDNEW_AT_TOP','yes','string','no','no','yes','Render "add new" line at top of the list'),
1367 ('IPV4_TREE_SHOW_USAGE','yes','string','no','no','yes','Show address usage in IPv4 tree'),
1368 ('PREVIEW_TEXT_MAXCHARS','10240','uint','yes','no','yes','Max chars for text file preview'),
1369 ('PREVIEW_TEXT_ROWS','25','uint','yes','no','yes','Rows for text file preview'),
1370 ('PREVIEW_TEXT_COLS','80','uint','yes','no','yes','Columns for text file preview'),
1371 ('PREVIEW_IMAGE_MAXPXS','320','uint','yes','no','yes','Max pixels per axis for image file preview'),
1372 ('VENDOR_SIEVE','','string','yes','no','yes','Vendor sieve configuration'),
1373 ('IPV4LB_LISTSRC','{\$typeid_4}','string','yes','no','no','List source: IPv4 load balancers'),
1374 ('IPV4OBJ_LISTSRC','{\$typeid_4} or {\$typeid_7} or {\$typeid_8} or {\$typeid_12} or {\$typeid_445} or {\$typeid_447} or {\$typeid_798} or {\$typeid_1397} or {\$typeid_1502} or {\$typeid_1503} or {\$typeid_1504} or {\$typeid_1507}','string','yes','no','no','List source: IPv4-enabled objects'),
1375 ('IPV4NAT_LISTSRC','{\$typeid_4} or {\$typeid_7} or {\$typeid_8} or {\$typeid_798}','string','yes','no','no','List source: IPv4 NAT performers'),
1376 ('ASSETWARN_LISTSRC','{\$typeid_4} or {\$typeid_7} or {\$typeid_8}','string','yes','no','no','List source: object, for which asset tag should be set'),
1377 ('NAMEWARN_LISTSRC','{\$typeid_4} or {\$typeid_7} or {\$typeid_8}','string','yes','no','no','List source: object, for which common name should be set'),
1378 ('RACKS_PER_ROW','12','uint','yes','no','yes','Racks per row'),
1379 ('FILTER_PREDICATE_SIEVE','','string','yes','no','no','Predicate sieve regex(7)'),
1380 ('FILTER_DEFAULT_ANDOR','or','string','no','no','no','Default list filter boolean operation (or/and)'),
1381 ('FILTER_SUGGEST_ANDOR','yes','string','no','no','no','Suggest and/or selector in list filter'),
1382 ('FILTER_SUGGEST_TAGS','yes','string','no','no','no','Suggest tags in list filter'),
1383 ('FILTER_SUGGEST_PREDICATES','yes','string','no','no','no','Suggest predicates in list filter'),
1384 ('FILTER_SUGGEST_EXTRA','no','string','no','no','no','Suggest extra expression in list filter'),
1385 ('DEFAULT_SNMP_COMMUNITY','public','string','no','no','no','Default SNMP Community string'),
1386 ('IPV4_ENABLE_KNIGHT','yes','string','no','no','no','Enable IPv4 knight feature'),
1387 ('TAGS_TOPLIST_SIZE','50','uint','yes','no','no','Tags top list size'),
1388 ('TAGS_QUICKLIST_SIZE','20','uint','no','no','no','Tags quick list size'),
1389 ('TAGS_QUICKLIST_THRESHOLD','50','uint','yes','no','no','Tags quick list threshold'),
1390 ('ENABLE_MULTIPORT_FORM','no','string','no','no','no','Enable "Add/update multiple ports" form'),
1391 ('DEFAULT_PORT_IIF_ID','1','uint','no','no','no','Default port inner interface ID'),
1392 ('DEFAULT_PORT_OIF_IDS','1=24; 3=1078; 4=1077; 5=1079; 6=1080; 8=1082; 9=1084','string','no','no','no','Default port outer interface IDs'),
1393 ('IPV4_TREE_RTR_AS_CELL','yes','string','no','no','no','Show full router info for each network in IPv4 tree view'),
1394 ('PROXIMITY_RANGE','0','uint','yes','no','no','Proximity range (0 is current rack only)'),
1395 ('VLANSWITCH_LISTSRC', '', 'string', 'yes', 'no', 'yes', 'List of VLAN running switches'),
1396 ('VLANIPV4NET_LISTSRC', '', 'string', 'yes', 'no', 'yes', 'List of VLAN-based IPv4 networks'),
1397 ('IPV4_TREE_SHOW_VLAN','yes','string','no','no','yes','Show VLAN for each network in IPv4 tree'),
1398 ('DEFAULT_VDOM_ID','','uint','yes','no','yes','Default VLAN domain ID'),
1399 ('DEFAULT_VST_ID','','uint','yes','no','yes','Default VLAN switch template ID'),
1400 ('8021Q_DEPLOY_MINAGE','300','uint','no','no','no','802.1Q deploy minimum age'),
1401 ('8021Q_DEPLOY_MAXAGE','3600','uint','no','no','no','802.1Q deploy maximum age'),
1402 ('8021Q_DEPLOY_RETRY','10800','uint','no','no','no','802.1Q deploy retry timer'),
1403 ('8021Q_WRI_AFTER_CONFT_LISTSRC','false','string','no','no','no','802.1Q: save device configuration after deploy (RackCode)'),
1404 ('8021Q_INSTANT_DEPLOY','no','string','no','no','yes','802.1Q: instant deploy'),
1405 ('STATIC_FILTER','yes','string','no','no','yes','Enable Filter Caching'),
1406 ('ENABLE_BULKPORT_FORM','yes','string','no','no','yes','Enable "Bulk Port" form'),
1407 ('CDP_RUNNERS_LISTSRC', '', 'string', 'yes', 'no', 'no', 'List of devices running CDP'),
1408 ('LLDP_RUNNERS_LISTSRC', '', 'string', 'yes', 'no', 'no', 'List of devices running LLDP'),
1409 ('HNDP_RUNNERS_LISTSRC', '', 'string', 'yes', 'no', 'no', 'List of devices running HNDP (RackCode)'),
1410 ('SHRINK_TAG_TREE_ON_CLICK','yes','string','no','no','yes','Dynamically hide useless tags in tagtree'),
1411 ('MAX_UNFILTERED_ENTITIES','0','uint','no','no','yes','Max item count to display on unfiltered result page'),
1412 ('SYNCDOMAIN_MAX_PROCESSES','0','uint','yes','no', 'no', 'How many worker proceses syncdomain cron script should create'),
1413 ('PORT_EXCLUSION_LISTSRC','{\$typeid_3} or {\$typeid_10} or {\$typeid_11} or {\$typeid_1505} or {\$typeid_1506}','string','yes','no','no','List source: objects without ports'),
1414 ('FILTER_RACKLIST_BY_TAGS','yes','string','yes','no','yes','Rackspace: show only racks matching the current object\'s tags'),
1415 ('SSH_OBJS_LISTSRC','none','string','yes','no','yes','Rackcode filter for SSH-managed objects'),
1416 ('TELNET_OBJS_LISTSRC','none','string','yes','no','yes','Rackcode filter for telnet-managed objects'),
1417 ('DB_VERSION','0.19.3','string','no','yes','no','Database version.');
1418
1419 INSERT INTO `Script` VALUES ('RackCode','allow {\$userid_1}');
1420
1421 INSERT INTO VLANValidID (vlan_id) VALUES
1422 (1),
1423 (2),
1424 (3),
1425 (4),
1426 (5),
1427 (6),
1428 (7),
1429 (8),
1430 (9),
1431 (10),
1432 (11),
1433 (12),
1434 (13),
1435 (14),
1436 (15),
1437 (16),
1438 (17),
1439 (18),
1440 (19),
1441 (20),
1442 (21),
1443 (22),
1444 (23),
1445 (24),
1446 (25),
1447 (26),
1448 (27),
1449 (28),
1450 (29),
1451 (30),
1452 (31),
1453 (32),
1454 (33),
1455 (34),
1456 (35),
1457 (36),
1458 (37),
1459 (38),
1460 (39),
1461 (40),
1462 (41),
1463 (42),
1464 (43),
1465 (44),
1466 (45),
1467 (46),
1468 (47),
1469 (48),
1470 (49),
1471 (50),
1472 (51),
1473 (52),
1474 (53),
1475 (54),
1476 (55),
1477 (56),
1478 (57),
1479 (58),
1480 (59),
1481 (60),
1482 (61),
1483 (62),
1484 (63),
1485 (64),
1486 (65),
1487 (66),
1488 (67),
1489 (68),
1490 (69),
1491 (70),
1492 (71),
1493 (72),
1494 (73),
1495 (74),
1496 (75),
1497 (76),
1498 (77),
1499 (78),
1500 (79),
1501 (80),
1502 (81),
1503 (82),
1504 (83),
1505 (84),
1506 (85),
1507 (86),
1508 (87),
1509 (88),
1510 (89),
1511 (90),
1512 (91),
1513 (92),
1514 (93),
1515 (94),
1516 (95),
1517 (96),
1518 (97),
1519 (98),
1520 (99),
1521 (100),
1522 (101),
1523 (102),
1524 (103),
1525 (104),
1526 (105),
1527 (106),
1528 (107),
1529 (108),
1530 (109),
1531 (110),
1532 (111),
1533 (112),
1534 (113),
1535 (114),
1536 (115),
1537 (116),
1538 (117),
1539 (118),
1540 (119),
1541 (120),
1542 (121),
1543 (122),
1544 (123),
1545 (124),
1546 (125),
1547 (126),
1548 (127),
1549 (128),
1550 (129),
1551 (130),
1552 (131),
1553 (132),
1554 (133),
1555 (134),
1556 (135),
1557 (136),
1558 (137),
1559 (138),
1560 (139),
1561 (140),
1562 (141),
1563 (142),
1564 (143),
1565 (144),
1566 (145),
1567 (146),
1568 (147),
1569 (148),
1570 (149),
1571 (150),
1572 (151),
1573 (152),
1574 (153),
1575 (154),
1576 (155),
1577 (156),
1578 (157),
1579 (158),
1580 (159),
1581 (160),
1582 (161),
1583 (162),
1584 (163),
1585 (164),
1586 (165),
1587 (166),
1588 (167),
1589 (168),
1590 (169),
1591 (170),
1592 (171),
1593 (172),
1594 (173),
1595 (174),
1596 (175),
1597 (176),
1598 (177),
1599 (178),
1600 (179),
1601 (180),
1602 (181),
1603 (182),
1604 (183),
1605 (184),
1606 (185),
1607 (186),
1608 (187),
1609 (188),
1610 (189),
1611 (190),
1612 (191),
1613 (192),
1614 (193),
1615 (194),
1616 (195),
1617 (196),
1618 (197),
1619 (198),
1620 (199),
1621 (200),
1622 (201),
1623 (202),
1624 (203),
1625 (204),
1626 (205),
1627 (206),
1628 (207),
1629 (208),
1630 (209),
1631 (210),
1632 (211),
1633 (212),
1634 (213),
1635 (214),
1636 (215),
1637 (216),
1638 (217),
1639 (218),
1640 (219),
1641 (220),
1642 (221),
1643 (222),
1644 (223),
1645 (224),
1646 (225),
1647 (226),
1648 (227),
1649 (228),
1650 (229),
1651 (230),
1652 (231),
1653 (232),
1654 (233),
1655 (234),
1656 (235),
1657 (236),
1658 (237),
1659 (238),
1660 (239),
1661 (240),
1662 (241),
1663 (242),
1664 (243),
1665 (244),
1666 (245),
1667 (246),
1668 (247),
1669 (248),
1670 (249),
1671 (250),
1672 (251),
1673 (252),
1674 (253),
1675 (254),
1676 (255),
1677 (256),
1678 (257),
1679 (258),
1680 (259),
1681 (260),
1682 (261),
1683 (262),
1684 (263),
1685 (264),
1686 (265),
1687 (266),
1688 (267),
1689 (268),
1690 (269),
1691 (270),
1692 (271),
1693 (272),
1694 (273),
1695 (274),
1696 (275),
1697 (276),
1698 (277),
1699 (278),
1700 (279),
1701 (280),
1702 (281),
1703 (282),
1704 (283),
1705 (284),
1706 (285),
1707 (286),
1708 (287),
1709 (288),
1710 (289),
1711 (290),
1712 (291),
1713 (292),
1714 (293),
1715 (294),
1716 (295),
1717 (296),
1718 (297),
1719 (298),
1720 (299),
1721 (300),
1722 (301),
1723 (302),
1724 (303),
1725 (304),
1726 (305),
1727 (306),
1728 (307),
1729 (308),
1730 (309),
1731 (310),
1732 (311),
1733 (312),
1734 (313),
1735 (314),
1736 (315),
1737 (316),
1738 (317),
1739 (318),
1740 (319),
1741 (320),
1742 (321),
1743 (322),
1744 (323),
1745 (324),
1746 (325),
1747 (326),
1748 (327),
1749 (328),
1750 (329),
1751 (330),
1752 (331),
1753 (332),
1754 (333),
1755 (334),
1756 (335),
1757 (336),
1758 (337),
1759 (338),
1760 (339),
1761 (340),
1762 (341),
1763 (342),
1764 (343),
1765 (344),
1766 (345),
1767 (346),
1768 (347),
1769 (348),
1770 (349),
1771 (350),
1772 (351),
1773 (352),
1774 (353),
1775 (354),
1776 (355),
1777 (356),
1778 (357),
1779 (358),
1780 (359),
1781 (360),
1782 (361),
1783 (362),
1784 (363),
1785 (364),
1786 (365),
1787 (366),
1788 (367),
1789 (368),
1790 (369),
1791 (370),
1792 (371),
1793 (372),
1794 (373),
1795 (374),
1796 (375),
1797 (376),
1798 (377),
1799 (378),
1800 (379),
1801 (380),
1802 (381),
1803 (382),
1804 (383),
1805 (384),
1806 (385),
1807 (386),
1808 (387),
1809 (388),
1810 (389),
1811 (390),
1812 (391),
1813 (392),
1814 (393),
1815 (394),
1816 (395),
1817 (396),
1818 (397),
1819 (398),
1820 (399),
1821 (400),
1822 (401),
1823 (402),
1824 (403),
1825 (404),
1826 (405),
1827 (406),
1828 (407),
1829 (408),
1830 (409),
1831 (410),
1832 (411),
1833 (412),
1834 (413),
1835 (414),
1836 (415),
1837 (416),
1838 (417),
1839 (418),
1840 (419),
1841 (420),
1842 (421),
1843 (422),
1844 (423),
1845 (424),
1846 (425),
1847 (426),
1848 (427),
1849 (428),
1850 (429),
1851 (430),
1852 (431),
1853 (432),
1854 (433),
1855 (434),
1856 (435),
1857 (436),
1858 (437),
1859 (438),
1860 (439),
1861 (440),
1862 (441),
1863 (442),
1864 (443),
1865 (444),
1866 (445),
1867 (446),
1868 (447),
1869 (448),
1870 (449),
1871 (450),
1872 (451),
1873 (452),
1874 (453),
1875 (454),
1876 (455),
1877 (456),
1878 (457),
1879 (458),
1880 (459),
1881 (460),
1882 (461),
1883 (462),
1884 (463),
1885 (464),
1886 (465),
1887 (466),
1888 (467),
1889 (468),
1890 (469),
1891 (470),
1892 (471),
1893 (472),
1894 (473),
1895 (474),
1896 (475),
1897 (476),
1898 (477),
1899 (478),
1900 (479),
1901 (480),
1902 (481),
1903 (482),
1904 (483),
1905 (484),
1906 (485),
1907 (486),
1908 (487),
1909 (488),
1910 (489),
1911 (490),
1912 (491),
1913 (492),
1914 (493),
1915 (494),
1916 (495),
1917 (496),
1918 (497),
1919 (498),
1920 (499),
1921 (500),
1922 (501),
1923 (502),
1924 (503),
1925 (504),
1926 (505),
1927 (506),
1928 (507),
1929 (508),
1930 (509),
1931 (510),
1932 (511),
1933 (512),
1934 (513),
1935 (514),
1936 (515),
1937 (516),
1938 (517),
1939 (518),
1940 (519),
1941 (520),
1942 (521),
1943 (522),
1944 (523),
1945 (524),
1946 (525),
1947 (526),
1948 (527),
1949 (528),
1950 (529),
1951 (530),
1952 (531),
1953 (532),
1954 (533),
1955 (534),
1956 (535),
1957 (536),
1958 (537),
1959 (538),
1960 (539),
1961 (540),
1962 (541),
1963 (542),
1964 (543),
1965 (544),
1966 (545),
1967 (546),
1968 (547),
1969 (548),
1970 (549),
1971 (550),
1972 (551),
1973 (552),
1974 (553),
1975 (554),
1976 (555),
1977 (556),
1978 (557),
1979 (558),
1980 (559),
1981 (560),
1982 (561),
1983 (562),
1984 (563),
1985 (564),
1986 (565),
1987 (566),
1988 (567),
1989 (568),
1990 (569),
1991 (570),
1992 (571),
1993 (572),
1994 (573),
1995 (574),
1996 (575),
1997 (576),
1998 (577),
1999 (578),
2000 (579),
2001 (580),
2002 (581),
2003 (582),
2004 (583),
2005 (584),
2006 (585),
2007 (586),
2008 (587),
2009 (588),
2010 (589),
2011 (590),
2012 (591),
2013 (592),
2014 (593),
2015 (594),
2016 (595),
2017 (596),
2018 (597),
2019 (598),
2020 (599),
2021 (600),
2022 (601),
2023 (602),
2024 (603),
2025 (604),
2026 (605),
2027 (606),
2028 (607),
2029 (608),
2030 (609),
2031 (610),
2032 (611),
2033 (612),
2034 (613),
2035 (614),
2036 (615),
2037 (616),
2038 (617),
2039 (618),
2040 (619),
2041 (620),
2042 (621),
2043 (622),
2044 (623),
2045 (624),
2046 (625),
2047 (626),
2048 (627),
2049 (628),
2050 (629),
2051 (630),
2052 (631),
2053 (632),
2054 (633),
2055 (634),
2056 (635),
2057 (636),
2058 (637),
2059 (638),
2060 (639),
2061 (640),
2062 (641),
2063 (642),
2064 (643),
2065 (644),
2066 (645),
2067 (646),
2068 (647),
2069 (648),
2070 (649),
2071 (650),
2072 (651),
2073 (652),
2074 (653),
2075 (654),
2076 (655),
2077 (656),
2078 (657),
2079 (658),
2080 (659),
2081 (660),
2082 (661),
2083 (662),
2084 (663),
2085 (664),
2086 (665),
2087 (666),
2088 (667),
2089 (668),
2090 (669),
2091 (670),
2092 (671),
2093 (672),
2094 (673),
2095 (674),
2096 (675),
2097 (676),
2098 (677),
2099 (678),
2100 (679),
2101 (680),
2102 (681),
2103 (682),
2104 (683),
2105 (684),
2106 (685),
2107 (686),
2108 (687),
2109 (688),
2110 (689),
2111 (690),
2112 (691),
2113 (692),
2114 (693),
2115 (694),
2116 (695),
2117 (696),
2118 (697),
2119 (698),
2120 (699),
2121 (700),
2122 (701),
2123 (702),
2124 (703),
2125 (704),
2126 (705),
2127 (706),
2128 (707),
2129 (708),
2130 (709),
2131 (710),
2132 (711),
2133 (712),
2134 (713),
2135 (714),
2136 (715),
2137 (716),
2138 (717),
2139 (718),
2140 (719),
2141 (720),
2142 (721),
2143 (722),
2144 (723),
2145 (724),
2146 (725),
2147 (726),
2148 (727),
2149 (728),
2150 (729),
2151 (730),
2152 (731),
2153 (732),
2154 (733),
2155 (734),
2156 (735),
2157 (736),
2158 (737),
2159 (738),
2160 (739),
2161 (740),
2162 (741),
2163 (742),
2164 (743),
2165 (744),
2166 (745),
2167 (746),
2168 (747),
2169 (748),
2170 (749),
2171 (750),
2172 (751),
2173 (752),
2174 (753),
2175 (754),
2176 (755),
2177 (756),
2178 (757),
2179 (758),
2180 (759),
2181 (760),
2182 (761),
2183 (762),
2184 (763),
2185 (764),
2186 (765),
2187 (766),
2188 (767),
2189 (768),
2190 (769),
2191 (770),
2192 (771),
2193 (772),
2194 (773),
2195 (774),
2196 (775),
2197 (776),
2198 (777),
2199 (778),
2200 (779),
2201 (780),
2202 (781),
2203 (782),
2204 (783),
2205 (784),
2206 (785),
2207 (786),
2208 (787),
2209 (788),
2210 (789),
2211 (790),
2212 (791),
2213 (792),
2214 (793),
2215 (794),
2216 (795),
2217 (796),
2218 (797),
2219 (798),
2220 (799),
2221 (800),
2222 (801),
2223 (802),
2224 (803),
2225 (804),
2226 (805),
2227 (806),
2228 (807),
2229 (808),
2230 (809),
2231 (810),
2232 (811),
2233 (812),
2234 (813),
2235 (814),
2236 (815),
2237 (816),
2238 (817),
2239 (818),
2240 (819),
2241 (820),
2242 (821),
2243 (822),
2244 (823),
2245 (824),
2246 (825),
2247 (826),
2248 (827),
2249 (828),
2250 (829),
2251 (830),
2252 (831),
2253 (832),
2254 (833),
2255 (834),
2256 (835),
2257 (836),
2258 (837),
2259 (838),
2260 (839),
2261 (840),
2262 (841),
2263 (842),
2264 (843),
2265 (844),
2266 (845),
2267 (846),
2268 (847),
2269 (848),
2270 (849),
2271 (850),
2272 (851),
2273 (852),
2274 (853),
2275 (854),
2276 (855),
2277 (856),
2278 (857),
2279 (858),
2280 (859),
2281 (860),
2282 (861),
2283 (862),
2284 (863),
2285 (864),
2286 (865),
2287 (866),
2288 (867),
2289 (868),
2290 (869),
2291 (870),
2292 (871),
2293 (872),
2294 (873),
2295 (874),
2296 (875),
2297 (876),
2298 (877),
2299 (878),
2300 (879),
2301 (880),
2302 (881),
2303 (882),
2304 (883),
2305 (884),
2306 (885),
2307 (886),
2308 (887),
2309 (888),
2310 (889),
2311 (890),
2312 (891),
2313 (892),
2314 (893),
2315 (894),
2316 (895),
2317 (896),
2318 (897),
2319 (898),
2320 (899),
2321 (900),
2322 (901),
2323 (902),
2324 (903),
2325 (904),
2326 (905),
2327 (906),
2328 (907),
2329 (908),
2330 (909),
2331 (910),
2332 (911),
2333 (912),
2334 (913),
2335 (914),
2336 (915),
2337 (916),
2338 (917),
2339 (918),
2340 (919),
2341 (920),
2342 (921),
2343 (922),
2344 (923),
2345 (924),
2346 (925),
2347 (926),
2348 (927),
2349 (928),
2350 (929),
2351 (930),
2352 (931),
2353 (932),
2354 (933),
2355 (934),
2356 (935),
2357 (936),
2358 (937),
2359 (938),
2360 (939),
2361 (940),
2362 (941),
2363 (942),
2364 (943),
2365 (944),
2366 (945),
2367 (946),
2368 (947),
2369 (948),
2370 (949),
2371 (950),
2372 (951),
2373 (952),
2374 (953),
2375 (954),
2376 (955),
2377 (956),
2378 (957),
2379 (958),
2380 (959),
2381 (960),
2382 (961),
2383 (962),
2384 (963),
2385 (964),
2386 (965),
2387 (966),
2388 (967),
2389 (968),
2390 (969),
2391 (970),
2392 (971),
2393 (972),
2394 (973),
2395 (974),
2396 (975),
2397 (976),
2398 (977),
2399 (978),
2400 (979),
2401 (980),
2402 (981),
2403 (982),
2404 (983),
2405 (984),
2406 (985),
2407 (986),
2408 (987),
2409 (988),
2410 (989),
2411 (990),
2412 (991),
2413 (992),
2414 (993),
2415 (994),
2416 (995),
2417 (996),
2418 (997),
2419 (998),
2420 (999),
2421 (1000),
2422 (1001),
2423 (1002),
2424 (1003),
2425 (1004),
2426 (1005),
2427 (1006),
2428 (1007),
2429 (1008),
2430 (1009),
2431 (1010),
2432 (1011),
2433 (1012),
2434 (1013),
2435 (1014),
2436 (1015),
2437 (1016),
2438 (1017),
2439 (1018),
2440 (1019),
2441 (1020),
2442 (1021),
2443 (1022),
2444 (1023),
2445 (1024),
2446 (1025),
2447 (1026),
2448 (1027),
2449 (1028),
2450 (1029),
2451 (1030),
2452 (1031),
2453 (1032),
2454 (1033),
2455 (1034),
2456 (1035),
2457 (1036),
2458 (1037),
2459 (1038),
2460 (1039),
2461 (1040),
2462 (1041),
2463 (1042),
2464 (1043),
2465 (1044),
2466 (1045),
2467 (1046),
2468 (1047),
2469 (1048),
2470 (1049),
2471 (1050),
2472 (1051),
2473 (1052),
2474 (1053),
2475 (1054),
2476 (1055),
2477 (1056),
2478 (1057),
2479 (1058),
2480 (1059),
2481 (1060),
2482 (1061),
2483 (1062),
2484 (1063),
2485 (1064),
2486 (1065),
2487 (1066),
2488 (1067),
2489 (1068),
2490 (1069),
2491 (1070),
2492 (1071),
2493 (1072),
2494 (1073),
2495 (1074),
2496 (1075),
2497 (1076),
2498 (1077),
2499 (1078),
2500 (1079),
2501 (1080),
2502 (1081),
2503 (1082),
2504 (1083),
2505 (1084),
2506 (1085),
2507 (1086),
2508 (1087),
2509 (1088),
2510 (1089),
2511 (1090),
2512 (1091),
2513 (1092),
2514 (1093),
2515 (1094),
2516 (1095),
2517 (1096),
2518 (1097),
2519 (1098),
2520 (1099),
2521 (1100),
2522 (1101),
2523 (1102),
2524 (1103),
2525 (1104),
2526 (1105),
2527 (1106),
2528 (1107),
2529 (1108),
2530 (1109),
2531 (1110),
2532 (1111),
2533 (1112),
2534 (1113),
2535 (1114),
2536 (1115),
2537 (1116),
2538 (1117),
2539 (1118),
2540 (1119),
2541 (1120),
2542 (1121),
2543 (1122),
2544 (1123),
2545 (1124),
2546 (1125),
2547 (1126),
2548 (1127),
2549 (1128),
2550 (1129),
2551 (1130),
2552 (1131),
2553 (1132),
2554 (1133),
2555 (1134),
2556 (1135),
2557 (1136),
2558 (1137),
2559 (1138),
2560 (1139),
2561 (1140),
2562 (1141),
2563 (1142),
2564 (1143),
2565 (1144),
2566 (1145),
2567 (1146),
2568 (1147),
2569 (1148),
2570 (1149),
2571 (1150),
2572 (1151),
2573 (1152),
2574 (1153),
2575 (1154),
2576 (1155),
2577 (1156),
2578 (1157),
2579 (1158),
2580 (1159),
2581 (1160),
2582 (1161),
2583 (1162),
2584 (1163),
2585 (1164),
2586 (1165),
2587 (1166),
2588 (1167),
2589 (1168),
2590 (1169),
2591 (1170),
2592 (1171),
2593 (1172),
2594 (1173),
2595 (1174),
2596 (1175),
2597 (1176),
2598 (1177),
2599 (1178),
2600 (1179),
2601 (1180),
2602 (1181),
2603 (1182),
2604 (1183),
2605 (1184),
2606 (1185),
2607 (1186),
2608 (1187),
2609 (1188),
2610 (1189),
2611 (1190),
2612 (1191),
2613 (1192),
2614 (1193),
2615 (1194),
2616 (1195),
2617 (1196),
2618 (1197),
2619 (1198),
2620 (1199),
2621 (1200),
2622 (1201),
2623 (1202),
2624 (1203),
2625 (1204),
2626 (1205),
2627 (1206),
2628 (1207),
2629 (1208),
2630 (1209),
2631 (1210),
2632 (1211),
2633 (1212),
2634 (1213),
2635 (1214),
2636 (1215),
2637 (1216),
2638 (1217),
2639 (1218),
2640 (1219),
2641 (1220),
2642 (1221),
2643 (1222),
2644 (1223),
2645 (1224),
2646 (1225),
2647 (1226),
2648 (1227),
2649 (1228),
2650 (1229),
2651 (1230),
2652 (1231),
2653 (1232),
2654 (1233),
2655 (1234),
2656 (1235),
2657 (1236),
2658 (1237),
2659 (1238),
2660 (1239),
2661 (1240),
2662 (1241),
2663 (1242),
2664 (1243),
2665 (1244),
2666 (1245),
2667 (1246),
2668 (1247),
2669 (1248),
2670 (1249),
2671 (1250),
2672 (1251),
2673 (1252),
2674 (1253),
2675 (1254),
2676 (1255),
2677 (1256),
2678 (1257),
2679 (1258),
2680 (1259),
2681 (1260),
2682 (1261),
2683 (1262),
2684 (1263),
2685 (1264),
2686 (1265),
2687 (1266),
2688 (1267),
2689 (1268),
2690 (1269),
2691 (1270),
2692 (1271),
2693 (1272),
2694 (1273),
2695 (1274),
2696 (1275),
2697 (1276),
2698 (1277),
2699 (1278),
2700 (1279),
2701 (1280),
2702 (1281),
2703 (1282),
2704 (1283),
2705 (1284),
2706 (1285),
2707 (1286),
2708 (1287),
2709 (1288),
2710 (1289),
2711 (1290),
2712 (1291),
2713 (1292),
2714 (1293),
2715 (1294),
2716 (1295),
2717 (1296),
2718 (1297),
2719 (1298),
2720 (1299),
2721 (1300),
2722 (1301),
2723 (1302),
2724 (1303),
2725 (1304),
2726 (1305),
2727 (1306),
2728 (1307),
2729 (1308),
2730 (1309),
2731 (1310),
2732 (1311),
2733 (1312),
2734 (1313),
2735 (1314),
2736 (1315),
2737 (1316),
2738 (1317),
2739 (1318),
2740 (1319),
2741 (1320),
2742 (1321),
2743 (1322),
2744 (1323),
2745 (1324),
2746 (1325),
2747 (1326),
2748 (1327),
2749 (1328),
2750 (1329),
2751 (1330),
2752 (1331),
2753 (1332),
2754 (1333),
2755 (1334),
2756 (1335),
2757 (1336),
2758 (1337),
2759 (1338),
2760 (1339),
2761 (1340),
2762 (1341),
2763 (1342),
2764 (1343),
2765 (1344),
2766 (1345),
2767 (1346),
2768 (1347),
2769 (1348),
2770 (1349),
2771 (1350),
2772 (1351),
2773 (1352),
2774 (1353),
2775 (1354),
2776 (1355),
2777 (1356),
2778 (1357),
2779 (1358),
2780 (1359),
2781 (1360),
2782 (1361),
2783 (1362),
2784 (1363),
2785 (1364),
2786 (1365),
2787 (1366),
2788 (1367),
2789 (1368),
2790 (1369),
2791 (1370),
2792 (1371),
2793 (1372),
2794 (1373),
2795 (1374),
2796 (1375),
2797 (1376),
2798 (1377),
2799 (1378),
2800 (1379),
2801 (1380),
2802 (1381),
2803 (1382),
2804 (1383),
2805 (1384),
2806 (1385),
2807 (1386),
2808 (1387),
2809 (1388),
2810 (1389),
2811 (1390),
2812 (1391),
2813 (1392),
2814 (1393),
2815 (1394),
2816 (1395),
2817 (1396),
2818 (1397),
2819 (1398),
2820 (1399),
2821 (1400),
2822 (1401),
2823 (1402),
2824 (1403),
2825 (1404),
2826 (1405),
2827 (1406),
2828 (1407),
2829 (1408),
2830 (1409),
2831 (1410),
2832 (1411),
2833 (1412),
2834 (1413),
2835 (1414),
2836 (1415),
2837 (1416),
2838 (1417),
2839 (1418),
2840 (1419),
2841 (1420),
2842 (1421),
2843 (1422),
2844 (1423),
2845 (1424),
2846 (1425),
2847 (1426),
2848 (1427),
2849 (1428),
2850 (1429),
2851 (1430),
2852 (1431),
2853 (1432),
2854 (1433),
2855 (1434),
2856 (1435),
2857 (1436),
2858 (1437),
2859 (1438),
2860 (1439),
2861 (1440),
2862 (1441),
2863 (1442),
2864 (1443),
2865 (1444),
2866 (1445),
2867 (1446),
2868 (1447),
2869 (1448),
2870 (1449),
2871 (1450),
2872 (1451),
2873 (1452),
2874 (1453),
2875 (1454),
2876 (1455),
2877 (1456),
2878 (1457),
2879 (1458),
2880 (1459),
2881 (1460),
2882 (1461),
2883 (1462),
2884 (1463),
2885 (1464),
2886 (1465),
2887 (1466),
2888 (1467),
2889 (1468),
2890 (1469),
2891 (1470),
2892 (1471),
2893 (1472),
2894 (1473),
2895 (1474),
2896 (1475),
2897 (1476),
2898 (1477),
2899 (1478),
2900 (1479),
2901 (1480),
2902 (1481),
2903 (1482),
2904 (1483),
2905 (1484),
2906 (1485),
2907 (1486),
2908 (1487),
2909 (1488),
2910 (1489),
2911 (1490),
2912 (1491),
2913 (1492),
2914 (1493),
2915 (1494),
2916 (1495),
2917 (1496),
2918 (1497),
2919 (1498),
2920 (1499),
2921 (1500),
2922 (1501),
2923 (1502),
2924 (1503),
2925 (1504),
2926 (1505),
2927 (1506),
2928 (1507),
2929 (1508),
2930 (1509),
2931 (1510),
2932 (1511),
2933 (1512),
2934 (1513),
2935 (1514),
2936 (1515),
2937 (1516),
2938 (1517),
2939 (1518),
2940 (1519),
2941 (1520),
2942 (1521),
2943 (1522),
2944 (1523),
2945 (1524),
2946 (1525),
2947 (1526),
2948 (1527),
2949 (1528),
2950 (1529),
2951 (1530),
2952 (1531),
2953 (1532),
2954 (1533),
2955 (1534),
2956 (1535),
2957 (1536),
2958 (1537),
2959 (1538),
2960 (1539),
2961 (1540),
2962 (1541),
2963 (1542),
2964 (1543),
2965 (1544),
2966 (1545),
2967 (1546),
2968 (1547),
2969 (1548),
2970 (1549),
2971 (1550),
2972 (1551),
2973 (1552),
2974 (1553),
2975 (1554),
2976 (1555),
2977 (1556),
2978 (1557),
2979 (1558),
2980 (1559),
2981 (1560),
2982 (1561),
2983 (1562),
2984 (1563),
2985 (1564),
2986 (1565),
2987 (1566),
2988 (1567),
2989 (1568),
2990 (1569),
2991 (1570),
2992 (1571),
2993 (1572),
2994 (1573),
2995 (1574),
2996 (1575),
2997 (1576),
2998 (1577),
2999 (1578),
3000 (1579),
3001 (1580),
3002 (1581),
3003 (1582),
3004 (1583),
3005 (1584),
3006 (1585),
3007 (1586),
3008 (1587),
3009 (1588),
3010 (1589),
3011 (1590),
3012 (1591),
3013 (1592),
3014 (1593),
3015 (1594),
3016 (1595),
3017 (1596),
3018 (1597),
3019 (1598),
3020 (1599),
3021 (1600),
3022 (1601),
3023 (1602),
3024 (1603),
3025 (1604),
3026 (1605),
3027 (1606),
3028 (1607),
3029 (1608),
3030 (1609),
3031 (1610),
3032 (1611),
3033 (1612),
3034 (1613),
3035 (1614),
3036 (1615),
3037 (1616),
3038 (1617),
3039 (1618),
3040 (1619),
3041 (1620),
3042 (1621),
3043 (1622),
3044 (1623),
3045 (1624),
3046 (1625),
3047 (1626),
3048 (1627),
3049 (1628),
3050 (1629),
3051 (1630),
3052 (1631),
3053 (1632),
3054 (1633),
3055 (1634),
3056 (1635),
3057 (1636),
3058 (1637),
3059 (1638),
3060 (1639),
3061 (1640),
3062 (1641),
3063 (1642),
3064 (1643),
3065 (1644),
3066 (1645),
3067 (1646),
3068 (1647),
3069 (1648),
3070 (1649),
3071 (1650),
3072 (1651),
3073 (1652),
3074 (1653),
3075 (1654),
3076 (1655),
3077 (1656),
3078 (1657),
3079 (1658),
3080 (1659),
3081 (1660),
3082 (1661),
3083 (1662),
3084 (1663),
3085 (1664),
3086 (1665),
3087 (1666),
3088 (1667),
3089 (1668),
3090 (1669),
3091 (1670),
3092 (1671),
3093 (1672),
3094 (1673),
3095 (1674),
3096 (1675),
3097 (1676),
3098 (1677),
3099 (1678),
3100 (1679),
3101 (1680),
3102 (1681),
3103 (1682),
3104 (1683),
3105 (1684),
3106 (1685),
3107 (1686),
3108 (1687),
3109 (1688),
3110 (1689),
3111 (1690),
3112 (1691),
3113 (1692),
3114 (1693),
3115 (1694),
3116 (1695),
3117 (1696),
3118 (1697),
3119 (1698),
3120 (1699),
3121 (1700),
3122 (1701),
3123 (1702),
3124 (1703),
3125 (1704),
3126 (1705),
3127 (1706),
3128 (1707),
3129 (1708),
3130 (1709),
3131 (1710),
3132 (1711),
3133 (1712),
3134 (1713),
3135 (1714),
3136 (1715),
3137 (1716),
3138 (1717),
3139 (1718),
3140 (1719),
3141 (1720),
3142 (1721),
3143 (1722),
3144 (1723),
3145 (1724),
3146 (1725),
3147 (1726),
3148 (1727),
3149 (1728),
3150 (1729),
3151 (1730),
3152 (1731),
3153 (1732),
3154 (1733),
3155 (1734),
3156 (1735),
3157 (1736),
3158 (1737),
3159 (1738),
3160 (1739),
3161 (1740),
3162 (1741),
3163 (1742),
3164 (1743),
3165 (1744),
3166 (1745),
3167 (1746),
3168 (1747),
3169 (1748),
3170 (1749),
3171 (1750),
3172 (1751),
3173 (1752),
3174 (1753),
3175 (1754),
3176 (1755),
3177 (1756),
3178 (1757),
3179 (1758),
3180 (1759),
3181 (1760),
3182 (1761),
3183 (1762),
3184 (1763),
3185 (1764),
3186 (1765),
3187 (1766),
3188 (1767),
3189 (1768),
3190 (1769),
3191 (1770),
3192 (1771),
3193 (1772),
3194 (1773),
3195 (1774),
3196 (1775),
3197 (1776),
3198 (1777),
3199 (1778),
3200 (1779),
3201 (1780),
3202 (1781),
3203 (1782),
3204 (1783),
3205 (1784),
3206 (1785),
3207 (1786),
3208 (1787),
3209 (1788),
3210 (1789),
3211 (1790),
3212 (1791),
3213 (1792),
3214 (1793),
3215 (1794),
3216 (1795),
3217 (1796),
3218 (1797),
3219 (1798),
3220 (1799),
3221 (1800),
3222 (1801),
3223 (1802),
3224 (1803),
3225 (1804),
3226 (1805),
3227 (1806),
3228 (1807),
3229 (1808),
3230 (1809),
3231 (1810),
3232 (1811),
3233 (1812),
3234 (1813),
3235 (1814),
3236 (1815),
3237 (1816),
3238 (1817),
3239 (1818),
3240 (1819),
3241 (1820),
3242 (1821),
3243 (1822),
3244 (1823),
3245 (1824),
3246 (1825),
3247 (1826),
3248 (1827),
3249 (1828),
3250 (1829),
3251 (1830),
3252 (1831),
3253 (1832),
3254 (1833),
3255 (1834),
3256 (1835),
3257 (1836),
3258 (1837),
3259 (1838),
3260 (1839),
3261 (1840),
3262 (1841),
3263 (1842),
3264 (1843),
3265 (1844),
3266 (1845),
3267 (1846),
3268 (1847),
3269 (1848),
3270 (1849),
3271 (1850),
3272 (1851),
3273 (1852),
3274 (1853),
3275 (1854),
3276 (1855),
3277 (1856),
3278 (1857),
3279 (1858),
3280 (1859),
3281 (1860),
3282 (1861),
3283 (1862),
3284 (1863),
3285 (1864),
3286 (1865),
3287 (1866),
3288 (1867),
3289 (1868),
3290 (1869),
3291 (1870),
3292 (1871),
3293 (1872),
3294 (1873),
3295 (1874),
3296 (1875),
3297 (1876),
3298 (1877),
3299 (1878),
3300 (1879),
3301 (1880),
3302 (1881),
3303 (1882),
3304 (1883),
3305 (1884),
3306 (1885),
3307 (1886),
3308 (1887),
3309 (1888),
3310 (1889),
3311 (1890),
3312 (1891),
3313 (1892),
3314 (1893),
3315 (1894),
3316 (1895),
3317 (1896),
3318 (1897),
3319 (1898),
3320 (1899),
3321 (1900),
3322 (1901),
3323 (1902),
3324 (1903),
3325 (1904),
3326 (1905),
3327 (1906),
3328 (1907),
3329 (1908),
3330 (1909),
3331 (1910),
3332 (1911),
3333 (1912),
3334 (1913),
3335 (1914),
3336 (1915),
3337 (1916),
3338 (1917),
3339 (1918),
3340 (1919),
3341 (1920),
3342 (1921),
3343 (1922),
3344 (1923),
3345 (1924),
3346 (1925),
3347 (1926),
3348 (1927),
3349 (1928),
3350 (1929),
3351 (1930),
3352 (1931),
3353 (1932),
3354 (1933),
3355 (1934),
3356 (1935),
3357 (1936),
3358 (1937),
3359 (1938),
3360 (1939),
3361 (1940),
3362 (1941),
3363 (1942),
3364 (1943),
3365 (1944),
3366 (1945),
3367 (1946),
3368 (1947),
3369 (1948),
3370 (1949),
3371 (1950),
3372 (1951),
3373 (1952),
3374 (1953),
3375 (1954),
3376 (1955),
3377 (1956),
3378 (1957),
3379 (1958),
3380 (1959),
3381 (1960),
3382 (1961),
3383 (1962),
3384 (1963),
3385 (1964),
3386 (1965),
3387 (1966),
3388 (1967),
3389 (1968),
3390 (1969),
3391 (1970),
3392 (1971),
3393 (1972),
3394 (1973),
3395 (1974),
3396 (1975),
3397 (1976),
3398 (1977),
3399 (1978),
3400 (1979),
3401 (1980),
3402 (1981),
3403 (1982),
3404 (1983),
3405 (1984),
3406 (1985),
3407 (1986),
3408 (1987),
3409 (1988),
3410 (1989),
3411 (1990),
3412 (1991),
3413 (1992),
3414 (1993),
3415 (1994),
3416 (1995),
3417 (1996),
3418 (1997),
3419 (1998),
3420 (1999),
3421 (2000),
3422 (2001),
3423 (2002),
3424 (2003),
3425 (2004),
3426 (2005),
3427 (2006),
3428 (2007),
3429 (2008),
3430 (2009),
3431 (2010),
3432 (2011),
3433 (2012),
3434 (2013),
3435 (2014),
3436 (2015),
3437 (2016),
3438 (2017),
3439 (2018),
3440 (2019),
3441 (2020),
3442 (2021),
3443 (2022),
3444 (2023),
3445 (2024),
3446 (2025),
3447 (2026),
3448 (2027),
3449 (2028),
3450 (2029),
3451 (2030),
3452 (2031),
3453 (2032),
3454 (2033),
3455 (2034),
3456 (2035),
3457 (2036),
3458 (2037),
3459 (2038),
3460 (2039),
3461 (2040),
3462 (2041),
3463 (2042),
3464 (2043),
3465 (2044),
3466 (2045),
3467 (2046),
3468 (2047),
3469 (2048),
3470 (2049),
3471 (2050),
3472 (2051),
3473 (2052),
3474 (2053),
3475 (2054),
3476 (2055),
3477 (2056),
3478 (2057),
3479 (2058),
3480 (2059),
3481 (2060),
3482 (2061),
3483 (2062),
3484 (2063),
3485 (2064),
3486 (2065),
3487 (2066),
3488 (2067),
3489 (2068),
3490 (2069),
3491 (2070),
3492 (2071),
3493 (2072),
3494 (2073),
3495 (2074),
3496 (2075),
3497 (2076),
3498 (2077),
3499 (2078),
3500 (2079),
3501 (2080),
3502 (2081),
3503 (2082),
3504 (2083),
3505 (2084),
3506 (2085),
3507 (2086),
3508 (2087),
3509 (2088),
3510 (2089),
3511 (2090),
3512 (2091),
3513 (2092),
3514 (2093),
3515 (2094),
3516 (2095),
3517 (2096),
3518 (2097),
3519 (2098),
3520 (2099),
3521 (2100),
3522 (2101),
3523 (2102),
3524 (2103),
3525 (2104),
3526 (2105),
3527 (2106),
3528 (2107),
3529 (2108),
3530 (2109),
3531 (2110),
3532 (2111),
3533 (2112),
3534 (2113),
3535 (2114),
3536 (2115),
3537 (2116),
3538 (2117),
3539 (2118),
3540 (2119),
3541 (2120),
3542 (2121),
3543 (2122),
3544 (2123),
3545 (2124),
3546 (2125),
3547 (2126),
3548 (2127),
3549 (2128),
3550 (2129),
3551 (2130),
3552 (2131),
3553 (2132),
3554 (2133),
3555 (2134),
3556 (2135),
3557 (2136),
3558 (2137),
3559 (2138),
3560 (2139),
3561 (2140),
3562 (2141),
3563 (2142),
3564 (2143),
3565 (2144),
3566 (2145),
3567 (2146),
3568 (2147),
3569 (2148),
3570 (2149),
3571 (2150),
3572 (2151),
3573 (2152),
3574 (2153),
3575 (2154),
3576 (2155),
3577 (2156),
3578 (2157),
3579 (2158),
3580 (2159),
3581 (2160),
3582 (2161),
3583 (2162),
3584 (2163),
3585 (2164),
3586 (2165),
3587 (2166),
3588 (2167),
3589 (2168),
3590 (2169),
3591 (2170),
3592 (2171),
3593 (2172),
3594 (2173),
3595 (2174),
3596 (2175),
3597 (2176),
3598 (2177),
3599 (2178),
3600 (2179),
3601 (2180),
3602 (2181),
3603 (2182),
3604 (2183),
3605 (2184),
3606 (2185),
3607 (2186),
3608 (2187),
3609 (2188),
3610 (2189),
3611 (2190),
3612 (2191),
3613 (2192),
3614 (2193),
3615 (2194),
3616 (2195),
3617 (2196),
3618 (2197),
3619 (2198),
3620 (2199),
3621 (2200),
3622 (2201),
3623 (2202),
3624 (2203),
3625 (2204),
3626 (2205),
3627 (2206),
3628 (2207),
3629 (2208),
3630 (2209),
3631 (2210),
3632 (2211),
3633 (2212),
3634 (2213),
3635 (2214),
3636 (2215),
3637 (2216),
3638 (2217),
3639 (2218),
3640 (2219),
3641 (2220),
3642 (2221),
3643 (2222),
3644 (2223),
3645 (2224),
3646 (2225),
3647 (2226),
3648 (2227),
3649 (2228),
3650 (2229),
3651 (2230),
3652 (2231),
3653 (2232),
3654 (2233),
3655 (2234),
3656 (2235),
3657 (2236),
3658 (2237),
3659 (2238),
3660 (2239),
3661 (2240),
3662 (2241),
3663 (2242),
3664 (2243),
3665 (2244),
3666 (2245),
3667 (2246),
3668 (2247),
3669 (2248),
3670 (2249),
3671 (2250),
3672 (2251),
3673 (2252),
3674 (2253),
3675 (2254),
3676 (2255),
3677 (2256),
3678 (2257),
3679 (2258),
3680 (2259),
3681 (2260),
3682 (2261),
3683 (2262),
3684 (2263),
3685 (2264),
3686 (2265),
3687 (2266),
3688 (2267),
3689 (2268),
3690 (2269),
3691 (2270),
3692 (2271),
3693 (2272),
3694 (2273),
3695 (2274),
3696 (2275),
3697 (2276),
3698 (2277),
3699 (2278),
3700 (2279),
3701 (2280),
3702 (2281),
3703 (2282),
3704 (2283),
3705 (2284),
3706 (2285),
3707 (2286),
3708 (2287),
3709 (2288),
3710 (2289),
3711 (2290),
3712 (2291),
3713 (2292),
3714 (2293),
3715 (2294),
3716 (2295),
3717 (2296),
3718 (2297),
3719 (2298),
3720 (2299),
3721 (2300),
3722 (2301),
3723 (2302),
3724 (2303),
3725 (2304),
3726 (2305),
3727 (2306),
3728 (2307),
3729 (2308),
3730 (2309),
3731 (2310),
3732 (2311),
3733 (2312),
3734 (2313),
3735 (2314),
3736 (2315),
3737 (2316),
3738 (2317),
3739 (2318),
3740 (2319),
3741 (2320),
3742 (2321),
3743 (2322),
3744 (2323),
3745 (2324),
3746 (2325),
3747 (2326),
3748 (2327),
3749 (2328),
3750 (2329),
3751 (2330),
3752 (2331),
3753 (2332),
3754 (2333),
3755 (2334),
3756 (2335),
3757 (2336),
3758 (2337),
3759 (2338),
3760 (2339),
3761 (2340),
3762 (2341),
3763 (2342),
3764 (2343),
3765 (2344),
3766 (2345),
3767 (2346),
3768 (2347),
3769 (2348),
3770 (2349),
3771 (2350),
3772 (2351),
3773 (2352),
3774 (2353),
3775 (2354),
3776 (2355),
3777 (2356),
3778 (2357),
3779 (2358),
3780 (2359),
3781 (2360),
3782 (2361),
3783 (2362),
3784 (2363),
3785 (2364),
3786 (2365),
3787 (2366),
3788 (2367),
3789 (2368),
3790 (2369),
3791 (2370),
3792 (2371),
3793 (2372),
3794 (2373),
3795 (2374),
3796 (2375),
3797 (2376),
3798 (2377),
3799 (2378),
3800 (2379),
3801 (2380),
3802 (2381),
3803 (2382),
3804 (2383),
3805 (2384),
3806 (2385),
3807 (2386),
3808 (2387),
3809 (2388),
3810 (2389),
3811 (2390),
3812 (2391),
3813 (2392),
3814 (2393),
3815 (2394),
3816 (2395),
3817 (2396),
3818 (2397),
3819 (2398),
3820 (2399),
3821 (2400),
3822 (2401),
3823 (2402),
3824 (2403),
3825 (2404),
3826 (2405),
3827 (2406),
3828 (2407),
3829 (2408),
3830 (2409),
3831 (2410),
3832 (2411),
3833 (2412),
3834 (2413),
3835 (2414),
3836 (2415),
3837 (2416),
3838 (2417),
3839 (2418),
3840 (2419),
3841 (2420),
3842 (2421),
3843 (2422),
3844 (2423),
3845 (2424),
3846 (2425),
3847 (2426),
3848 (2427),
3849 (2428),
3850 (2429),
3851 (2430),
3852 (2431),
3853 (2432),
3854 (2433),
3855 (2434),
3856 (2435),
3857 (2436),
3858 (2437),
3859 (2438),
3860 (2439),
3861 (2440),
3862 (2441),
3863 (2442),
3864 (2443),
3865 (2444),
3866 (2445),
3867 (2446),
3868 (2447),
3869 (2448),
3870 (2449),
3871 (2450),
3872 (2451),
3873 (2452),
3874 (2453),
3875 (2454),
3876 (2455),
3877 (2456),
3878 (2457),
3879 (2458),
3880 (2459),
3881 (2460),
3882 (2461),
3883 (2462),
3884 (2463),
3885 (2464),
3886 (2465),
3887 (2466),
3888 (2467),
3889 (2468),
3890 (2469),
3891 (2470),
3892 (2471),
3893 (2472),
3894 (2473),
3895 (2474),
3896 (2475),
3897 (2476),
3898 (2477),
3899 (2478),
3900 (2479),
3901 (2480),
3902 (2481),
3903 (2482),
3904 (2483),
3905 (2484),
3906 (2485),
3907 (2486),
3908 (2487),
3909 (2488),
3910 (2489),
3911 (2490),
3912 (2491),
3913 (2492),
3914 (2493),
3915 (2494),
3916 (2495),
3917 (2496),
3918 (2497),
3919 (2498),
3920 (2499),
3921 (2500),
3922 (2501),
3923 (2502),
3924 (2503),
3925 (2504),
3926 (2505),
3927 (2506),
3928 (2507),
3929 (2508),
3930 (2509),
3931 (2510),
3932 (2511),
3933 (2512),
3934 (2513),
3935 (2514),
3936 (2515),
3937 (2516),
3938 (2517),
3939 (2518),
3940 (2519),
3941 (2520),
3942 (2521),
3943 (2522),
3944 (2523),
3945 (2524),
3946 (2525),
3947 (2526),
3948 (2527),
3949 (2528),
3950 (2529),
3951 (2530),
3952 (2531),
3953 (2532),
3954 (2533),
3955 (2534),
3956 (2535),
3957 (2536),
3958 (2537),
3959 (2538),
3960 (2539),
3961 (2540),
3962 (2541),
3963 (2542),
3964 (2543),
3965 (2544),
3966 (2545),
3967 (2546),
3968 (2547),
3969 (2548),
3970 (2549),
3971 (2550),
3972 (2551),
3973 (2552),
3974 (2553),
3975 (2554),
3976 (2555),
3977 (2556),
3978 (2557),
3979 (2558),
3980 (2559),
3981 (2560),
3982 (2561),
3983 (2562),
3984 (2563),
3985 (2564),
3986 (2565),
3987 (2566),
3988 (2567),
3989 (2568),
3990 (2569),
3991 (2570),
3992 (2571),
3993 (2572),
3994 (2573),
3995 (2574),
3996 (2575),
3997 (2576),
3998 (2577),
3999 (2578),
4000 (2579),
4001 (2580),
4002 (2581),
4003 (2582),
4004 (2583),
4005 (2584),
4006 (2585),
4007 (2586),
4008 (2587),
4009 (2588),
4010 (2589),
4011 (2590),
4012 (2591),
4013 (2592),
4014 (2593),
4015 (2594),
4016 (2595),
4017 (2596),
4018 (2597),
4019 (2598),
4020 (2599),
4021 (2600),
4022 (2601),
4023 (2602),
4024 (2603),
4025 (2604),
4026 (2605),
4027 (2606),
4028 (2607),
4029 (2608),
4030 (2609),
4031 (2610),
4032 (2611),
4033 (2612),
4034 (2613),
4035 (2614),
4036 (2615),
4037 (2616),
4038 (2617),
4039 (2618),
4040 (2619),
4041 (2620),
4042 (2621),
4043 (2622),
4044 (2623),
4045 (2624),
4046 (2625),
4047 (2626),
4048 (2627),
4049 (2628),
4050 (2629),
4051 (2630),
4052 (2631),
4053 (2632),
4054 (2633),
4055 (2634),
4056 (2635),
4057 (2636),
4058 (2637),
4059 (2638),
4060 (2639),
4061 (2640),
4062 (2641),
4063 (2642),
4064 (2643),
4065 (2644),
4066 (2645),
4067 (2646),
4068 (2647),
4069 (2648),
4070 (2649),
4071 (2650),
4072 (2651),
4073 (2652),
4074 (2653),
4075 (2654),
4076 (2655),
4077 (2656),
4078 (2657),
4079 (2658),
4080 (2659),
4081 (2660),
4082 (2661),
4083 (2662),
4084 (2663),
4085 (2664),
4086 (2665),
4087 (2666),
4088 (2667),
4089 (2668),
4090 (2669),
4091 (2670),
4092 (2671),
4093 (2672),
4094 (2673),
4095 (2674),
4096 (2675),
4097 (2676),
4098 (2677),
4099 (2678),
4100 (2679),
4101 (2680),
4102 (2681),
4103 (2682),
4104 (2683),
4105 (2684),
4106 (2685),
4107 (2686),
4108 (2687),
4109 (2688),
4110 (2689),
4111 (2690),
4112 (2691),
4113 (2692),
4114 (2693),
4115 (2694),
4116 (2695),
4117 (2696),
4118 (2697),
4119 (2698),
4120 (2699),
4121 (2700),
4122 (2701),
4123 (2702),
4124 (2703),
4125 (2704),
4126 (2705),
4127 (2706),
4128 (2707),
4129 (2708),
4130 (2709),
4131 (2710),
4132 (2711),
4133 (2712),
4134 (2713),
4135 (2714),
4136 (2715),
4137 (2716),
4138 (2717),
4139 (2718),
4140 (2719),
4141 (2720),
4142 (2721),
4143 (2722),
4144 (2723),
4145 (2724),
4146 (2725),
4147 (2726),
4148 (2727),
4149 (2728),
4150 (2729),
4151 (2730),
4152 (2731),
4153 (2732),
4154 (2733),
4155 (2734),
4156 (2735),
4157 (2736),
4158 (2737),
4159 (2738),
4160 (2739),
4161 (2740),
4162 (2741),
4163 (2742),
4164 (2743),
4165 (2744),
4166 (2745),
4167 (2746),
4168 (2747),
4169 (2748),
4170 (2749),
4171 (2750),
4172 (2751),
4173 (2752),
4174 (2753),
4175 (2754),
4176 (2755),
4177 (2756),
4178 (2757),
4179 (2758),
4180 (2759),
4181 (2760),
4182 (2761),
4183 (2762),
4184 (2763),
4185 (2764),
4186 (2765),
4187 (2766),
4188 (2767),
4189 (2768),
4190 (2769),
4191 (2770),
4192 (2771),
4193 (2772),
4194 (2773),
4195 (2774),
4196 (2775),
4197 (2776),
4198 (2777),
4199 (2778),
4200 (2779),
4201 (2780),
4202 (2781),
4203 (2782),
4204 (2783),
4205 (2784),
4206 (2785),
4207 (2786),
4208 (2787),
4209 (2788),
4210 (2789),
4211 (2790),
4212 (2791),
4213 (2792),
4214 (2793),
4215 (2794),
4216 (2795),
4217 (2796),
4218 (2797),
4219 (2798),
4220 (2799),
4221 (2800),
4222 (2801),
4223 (2802),
4224 (2803),
4225 (2804),
4226 (2805),
4227 (2806),
4228 (2807),
4229 (2808),
4230 (2809),
4231 (2810),
4232 (2811),
4233 (2812),
4234 (2813),
4235 (2814),
4236 (2815),
4237 (2816),
4238 (2817),
4239 (2818),
4240 (2819),
4241 (2820),
4242 (2821),
4243 (2822),
4244 (2823),
4245 (2824),
4246 (2825),
4247 (2826),
4248 (2827),
4249 (2828),
4250 (2829),
4251 (2830),
4252 (2831),
4253 (2832),
4254 (2833),
4255 (2834),
4256 (2835),
4257 (2836),
4258 (2837),
4259 (2838),
4260 (2839),
4261 (2840),
4262 (2841),
4263 (2842),
4264 (2843),
4265 (2844),
4266 (2845),
4267 (2846),
4268 (2847),
4269 (2848),
4270 (2849),
4271 (2850),
4272 (2851),
4273 (2852),
4274 (2853),
4275 (2854),
4276 (2855),
4277 (2856),
4278 (2857),
4279 (2858),
4280 (2859),
4281 (2860),
4282 (2861),
4283 (2862),
4284 (2863),
4285 (2864),
4286 (2865),
4287 (2866),
4288 (2867),
4289 (2868),
4290 (2869),
4291 (2870),
4292 (2871),
4293 (2872),
4294 (2873),
4295 (2874),
4296 (2875),
4297 (2876),
4298 (2877),
4299 (2878),
4300 (2879),
4301 (2880),
4302 (2881),
4303 (2882),
4304 (2883),
4305 (2884),
4306 (2885),
4307 (2886),
4308 (2887),
4309 (2888),
4310 (2889),
4311 (2890),
4312 (2891),
4313 (2892),
4314 (2893),
4315 (2894),
4316 (2895),
4317 (2896),
4318 (2897),
4319 (2898),
4320 (2899),
4321 (2900),
4322 (2901),
4323 (2902),
4324 (2903),
4325 (2904),
4326 (2905),
4327 (2906),
4328 (2907),
4329 (2908),
4330 (2909),
4331 (2910),
4332 (2911),
4333 (2912),
4334 (2913),
4335 (2914),
4336 (2915),
4337 (2916),
4338 (2917),
4339 (2918),
4340 (2919),
4341 (2920),
4342 (2921),
4343 (2922),
4344 (2923),
4345 (2924),
4346 (2925),
4347 (2926),
4348 (2927),
4349 (2928),
4350 (2929),
4351 (2930),
4352 (2931),
4353 (2932),
4354 (2933),
4355 (2934),
4356 (2935),
4357 (2936),
4358 (2937),
4359 (2938),
4360 (2939),
4361 (2940),
4362 (2941),
4363 (2942),
4364 (2943),
4365 (2944),
4366 (2945),
4367 (2946),
4368 (2947),
4369 (2948),
4370 (2949),
4371 (2950),
4372 (2951),
4373 (2952),
4374 (2953),
4375 (2954),
4376 (2955),
4377 (2956),
4378 (2957),
4379 (2958),
4380 (2959),
4381 (2960),
4382 (2961),
4383 (2962),
4384 (2963),
4385 (2964),
4386 (2965),
4387 (2966),
4388 (2967),
4389 (2968),
4390 (2969),
4391 (2970),
4392 (2971),
4393 (2972),
4394 (2973),
4395 (2974),
4396 (2975),
4397 (2976),
4398 (2977),
4399 (2978),
4400 (2979),
4401 (2980),
4402 (2981),
4403 (2982),
4404 (2983),
4405 (2984),
4406 (2985),
4407 (2986),
4408 (2987),
4409 (2988),
4410 (2989),
4411 (2990),
4412 (2991),
4413 (2992),
4414 (2993),
4415 (2994),
4416 (2995),
4417 (2996),
4418 (2997),
4419 (2998),
4420 (2999),
4421 (3000),
4422 (3001),
4423 (3002),
4424 (3003),
4425 (3004),
4426 (3005),
4427 (3006),
4428 (3007),
4429 (3008),
4430 (3009),
4431 (3010),
4432 (3011),
4433 (3012),
4434 (3013),
4435 (3014),
4436 (3015),
4437 (3016),
4438 (3017),
4439 (3018),
4440 (3019),
4441 (3020),
4442 (3021),
4443 (3022),
4444 (3023),
4445 (3024),
4446 (3025),
4447 (3026),
4448 (3027),
4449 (3028),
4450 (3029),
4451 (3030),
4452 (3031),
4453 (3032),
4454 (3033),
4455 (3034),
4456 (3035),
4457 (3036),
4458 (3037),
4459 (3038),
4460 (3039),
4461 (3040),
4462 (3041),
4463 (3042),
4464 (3043),
4465 (3044),
4466 (3045),
4467 (3046),
4468 (3047),
4469 (3048),
4470 (3049),
4471 (3050),
4472 (3051),
4473 (3052),
4474 (3053),
4475 (3054),
4476 (3055),
4477 (3056),
4478 (3057),
4479 (3058),
4480 (3059),
4481 (3060),
4482 (3061),
4483 (3062),
4484 (3063),
4485 (3064),
4486 (3065),
4487 (3066),
4488 (3067),
4489 (3068),
4490 (3069),
4491 (3070),
4492 (3071),
4493 (3072),
4494 (3073),
4495 (3074),
4496 (3075),
4497 (3076),
4498 (3077),
4499 (3078),
4500 (3079),
4501 (3080),
4502 (3081),
4503 (3082),
4504 (3083),
4505 (3084),
4506 (3085),
4507 (3086),
4508 (3087),
4509 (3088),
4510 (3089),
4511 (3090),
4512 (3091),
4513 (3092),
4514 (3093),
4515 (3094),
4516 (3095),
4517 (3096),
4518 (3097),
4519 (3098),
4520 (3099),
4521 (3100),
4522 (3101),
4523 (3102),
4524 (3103),
4525 (3104),
4526 (3105),
4527 (3106),
4528 (3107),
4529 (3108),
4530 (3109),
4531 (3110),
4532 (3111),
4533 (3112),
4534 (3113),
4535 (3114),
4536 (3115),
4537 (3116),
4538 (3117),
4539 (3118),
4540 (3119),
4541 (3120),
4542 (3121),
4543 (3122),
4544 (3123),
4545 (3124),
4546 (3125),
4547 (3126),
4548 (3127),
4549 (3128),
4550 (3129),
4551 (3130),
4552 (3131),
4553 (3132),
4554 (3133),
4555 (3134),
4556 (3135),
4557 (3136),
4558 (3137),
4559 (3138),
4560 (3139),
4561 (3140),
4562 (3141),
4563 (3142),
4564 (3143),
4565 (3144),
4566 (3145),
4567 (3146),
4568 (3147),
4569 (3148),
4570 (3149),
4571 (3150),
4572 (3151),
4573 (3152),
4574 (3153),
4575 (3154),
4576 (3155),
4577 (3156),
4578 (3157),
4579 (3158),
4580 (3159),
4581 (3160),
4582 (3161),
4583 (3162),
4584 (3163),
4585 (3164),
4586 (3165),
4587 (3166),
4588 (3167),
4589 (3168),
4590 (3169),
4591 (3170),
4592 (3171),
4593 (3172),
4594 (3173),
4595 (3174),
4596 (3175),
4597 (3176),
4598 (3177),
4599 (3178),
4600 (3179),
4601 (3180),
4602 (3181),
4603 (3182),
4604 (3183),
4605 (3184),
4606 (3185),
4607 (3186),
4608 (3187),
4609 (3188),
4610 (3189),
4611 (3190),
4612 (3191),
4613 (3192),
4614 (3193),
4615 (3194),
4616 (3195),
4617 (3196),
4618 (3197),
4619 (3198),
4620 (3199),
4621 (3200),
4622 (3201),
4623 (3202),
4624 (3203),
4625 (3204),
4626 (3205),
4627 (3206),
4628 (3207),
4629 (3208),
4630 (3209),
4631 (3210),
4632 (3211),
4633 (3212),
4634 (3213),
4635 (3214),
4636 (3215),
4637 (3216),
4638 (3217),
4639 (3218),
4640 (3219),
4641 (3220),
4642 (3221),
4643 (3222),
4644 (3223),
4645 (3224),
4646 (3225),
4647 (3226),
4648 (3227),
4649 (3228),
4650 (3229),
4651 (3230),
4652 (3231),
4653 (3232),
4654 (3233),
4655 (3234),
4656 (3235),
4657 (3236),
4658 (3237),
4659 (3238),
4660 (3239),
4661 (3240),
4662 (3241),
4663 (3242),
4664 (3243),
4665 (3244),
4666 (3245),
4667 (3246),
4668 (3247),
4669 (3248),
4670 (3249),
4671 (3250),
4672 (3251),
4673 (3252),
4674 (3253),
4675 (3254),
4676 (3255),
4677 (3256),
4678 (3257),
4679 (3258),
4680 (3259),
4681 (3260),
4682 (3261),
4683 (3262),
4684 (3263),
4685 (3264),
4686 (3265),
4687 (3266),
4688 (3267),
4689 (3268),
4690 (3269),
4691 (3270),
4692 (3271),
4693 (3272),
4694 (3273),
4695 (3274),
4696 (3275),
4697 (3276),
4698 (3277),
4699 (3278),
4700 (3279),
4701 (3280),
4702 (3281),
4703 (3282),
4704 (3283),
4705 (3284),
4706 (3285),
4707 (3286),
4708 (3287),
4709 (3288),
4710 (3289),
4711 (3290),
4712 (3291),
4713 (3292),
4714 (3293),
4715 (3294),
4716 (3295),
4717 (3296),
4718 (3297),
4719 (3298),
4720 (3299),
4721 (3300),
4722 (3301),
4723 (3302),
4724 (3303),
4725 (3304),
4726 (3305),
4727 (3306),
4728 (3307),
4729 (3308),
4730 (3309),
4731 (3310),
4732 (3311),
4733 (3312),
4734 (3313),
4735 (3314),
4736 (3315),
4737 (3316),
4738 (3317),
4739 (3318),
4740 (3319),
4741 (3320),
4742 (3321),
4743 (3322),
4744 (3323),
4745 (3324),
4746 (3325),
4747 (3326),
4748 (3327),
4749 (3328),
4750 (3329),
4751 (3330),
4752 (3331),
4753 (3332),
4754 (3333),
4755 (3334),
4756 (3335),
4757 (3336),
4758 (3337),
4759 (3338),
4760 (3339),
4761 (3340),
4762 (3341),
4763 (3342),
4764 (3343),
4765 (3344),
4766 (3345),
4767 (3346),
4768 (3347),
4769 (3348),
4770 (3349),
4771 (3350),
4772 (3351),
4773 (3352),
4774 (3353),
4775 (3354),
4776 (3355),
4777 (3356),
4778 (3357),
4779 (3358),
4780 (3359),
4781 (3360),
4782 (3361),
4783 (3362),
4784 (3363),
4785 (3364),
4786 (3365),
4787 (3366),
4788 (3367),
4789 (3368),
4790 (3369),
4791 (3370),
4792 (3371),
4793 (3372),
4794 (3373),
4795 (3374),
4796 (3375),
4797 (3376),
4798 (3377),
4799 (3378),
4800 (3379),
4801 (3380),
4802 (3381),
4803 (3382),
4804 (3383),
4805 (3384),
4806 (3385),
4807 (3386),
4808 (3387),
4809 (3388),
4810 (3389),
4811 (3390),
4812 (3391),
4813 (3392),
4814 (3393),
4815 (3394),
4816 (3395),
4817 (3396),
4818 (3397),
4819 (3398),
4820 (3399),
4821 (3400),
4822 (3401),
4823 (3402),
4824 (3403),
4825 (3404),
4826 (3405),
4827 (3406),
4828 (3407),
4829 (3408),
4830 (3409),
4831 (3410),
4832 (3411),
4833 (3412),
4834 (3413),
4835 (3414),
4836 (3415),
4837 (3416),
4838 (3417),
4839 (3418),
4840 (3419),
4841 (3420),
4842 (3421),
4843 (3422),
4844 (3423),
4845 (3424),
4846 (3425),
4847 (3426),
4848 (3427),
4849 (3428),
4850 (3429),
4851 (3430),
4852 (3431),
4853 (3432),
4854 (3433),
4855 (3434),
4856 (3435),
4857 (3436),
4858 (3437),
4859 (3438),
4860 (3439),
4861 (3440),
4862 (3441),
4863 (3442),
4864 (3443),
4865 (3444),
4866 (3445),
4867 (3446),
4868 (3447),
4869 (3448),
4870 (3449),
4871 (3450),
4872 (3451),
4873 (3452),
4874 (3453),
4875 (3454),
4876 (3455),
4877 (3456),
4878 (3457),
4879 (3458),
4880 (3459),
4881 (3460),
4882 (3461),
4883 (3462),
4884 (3463),
4885 (3464),
4886 (3465),
4887 (3466),
4888 (3467),
4889 (3468),
4890 (3469),
4891 (3470),
4892 (3471),
4893 (3472),
4894 (3473),
4895 (3474),
4896 (3475),
4897 (3476),
4898 (3477),
4899 (3478),
4900 (3479),
4901 (3480),
4902 (3481),
4903 (3482),
4904 (3483),
4905 (3484),
4906 (3485),
4907 (3486),
4908 (3487),
4909 (3488),
4910 (3489),
4911 (3490),
4912 (3491),
4913 (3492),
4914 (3493),
4915 (3494),
4916 (3495),
4917 (3496),
4918 (3497),
4919 (3498),
4920 (3499),
4921 (3500),
4922 (3501),
4923 (3502),
4924 (3503),
4925 (3504),
4926 (3505),
4927 (3506),
4928 (3507),
4929 (3508),
4930 (3509),
4931 (3510),
4932 (3511),
4933 (3512),
4934 (3513),
4935 (3514),
4936 (3515),
4937 (3516),
4938 (3517),
4939 (3518),
4940 (3519),
4941 (3520),
4942 (3521),
4943 (3522),
4944 (3523),
4945 (3524),
4946 (3525),
4947 (3526),
4948 (3527),
4949 (3528),
4950 (3529),
4951 (3530),
4952 (3531),
4953 (3532),
4954 (3533),
4955 (3534),
4956 (3535),
4957 (3536),
4958 (3537),
4959 (3538),
4960 (3539),
4961 (3540),
4962 (3541),
4963 (3542),
4964 (3543),
4965 (3544),
4966 (3545),
4967 (3546),
4968 (3547),
4969 (3548),
4970 (3549),
4971 (3550),
4972 (3551),
4973 (3552),
4974 (3553),
4975 (3554),
4976 (3555),
4977 (3556),
4978 (3557),
4979 (3558),
4980 (3559),
4981 (3560),
4982 (3561),
4983 (3562),
4984 (3563),
4985 (3564),
4986 (3565),
4987 (3566),
4988 (3567),
4989 (3568),
4990 (3569),
4991 (3570),
4992 (3571),
4993 (3572),
4994 (3573),
4995 (3574),
4996 (3575),
4997 (3576),
4998 (3577),
4999 (3578),
5000 (3579),
5001 (3580),
5002 (3581),
5003 (3582),
5004 (3583),
5005 (3584),
5006 (3585),
5007 (3586),
5008 (3587),
5009 (3588),
5010 (3589),
5011 (3590),
5012 (3591),
5013 (3592),
5014 (3593),
5015 (3594),
5016 (3595),
5017 (3596),
5018 (3597),
5019 (3598),
5020 (3599),
5021 (3600),
5022 (3601),
5023 (3602),
5024 (3603),
5025 (3604),
5026 (3605),
5027 (3606),
5028 (3607),
5029 (3608),
5030 (3609),
5031 (3610),
5032 (3611),
5033 (3612),
5034 (3613),
5035 (3614),
5036 (3615),
5037 (3616),
5038 (3617),
5039 (3618),
5040 (3619),
5041 (3620),