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