diff options
Diffstat (limited to 'src')
306 files changed, 29205 insertions, 17620 deletions
diff --git a/src/app/config/config.c b/src/app/config/config.c index 6e7e131055..32b487dd24 100644 --- a/src/app/config/config.c +++ b/src/app/config/config.c @@ -64,6 +64,7 @@ #include "app/config/confparse.h" #include "app/config/statefile.h" #include "app/main/main.h" +#include "app/main/subsysmgr.h" #include "core/mainloop/connection.h" #include "core/mainloop/cpuworker.h" #include "core/mainloop/mainloop.h" @@ -112,9 +113,9 @@ #include "lib/crypt_ops/crypto_rand.h" #include "lib/crypt_ops/crypto_util.h" #include "lib/encoding/confline.h" -#include "lib/log/git_revision.h" #include "lib/net/resolve.h" #include "lib/sandbox/sandbox.h" +#include "lib/version/torversion.h" #ifdef ENABLE_NSS #include "lib/crypt_ops/crypto_nss_mgt.h" @@ -141,7 +142,7 @@ #include "lib/process/pidfile.h" #include "lib/process/restrict.h" #include "lib/process/setuid.h" -#include "lib/process/subprocess.h" +#include "lib/process/process.h" #include "lib/net/gethostname.h" #include "lib/thread/numcpus.h" @@ -339,6 +340,7 @@ static config_var_t option_vars_[] = { V(ClientOnly, BOOL, "0"), V(ClientPreferIPv6ORPort, AUTOBOOL, "auto"), V(ClientPreferIPv6DirPort, AUTOBOOL, "auto"), + V(ClientAutoIPv6ORPort, BOOL, "0"), V(ClientRejectInternalAddresses, BOOL, "1"), V(ClientTransportPlugin, LINELIST, NULL), V(ClientUseIPv6, BOOL, "0"), @@ -388,6 +390,9 @@ static config_var_t option_vars_[] = { OBSOLETE("DynamicDHGroups"), VPORT(DNSPort), OBSOLETE("DNSListenAddress"), + V(DormantClientTimeout, INTERVAL, "24 hours"), + V(DormantTimeoutDisabledByIdleStreams, BOOL, "1"), + V(DormantOnFirstStartup, BOOL, "0"), /* DoS circuit creation options. */ V(DoSCircuitCreationEnabled, AUTOBOOL, "auto"), V(DoSCircuitCreationMinConnections, UINT, "0"), @@ -972,42 +977,6 @@ set_options(or_options_t *new_val, char **msg) return 0; } -/** The version of this Tor process, as parsed. */ -static char *the_tor_version = NULL; -/** A shorter version of this Tor process's version, for export in our router - * descriptor. (Does not include the git version, if any.) */ -static char *the_short_tor_version = NULL; - -/** Return the current Tor version. */ -const char * -get_version(void) -{ - if (the_tor_version == NULL) { - if (strlen(tor_git_revision)) { - tor_asprintf(&the_tor_version, "%s (git-%s)", get_short_version(), - tor_git_revision); - } else { - the_tor_version = tor_strdup(get_short_version()); - } - } - return the_tor_version; -} - -/** Return the current Tor version, without any git tag. */ -const char * -get_short_version(void) -{ - - if (the_short_tor_version == NULL) { -#ifdef TOR_BUILD_TAG - tor_asprintf(&the_short_tor_version, "%s (%s)", VERSION, TOR_BUILD_TAG); -#else - the_short_tor_version = tor_strdup(VERSION); -#endif - } - return the_short_tor_version; -} - /** Release additional memory allocated in options */ STATIC void @@ -1067,9 +1036,6 @@ config_free_all(void) tor_free(torrc_defaults_fname); tor_free(global_dirfrontpagecontents); - tor_free(the_short_tor_version); - tor_free(the_tor_version); - cleanup_protocol_warning_severity_level(); have_parsed_cmdline = 0; @@ -1432,10 +1398,10 @@ options_act_reversible(const or_options_t *old_options, char **msg) * processes. */ if (running_tor && options->RunAsDaemon) { if (! start_daemon_has_been_called()) - crypto_prefork(); + subsystems_prefork(); /* No need to roll back, since you can't change the value. */ if (start_daemon()) - crypto_postfork(); + subsystems_postfork(); } #ifdef HAVE_SYSTEMD @@ -2031,9 +1997,6 @@ options_act(const or_options_t *old_options) finish_daemon(options->DataDirectory); } - /* See whether we need to enable/disable our once-a-second timer. */ - reschedule_per_second_timer(); - /* We want to reinit keys as needed before we do much of anything else: keys are important, and other things can depend on them. */ if (transition_affects_workers || @@ -3375,12 +3338,6 @@ options_validate(or_options_t *old_options, or_options_t *options, * Always use the value of UseEntryGuards, not UseEntryGuards_option. */ options->UseEntryGuards = options->UseEntryGuards_option; - if (warn_about_relative_paths(options) && options->RunAsDaemon) { - REJECT("You have specified at least one relative path (see above) " - "with the RunAsDaemon option. RunAsDaemon is not compatible " - "with relative paths."); - } - if (server_mode(options) && (!strcmpstart(uname, "Windows 95") || !strcmpstart(uname, "Windows 98") || @@ -3397,6 +3354,14 @@ options_validate(or_options_t *old_options, or_options_t *options, if (validate_data_directories(options)<0) REJECT("Invalid DataDirectory"); + /* need to check for relative paths after we populate + * options->DataDirectory (just above). */ + if (warn_about_relative_paths(options) && options->RunAsDaemon) { + REJECT("You have specified at least one relative path (see above) " + "with the RunAsDaemon option. RunAsDaemon is not compatible " + "with relative paths."); + } + if (options->Nickname == NULL) { if (server_mode(options)) { options->Nickname = tor_strdup(UNNAMED_ROUTER_NICKNAME); @@ -3419,6 +3384,8 @@ options_validate(or_options_t *old_options, or_options_t *options, if (ContactInfo && !string_is_utf8(ContactInfo, strlen(ContactInfo))) REJECT("ContactInfo config option must be UTF-8."); + check_network_configuration(server_mode(options)); + /* Special case on first boot if no Log options are given. */ if (!options->Logs && !options->RunAsDaemon && !from_setconf) { if (quiet_level == 0) @@ -3875,6 +3842,10 @@ options_validate(or_options_t *old_options, or_options_t *options, "default."); } + if (options->DormantClientTimeout < 10*60 && !options->TestingTorNetwork) { + REJECT("DormantClientTimeout is too low. It must be at least 10 minutes."); + } + if (options->PathBiasNoticeRate > 1.0) { tor_asprintf(msg, "PathBiasNoticeRate is too high. " @@ -3926,7 +3897,8 @@ options_validate(or_options_t *old_options, or_options_t *options, } if (options->HeartbeatPeriod && - options->HeartbeatPeriod < MIN_HEARTBEAT_PERIOD) { + options->HeartbeatPeriod < MIN_HEARTBEAT_PERIOD && + !options->TestingTorNetwork) { log_warn(LD_CONFIG, "HeartbeatPeriod option is too short; " "raising to %d seconds.", MIN_HEARTBEAT_PERIOD); options->HeartbeatPeriod = MIN_HEARTBEAT_PERIOD; @@ -6911,6 +6883,8 @@ parse_port_config(smartlist_t *out, for (; ports; ports = ports->next) { tor_addr_t addr; + tor_addr_make_unspec(&addr); + int port; int sessiongroup = SESSION_GROUP_UNSET; unsigned isolation = ISO_DEFAULT; diff --git a/src/app/config/config.h b/src/app/config/config.h index a169cfd451..4c497b83a6 100644 --- a/src/app/config/config.h +++ b/src/app/config/config.h @@ -41,8 +41,6 @@ const char *escaped_safe_str_client(const char *address); const char *escaped_safe_str(const char *address); void init_protocol_warning_severity_level(void); int get_protocol_warning_severity_level(void); -const char *get_version(void); -const char *get_short_version(void); /** An error from options_trial_assign() or options_init_from_string(). */ typedef enum setopt_err_t { diff --git a/src/app/config/fallback_dirs.inc b/src/app/config/fallback_dirs.inc index c446152e6a..9f60f309f8 100644 --- a/src/app/config/fallback_dirs.inc +++ b/src/app/config/fallback_dirs.inc @@ -1,73 +1,82 @@ /* type=fallback */ /* version=2.0.0 */ -/* timestamp=20180106205601 */ -/* ===== */ -/* Whitelist & blacklist excluded 810 of 1009 candidates. */ +/* timestamp=20181207055710 */ +/* timestamp0=20181207055710 */ +/* timestamp1=20181207193756 */ +/* timestamp2=20181207195255 */ +/* ===== */ +/* 0: Whitelist excluded 1275 of 1462 candidates. */ +/* 1: Whitelist excluded 1279 of 1470 candidates. */ +/* 2: Whitelist excluded 1278 of 1469 candidates. */ /* Checked IPv4 DirPorts served a consensus within 15.0s. */ /* -Final Count: 143 (Eligible 198, Target 230 (1154 * 0.20), Max 200) -Excluded: 55 (Same Operator 34, Failed/Skipped Download 14, Excess 7) -Bandwidth Range: 0.9 - 131.1 MByte/s +0: +Final Count: 148 (Eligible 187, Target 351 (1757 * 0.20), Max 200) +Excluded: 39 (Same Operator 28, Failed/Skipped Download 7, Excess 4) +Bandwidth Range: 0.8 - 43.8 MByte/s + +MERGED WITH: + +1: +Final Count: 138 (Eligible 191, Target 353 (1768 * 0.20), Max 200) +Excluded: 53 (Same Operator 29, Failed/Skipped Download 20, Excess 4) +Bandwidth Range: 1.0 - 46.9 MByte/s MERGED WITH: -Final Count: 139 (Eligible 199, Target 232 (1161 * 0.20), Max 200) -Excluded: 60 (Same Operator 34, Failed/Skipped Download 19, Excess 7) -Bandwidth Range: 1.1 - 131.1 MByte/s +2: +Final Count: 145 (Eligible 191, Target 353 (1768 * 0.20), Max 200) +Excluded: 46 (Same Operator 29, Failed/Skipped Download 13, Excess 4) +Bandwidth Range: 1.0 - 46.9 MByte/s */ /* -Onionoo Source: details Date: 2018-01-06 20:00:00 Version: 5.0 +0: Onionoo Source: details Date: 2018-12-07 05:00:00 Version: 7.0 +1: Onionoo Source: details Date: 2018-12-07 18:00:00 Version: 7.0 +2: Onionoo Source: details Date: 2018-12-07 18:00:00 Version: 7.0 URL: https:onionoo.torproject.orgdetails?fieldsfingerprint%2Cnickname%2Ccontact%2Clast_changed_address_or_port%2Cconsensus_weight%2Cadvertised_bandwidth%2Cor_addresses%2Cdir_address%2Crecommended_version%2Cflags%2Ceffective_family%2Cplatform&flagV2Dir&typerelay&last_seen_days-0&first_seen_days90- */ /* -Onionoo Source: uptime Date: 2018-01-06 20:00:00 Version: 5.0 +0: Onionoo Source: uptime Date: 2018-12-07 05:00:00 Version: 7.0 +1: Onionoo Source: uptime Date: 2018-12-07 18:00:00 Version: 7.0 +2: Onionoo Source: uptime Date: 2018-12-07 18:00:00 Version: 7.0 URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&last_seen_days-0 */ /* ===== */ -"185.13.39.197:80 orport=443 id=001524DD403D729F08F7E5D77813EF12756CFA8D" -/* nickname=Neldoreth */ -/* extrainfo=0 */ -/* ===== */ -, "176.10.104.240:80 orport=443 id=0111BA9B604669E636FFD5B503F382A4B7AD6E80" /* nickname=DigiGesTor1e1 */ /* extrainfo=0 */ /* ===== */ , -"185.100.85.61:80 orport=443 id=025B66CEBC070FCB0519D206CF0CF4965C20C96E" -/* nickname=nibbana */ +"193.171.202.146:9030 orport=9001 id=01A9258A46E97FF8B2CAC7910577862C14F2C524" +" ipv6=[2001:628:200a:f001:20::146]:9001" +/* nickname=ins0 */ /* extrainfo=0 */ /* ===== */ , -"5.9.110.236:9030 orport=9001 id=0756B7CD4DFC8182BE23143FAC0642F515182CEB" -" ipv6=[2a01:4f8:162:51e2::2]:9001" -/* nickname=rueckgrat */ -/* extrainfo=1 */ -/* ===== */ -, "163.172.149.155:80 orport=443 id=0B85617241252517E8ECF2CFC7F4C1A32DCD153F" /* nickname=niij02 */ /* extrainfo=0 */ /* ===== */ , -"5.39.92.199:80 orport=443 id=0BEA4A88D069753218EAAAD6D22EA87B9A1319D6" -" ipv6=[2001:41d0:8:b1c7::1]:443" -/* nickname=BaelorTornodePw */ +"5.200.21.144:80 orport=443 id=0C039F35C2E40DCB71CD8A07E97C7FD7787D42D6" +/* nickname=libel */ /* extrainfo=0 */ /* ===== */ , -"163.172.25.118:80 orport=22 id=0CF8F3E6590F45D50B70F2F7DA6605ECA6CD408F" -/* nickname=torpidsFRonline4 */ +"5.196.88.122:9030 orport=9001 id=0C2C599AFCB26F5CFC2C7592435924C1D63D9484" +" ipv6=[2001:41d0:a:fb7a::1]:9001" +/* nickname=ATo */ /* extrainfo=0 */ /* ===== */ , -"178.62.197.82:80 orport=443 id=0D3EBA17E1C78F1E9900BABDB23861D46FCAF163" -/* nickname=HY100 */ +"185.100.86.100:80 orport=443 id=0E8C0C8315B66DB5F703804B3889A1DD66C67CE0" +/* nickname=saveyourprivacyex1 */ /* extrainfo=0 */ /* ===== */ , -"185.100.86.100:80 orport=443 id=0E8C0C8315B66DB5F703804B3889A1DD66C67CE0" -/* nickname=saveyourprivacyex1 */ +"37.252.185.182:9030 orport=8080 id=113143469021882C3A4B82F084F8125B08EE471E" +" ipv6=[2a00:63c1:a:182::2]:8080" +/* nickname=parasol */ /* extrainfo=0 */ /* ===== */ , @@ -83,31 +92,36 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"37.157.195.87:8030 orport=443 id=12FD624EE73CEF37137C90D38B2406A66F68FAA2" -/* nickname=thanatosCZ */ +"193.234.15.59:80 orport=443 id=136F9299A5009A4E0E96494E723BDB556FB0A26B" +" ipv6=[2a00:1c20:4089:1234:bff6:e1bb:1ce3:8dc6]:443" +/* nickname=bakunin2 */ /* extrainfo=0 */ /* ===== */ , -"178.16.208.59:80 orport=443 id=136F9299A5009A4E0E96494E723BDB556FB0A26B" -" ipv6=[2a00:1c20:4089:1234:bff6:e1bb:1ce3:8dc6]:443" -/* nickname=bakunin2 */ +"144.76.14.145:110 orport=143 id=14419131033443AE6E21DA82B0D307F7CAE42BDB" +" ipv6=[2a01:4f8:190:9490::dead]:443" +/* nickname=PedicaboMundi */ /* extrainfo=0 */ /* ===== */ , -"163.172.138.22:80 orport=443 id=16102E458460349EE45C0901DAA6C30094A9BBEA" -" ipv6=[2001:bc8:4400:2100::1:3]:443" -/* nickname=mkultra */ +"185.220.101.9:10009 orport=20009 id=14877C6384A9E793F422C8D1DDA447CACA4F7C4B" +/* nickname=niftywoodmouse */ /* extrainfo=0 */ /* ===== */ , -"178.62.60.37:80 orport=443 id=175921396C7C426309AB03775A9930B6F611F794" -/* nickname=lovejoy */ +"54.37.138.138:8080 orport=993 id=1576BE143D8727745BB2BCDDF183291B3C3EFEFC" +/* nickname=anotherone */ /* extrainfo=0 */ /* ===== */ , -"171.25.193.25:80 orport=443 id=185663B7C12777F052B2C2D23D7A239D8DA88A0F" -" ipv6=[2001:67c:289c::25]:443" -/* nickname=DFRI5 */ +"51.15.78.0:9030 orport=9001 id=15BE17C99FACE24470D40AF782D6A9C692AB36D6" +" ipv6=[2001:bc8:4700:2300::16:c0b]:9001" +/* nickname=rofltor07 */ +/* extrainfo=0 */ +/* ===== */ +, +"204.11.50.131:9030 orport=9001 id=185F2A57B0C4620582602761097D17DB81654F70" +/* nickname=BoingBoing */ /* extrainfo=0 */ /* ===== */ , @@ -118,7 +132,7 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l , "81.7.14.253:9001 orport=443 id=1AE039EE0B11DB79E4B4B29CBA9F752864A0259E" /* nickname=Ichotolot60 */ -/* extrainfo=0 */ +/* extrainfo=1 */ /* ===== */ , "163.172.53.84:143 orport=21 id=1C90D3AEADFF3BCD079810632C8B85637924A58E" @@ -127,46 +141,25 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"46.101.151.222:80 orport=443 id=1DBAED235E3957DE1ABD25B4206BE71406FB61F8" -/* nickname=flanders */ -/* extrainfo=0 */ -/* ===== */ -, -"91.219.237.229:80 orport=443 id=1ECD73B936CB6E6B3CD647CC204F108D9DF2C9F7" -/* nickname=JakeDidNothingWrong */ -/* extrainfo=0 */ -/* ===== */ -, "199.184.246.250:80 orport=443 id=1F6ABD086F40B890A33C93CC4606EE68B31C9556" " ipv6=[2620:124:1009:1::171]:443" /* nickname=dao */ /* extrainfo=0 */ /* ===== */ , -"185.129.249.124:9030 orport=9001 id=1FA8F638298645BE58AC905276680889CB795A94" -/* nickname=treadstone */ -/* extrainfo=0 */ -/* ===== */ -, "212.47.229.2:9030 orport=9001 id=20462CBA5DA4C2D963567D17D0B7249718114A68" " ipv6=[2001:bc8:4400:2100::f03]:9001" /* nickname=scaletor */ /* extrainfo=0 */ /* ===== */ , -"77.247.181.164:80 orport=443 id=204DFD2A2C6A0DC1FA0EACB495218E0B661704FD" -/* nickname=HaveHeart */ -/* extrainfo=0 */ -/* ===== */ -, "163.172.176.167:80 orport=443 id=230A8B2A8BA861210D9B4BA97745AEC217A94207" /* nickname=niij01 */ /* extrainfo=0 */ /* ===== */ , -"37.200.98.5:80 orport=443 id=231C2B9C8C31C295C472D031E06964834B745996" -" ipv6=[2a00:1158:3::11a]:993" -/* nickname=torpidsDEdomainf */ +"185.220.101.8:10008 orport=20008 id=24E91955D969AEA1D80413C64FE106FAE7FD2EA9" +/* nickname=niftymouse */ /* extrainfo=0 */ /* ===== */ , @@ -175,7 +168,7 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"178.16.208.56:80 orport=443 id=2CDCFED0142B28B002E89D305CBA2E26063FADE2" +"193.234.15.56:80 orport=443 id=2CDCFED0142B28B002E89D305CBA2E26063FADE2" " ipv6=[2a00:1c20:4089:1234:cd49:b58a:9ebe:67ec]:443" /* nickname=jaures */ /* extrainfo=0 */ @@ -186,14 +179,14 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"64.113.32.29:9030 orport=9001 id=30C19B81981F450C402306E2E7CFB6C3F79CB6B2" -/* nickname=Libero */ +"94.230.208.147:8080 orport=8443 id=311A4533F7A2415F42346A6C8FA77E6FD279594C" +" ipv6=[2a02:418:6017::147]:8443" +/* nickname=DigiGesTor3e2 */ /* extrainfo=0 */ /* ===== */ , -"80.127.117.180:80 orport=443 id=328E54981C6DDD7D89B89E418724A4A7881E3192" -" ipv6=[2001:985:e77:10::4]:443" -/* nickname=sjc01 */ +"212.83.154.33:8080 orport=8443 id=322C6E3A973BC10FC36DE3037AD27BC89F14723B" +/* nickname=bauruine204 */ /* extrainfo=0 */ /* ===== */ , @@ -203,21 +196,25 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"163.172.13.165:9030 orport=9001 id=33DA0CAB7C27812EFF2E22C9705630A54D101FEB" -" ipv6=[2001:bc8:38cb:201::8]:9001" -/* nickname=mullbinde9 */ +"54.37.17.235:9030 orport=9001 id=360CBA08D1E24F513162047BDB54A1015E531534" +/* nickname=Aerodynamik06 */ /* extrainfo=0 */ /* ===== */ , -"91.121.23.100:9030 orport=9001 id=3711E80B5B04494C971FB0459D4209AB7F2EA799" -/* nickname=0x3d002 */ +"37.157.255.35:9030 orport=9090 id=361D33C96D0F161275EE67E2C91EE10B276E778B" +/* nickname=cxx4freedom */ /* extrainfo=0 */ /* ===== */ , -"176.126.252.12:21 orport=8080 id=379FB450010D17078B3766C2273303C358C3A442" -" ipv6=[2a02:59e0:0:7::12]:81" -/* nickname=aurora */ -/* extrainfo=1 */ +"37.187.22.87:9030 orport=9001 id=36B9E7AC1E36B62A9D6F330ABEB6012BA7F0D400" +" ipv6=[2001:41d0:a:1657::1]:9001" +/* nickname=kimsufi321 */ +/* extrainfo=0 */ +/* ===== */ +, +"64.79.152.132:80 orport=443 id=375DCBB2DBD94E5263BC0C015F0C9E756669617E" +/* nickname=ebola */ +/* extrainfo=0 */ /* ===== */ , "62.210.92.11:9130 orport=9101 id=387B065A38E4DAA16D9D41C2964ECBC4B31D30FF" @@ -231,24 +228,9 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"164.132.77.175:9030 orport=9001 id=3B33F6FCA645AD4E91428A3AF7DC736AD9FB727B" -/* nickname=rofltor1 */ -/* extrainfo=0 */ -/* ===== */ -, -"212.83.154.33:8888 orport=443 id=3C79699D4FBC37DE1A212D5033B56DAE079AC0EF" -/* nickname=bauruine203 */ -/* extrainfo=0 */ -/* ===== */ -, -"176.10.107.180:9030 orport=9001 id=3D7E274A87D9A89AF064C13D1EE4CA1F184F2600" -/* nickname=schokomilch */ -/* extrainfo=0 */ -/* ===== */ -, -"217.79.179.177:9030 orport=9001 id=3E53D3979DB07EFD736661C934A1DED14127B684" -" ipv6=[2001:4ba0:fff9:131:6c4f::90d3]:9001" -/* nickname=Unnamed */ +"66.111.2.16:9030 orport=9001 id=3F092986E9B87D3FDA09B71FA3A602378285C77A" +" ipv6=[2610:1c0:0:5::16]:9001" +/* nickname=NYCBUG1 */ /* extrainfo=0 */ /* ===== */ , @@ -257,19 +239,21 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"199.249.223.61:80 orport=443 id=40E7D6CE5085E4CDDA31D51A29D1457EB53F12AD" -/* nickname=Quintex12 */ +"195.191.81.7:9030 orport=9001 id=41A3C16269C7B63DB6EB741DBDDB4E1F586B1592" +" ipv6=[2a00:1908:fffc:ffff:c0a6:ccff:fe62:e1a1]:9001" +/* nickname=rofltor02 */ /* extrainfo=0 */ /* ===== */ , "178.17.170.156:9030 orport=9001 id=41C59606AFE1D1AA6EC6EF6719690B856F0B6587" +" ipv6=[2a00:1dc0:caff:48::9257]:9001" /* nickname=TorExitMoldova2 */ /* extrainfo=0 */ /* ===== */ , -"178.62.86.96:9030 orport=9001 id=439D0447772CB107B886F7782DBC201FA26B92D1" -" ipv6=[2a03:b0c0:1:d0::3cf:7001]:9050" -/* nickname=pablobm001 */ +"81.7.10.251:80 orport=443 id=45362E8ECD651CCAC521156FFBD2FF7F27FA8E88" +" ipv6=[2a02:180:1:1::517:afb]:443" +/* nickname=torpidsDEisppro2 */ /* extrainfo=0 */ /* ===== */ , @@ -278,19 +262,23 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , +"132.248.241.5:9030 orport=9001 id=4661DE96D3F8E923994B05218F23760C8D7935A4" +/* nickname=toritounam */ +/* extrainfo=0 */ +/* ===== */ +, "31.31.78.49:80 orport=443 id=46791D156C9B6C255C2665D4D8393EC7DBAA7798" /* nickname=KrigHaBandolo */ /* extrainfo=0 */ /* ===== */ , -"193.70.43.76:9030 orport=9001 id=484A10BA2B8D48A5F0216674C8DD50EF27BC32F3" -/* nickname=Aerodynamik03 */ +"185.220.101.34:10034 orport=20034 id=47C42E2094EE482E7C9B586B10BABFB67557030B" +/* nickname=niftysugarglider */ /* extrainfo=0 */ /* ===== */ , -"37.187.102.186:9030 orport=9001 id=489D94333DF66D57FFE34D9D59CC2D97E2CB0053" -" ipv6=[2001:41d0:a:26ba::1]:9001" -/* nickname=txtfileTorNode65536 */ +"193.70.43.76:9030 orport=9001 id=484A10BA2B8D48A5F0216674C8DD50EF27BC32F3" +/* nickname=Aerodynamik03 */ /* extrainfo=0 */ /* ===== */ , @@ -299,9 +287,10 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"108.53.208.157:80 orport=443 id=4F0DB7E687FC7C0AE55C8F243DA8B0EB27FBF1F2" -/* nickname=Binnacle */ -/* extrainfo=1 */ +"81.7.13.84:80 orport=443 id=4EB55679FA91363B97372554F8DC7C63F4E5B101" +" ipv6=[2a02:180:1:1::5b8f:538c]:443" +/* nickname=torpidsDEisppro */ +/* extrainfo=0 */ /* ===== */ , "212.51.134.123:9030 orport=9001 id=50586E25BE067FD1F739998550EDDCB1A14CA5B2" @@ -320,6 +309,18 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , +"192.160.102.166:80 orport=9001 id=547DA56F6B88B6C596B3E3086803CDA4F0EF8F21" +" ipv6=[2620:132:300c:c01d::6]:9002" +/* nickname=chaucer */ +/* extrainfo=0 */ +/* ===== */ +, +"192.160.102.170:80 orport=9001 id=557ACEC850F54EEE65839F83CACE2B0825BE811E" +" ipv6=[2620:132:300c:c01d::a]:9002" +/* nickname=ogopogo */ +/* extrainfo=0 */ +/* ===== */ +, "95.130.12.119:80 orport=443 id=587E0A9552E4274B251F29B5B2673D38442EE4BF" /* nickname=Nuath */ /* extrainfo=0 */ @@ -331,19 +332,19 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"172.98.193.43:80 orport=443 id=5E56738E7F97AA81DEEF59AF28494293DFBFCCDF" -/* nickname=Backplane */ +"193.234.15.62:80 orport=443 id=5CF8AFA5E4B0BB88942A44A3F3AAE08C3BDFD60B" +" ipv6=[2a00:1c20:4089:1234:a6a4:2926:d0af:dfee]:443" +/* nickname=jaures4 */ /* extrainfo=0 */ /* ===== */ , -"199.249.223.74:80 orport=443 id=5F4CD12099AF20FAF9ADFDCEC65316A376D0201C" -/* nickname=QuintexAirVPN7 */ +"172.98.193.43:80 orport=443 id=5E56738E7F97AA81DEEF59AF28494293DFBFCCDF" +/* nickname=Backplane */ /* extrainfo=0 */ /* ===== */ , -"95.128.43.164:80 orport=443 id=616081EC829593AF4232550DE6FFAA1D75B37A90" -" ipv6=[2a02:ec0:209:10::4]:443" -/* nickname=AquaRayTerminus */ +"185.220.101.28:10028 orport=20028 id=609E598FB6A00BCF7872906B602B705B64541C50" +/* nickname=niftychipmunk */ /* extrainfo=0 */ /* ===== */ , @@ -352,88 +353,84 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"85.214.62.48:80 orport=443 id=6A7551EEE18F78A9813096E82BF84F740D32B911" -/* nickname=TorMachine */ -/* extrainfo=0 */ -/* ===== */ -, "80.127.137.19:80 orport=443 id=6EF897645B79B6CB35E853B32506375014DE3621" " ipv6=[2001:981:47c1:1::6]:443" /* nickname=d6relay */ /* extrainfo=0 */ /* ===== */ , -"85.235.250.88:80 orport=443 id=72B2B12A3F60408BDBC98C6DF53988D3A0B3F0EE" -/* nickname=TykRelay01 */ +"37.139.8.104:9030 orport=9001 id=7088D485934E8A403B81531F8C90BDC75FA43C98" +" ipv6=[2a03:b0c0:0:1010::24c:1001]:9001" +/* nickname=Basil */ /* extrainfo=0 */ /* ===== */ , -"81.7.14.31:9001 orport=443 id=7600680249A22080ECC6173FBBF64D6FCF330A61" -/* nickname=Ichotolot62 */ +"188.138.88.42:80 orport=443 id=70C55A114C0EF3DC5784A4FAEE64388434A3398F" +/* nickname=torpidsFRplusserver */ /* extrainfo=0 */ /* ===== */ , -"134.119.36.135:80 orport=443 id=763C9556602BD6207771A7A3D958091D44C43228" -" ipv6=[2a00:1158:3::2a8]:993" -/* nickname=torpidsDEdomainf2 */ +"185.220.101.30:10030 orport=20030 id=71CFDEB4D9E00CCC3E31EC4E8A29E109BBC1FB36" +/* nickname=niftypedetidae */ /* extrainfo=0 */ /* ===== */ , -"188.166.133.133:9030 orport=9001 id=774555642FDC1E1D4FDF2E0C31B7CA9501C5C9C7" -" ipv6=[2a03:b0c0:2:d0::26c0:1]:9001" -/* nickname=dropsy */ +"85.235.250.88:80 orport=443 id=72B2B12A3F60408BDBC98C6DF53988D3A0B3F0EE" +/* nickname=TykRelay01 */ /* extrainfo=0 */ /* ===== */ , +"81.7.14.31:9001 orport=443 id=7600680249A22080ECC6173FBBF64D6FCF330A61" +/* nickname=Ichotolot62 */ +/* extrainfo=1 */ +/* ===== */ +, "5.196.23.64:9030 orport=9001 id=775B0FAFDE71AADC23FFC8782B7BEB1D5A92733E" /* nickname=Aerodynamik01 */ /* extrainfo=0 */ /* ===== */ , -"81.30.158.213:9030 orport=9001 id=789EA6C9AE9ADDD8760903171CFA9AC5741B0C70" -" ipv6=[2001:4ba0:cafe:e84::1]:9001" -/* nickname=dumpster */ +"51.254.136.195:80 orport=443 id=7BB70F8585DFC27E75D692970C0EEB0F22983A63" +/* nickname=torproxy02 */ /* extrainfo=0 */ /* ===== */ , -"104.200.20.46:80 orport=9001 id=78E2BE744A53631B4AAB781468E94C52AB73968B" -/* nickname=bynumlawtor */ +"185.100.84.82:80 orport=443 id=7D05A38E39FC5D29AFE6BE487B9B4DC9E635D09E" +/* nickname=saveyourprivacyexit */ /* extrainfo=0 */ /* ===== */ , -"62.210.129.246:80 orport=443 id=79E169B25E4C7CE99584F6ED06F379478F23E2B8" -/* nickname=MilesPrower */ +"193.11.114.45:9031 orport=9002 id=80AAF8D5956A43C197104CEF2550CD42D165C6FB" +/* nickname=mdfnet2 */ /* extrainfo=0 */ /* ===== */ , -"82.223.21.74:9030 orport=9001 id=7A32C9519D80CA458FC8B034A28F5F6815649A98" -" ipv6=[2001:470:53e0::cafe]:9050" -/* nickname=silentrocket */ +"51.254.96.208:9030 orport=9001 id=8101421BEFCCF4C271D5483C5AABCAAD245BBB9D" +" ipv6=[2001:41d0:401:3100::30dc]:9001" +/* nickname=rofltor01 */ /* extrainfo=0 */ /* ===== */ , -"51.254.136.195:80 orport=443 id=7BB70F8585DFC27E75D692970C0EEB0F22983A63" -/* nickname=torproxy02 */ +"217.12.199.190:80 orport=443 id=81AFA888F8F8F4A024AB58ECA0ADDEBB93FF01DA" +" ipv6=[2a02:27a8:0:2::486]:993" +/* nickname=torpidsUAitlas */ /* extrainfo=0 */ /* ===== */ , -"77.247.181.162:80 orport=443 id=7BFB908A3AA5B491DA4CA72CCBEE0E1F2A939B55" -/* nickname=sofia */ +"192.42.116.16:80 orport=443 id=81B75D534F91BFB7C57AB67DA10BCEF622582AE8" +/* nickname=hviv104 */ /* extrainfo=0 */ /* ===== */ , -"185.100.84.82:80 orport=443 id=7D05A38E39FC5D29AFE6BE487B9B4DC9E635D09E" -/* nickname=saveyourprivacyexit */ +"192.160.102.164:80 orport=9001 id=823AA81E277F366505545522CEDC2F529CE4DC3F" +" ipv6=[2620:132:300c:c01d::4]:9002" +/* nickname=snowfall */ /* extrainfo=0 */ /* ===== */ , -"199.249.223.69:80 orport=443 id=7FA8E7E44F1392A4E40FFC3B69DB3B00091B7FD3" -/* nickname=Quintex20 */ -/* extrainfo=0 */ -/* ===== */ -, -"193.11.114.45:9031 orport=9002 id=80AAF8D5956A43C197104CEF2550CD42D165C6FB" -/* nickname=mdfnet2 */ +"192.87.28.82:9030 orport=9001 id=844AE9CAD04325E955E2BE1521563B79FE7094B7" +" ipv6=[2001:678:230:3028:192:87:28:82]:9001" +/* nickname=Smeerboel */ /* extrainfo=0 */ /* ===== */ , @@ -442,23 +439,19 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"85.230.184.93:9030 orport=443 id=855BC2DABE24C861CD887DB9B2E950424B49FC34" -/* nickname=Logforme */ -/* extrainfo=0 */ -/* ===== */ -, -"72.52.75.27:9030 orport=9001 id=8567AD0A6369ED08527A8A8533A5162AC00F7678" -/* nickname=piecoopdotnet */ +"185.96.88.29:80 orport=443 id=86C281AD135058238D7A337D546C902BE8505DDE" +/* nickname=TykRelay05 */ /* extrainfo=0 */ /* ===== */ , -"185.96.88.29:80 orport=443 id=86C281AD135058238D7A337D546C902BE8505DDE" -/* nickname=TykRelay05 */ +"93.180.156.84:9030 orport=9001 id=8844D87E9B038BE3270938F05AF797E1D3C74C0F" +/* nickname=BARACUDA */ /* extrainfo=0 */ /* ===== */ , -"176.10.104.243:80 orport=443 id=88487BDD980BF6E72092EE690E8C51C0AA4A538C" -/* nickname=DigiGesTor2e1 */ +"51.15.205.214:9030 orport=9001 id=8B6556601612F1E2AFCE2A12FFFAF8482A76DD1F" +" ipv6=[2001:bc8:4400:2500::5:b07]:9001" +/* nickname=titania1 */ /* extrainfo=0 */ /* ===== */ , @@ -468,14 +461,8 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"5.189.169.190:8030 orport=8080 id=8D79F73DCD91FC4F5017422FAC70074D6DB8DD81" -/* nickname=thanatosDE */ -/* extrainfo=0 */ -/* ===== */ -, -"151.80.42.103:9030 orport=9001 id=9007C1D8E4F03D506A4A011B907A9E8D04E3C605" -" ipv6=[2001:41d0:e:f67::114]:9001" -/* nickname=matlink */ +"81.7.11.96:9030 orport=9001 id=8FA37B93397015B2BC5A525C908485260BE9F422" +/* nickname=Doedel22 */ /* extrainfo=0 */ /* ===== */ , @@ -485,19 +472,29 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"62.138.7.171:8030 orport=8001 id=9285B22F7953D7874604EEE2B470609AD81C74E9" -/* nickname=0x3d005 */ +"51.255.41.65:9030 orport=9001 id=9231DF741915AA1630031A93026D88726877E93A" +/* nickname=PrisnCellRelayFR1 */ +/* extrainfo=0 */ +/* ===== */ +, +"54.37.73.111:9030 orport=9001 id=92412EA1B9AA887D462B51D816777002F4D58907" +/* nickname=Aerodynamik05 */ /* extrainfo=0 */ /* ===== */ , -"178.16.208.57:80 orport=443 id=92CFD9565B24646CAC2D172D3DB503D69E777B8A" +"96.253.78.108:80 orport=443 id=924B24AFA7F075D059E8EEB284CC400B33D3D036" +/* nickname=NSDFreedom */ +/* extrainfo=0 */ +/* ===== */ +, +"193.234.15.57:80 orport=443 id=92CFD9565B24646CAC2D172D3DB503D69E777B8A" " ipv6=[2a00:1c20:4089:1234:7825:2c5d:1ecd:c66f]:443" /* nickname=bakunin */ /* extrainfo=0 */ /* ===== */ , -"91.219.237.244:80 orport=443 id=92ECC9E0E2AF81BB954719B189AC362E254AD4A5" -/* nickname=lewwerDuarUesSlaav */ +"204.8.156.142:80 orport=443 id=94C4B7B8C50C86A92B6A20107539EE2678CF9A28" +/* nickname=BostonUCompSci */ /* extrainfo=0 */ /* ===== */ , @@ -506,8 +503,8 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"163.172.223.200:80 orport=443 id=998BF3ED7F70E33D1C307247B9626D9E7573C438" -/* nickname=Outfall2 */ +"173.212.254.192:31336 orport=31337 id=99E246DB480B313A3012BC3363093CC26CD209C7" +/* nickname=ViDiSrv */ /* extrainfo=0 */ /* ===== */ , @@ -517,22 +514,24 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* ===== */ , "66.111.2.20:9030 orport=9001 id=9A68B85A02318F4E7E87F2828039FBD5D75B0142" +" ipv6=[2610:1c0:0:5::20]:9001" /* nickname=NYCBUG0 */ /* extrainfo=0 */ /* ===== */ , "185.100.86.128:9030 orport=9001 id=9B31F1F1C1554F9FFB3455911F82E818EF7C7883" +" ipv6=[2a06:1700:1::11]:9001" /* nickname=TorExitFinland */ /* extrainfo=0 */ /* ===== */ , -"146.185.177.103:80 orport=9030 id=9EC5E097663862DF861A18C32B37C5F82284B27D" -/* nickname=Winter */ +"86.105.212.130:9030 orport=443 id=9C900A7F6F5DD034CFFD192DAEC9CCAA813DB022" +/* nickname=firstor2 */ /* extrainfo=0 */ /* ===== */ , -"199.249.223.64:80 orport=443 id=9F2856F6D2B89AD4EF6D5723FAB167DB5A53519A" -/* nickname=Quintex15 */ +"31.185.104.19:80 orport=443 id=9EAD5B2D3DBD96DBC80DCE423B0C345E920A758D" +/* nickname=Digitalcourage3ip1 */ /* extrainfo=0 */ /* ===== */ , @@ -541,11 +540,6 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"91.121.84.137:4952 orport=4052 id=9FBEB75E8BC142565F12CBBE078D63310236A334" -/* nickname=lindon */ -/* extrainfo=0 */ -/* ===== */ -, "46.165.230.5:80 orport=443 id=A0F06C2FADF88D3A39AA3072B406F09D7095AC9E" /* nickname=Dhalgren */ /* extrainfo=1 */ @@ -557,9 +551,14 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , +"87.118.122.120:80 orport=443 id=A2A6616723B511D8E068BB71705191763191F6B2" +/* nickname=otheontelth */ +/* extrainfo=0 */ +/* ===== */ +, "81.7.3.67:993 orport=443 id=A2E6BB5C391CD46B38C55B4329C35304540771F1" /* nickname=BeastieJoy62 */ -/* extrainfo=0 */ +/* extrainfo=1 */ /* ===== */ , "171.25.193.78:80 orport=443 id=A478E421F83194C114F41E94F95999672AED51FE" @@ -568,23 +567,31 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"178.16.208.58:80 orport=443 id=A4C98CEA3F34E05299417E9F885A642C88EF6029" +"193.234.15.58:80 orport=443 id=A4C98CEA3F34E05299417E9F885A642C88EF6029" " ipv6=[2a00:1c20:4089:1234:cdae:1b3e:cc38:3d45]:443" /* nickname=jaures2 */ /* extrainfo=0 */ /* ===== */ , -"163.172.149.122:80 orport=443 id=A9406A006D6E7B5DA30F2C6D4E42A338B5E340B2" -/* nickname=niij03 */ +"128.31.0.13:80 orport=443 id=A53C46F5B157DD83366D45A8E99A244934A14C46" +/* nickname=csailmitexit */ +/* extrainfo=0 */ +/* ===== */ +, +"94.142.242.84:80 orport=443 id=AA0D167E03E298F9A8CD50F448B81FBD7FA80D56" +" ipv6=[2a02:898:24:84::1]:443" +/* nickname=rejozenger */ /* extrainfo=0 */ /* ===== */ , "195.154.164.243:80 orport=443 id=AC66FFA4AB35A59EBBF5BF4C70008BF24D8A7A5C" +" ipv6=[2001:bc8:399f:f000::1]:993" /* nickname=torpidsFRonline3 */ /* extrainfo=0 */ /* ===== */ , "86.59.119.88:80 orport=443 id=ACD889D86E02EDDAB1AFD81F598C0936238DC6D0" +" ipv6=[2001:858:2:30:86:59:119:88]:443" /* nickname=ph3x */ /* extrainfo=0 */ /* ===== */ @@ -601,10 +608,15 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"176.126.252.11:443 orport=9001 id=B0279A521375F3CB2AE210BDBFC645FDD2E1973A" -" ipv6=[2a02:59e0:0:7::11]:9003" -/* nickname=chulak */ -/* extrainfo=1 */ +"31.185.104.20:80 orport=443 id=ADB2C26629643DBB9F8FE0096E7D16F9414B4F8D" +/* nickname=Digitalcourage3ip2 */ +/* extrainfo=0 */ +/* ===== */ +, +"45.79.108.130:9030 orport=9001 id=AEDAC7081AE14B8D241ECF0FF17A2858AB4383D0" +" ipv6=[2600:3c01:e000:131::8000:0]:9001" +/* nickname=linss */ +/* extrainfo=0 */ /* ===== */ , "5.9.147.226:9030 orport=9001 id=B0553175AADB0501E5A61FC61CEA3970BE130FF2" @@ -614,15 +626,11 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* ===== */ , "178.17.174.14:9030 orport=9001 id=B06F093A3D4DFAD3E923F4F28A74901BD4F74EB1" +" ipv6=[2a00:1dc0:caff:8b::5b9a]:9001" /* nickname=TorExitMoldova */ /* extrainfo=0 */ /* ===== */ , -"199.249.223.40:80 orport=443 id=B0CD9F9B5B60651ADC5919C0F1EAA87DBA1D9249" -/* nickname=Quintex31 */ -/* extrainfo=0 */ -/* ===== */ -, "212.129.62.232:80 orport=443 id=B143D439B72D239A419F8DCE07B8A8EB1B486FA7" /* nickname=wardsback */ /* extrainfo=0 */ @@ -633,8 +641,9 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"212.47.233.86:9030 orport=9001 id=B4CAFD9CBFB34EC5DAAC146920DC7DFAFE91EA20" -/* nickname=netimanmu */ +"193.234.15.60:80 orport=443 id=B44FBE5366AD98B46D829754FA4AC599BAE41A6A" +" ipv6=[2a00:1c20:4089:1234:67bc:79f3:61c0:6e49]:443" +/* nickname=jaures3 */ /* extrainfo=0 */ /* ===== */ , @@ -649,39 +658,51 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , +"185.220.101.32:10032 orport=20032 id=B771AA877687F88E6F1CA5354756DF6C8A7B6B24" +/* nickname=niftypika */ +/* extrainfo=0 */ +/* ===== */ +, "193.11.114.46:9032 orport=9003 id=B83DC1558F0D34353BB992EF93AFEAFDB226A73E" /* nickname=mdfnet3 */ /* extrainfo=0 */ /* ===== */ , +"85.248.227.164:444 orport=9002 id=B84F248233FEA90CAD439F292556A3139F6E1B82" +" ipv6=[2a00:1298:8011:212::164]:9004" +/* nickname=tollana */ +/* extrainfo=0 */ +/* ===== */ +, "81.7.11.186:1080 orport=443 id=B86137AE9681701901C6720E55C16805B46BD8E3" /* nickname=BeastieJoy60 */ -/* extrainfo=0 */ +/* extrainfo=1 */ /* ===== */ , -"197.231.221.211:9030 orport=443 id=BC630CBBB518BE7E9F4E09712AB0269E9DC7D626" -/* nickname=IPredator */ +"213.141.138.174:9030 orport=9001 id=BD552C165E2ED2887D3F1CCE9CFF155DDA2D86E6" +/* nickname=Schakalium */ /* extrainfo=0 */ /* ===== */ , -"198.96.155.3:8080 orport=5001 id=BCEDF6C193AA687AE471B8A22EBF6BC57C2D285E" -/* nickname=gurgle */ +"148.251.190.229:9030 orport=9010 id=BF0FB582E37F738CD33C3651125F2772705BB8E8" +" ipv6=[2a01:4f8:211:c68::2]:9010" +/* nickname=quadhead */ /* extrainfo=0 */ /* ===== */ , -"128.199.55.207:9030 orport=9001 id=BCEF908195805E03E92CCFE669C48738E556B9C5" -" ipv6=[2a03:b0c0:2:d0::158:3001]:9001" -/* nickname=EldritchReaper */ +"104.192.5.248:9030 orport=443 id=BF735F669481EE1CCC348F0731551C933D1E2278" +/* nickname=Freeway1a1 */ /* extrainfo=0 */ /* ===== */ , -"213.141.138.174:9030 orport=9001 id=BD552C165E2ED2887D3F1CCE9CFF155DDA2D86E6" -/* nickname=Schakalium */ +"192.160.102.169:80 orport=9001 id=C0192FF43E777250084175F4E59AC1BA2290CE38" +" ipv6=[2620:132:300c:c01d::9]:9002" +/* nickname=manipogo */ /* extrainfo=0 */ /* ===== */ , -"104.192.5.248:9030 orport=9001 id=BF735F669481EE1CCC348F0731551C933D1E2278" -/* nickname=Freeway11 */ +"185.220.101.6:10006 orport=20006 id=C08DE49658E5B3CFC6F2A952B453C4B608C9A16A" +/* nickname=niftyvolcanorabbit */ /* extrainfo=0 */ /* ===== */ , @@ -701,18 +722,31 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"199.249.223.66:80 orport=443 id=C5A53BCC174EF8FD0DCB223E4AA929FA557DEDB2" -/* nickname=Quintex17 */ +"193.234.15.55:80 orport=443 id=C4AEA05CF380BAD2230F193E083B8869B4A29937" +" ipv6=[2a00:1c20:4089:1234:7b2c:11c5:5221:903e]:443" +/* nickname=bakunin4 */ /* extrainfo=0 */ /* ===== */ , -"85.25.213.211:465 orport=80 id=CE47F0356D86CF0A1A2008D97623216D560FB0A8" -/* nickname=BeastieJoy61 */ +"85.248.227.163:443 orport=9001 id=C793AB88565DDD3C9E4C6F15CCB9D8C7EF964CE9" +" ipv6=[2a00:1298:8011:212::163]:9003" +/* nickname=ori */ +/* extrainfo=0 */ +/* ===== */ +, +"192.160.102.165:80 orport=9001 id=C90CA3B7FE01A146B8268D56977DC4A2C024B9EA" +" ipv6=[2620:132:300c:c01d::5]:9002" +/* nickname=cowcat */ /* extrainfo=0 */ /* ===== */ , -"51.15.13.245:9030 orport=9001 id=CED527EAC230E7B56E5B363F839671829C3BA01B" -/* nickname=0x3d006 */ +"176.31.103.150:9030 orport=9001 id=CBD0D1BD110EC52963082D839AC6A89D0AE243E7" +/* nickname=UV74S7mjxRcYVrGsAMw */ +/* extrainfo=0 */ +/* ===== */ +, +"85.25.213.211:465 orport=80 id=CE47F0356D86CF0A1A2008D97623216D560FB0A8" +/* nickname=BeastieJoy61 */ /* extrainfo=0 */ /* ===== */ , @@ -721,19 +755,24 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"31.171.155.108:9030 orport=9001 id=D3E5EDDBE5159388704D6785BE51930AAFACEC6F" -/* nickname=TorNodeAlbania */ +"5.45.111.149:80 orport=443 id=D405FCCF06ADEDF898DF2F29C9348DCB623031BA" +" ipv6=[2a03:4000:6:2388:df98:15f9:b34d:443]:443" +/* nickname=gGDHjdcC6zAlM8k08lY */ /* extrainfo=0 */ /* ===== */ , -"37.221.162.226:9030 orport=9001 id=D64366987CB39F61AD21DBCF8142FA0577B92811" -/* nickname=kasperskytor01 */ +"37.187.115.157:9030 orport=9001 id=D5039E1EBFD96D9A3F9846BF99EC9F75EDDE902A" +/* nickname=Janky328891 */ /* extrainfo=0 */ /* ===== */ , -"46.101.169.151:9030 orport=9001 id=D760C5B436E42F93D77EF2D969157EEA14F9B39C" -" ipv6=[2a03:b0c0:3:d0::74f:a001]:9001" -/* nickname=DanWin1210 */ +"217.182.51.248:80 orport=443 id=D6BA940D3255AB40DC5EE5B0B285FA143E1F9865" +/* nickname=Cosworth02 */ +/* extrainfo=0 */ +/* ===== */ +, +"185.34.33.2:9265 orport=31415 id=D71B1CA1C9DC7E8CA64158E106AD770A21160FEE" +/* nickname=lqdn */ /* extrainfo=0 */ /* ===== */ , @@ -748,6 +787,11 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , +"54.36.237.163:80 orport=443 id=DB2682153AC0CCAECD2BD1E9EBE99C6815807A1E" +/* nickname=GermanCraft2 */ +/* extrainfo=0 */ +/* ===== */ +, "178.33.183.251:80 orport=443 id=DD823AFB415380A802DCAEB9461AE637604107FB" " ipv6=[2001:41d0:2:a683::251]:443" /* nickname=grenouille */ @@ -760,34 +804,36 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , -"92.222.38.67:80 orport=443 id=DED6892FF89DBD737BA689698A171B2392EB3E82" -/* nickname=ThorExit */ +"83.212.99.68:80 orport=443 id=DDBB2A38252ADDA53E4492DDF982CA6CC6E10EC0" +" ipv6=[2001:648:2ffc:1225:a800:bff:fe3d:67b5]:443" +/* nickname=zouzounella */ /* extrainfo=0 */ /* ===== */ , -"166.70.207.2:9030 orport=9001 id=E3DB2E354B883B59E8DC56B3E7A353DDFD457812" -/* nickname=xmission */ +"92.222.38.67:80 orport=443 id=DED6892FF89DBD737BA689698A171B2392EB3E82" +" ipv6=[2001:41d0:52:100::112a]:443" +/* nickname=ThorExit */ /* extrainfo=0 */ /* ===== */ , -"199.249.223.43:80 orport=443 id=E480D577F58E782A5BC4FA6F49A6650E9389302F" -/* nickname=Quintex34 */ +"185.100.86.182:9030 orport=8080 id=E51620B90DCB310138ED89EDEDD0A5C361AAE24E" +/* nickname=NormalCitizen */ /* extrainfo=0 */ /* ===== */ , -"46.252.26.2:45212 orport=49991 id=E589316576A399C511A9781A73DA4545640B479D" -/* nickname=marlen */ +"212.47.244.38:8080 orport=443 id=E81EF60A73B3809F8964F73766B01BAA0A171E20" +/* nickname=Chimborazo */ /* extrainfo=0 */ /* ===== */ , -"176.31.180.157:143 orport=22 id=E781F4EC69671B3F1864AE2753E0890351506329" -" ipv6=[2001:41d0:8:eb9d::1]:22" -/* nickname=armbrust */ +"51.254.147.57:80 orport=443 id=EB80A8D52F07238B576C42CEAB98ADD084EE075E" +/* nickname=Cosworth01 */ /* extrainfo=0 */ /* ===== */ , -"212.47.244.38:8080 orport=443 id=E81EF60A73B3809F8964F73766B01BAA0A171E20" -/* nickname=Chimborazo */ +"192.87.28.28:9030 orport=9001 id=ED2338CAC2711B3E331392E1ED2831219B794024" +" ipv6=[2001:678:230:3028:192:87:28:28]:9001" +/* nickname=SEC6xFreeBSD64 */ /* extrainfo=0 */ /* ===== */ , @@ -796,31 +842,60 @@ URL: https:onionoo.torproject.orguptime?first_seen_days90-&flagV2Dir&typerelay&l /* extrainfo=0 */ /* ===== */ , +"193.70.112.165:80 orport=443 id=F10BDE279AE71515DDCCCC61DC19AC8765F8A3CC" +/* nickname=ParkBenchInd001 */ +/* extrainfo=0 */ +/* ===== */ +, +"129.13.131.140:80 orport=443 id=F2DFE5FA1E4CF54F8E761A6D304B9B4EC69BDAE8" +" ipv6=[2a00:1398:5:f604:cafe:cafe:cafe:9001]:443" +/* nickname=AlleKochenKaffee */ +/* extrainfo=0 */ +/* ===== */ +, "37.187.102.108:80 orport=443 id=F4263275CF54A6836EE7BD527B1328836A6F06E1" " ipv6=[2001:41d0:a:266c::1]:443" /* nickname=EvilMoe */ /* extrainfo=0 */ /* ===== */ , -"46.28.109.231:9030 orport=9001 id=F70B7C5CD72D74C7F9F2DC84FA9D20D51BA13610" -" ipv6=[2a02:2b88:2:1::4205:1]:9001" -/* nickname=wedostor */ +"192.160.102.168:80 orport=9001 id=F6A358DD367B3282D6EF5824C9D45E1A19C7E815" +" ipv6=[2620:132:300c:c01d::8]:9002" +/* nickname=prawksi */ +/* extrainfo=0 */ +/* ===== */ +, +"163.172.154.162:9030 orport=9001 id=F741E5124CB12700DA946B78C9B2DD175D6CD2A1" +" ipv6=[2001:bc8:4400:2100::17:419]:9001" +/* nickname=rofltor06 */ /* extrainfo=0 */ /* ===== */ , +"78.47.18.110:443 orport=80 id=F8D27B163B9247B232A2EEE68DD8B698695C28DE" +" ipv6=[2a01:4f8:120:4023::110]:80" +/* nickname=fluxe3 */ +/* extrainfo=1 */ +/* ===== */ +, +"178.254.19.101:80 orport=443 id=F9246DEF2B653807236DA134F2AEAB103D58ABFE" +/* nickname=Freebird31 */ +/* extrainfo=1 */ +/* ===== */ +, "185.96.180.29:80 orport=443 id=F93D8F37E35C390BCAD9F9069E13085B745EC216" /* nickname=TykRelay06 */ /* extrainfo=0 */ /* ===== */ , "86.59.119.83:80 orport=443 id=FC9AC8EA0160D88BCCFDE066940D7DD9FA45495B" +" ipv6=[2001:858:2:30:86:59:119:83]:443" /* nickname=ph3x */ /* extrainfo=0 */ /* ===== */ , "149.56.45.200:9030 orport=9001 id=FE296180018833AF03A8EACD5894A614623D3F76" " ipv6=[2607:5300:201:3000::17d3]:9002" -/* nickname=PiotrTorpotkinOne */ +/* nickname=PyotrTorpotkinOne */ /* extrainfo=0 */ /* ===== */ , diff --git a/src/app/config/or_options_st.h b/src/app/config/or_options_st.h index 3524b99b53..c2bc1079a5 100644 --- a/src/app/config/or_options_st.h +++ b/src/app/config/or_options_st.h @@ -666,6 +666,9 @@ struct or_options_t { * accessing this value directly. */ int ClientPreferIPv6DirPort; + /** If true, prefer an IPv4 or IPv6 OR port at random. */ + int ClientAutoIPv6ORPort; + /** The length of time that we think a consensus should be fresh. */ int V3AuthVotingInterval; /** The length of time we think it will take to distribute votes. */ @@ -1072,6 +1075,20 @@ struct or_options_t { /** Autobool: Do we refuse single hop client rendezvous? */ int DoSRefuseSingleHopClientRendezvous; + + /** Interval: how long without activity does it take for a client + * to become dormant? + **/ + int DormantClientTimeout; + + /** Boolean: true if having an idle stream is sufficient to prevent a client + * from becoming dormant. + **/ + int DormantTimeoutDisabledByIdleStreams; + + /** Boolean: true if Tor should be dormant the first time it starts with + * a datadirectory; false otherwise. */ + int DormantOnFirstStartup; }; #endif diff --git a/src/app/config/or_state_st.h b/src/app/config/or_state_st.h index d95df6236b..00968d3731 100644 --- a/src/app/config/or_state_st.h +++ b/src/app/config/or_state_st.h @@ -87,6 +87,13 @@ struct or_state_t { /** When did we last rotate our onion key? "0" for 'no idea'. */ time_t LastRotatedOnionKey; + + /** Number of minutes since the last user-initiated request (as defined by + * the dormant net-status system.) Set to zero if we are dormant. */ + int MinutesSinceUserActivity; + /** True if we were dormant when we last wrote the file; false if we + * weren't. "auto" on initial startup. */ + int Dormant; }; #endif diff --git a/src/app/config/statefile.c b/src/app/config/statefile.c index 8a8b7ced01..97b96f1149 100644 --- a/src/app/config/statefile.c +++ b/src/app/config/statefile.c @@ -34,6 +34,7 @@ #include "app/config/config.h" #include "app/config/confparse.h" #include "core/mainloop/mainloop.h" +#include "core/mainloop/netstatus.h" #include "core/mainloop/connection.h" #include "feature/control/control.h" #include "feature/client/entrynodes.h" @@ -45,6 +46,7 @@ #include "app/config/statefile.h" #include "lib/encoding/confline.h" #include "lib/net/resolve.h" +#include "lib/version/torversion.h" #include "app/config/or_state_st.h" @@ -131,6 +133,9 @@ static config_var_t state_vars_[] = { VAR("CircuitBuildTimeBin", LINELIST_S, BuildtimeHistogram, NULL), VAR("BuildtimeHistogram", LINELIST_V, BuildtimeHistogram, NULL), + V(MinutesSinceUserActivity, UINT, NULL), + V(Dormant, AUTOBOOL, "auto"), + END_OF_CONFIG_VARS }; @@ -308,6 +313,8 @@ or_state_set(or_state_t *new_state) get_circuit_build_times_mutable(),global_state) < 0) { ret = -1; } + netstatus_load_from_state(global_state, time(NULL)); + return ret; } @@ -499,6 +506,8 @@ or_state_save(time_t now) entry_guards_update_state(global_state); rep_hist_update_state(global_state); circuit_build_times_update_state(get_circuit_build_times(), global_state); + netstatus_flush_to_state(global_state, now); + if (accounting_is_enabled(get_options())) accounting_run_housekeeping(now); diff --git a/src/app/main/main.c b/src/app/main/main.c index ae87add67d..aa322046fe 100644 --- a/src/app/main/main.c +++ b/src/app/main/main.c @@ -15,6 +15,7 @@ #include "app/config/statefile.h" #include "app/main/main.h" #include "app/main/ntmain.h" +#include "app/main/subsysmgr.h" #include "core/mainloop/connection.h" #include "core/mainloop/cpuworker.h" #include "core/mainloop/mainloop.h" @@ -33,6 +34,7 @@ #include "core/or/relay.h" #include "core/or/scheduler.h" #include "core/or/status.h" +#include "core/or/versions.h" #include "feature/api/tor_api.h" #include "feature/api/tor_api_internal.h" #include "feature/client/addressmap.h" @@ -65,13 +67,14 @@ #include "feature/stats/predict_ports.h" #include "feature/stats/rephist.h" #include "lib/compress/compress.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "lib/crypt_ops/crypto_rand.h" #include "lib/crypt_ops/crypto_s2k.h" -#include "lib/err/backtrace.h" #include "lib/geoip/geoip.h" +#include "lib/net/resolve.h" #include "lib/process/waitpid.h" +#include "lib/process/process.h" #include "lib/meminfo/meminfo.h" #include "lib/osinfo/uname.h" @@ -83,6 +86,7 @@ #include "lib/encoding/confline.h" #include "lib/evloop/timers.h" #include "lib/crypt_ops/crypto_init.h" +#include "lib/version/torversion.h" #include <event2/event.h> @@ -301,6 +305,19 @@ process_signal(int sig) log_heartbeat(time(NULL)); control_event_signal(sig); break; + case SIGACTIVE: + /* "SIGACTIVE" counts as ersatz user activity. */ + note_user_activity(approx_time()); + control_event_signal(sig); + break; + case SIGDORMANT: + /* "SIGDORMANT" means to ignore past user activity */ + log_notice(LD_GENERAL, "Going dormant because of controller request."); + reset_user_activity(0); + set_network_participation(false); + schedule_rescan_periodic_events(); + control_event_signal(sig); + break; } } @@ -426,18 +443,6 @@ dumpstats(int severity) rend_service_dump_stats(severity); } -/** Called by exit() as we shut down the process. - */ -static void -exit_function(void) -{ - /* NOTE: If we ever daemonize, this gets called immediately. That's - * okay for now, because we only use this on Windows. */ -#ifdef _WIN32 - WSACleanup(); -#endif -} - #ifdef _WIN32 #define UNIX_ONLY 0 #else @@ -482,6 +487,8 @@ static struct { { SIGNEWNYM, 0, NULL }, { SIGCLEARDNSCACHE, 0, NULL }, { SIGHEARTBEAT, 0, NULL }, + { SIGACTIVE, 0, NULL }, + { SIGDORMANT, 0, NULL }, { -1, -1, NULL } }; @@ -546,18 +553,16 @@ tor_init(int argc, char *argv[]) tor_snprintf(progname, sizeof(progname), "Tor %s", get_version()); log_set_application_name(progname); - /* Set up the crypto nice and early */ - if (crypto_early_init() < 0) { - log_err(LD_GENERAL, "Unable to initialize the crypto subsystem!"); - return -1; - } - /* Initialize the history structures. */ rep_hist_init(); /* Initialize the service cache. */ rend_cache_init(); addressmap_init(); /* Init the client dns cache. Do it always, since it's * cheap. */ + + /* Initialize Process subsystem. */ + process_init(); + /* Initialize the HS subsystem. */ hs_init(); @@ -631,12 +636,6 @@ tor_init(int argc, char *argv[]) rust_log_welcome_string(); #endif /* defined(HAVE_RUST) */ - if (network_init()<0) { - log_err(LD_BUG,"Error initializing network; exiting."); - return -1; - } - atexit(exit_function); - int init_rv = options_init_from_torrc(argc,argv); if (init_rv < 0) { log_err(LD_CONFIG,"Reading config failed--see warnings above."); @@ -783,7 +782,6 @@ tor_free_all(int postfork) routerparse_free_all(); ext_orport_free_all(); control_free_all(); - tor_free_getaddrinfo_cache(); protover_free_all(); bridges_free_all(); consdiffmgr_free_all(); @@ -791,6 +789,8 @@ tor_free_all(int postfork) dos_free_all(); circuitmux_ewma_free_all(); accounting_free_all(); + protover_summary_cache_free_all(); + process_free_all(); if (!postfork) { config_free_all(); @@ -800,7 +800,6 @@ tor_free_all(int postfork) policies_free_all(); } if (!postfork) { - tor_tls_free_all(); #ifndef _WIN32 tor_getpwnam(NULL); #endif @@ -813,12 +812,12 @@ tor_free_all(int postfork) release_lockfile(); } tor_libevent_free_all(); + + subsystems_shutdown(); + /* Stuff in util.c and address.c*/ if (!postfork) { - escaped(NULL); esc_router_info(NULL); - clean_up_backtrace_handler(); - logs_free_all(); /* free log strings. do this last so logs keep working. */ } } @@ -877,7 +876,6 @@ tor_cleanup(void) later, if it makes shutdown unacceptably slow. But for now, leave it here: it's helped us catch bugs in the past. */ - crypto_global_cleanup(); } /** Read/create keys as needed, and echo our fingerprint to stdout. */ @@ -1269,11 +1267,10 @@ sandbox_init_filter(void) return cfg; } -static int +int run_tor_main_loop(void) { handle_signals(); - monotime_init(); timers_initialize(); initialize_mainloop_events(); @@ -1385,54 +1382,13 @@ tor_run_main(const tor_main_configuration_t *tor_cfg) { int result = 0; -#ifdef _WIN32 -#ifndef HeapEnableTerminationOnCorruption -#define HeapEnableTerminationOnCorruption 1 -#endif - /* On heap corruption, just give up; don't try to play along. */ - HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL, 0); - - /* SetProcessDEPPolicy is only supported on 32-bit Windows. - * (On 64-bit Windows it always fails, and some compilers don't like the - * PSETDEP cast.) - * 32-bit Windows defines _WIN32. - * 64-bit Windows defines _WIN32 and _WIN64. */ -#ifndef _WIN64 - /* Call SetProcessDEPPolicy to permanently enable DEP. - The function will not resolve on earlier versions of Windows, - and failure is not dangerous. */ - HMODULE hMod = GetModuleHandleA("Kernel32.dll"); - if (hMod) { - typedef BOOL (WINAPI *PSETDEP)(DWORD); - PSETDEP setdeppolicy = (PSETDEP)GetProcAddress(hMod, - "SetProcessDEPPolicy"); - if (setdeppolicy) { - /* PROCESS_DEP_ENABLE | PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION */ - setdeppolicy(3); - } - } -#endif /* !defined(_WIN64) */ -#endif /* defined(_WIN32) */ - - { - int bt_err = configure_backtrace_handler(get_version()); - if (bt_err < 0) { - log_warn(LD_BUG, "Unable to install backtrace handler: %s", - strerror(-bt_err)); - } - } - #ifdef EVENT_SET_MEM_FUNCTIONS_IMPLEMENTED event_set_mem_functions(tor_malloc_, tor_realloc_, tor_free_); #endif - init_protocol_warning_severity_level(); + subsystems_init(); - update_approx_time(time(NULL)); - tor_threads_init(); - tor_compress_init(); - init_logging(0); - monotime_init(); + init_protocol_warning_severity_level(); int argc = tor_cfg->argc + tor_cfg->argc_owned; char **argv = tor_calloc(argc, sizeof(char*)); @@ -1468,6 +1424,7 @@ tor_run_main(const tor_main_configuration_t *tor_cfg) tor_free_all(0); return -1; } + tor_make_getaddrinfo_cache_active(); // registering libevent rng #ifdef HAVE_EVUTIL_SECURE_RNG_SET_URANDOM_DEVICE_FILE diff --git a/src/app/main/main.h b/src/app/main/main.h index b64f2ef417..23a436703e 100644 --- a/src/app/main/main.h +++ b/src/app/main/main.h @@ -26,4 +26,6 @@ void tor_free_all(int postfork); int tor_init(int argc, char **argv); +int run_tor_main_loop(void); + #endif /* !defined(TOR_MAIN_H) */ diff --git a/src/app/main/ntmain.c b/src/app/main/ntmain.c index 800720a0b4..8d2135a587 100644 --- a/src/app/main/ntmain.c +++ b/src/app/main/ntmain.c @@ -298,7 +298,7 @@ nt_service_body(int argc, char **argv) service_status.dwCurrentState = SERVICE_RUNNING; service_fns.SetServiceStatus_fn(hStatus, &service_status); set_main_thread(); - do_main_loop(); + run_tor_main_loop(); tor_cleanup(); } @@ -326,7 +326,7 @@ nt_service_main(void) return; switch (get_options()->command) { case CMD_RUN_TOR: - do_main_loop(); + run_tor_main_loop(); break; case CMD_LIST_FINGERPRINT: case CMD_HASH_PASSWORD: diff --git a/src/app/main/subsysmgr.c b/src/app/main/subsysmgr.c new file mode 100644 index 0000000000..abd2edd10b --- /dev/null +++ b/src/app/main/subsysmgr.c @@ -0,0 +1,202 @@ +/* Copyright (c) 2003-2004, Roger Dingledine + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +#include "orconfig.h" +#include "app/main/subsysmgr.h" +#include "lib/err/torerr.h" + +#include "lib/log/log.h" + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +/** + * True iff we have checked tor_subsystems for consistency. + **/ +static bool subsystem_array_validated = false; + +/** + * True if a given subsystem is initialized. Expand this array if there + * are more than this number of subsystems. (We'd rather not + * dynamically allocate in this module.) + **/ +static bool sys_initialized[128]; + +/** + * Exit with a raw assertion if the subsystems list is inconsistent; + * initialize the subsystem_initialized array. + **/ +static void +check_and_setup(void) +{ + if (subsystem_array_validated) + return; + + raw_assert(ARRAY_LENGTH(sys_initialized) >= n_tor_subsystems); + memset(sys_initialized, 0, sizeof(sys_initialized)); + + int last_level = MIN_SUBSYS_LEVEL; + + for (unsigned i = 0; i < n_tor_subsystems; ++i) { + const subsys_fns_t *sys = tor_subsystems[i]; + if (sys->level < MIN_SUBSYS_LEVEL || sys->level > MAX_SUBSYS_LEVEL) { + fprintf(stderr, "BUG: Subsystem %s (at %u) has an invalid level %d. " + "It is supposed to be between %d and %d (inclusive).\n", + sys->name, i, sys->level, MIN_SUBSYS_LEVEL, MAX_SUBSYS_LEVEL); + raw_assert_unreached_msg("There is a bug in subsystem_list.c"); + } + if (sys->level < last_level) { + fprintf(stderr, "BUG: Subsystem %s (at #%u) is in the wrong position. " + "Its level is %d; but the previous subsystem's level was %d.\n", + sys->name, i, sys->level, last_level); + raw_assert_unreached_msg("There is a bug in subsystem_list.c"); + } + last_level = sys->level; + } + + subsystem_array_validated = true; +} + +/** + * Initialize all the subsystems; exit on failure. + **/ +int +subsystems_init(void) +{ + return subsystems_init_upto(MAX_SUBSYS_LEVEL); +} + +/** + * Initialize all the subsystems whose level is less than or equal to + * <b>target_level</b>; exit on failure. + **/ +int +subsystems_init_upto(int target_level) +{ + check_and_setup(); + + for (unsigned i = 0; i < n_tor_subsystems; ++i) { + const subsys_fns_t *sys = tor_subsystems[i]; + if (!sys->supported) + continue; + if (sys->level > target_level) + break; + if (sys_initialized[i]) + continue; + int r = 0; + if (sys->initialize) { + // Note that the logging subsystem is designed so that it does no harm + // to log a message in an uninitialized state. These messages will be + // discarded for now, however. + log_debug(LD_GENERAL, "Initializing %s", sys->name); + r = sys->initialize(); + } + if (r < 0) { + fprintf(stderr, "BUG: subsystem %s (at %u) initialization failed.\n", + sys->name, i); + raw_assert_unreached_msg("A subsystem couldn't be initialized."); + } + sys_initialized[i] = true; + } + + return 0; +} + +/** + * Shut down all the subsystems. + **/ +void +subsystems_shutdown(void) +{ + subsystems_shutdown_downto(MIN_SUBSYS_LEVEL - 1); +} + +/** + * Shut down all the subsystems whose level is above <b>target_level</b>. + **/ +void +subsystems_shutdown_downto(int target_level) +{ + check_and_setup(); + + for (int i = (int)n_tor_subsystems - 1; i >= 0; --i) { + const subsys_fns_t *sys = tor_subsystems[i]; + if (!sys->supported) + continue; + if (sys->level <= target_level) + break; + if (! sys_initialized[i]) + continue; + if (sys->shutdown) { + log_debug(LD_GENERAL, "Shutting down %s", sys->name); + sys->shutdown(); + } + sys_initialized[i] = false; + } +} + +/** + * Run pre-fork code on all subsystems that declare any + **/ +void +subsystems_prefork(void) +{ + check_and_setup(); + + for (int i = (int)n_tor_subsystems - 1; i >= 0; --i) { + const subsys_fns_t *sys = tor_subsystems[i]; + if (!sys->supported) + continue; + if (! sys_initialized[i]) + continue; + if (sys->prefork) { + log_debug(LD_GENERAL, "Pre-fork: %s", sys->name); + sys->prefork(); + } + } +} + +/** + * Run post-fork code on all subsystems that declare any + **/ +void +subsystems_postfork(void) +{ + check_and_setup(); + + for (unsigned i = 0; i < n_tor_subsystems; ++i) { + const subsys_fns_t *sys = tor_subsystems[i]; + if (!sys->supported) + continue; + if (! sys_initialized[i]) + continue; + if (sys->postfork) { + log_debug(LD_GENERAL, "Post-fork: %s", sys->name); + sys->postfork(); + } + } +} + +/** + * Run thread-cleanup code on all subsystems that declare any + **/ +void +subsystems_thread_cleanup(void) +{ + check_and_setup(); + + for (int i = (int)n_tor_subsystems - 1; i >= 0; --i) { + const subsys_fns_t *sys = tor_subsystems[i]; + if (!sys->supported) + continue; + if (! sys_initialized[i]) + continue; + if (sys->thread_cleanup) { + log_debug(LD_GENERAL, "Thread cleanup: %s", sys->name); + sys->thread_cleanup(); + } + } +} diff --git a/src/app/main/subsysmgr.h b/src/app/main/subsysmgr.h new file mode 100644 index 0000000000..4b3cad62ad --- /dev/null +++ b/src/app/main/subsysmgr.h @@ -0,0 +1,24 @@ +/* Copyright (c) 2003-2004, Roger Dingledine + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +#ifndef TOR_SUBSYSMGR_T +#define TOR_SUBSYSMGR_T + +#include "lib/subsys/subsys.h" + +extern const struct subsys_fns_t *tor_subsystems[]; +extern const unsigned n_tor_subsystems; + +int subsystems_init(void); +int subsystems_init_upto(int level); + +void subsystems_shutdown(void); +void subsystems_shutdown_downto(int level); + +void subsystems_prefork(void); +void subsystems_postfork(void); +void subsystems_thread_cleanup(void); + +#endif diff --git a/src/app/main/subsystem_list.c b/src/app/main/subsystem_list.c new file mode 100644 index 0000000000..8640329e92 --- /dev/null +++ b/src/app/main/subsystem_list.c @@ -0,0 +1,40 @@ +/* Copyright (c) 2003-2004, Roger Dingledine + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +#include "orconfig.h" +#include "app/main/subsysmgr.h" +#include "lib/cc/compat_compiler.h" +#include "lib/cc/torint.h" + +#include "lib/compress/compress_sys.h" +#include "lib/crypt_ops/crypto_sys.h" +#include "lib/err/torerr_sys.h" +#include "lib/log/log_sys.h" +#include "lib/net/network_sys.h" +#include "lib/process/winprocess_sys.h" +#include "lib/thread/thread_sys.h" +#include "lib/time/time_sys.h" +#include "lib/tls/tortls_sys.h" +#include "lib/wallclock/wallclock_sys.h" + +#include <stddef.h> + +/** + * Global list of the subsystems in Tor, in the order of their initialization. + **/ +const subsys_fns_t *tor_subsystems[] = { + &sys_winprocess, /* -100 */ + &sys_torerr, /* -100 */ + &sys_wallclock, /* -99 */ + &sys_threads, /* -95 */ + &sys_logging, /* -90 */ + &sys_time, /* -90 */ + &sys_network, /* -90 */ + &sys_compress, /* -70 */ + &sys_crypto, /* -60 */ + &sys_tortls, /* -50 */ +}; + +const unsigned n_tor_subsystems = ARRAY_LENGTH(tor_subsystems); diff --git a/src/config/geoip b/src/config/geoip index f96ec3f483..3be1ffc7b8 100644 --- a/src/config/geoip +++ b/src/config/geoip @@ -1,4 +1,4 @@ -# Last updated based on October 9 2018 Maxmind GeoLite2 Country +# Last updated based on December 5 2018 Maxmind GeoLite2 Country # wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz # gunzip GeoLite2-Country.mmdb.gz # python mmdb-convert.py GeoLite2-Country.mmdb @@ -67,7 +67,9 @@ 19726336,19791871,CN 19791872,19807232,TH 19807233,19807233,CN -19807234,19922943,TH +19807234,19836287,TH +19836288,19836351,TW +19836352,19922943,TH 19922944,20185087,CN 20185088,20447231,VN 20447232,20971519,CN @@ -104,15 +106,14 @@ 34651136,34651647,BR 34659328,34660351,GR 34673664,34674687,DE -34699520,34699775,DE 34733056,34734079,DE 34754560,34758655,GR -34788864,34789119,DE 34796032,34796543,NL 34803712,34807807,IT 34861056,34865151,DE 34866176,34867199,IT 34880512,34881535,DE +34898944,34899199,HU 34910976,34911231,ES 34911232,34911743,DE 34911744,34911999,AT @@ -120,8 +121,6 @@ 34912256,34912511,DE 34912512,34912767,ES 34912768,34913279,DE -34926592,34928639,FR -34929664,34929919,IT 34930688,34938879,DE 34938880,34947071,FR 34953216,34954751,AT @@ -135,9 +134,10 @@ 34994176,34995711,FR 34995968,34996223,NL 34999296,35001343,GB -35004416,35011583,DE +35008512,35009023,FR +35010304,35010559,BE +35010560,35011583,FR 35011584,35011839,SE -35011840,35012607,DE 35020800,35037183,GB 35037184,35054335,FR 35054336,35054591,GB @@ -152,15 +152,13 @@ 36700160,36962303,AE 36962304,37224447,IL 37486592,37748735,RU -37748736,37775871,SE -37775872,37776127,DK -37776128,38004735,SE +37748736,38004735,SE 38004736,38005247,DK 38005248,38066175,SE 38066176,38066687,DK -38066688,38101503,SE -38101504,38101759,DK -38101760,38128895,SE +38066688,38107135,SE +38107136,38107647,DK +38107648,38128895,SE 38128896,38129151,DK 38129152,38273023,SE 38273024,38797311,KZ @@ -195,25 +193,29 @@ 50855936,51118079,GB 51118080,52953087,US 52953088,53215231,IE -53215232,57671679,US +53215232,57147391,US +57147392,57409535,AU +57409536,57671679,US 57671680,57933823,JP 57933824,58195967,US 58195968,58458111,DE -58458112,68169727,US +58458112,68089631,US +68089632,68089663,CA +68089664,68169727,US 68169728,68171775,CA -68171776,68200447,US -68200448,68200575,CA -68200576,68305407,US +68171776,68204031,US +68204032,68204036,CU +68204037,68204037,US +68204038,68204159,CU +68204160,68305407,US 68305408,68305919,MX 68305920,68978687,US 68978688,68980735,CA -68980736,69426175,US -69426176,69426687,CA -69426688,71670208,US +68980736,71670208,US 71670209,71670209,NL -71670210,72234031,US -72234032,72234047,CA -72234048,83886079,US +71670210,72233983,US +72233984,72234239,CA +72234240,83886079,US 83886080,83951615,SY 83951616,83959807,UA 83959808,83961855,ES @@ -248,8 +250,12 @@ 84041728,84049919,GB 84049920,84082687,RO 84082688,84148223,RU -84148224,84410367,DE -84410368,84416511,RU +84148224,84200959,DE +84200960,84201471,US +84201472,84410367,DE +84410368,84414975,RU +84414976,84415231,MD +84415232,84416511,RU 84416512,84417535,US 84417536,84418559,RU 84418560,84418815,UA @@ -269,7 +275,8 @@ 84422656,84426495,RU 84426496,84426751,US 84426752,84427775,RU -84427776,84428799,LU +84427776,84428287,LU +84428288,84428799,JP 84428800,84432895,RU 84432896,84433919,NL 84433920,84434943,RU @@ -287,7 +294,9 @@ 84498682,84498682,NL 84498683,84517997,DE 84517998,84517998,NL -84517999,84545535,DE +84517999,84540315,DE +84540316,84540319,NL +84540320,84545535,DE 84545536,84549631,GB 84549632,84551679,GE 84551680,84557823,DE @@ -298,7 +307,8 @@ 84578168,84578175,SE 84578176,84582399,GB 84582400,84590591,DE -84590592,84591103,NL +84590592,84590847,NL +84590848,84591103,US 84591104,84591359,SG 84591360,84591615,US 84591616,84591871,SG @@ -311,7 +321,11 @@ 84600832,84602879,GB 84602880,84606975,AZ 84606976,84609023,AT -84609024,84615167,GB +84609024,84611071,GB +84611072,84613119,IQ +84613120,84614215,GB +84614216,84614223,US +84614224,84615167,GB 84615168,84617215,IT 84617216,84619263,PS 84619264,84621311,DE @@ -368,7 +382,7 @@ 85721088,85723135,HU 85723136,85725183,IT 85725184,85729279,RU -85729280,85731327,AU +85729280,85731327,KH 85731328,85733375,DE 85733376,85737471,GB 85737472,85753855,DE @@ -414,15 +428,14 @@ 86409216,86441983,HU 86441984,86442239,FR 86442240,86442243,GB -86442244,86442291,FR +86442244,86442287,FR +86442288,86442291,PL 86442292,86442295,GB 86442296,86442495,FR 86442496,86442499,ES 86442500,86442507,FR 86442508,86442511,ES -86442512,86442575,FR -86442576,86442583,GB -86442584,86442687,FR +86442512,86442687,FR 86442688,86442691,ES 86442692,86442695,FR 86442696,86442700,ES @@ -432,8 +445,8 @@ 86442712,86442715,DE 86442716,86442719,FR 86442720,86442723,PT -86442724,86442724,PL -86442725,86442739,FR +86442724,86442727,PL +86442728,86442739,FR 86442740,86442743,ES 86442744,86442747,IE 86442748,86443007,GB @@ -469,17 +482,27 @@ 86444656,86444663,ES 86444664,86444687,FR 86444688,86444691,ES -86444692,86444783,FR +86444692,86444719,FR +86444720,86444735,PL +86444736,86444783,FR 86444784,86444791,GB -86444792,86444839,FR +86444792,86444799,FR +86444800,86444815,PL +86444816,86444839,FR 86444840,86444843,ES 86444844,86444983,FR 86444984,86444991,ES -86444992,86445311,FR +86444992,86445247,FR +86445248,86445251,PL +86445252,86445255,FR +86445256,86445263,PL +86445264,86445311,FR 86445312,86445319,NL 86445320,86445375,FR 86445376,86445407,ES -86445408,86445527,FR +86445408,86445455,FR +86445456,86445471,PL +86445472,86445527,FR 86445528,86445531,CZ 86445532,86445551,FR 86445552,86445555,ES @@ -509,21 +532,24 @@ 86446768,86446771,GB 86446772,86446815,FR 86446816,86446831,DE -86446832,86446931,FR +86446832,86446927,FR +86446928,86446931,PL 86446932,86446935,CZ -86446936,86447071,FR +86446936,86446975,FR +86446976,86446979,PL +86446980,86447071,FR 86447072,86447087,DE 86447088,86447095,FR 86447096,86447103,ES -86447104,86447279,FR +86447104,86447255,FR +86447256,86447263,PL +86447264,86447279,FR 86447280,86447280,DE 86447281,86447287,FR 86447288,86447291,DE 86447292,86447351,FR 86447352,86447355,GB -86447356,86447871,FR -86447872,86447875,DE -86447876,86448559,FR +86447356,86448559,FR 86448560,86448575,GB 86448576,86448655,FR 86448656,86448671,DE @@ -550,13 +576,17 @@ 86449380,86449383,FI 86449384,86449387,FR 86449388,86449391,FI -86449392,86449499,FR +86449392,86449399,FR +86449400,86449403,PL +86449404,86449499,FR 86449500,86449503,ES 86449504,86449675,FR 86449676,86449679,PT -86449680,86449759,FR +86449680,86449727,FR +86449728,86449759,PL 86449760,86449791,IE -86449792,86449883,FR +86449792,86449823,PL +86449824,86449883,FR 86449884,86449884,DE 86449885,86449983,FR 86449984,86450015,LT @@ -575,7 +605,9 @@ 86450876,86450879,GB 86450880,86451455,FR 86451456,86451459,CZ -86451460,86451531,FR +86451460,86451471,FR +86451472,86451475,PL +86451476,86451531,FR 86451532,86451535,FI 86451536,86451551,DE 86451552,86451695,FR @@ -600,11 +632,8 @@ 86453204,86453231,FR 86453232,86453247,ES 86453248,86453311,FR -86453312,86453319,ES -86453320,86453327,FR -86453328,86453339,ES -86453340,86453343,PT -86453344,86453423,FR +86453312,86453315,ES +86453316,86453423,FR 86453424,86453431,DE 86453432,86453435,FR 86453436,86453439,ES @@ -616,7 +645,9 @@ 86453844,86453847,GB 86453848,86453947,FR 86453948,86453951,IE -86453952,86454207,FR +86453952,86454111,FR +86454112,86454119,PL +86454120,86454207,FR 86454208,86454271,ES 86454272,86454279,FR 86454280,86454287,ES @@ -641,7 +672,8 @@ 86454848,86454855,DE 86454856,86454879,FR 86454880,86454887,DE -86454888,86454899,FR +86454888,86454895,FR +86454896,86454899,PL 86454900,86454903,GB 86454904,86455591,FR 86455592,86455595,NL @@ -659,7 +691,10 @@ 86456352,86456367,CH 86456368,86456371,FR 86456372,86456375,ES -86456376,86456655,FR +86456376,86456383,FR +86456384,86456415,PL +86456416,86456639,FR +86456640,86456655,PL 86456656,86456671,IE 86456672,86456943,FR 86456944,86456947,GR @@ -671,7 +706,9 @@ 86457088,86457091,DE 86457092,86457111,FR 86457112,86457112,DE -86457113,86457187,FR +86457113,86457119,FR +86457120,86457123,PL +86457124,86457187,FR 86457188,86457199,ES 86457200,86457263,FR 86457264,86457279,ES @@ -679,10 +716,14 @@ 86457400,86457407,ES 86457408,86457455,FR 86457456,86457456,DE -86457457,86457503,FR +86457457,86457463,FR +86457464,86457471,PL +86457472,86457503,FR 86457504,86457519,ES 86457520,86457535,DE -86457536,86457703,FR +86457536,86457687,FR +86457688,86457695,PL +86457696,86457703,FR 86457704,86457707,ES 86457708,86457759,FR 86457760,86457791,PL @@ -696,19 +737,27 @@ 86458304,86458335,DE 86458336,86466639,FR 86466640,86466647,ES -86466648,86466943,FR +86466648,86466719,FR +86466720,86466735,PL +86466736,86466943,FR 86466944,86466959,DE 86466960,86467207,FR 86467208,86467211,IE -86467212,86467279,FR +86467212,86467263,FR +86467264,86467279,PL 86467280,86467283,DE 86467284,86467320,FR 86467321,86467321,FI -86467322,86467871,FR +86467322,86467523,FR +86467524,86467527,LT +86467528,86467871,FR 86467872,86467903,BE 86467904,86467999,FR 86468000,86468003,PL -86468004,86468055,FR +86468004,86468035,FR +86468036,86468039,PL +86468040,86468051,FR +86468052,86468055,PL 86468056,86468056,DE 86468057,86468083,FR 86468084,86468087,DE @@ -751,7 +800,7 @@ 86471084,86471087,DE 86471088,86471123,FR 86471124,86471127,GB -86471128,86471135,FR +86471128,86471135,PL 86471136,86471167,FI 86471168,86471179,FR 86471180,86471180,DE @@ -773,7 +822,11 @@ 86472968,86472971,DE 86472972,86473087,FR 86473088,86473151,PT -86473152,86473807,FR +86473152,86473431,FR +86473432,86473435,PL +86473436,86473731,FR +86473732,86473735,PL +86473736,86473807,FR 86473808,86473823,GB 86473824,86473839,FR 86473840,86473855,PT @@ -796,23 +849,20 @@ 86489088,86491135,NL 86491136,86493183,PL 86493184,86494207,CZ -86494208,86494463,AM -86494464,86495231,RU +86494208,86495231,AM 86495232,86497279,ES 86497280,86499327,NL 86499328,86503423,FR 86503424,86505471,DE 86505472,86507519,GB -86507520,86540351,ES -86540352,86540799,CH -86540800,86573055,ES +86507520,86573055,ES 86573056,86638591,SA 86638592,86671359,RU 86671360,86673407,JE 86673408,86675455,DE 86675456,86677503,IT -86677504,86679551,FR -86679552,86687743,NL +86677504,86685695,FR +86685696,86687743,NL 86687744,86695935,IQ 86695936,86704127,SA 86704128,86720511,PT @@ -825,9 +875,7 @@ 86765568,86767615,RU 86767616,86769663,IT 86769664,86773759,RU -86773760,86775807,GB -86775808,86776063,IM -86776064,86777855,GB +86773760,86777855,GB 86777856,86779903,AZ 86779904,86781183,RU 86781184,86781439,NL @@ -926,10 +974,18 @@ 87640064,87642111,RS 87642112,87646207,GB 87646208,87646463,FR -87646464,87649791,RE -87649792,87650047,FR -87650048,87652863,RE -87652864,87654143,FR +87646464,87649023,RE +87649024,87649279,FR +87649280,87649535,RE +87649536,87650303,FR +87650304,87651839,RE +87651840,87652223,FR +87652224,87652863,RE +87652864,87653119,FR +87653120,87653375,RE +87653376,87653631,FR +87653632,87653887,RE +87653888,87654143,FR 87654144,87654399,RE 87654400,87670783,PL 87670784,87672831,DE @@ -947,8 +1003,7 @@ 87755264,87755519,SK 87755520,87755775,KG 87755776,87756799,RU -87756800,87757311,SE -87757312,87758847,ES +87756800,87758847,ES 87758848,87761407,RU 87761408,87761663,CZ 87761664,87761919,RU @@ -967,17 +1022,17 @@ 87780352,87783423,ES 87783424,87793663,RU 87793664,87795711,BA -87795712,87801855,CZ +87795712,87797759,ES +87797760,87801855,CZ 87801856,87818239,RU 87818240,87883775,PL 87883776,87885823,IT 87885824,87889919,RU 87889920,87890687,IR 87890688,87890943,US -87890944,87891199,NL -87891200,87891967,IR +87890944,87891967,IR 87891968,87902207,DE -87902208,87904255,IR +87902208,87904255,GB 87904256,87906303,DE 87906304,87908351,FI 87908352,87912447,BG @@ -1023,374 +1078,213 @@ 87961585,87961587,CA 87961588,87961588,US 87961589,87961591,CA -87961592,87963652,US -87963653,87963655,AS -87963656,87963656,US -87963657,87963659,AI -87963660,87963660,US -87963661,87963663,AG -87963664,87963664,US -87963665,87963667,AR -87963668,87963668,US -87963669,87963671,AW -87963672,87963672,US -87963673,87963675,BS -87963676,87963676,US -87963677,87963679,BB -87963680,87963680,US -87963681,87963683,BZ -87963684,87963684,US -87963685,87963687,BM -87963688,87963688,US -87963689,87963691,BO -87963692,87963692,US -87963693,87963695,VG -87963696,87963696,US -87963697,87963699,KY -87963700,87963700,US -87963701,87963703,CL -87963704,87963708,US -87963709,87963711,CO -87963712,87963712,US -87963713,87963715,CK -87963716,87963716,US -87963717,87963719,CR -87963720,87963720,US -87963721,87963723,CU -87963724,87963724,US -87963725,87963727,DM -87963728,87963728,US -87963729,87963731,DO -87963732,87963732,US -87963733,87963735,EC -87963736,87963736,US -87963737,87963739,SV -87963740,87963740,US -87963741,87963743,FK -87963744,87963744,US -87963745,87963747,FJ -87963748,87963748,US -87963749,87963751,GD -87963752,87963752,US -87963753,87963755,GP -87963756,87963756,US -87963757,87963759,GU -87963760,87963760,US -87963761,87963763,GT -87963764,87963764,US -87963765,87963767,GY -87963768,87963768,US -87963769,87963771,HT -87963772,87963772,US -87963773,87963775,HN -87963776,87963776,US -87963777,87963779,JM -87963780,87963780,US -87963781,87963783,KI -87963784,87963784,US -87963785,87963787,MS -87963788,87963788,US -87963789,87963791,NR -87963792,87963792,US -87963793,87963795,NC -87963796,87963796,US -87963797,87963799,NI -87963800,87963800,US -87963801,87963803,NU -87963804,87963804,US -87963805,87963807,NF +87961592,87962623,US +87962624,87963135,CZ +87963136,87963651,US +87963652,87963655,AS +87963656,87963659,AI +87963660,87963663,AG +87963664,87963667,AR +87963668,87963671,AW +87963672,87963675,BS +87963676,87963679,BB +87963680,87963683,BZ +87963684,87963687,BM +87963688,87963691,BO +87963692,87963695,VG +87963696,87963699,KY +87963700,87963703,CL +87963704,87963707,CN +87963708,87963711,CO +87963712,87963715,CK +87963716,87963719,CR +87963720,87963723,CU +87963724,87963727,DM +87963728,87963731,DO +87963732,87963735,EC +87963736,87963739,SV +87963740,87963743,FK +87963744,87963747,FJ +87963748,87963751,GD +87963752,87963755,GP +87963756,87963759,GU +87963760,87963763,GT +87963764,87963767,GY +87963768,87963771,HT +87963772,87963775,HN +87963776,87963779,JM +87963780,87963783,KI +87963784,87963787,MS +87963788,87963791,NR +87963792,87963795,NC +87963796,87963799,NI +87963800,87963803,NU +87963804,87963807,NF 87963808,87963808,US 87963809,87963811,KP -87963812,87963812,US -87963813,87963815,PW -87963816,87963816,US -87963817,87963819,PA -87963820,87963820,US -87963821,87963823,PG -87963824,87963824,US -87963825,87963827,PY -87963828,87963828,US -87963829,87963831,PE -87963832,87963832,US -87963833,87963835,PH -87963836,87963836,US -87963837,87963839,PN -87963840,87963840,US -87963841,87963843,PR -87963844,87963844,US -87963845,87963847,KN -87963848,87963848,US -87963849,87963851,LC -87963852,87963852,US -87963853,87963855,VC -87963856,87963856,US -87963857,87963859,WS -87963860,87963860,US -87963861,87963863,SB -87963864,87963864,US -87963865,87963867,SR -87963868,87963868,US -87963869,87963871,SZ -87963872,87963880,US -87963881,87963883,TT -87963884,87963884,US -87963885,87963887,TC -87963888,87963888,US -87963889,87963891,TV -87963892,87963892,US -87963893,87963895,UY -87963896,87963912,US -87963913,87963915,DE -87963916,87963956,US -87963957,87963959,CA -87963960,87963960,US -87963961,87963963,GB -87963964,87964000,US -87964001,87964003,VU -87964004,87964004,US -87964005,87964007,VE -87964008,87964164,US -87964165,87964167,AS -87964168,87964168,US -87964169,87964171,AI -87964172,87964172,US -87964173,87964175,AG -87964176,87964176,US -87964177,87964179,AR -87964180,87964180,US -87964181,87964183,AW -87964184,87964184,US -87964185,87964187,BS -87964188,87964188,US -87964189,87964191,BB -87964192,87964192,US -87964193,87964195,BZ -87964196,87964196,US -87964197,87964199,BM -87964200,87964200,US -87964201,87964203,BO -87964204,87964204,US -87964205,87964207,VG -87964208,87964208,US -87964209,87964211,KY -87964212,87964212,US -87964213,87964215,CL -87964216,87964216,US -87964217,87964219,CO -87964220,87964220,US -87964221,87964223,CK -87964224,87964224,US -87964225,87964227,CR -87964228,87964228,US -87964229,87964231,CU -87964232,87964232,US -87964233,87964235,DM -87964236,87964236,US -87964237,87964239,DO -87964240,87964240,US -87964241,87964243,EC -87964244,87964244,US -87964245,87964247,SV -87964248,87964248,US -87964249,87964251,FK -87964252,87964252,US -87964253,87964255,FJ -87964256,87964256,US -87964257,87964259,GD -87964260,87964260,US -87964261,87964263,GP -87964264,87964264,US -87964265,87964267,GT -87964268,87964268,US -87964269,87964271,GY -87964272,87964272,US -87964273,87964275,HT -87964276,87964276,US -87964277,87964279,HN -87964280,87964280,US -87964281,87964283,JM -87964284,87964284,US -87964285,87964287,KI -87964288,87964288,US -87964289,87964291,MS -87964292,87964292,US -87964293,87964295,NR -87964296,87964296,US -87964297,87964299,NC -87964300,87964300,US -87964301,87964303,NI -87964304,87964304,US -87964305,87964307,NU -87964308,87964308,US -87964309,87964311,NF -87964312,87964312,US -87964313,87964315,PA -87964316,87964316,US -87964317,87964319,PY -87964320,87964320,US -87964321,87964323,PE -87964324,87964324,US -87964325,87964327,PN -87964328,87964328,US -87964329,87964331,PR -87964332,87964332,US -87964333,87964335,KN -87964336,87964336,US -87964337,87964339,LC -87964340,87964340,US -87964341,87964343,PM -87964344,87964344,US -87964345,87964347,VC -87964348,87964348,US -87964349,87964351,WS -87964352,87964352,US -87964353,87964355,SB -87964356,87964356,US -87964357,87964359,SR -87964360,87964360,US -87964361,87964363,SZ -87964364,87964372,US -87964373,87964375,TT -87964376,87964376,US -87964377,87964379,TC -87964380,87964380,US -87964381,87964383,TV -87964384,87964384,US -87964385,87964387,UY -87964388,87964404,US -87964405,87964407,DE +87963812,87963815,PW +87963816,87963819,PA +87963820,87963823,PG +87963824,87963827,PY +87963828,87963831,PE +87963832,87963835,PH +87963836,87963839,PN +87963840,87963843,PR +87963844,87963847,KN +87963848,87963851,LC +87963852,87963855,VC +87963856,87963859,WS +87963860,87963863,SB +87963864,87963867,SR +87963868,87963871,SZ +87963872,87963875,TK +87963876,87963879,TO +87963880,87963883,TT +87963884,87963887,TC +87963888,87963891,TV +87963892,87963895,UY +87963896,87963911,US +87963912,87963915,DE +87963916,87963955,US +87963956,87963959,CA +87963960,87963963,GB +87963964,87963975,US +87963976,87963976,PR +87963977,87963999,US +87964000,87964003,VU +87964004,87964007,VE +87964008,87964015,US +87964016,87964019,IN +87964020,87964163,US +87964164,87964167,AS +87964168,87964171,AI +87964172,87964175,AG +87964176,87964179,AR +87964180,87964183,AW +87964184,87964187,BS +87964188,87964191,BB +87964192,87964195,BZ +87964196,87964199,BM +87964200,87964203,BO +87964204,87964207,VG +87964208,87964211,KY +87964212,87964215,CL +87964216,87964219,CO +87964220,87964223,CK +87964224,87964227,CR +87964228,87964231,CU +87964232,87964235,DM +87964236,87964239,DO +87964240,87964243,EC +87964244,87964247,SV +87964248,87964251,FK +87964252,87964255,FJ +87964256,87964259,GD +87964260,87964263,GP +87964264,87964267,GT +87964268,87964271,GY +87964272,87964275,HT +87964276,87964279,HN +87964280,87964283,JM +87964284,87964287,KI +87964288,87964291,MS +87964292,87964295,NR +87964296,87964299,NC +87964300,87964303,NI +87964304,87964307,NU +87964308,87964311,NF +87964312,87964315,PA +87964316,87964319,PY +87964320,87964323,PE +87964324,87964327,PN +87964328,87964331,PR +87964332,87964335,KN +87964336,87964339,LC +87964340,87964343,PM +87964344,87964347,VC +87964348,87964351,WS +87964352,87964355,SB +87964356,87964359,SR +87964360,87964363,SZ +87964364,87964367,TK +87964368,87964371,TO +87964372,87964375,TT +87964376,87964379,TC +87964380,87964383,TV +87964384,87964387,UY +87964388,87964403,US +87964404,87964407,DE 87964408,87964447,US 87964448,87964451,CA 87964452,87964455,GB 87964456,87964491,US 87964492,87964495,VU 87964496,87964499,VE -87964500,87964676,US -87964677,87964679,AD -87964680,87964680,US -87964681,87964683,AO -87964684,87964684,US -87964685,87964687,AM -87964688,87964688,US -87964689,87964691,AZ -87964692,87964692,US -87964693,87964695,BH -87964696,87964696,US -87964697,87964699,BD -87964700,87964700,US -87964701,87964703,BY -87964704,87964704,US -87964705,87964707,BJ -87964708,87964708,US -87964709,87964711,BT -87964712,87964712,US -87964713,87964715,BA -87964716,87964716,US -87964717,87964719,BW -87964720,87964720,US -87964721,87964723,BN -87964724,87964724,US -87964725,87964727,BG -87964728,87964728,US -87964729,87964731,BF -87964732,87964732,US -87964733,87964735,BI -87964736,87964736,US -87964737,87964739,KH -87964740,87964740,US -87964741,87964743,CM -87964744,87964744,US -87964745,87964747,CV -87964748,87964748,US -87964749,87964751,CF -87964752,87964752,US -87964753,87964755,TD -87964756,87964760,US -87964761,87964763,CX -87964764,87964764,US -87964765,87964767,CC -87964768,87964768,US -87964769,87964771,KM -87964772,87964772,US -87964773,87964775,CD -87964776,87964776,US -87964777,87964779,CI -87964780,87964780,US -87964781,87964783,CY -87964784,87964784,US -87964785,87964787,EG -87964788,87964788,US -87964789,87964791,GQ -87964792,87964792,US -87964793,87964795,ER -87964796,87964796,US -87964797,87964799,EE -87964800,87964800,US -87964801,87964803,ET -87964804,87964804,US -87964805,87964807,FO -87964808,87964808,US -87964809,87964811,GA -87964812,87964812,US -87964813,87964815,GM -87964816,87964816,US -87964817,87964819,GE -87964820,87964820,US -87964821,87964823,GH -87964824,87964824,US -87964825,87964827,GI -87964828,87964828,US -87964829,87964831,GR -87964832,87964832,US -87964833,87964835,GL -87964836,87964836,US -87964837,87964839,GU -87964840,87964840,US -87964841,87964843,GW -87964844,87964844,US -87964845,87964847,GN -87964848,87964848,US -87964849,87964851,IR -87964852,87964852,US -87964853,87964855,IQ -87964856,87964856,US -87964857,87964857,IE -87964858,87964858,US -87964859,87964859,IE -87964860,87964860,US -87964861,87964863,JO -87964864,87964864,US -87964865,87964867,KZ -87964868,87964868,US -87964869,87964871,KE -87964872,87964872,US -87964873,87964874,KW -87964875,87964876,US -87964877,87964879,KG -87964880,87964880,US -87964881,87964883,LA -87964884,87964884,US -87964885,87964887,LV -87964888,87964888,US -87964889,87964891,LB -87964892,87964892,US -87964893,87964895,LS -87964896,87964896,US -87964897,87964899,LR -87964900,87964900,US -87964901,87964903,LY -87964904,87964904,US -87964905,87964907,LI -87964908,87964908,US -87964909,87964911,LT -87964912,87964912,US -87964913,87964915,MO -87964916,87964916,US -87964917,87964919,MK -87964920,87964920,US -87964921,87964923,MG -87964924,87964924,US -87964925,87964927,MW +87964500,87964671,US +87964672,87964675,CZ +87964676,87964679,AD +87964680,87964683,AO +87964684,87964687,AM +87964688,87964691,AZ +87964692,87964695,BH +87964696,87964699,BD +87964700,87964703,BY +87964704,87964707,BJ +87964708,87964711,BT +87964712,87964715,BA +87964716,87964719,BW +87964720,87964723,BN +87964724,87964727,BG +87964728,87964731,BF +87964732,87964735,BI +87964736,87964739,KH +87964740,87964743,CM +87964744,87964747,CV +87964748,87964751,CF +87964752,87964755,TD +87964756,87964759,CN +87964760,87964763,CX +87964764,87964767,CC +87964768,87964771,KM +87964772,87964775,CD +87964776,87964779,CI +87964780,87964783,CY +87964784,87964787,EG +87964788,87964791,GQ +87964792,87964795,ER +87964796,87964799,EE +87964800,87964803,ET +87964804,87964807,FO +87964808,87964811,GA +87964812,87964815,GM +87964816,87964819,GE +87964820,87964823,GH +87964824,87964827,GI +87964828,87964831,GR +87964832,87964835,GL +87964836,87964839,GU +87964840,87964843,GW +87964844,87964847,GN +87964848,87964851,IR +87964852,87964855,IQ +87964856,87964859,IE +87964860,87964863,JO +87964864,87964867,KZ +87964868,87964871,KE +87964872,87964875,KW +87964876,87964879,KG +87964880,87964883,LA +87964884,87964887,LV +87964888,87964891,LB +87964892,87964895,LS +87964896,87964899,LR +87964900,87964903,LY +87964904,87964907,LI +87964908,87964911,LT +87964912,87964915,MO +87964916,87964919,MK +87964920,87964923,MG +87964924,87964927,MW 87964928,87964931,MV 87964932,87964935,ML 87964936,87964936,MN @@ -1458,250 +1352,134 @@ 87965172,87965175,DZ 87965176,87965179,AX 87965180,87965183,MN -87965184,87965188,US -87965189,87965191,AD -87965192,87965192,US -87965193,87965195,AO -87965196,87965196,US -87965197,87965199,AM -87965200,87965200,US -87965201,87965203,AZ -87965204,87965204,US -87965205,87965207,BH -87965208,87965208,US -87965209,87965211,BD -87965212,87965212,US -87965213,87965215,BY -87965216,87965216,US -87965217,87965219,BJ -87965220,87965220,US -87965221,87965223,BT -87965224,87965224,US -87965225,87965227,BA -87965228,87965228,US -87965229,87965231,BW -87965232,87965232,US -87965233,87965235,BN -87965236,87965236,US -87965237,87965239,BG -87965240,87965240,US -87965241,87965243,BF -87965244,87965244,US -87965245,87965247,BI -87965248,87965248,US -87965249,87965251,KH -87965252,87965252,US -87965253,87965255,CM -87965256,87965256,US -87965257,87965259,CV -87965260,87965260,US -87965261,87965263,CF -87965264,87965264,US -87965265,87965267,TD -87965268,87965268,US -87965269,87965271,CX -87965272,87965272,US -87965273,87965275,CC -87965276,87965276,US -87965277,87965279,KM -87965280,87965280,US -87965281,87965283,CD -87965284,87965284,US -87965285,87965287,CI -87965288,87965288,US -87965289,87965291,CY -87965292,87965292,US -87965293,87965295,EG -87965296,87965296,US -87965297,87965299,GQ -87965300,87965300,US -87965301,87965303,ER -87965304,87965304,US -87965305,87965307,EE -87965308,87965308,US -87965309,87965311,ET -87965312,87965312,US -87965313,87965315,FO -87965316,87965316,US -87965317,87965319,GA -87965320,87965320,US -87965321,87965323,GM -87965324,87965324,US -87965325,87965327,GE -87965328,87965328,US -87965329,87965331,GH -87965332,87965332,US -87965333,87965335,GI -87965336,87965336,US -87965337,87965339,GR -87965340,87965340,US -87965341,87965343,GL -87965344,87965344,US -87965345,87965347,GW -87965348,87965348,US -87965349,87965351,GN -87965352,87965352,US -87965353,87965355,IR -87965356,87965356,US -87965357,87965359,IQ -87965360,87965360,US -87965361,87965363,IE -87965364,87965364,US -87965365,87965367,JO -87965368,87965368,US -87965369,87965371,KZ -87965372,87965372,US -87965373,87965375,KE -87965376,87965376,US -87965377,87965379,KW -87965380,87965380,US -87965381,87965383,KG -87965384,87965384,US -87965385,87965387,LA -87965388,87965389,US -87965390,87965391,LV -87965392,87965392,US -87965393,87965395,LB -87965396,87965396,US -87965397,87965399,LS -87965400,87965400,US -87965401,87965403,LR -87965404,87965404,US -87965405,87965407,LY -87965408,87965408,US -87965409,87965411,LI -87965412,87965412,US -87965413,87965415,LT -87965416,87965416,US -87965417,87965419,MO -87965420,87965420,US -87965421,87965423,MK -87965424,87965424,US -87965425,87965427,MG -87965428,87965428,US -87965429,87965431,MW -87965432,87965432,US -87965433,87965435,MV -87965436,87965436,US -87965437,87965439,ML -87965440,87965440,US -87965441,87965443,MT -87965444,87965444,US -87965445,87965447,MR -87965448,87965448,US -87965449,87965451,MU -87965452,87965452,US -87965453,87965455,MD -87965456,87965456,US -87965457,87965459,MC -87965460,87965460,US -87965461,87965463,MN -87965464,87965464,US -87965465,87965467,ME -87965468,87965468,US -87965469,87965471,MA -87965472,87965472,US -87965473,87965475,MZ -87965476,87965476,US -87965477,87965479,MM -87965480,87965480,US -87965481,87965483,NA -87965484,87965484,US -87965485,87965487,NP -87965488,87965488,US -87965489,87965491,NE -87965492,87965492,US -87965493,87965495,NG -87965496,87965496,US -87965497,87965499,OM -87965500,87965500,US -87965501,87965503,PK -87965504,87965504,US -87965505,87965507,PS -87965508,87965508,US -87965509,87965511,QA -87965512,87965512,US -87965513,87965515,DJ -87965516,87965516,US -87965517,87965519,CG -87965520,87965520,US -87965521,87965523,RO -87965524,87965524,US -87965525,87965527,RW -87965528,87965528,US -87965529,87965531,SH -87965532,87965532,US -87965533,87965535,PM +87965184,87965187,GB +87965188,87965191,AD +87965192,87965195,AO +87965196,87965199,AM +87965200,87965203,AZ +87965204,87965207,BH +87965208,87965211,BD +87965212,87965215,BY +87965216,87965219,BJ +87965220,87965223,BT +87965224,87965227,BA +87965228,87965231,BW +87965232,87965235,BN +87965236,87965239,BG +87965240,87965243,BF +87965244,87965247,BI +87965248,87965251,KH +87965252,87965255,CM +87965256,87965259,CV +87965260,87965263,CF +87965264,87965267,TD +87965268,87965271,CX +87965272,87965275,CC +87965276,87965279,KM +87965280,87965283,CD +87965284,87965287,CI +87965288,87965291,CY +87965292,87965295,EG +87965296,87965299,GQ +87965300,87965303,ER +87965304,87965307,EE +87965308,87965311,ET +87965312,87965315,FO +87965316,87965319,GA +87965320,87965323,GM +87965324,87965327,GE +87965328,87965331,GH +87965332,87965335,GI +87965336,87965339,GR +87965340,87965343,GL +87965344,87965347,GW +87965348,87965351,GN +87965352,87965355,IR +87965356,87965359,IQ +87965360,87965363,IE +87965364,87965367,JO +87965368,87965371,KZ +87965372,87965375,KE +87965376,87965379,KW +87965380,87965383,KG +87965384,87965387,LA +87965388,87965391,LV +87965392,87965395,LB +87965396,87965399,LS +87965400,87965403,LR +87965404,87965407,LY +87965408,87965411,LI +87965412,87965415,LT +87965416,87965419,MO +87965420,87965423,MK +87965424,87965427,MG +87965428,87965431,MW +87965432,87965435,MV +87965436,87965439,ML +87965440,87965443,MT +87965444,87965447,MR +87965448,87965451,MU +87965452,87965455,MD +87965456,87965459,MC +87965460,87965463,MN +87965464,87965467,ME +87965468,87965471,MA +87965472,87965475,MZ +87965476,87965479,MM +87965480,87965483,NA +87965484,87965487,NP +87965488,87965491,NE +87965492,87965495,NG +87965496,87965499,OM +87965500,87965503,PK +87965504,87965507,PS +87965508,87965511,QA +87965512,87965515,DJ +87965516,87965519,CG +87965520,87965523,RO +87965524,87965527,RW +87965528,87965531,SH +87965532,87965535,PM 87965536,87965539,SM -87965540,87965540,US -87965541,87965543,ST -87965544,87965544,US -87965545,87965547,SA -87965548,87965548,US -87965549,87965551,SN -87965552,87965552,US -87965553,87965555,RS -87965556,87965556,US -87965557,87965559,SL -87965560,87965560,US -87965561,87965563,SK -87965564,87965564,US -87965565,87965567,SI -87965568,87965568,US -87965569,87965571,SO -87965572,87965572,US -87965573,87965575,LK -87965576,87965576,US -87965577,87965579,SD -87965580,87965580,US -87965581,87965583,SJ -87965584,87965584,US -87965585,87965587,SY -87965588,87965588,US -87965589,87965591,TJ -87965592,87965592,US -87965593,87965595,TZ -87965596,87965596,US -87965597,87965599,TH -87965600,87965600,US -87965601,87965603,TG -87965604,87965604,US -87965605,87965607,TN -87965608,87965608,US -87965609,87965611,TM -87965612,87965612,US -87965613,87965615,UG -87965616,87965616,US +87965540,87965543,ST +87965544,87965547,SA +87965548,87965551,SN +87965552,87965555,RS +87965556,87965559,SL +87965560,87965563,SK +87965564,87965567,SI +87965568,87965571,SO +87965572,87965575,LK +87965576,87965579,SD +87965580,87965583,SJ +87965584,87965587,SY +87965588,87965591,TJ +87965592,87965595,TZ +87965596,87965599,TH +87965600,87965603,TG +87965604,87965607,TN +87965608,87965611,TM +87965612,87965616,UG 87965617,87965619,PT -87965620,87965624,US -87965625,87965627,UA -87965628,87965629,US -87965630,87965630,AE -87965631,87965632,US -87965633,87965635,UZ -87965636,87965636,US -87965637,87965639,VA -87965640,87965640,US -87965641,87965643,VN -87965644,87965644,US -87965645,87965647,YE -87965648,87965648,US -87965649,87965651,ZM -87965652,87965652,US -87965653,87965655,ZW -87965656,87965656,US -87965657,87965659,PT -87965660,87965664,US -87965665,87965667,HR -87965668,87965672,US -87965673,87965675,AF -87965676,87965676,US -87965677,87965679,AL -87965680,87965680,US -87965681,87965683,DZ -87965684,87965684,US -87965685,87965687,AX -87965688,87965695,US +87965620,87965623,US +87965624,87965627,UA +87965628,87965631,AE +87965632,87965635,UZ +87965636,87965639,VA +87965640,87965643,VN +87965644,87965647,YE +87965648,87965651,ZM +87965652,87965655,ZW +87965656,87965659,PT +87965660,87965663,US +87965664,87965667,HR +87965668,87965671,IL +87965672,87965675,AF +87965676,87965679,AL +87965680,87965683,DZ +87965684,87965687,AX +87965688,87965691,IN +87965692,87965695,GB 87965696,87967743,DE 87967744,87969791,IT 87969792,87970815,IM @@ -1772,7 +1550,9 @@ 90456064,90472447,RU 90472448,90476543,DE 90476544,90478591,FR -90478592,90480639,VG +90478592,90479615,VG +90479616,90480127,TR +90480128,90480639,VG 90480640,90482687,YE 90482688,90484735,GB 90484736,90488831,NO @@ -1820,9 +1600,9 @@ 90580992,90583039,PL 90583040,90587135,CZ 90587136,90589183,PL -90589184,90590207,FR -90590208,90590719,GP -90590720,90591231,MQ +90589184,90590847,FR +90590848,90590911,MQ +90590912,90591231,FR 90591232,90595327,GB 90595328,90603519,PS 90603520,90605567,ES @@ -1912,6 +1692,22 @@ 92610560,92612607,CH 92612608,92614655,GB 92614656,92618751,IT +92618752,92619775,LT +92619776,92620799,FR +92620800,92621823,GB +92621824,92622847,RU +92622848,92623871,DE +92623872,92624895,NL +92624896,92625919,GB +92625920,92626943,BG +92626944,92627967,IT +92627968,92628991,TR +92628992,92630015,FI +92630016,92631039,RU +92631040,92632063,FI +92632064,92633599,DE +92633600,92634111,RU +92634112,92635135,TR 92635136,92643327,BA 92643328,92645375,GE 92645376,92651519,GB @@ -2017,7 +1813,8 @@ 92733932,92733935,ES 92733936,92734639,FR 92734640,92734655,ES -92734656,92734735,FR +92734656,92734731,FR +92734732,92734735,PL 92734736,92734739,DE 92734740,92734831,FR 92734832,92734847,ES @@ -2025,7 +1822,9 @@ 92735104,92735119,GB 92735120,92735347,FR 92735348,92735351,GB -92735352,92735615,FR +92735352,92735575,FR +92735576,92735579,PL +92735580,92735615,FR 92735616,92735616,DE 92735617,92735619,FR 92735620,92735623,ES @@ -2039,13 +1838,16 @@ 92736480,92736480,DE 92736481,92736607,FR 92736608,92736639,PT -92736640,92737151,FR +92736640,92737023,FR +92737024,92737151,PT 92737152,92737183,NL 92737184,92737199,FR 92737200,92737215,PL 92737216,92737279,FR 92737280,92737311,FI -92737312,92737603,FR +92737312,92737375,FR +92737376,92737407,PL +92737408,92737603,FR 92737604,92737607,DE 92737608,92737887,FR 92737888,92737903,IT @@ -2055,7 +1857,8 @@ 92738240,92738271,GB 92738272,92738659,FR 92738660,92738679,ES -92738680,92738687,FR +92738680,92738683,FR +92738684,92738687,PL 92738688,92738719,CZ 92738720,92738783,FR 92738784,92738815,GB @@ -2084,9 +1887,11 @@ 92741332,92741335,ES 92741336,92741395,FR 92741396,92741399,DE -92741400,92741455,FR -92741456,92741471,DE -92741472,92742419,FR +92741400,92741427,FR +92741428,92741431,PL +92741432,92742151,FR +92742152,92742159,PL +92742160,92742419,FR 92742420,92742423,ES 92742424,92742607,FR 92742608,92742623,BE @@ -2096,11 +1901,18 @@ 92742816,92742819,ES 92742820,92742847,FR 92742848,92742911,DE -92742912,92743343,FR +92742912,92743307,FR +92743308,92743311,PL +92743312,92743327,FR +92743328,92743335,PL +92743336,92743343,FR 92743344,92743351,GB -92743352,92743679,FR +92743352,92743675,FR +92743676,92743679,PL 92743680,92743935,ES -92743936,92744103,FR +92743936,92743999,FR +92744000,92744015,PL +92744016,92744103,FR 92744104,92744111,ES 92744112,92744123,FR 92744124,92744127,GB @@ -2114,7 +1926,8 @@ 92744552,92744555,ES 92744556,92744951,FR 92744952,92744959,ES -92744960,92745207,FR +92744960,92744975,PL +92744976,92745207,FR 92745208,92745215,ES 92745216,92745395,FR 92745396,92745399,GB @@ -2124,15 +1937,19 @@ 92746416,92746431,ES 92746432,92746559,FR 92746560,92746623,IT -92746624,92747043,FR +92746624,92746831,FR +92746832,92746835,PL +92746836,92747043,FR 92747044,92747047,CH 92747048,92747231,FR 92747232,92747247,PL 92747248,92747255,FR 92747256,92747263,LT -92747264,92747547,FR -92747548,92747567,ES -92747568,92747711,FR +92747264,92747335,FR +92747336,92747343,PL +92747344,92747547,FR +92747548,92747551,ES +92747552,92747711,FR 92747712,92747775,GB 92747776,92748516,FR 92748517,92748517,BE @@ -2140,7 +1957,8 @@ 92748544,92748799,PT 92748800,92748843,FR 92748844,92748847,GB -92748848,92748863,FR +92748848,92748859,FR +92748860,92748863,PL 92748864,92748879,ES 92748880,92748975,FR 92748976,92748983,DE @@ -2196,20 +2014,30 @@ 92755136,92755199,PT 92755200,92755439,FR 92755440,92755455,GB -92755456,92755743,FR +92755456,92755679,FR +92755680,92755711,PL +92755712,92755743,FR 92755744,92755775,FI 92755776,92755839,GB -92755840,92757151,FR +92755840,92756175,FR +92756176,92756191,PL +92756192,92756567,FR +92756568,92756571,PL +92756572,92757151,FR 92757152,92757155,DE 92757156,92757311,FR 92757312,92757375,ES 92757376,92758067,FR 92758068,92758071,DE -92758072,92758367,FR -92758368,92758383,ES -92758384,92758915,FR +92758072,92758223,FR +92758224,92758239,PL +92758240,92758915,FR 92758916,92758919,GB -92758920,92759263,FR +92758920,92758935,FR +92758936,92758939,PL +92758940,92759251,FR +92759252,92759255,PL +92759256,92759263,FR 92759264,92759279,ES 92759280,92759287,FR 92759288,92759295,ES @@ -2226,15 +2054,16 @@ 92761216,92761343,DE 92761344,92761375,FR 92761376,92761391,FI -92761392,92761471,FR +92761392,92761467,FR +92761468,92761471,PL 92761472,92761503,IE 92761504,92762079,FR 92762080,92762111,DE 92762112,92762127,FR 92762128,92762135,ES -92762136,92762219,FR -92762220,92762223,DE -92762224,92762279,FR +92762136,92762215,FR +92762216,92762219,PL +92762220,92762279,FR 92762280,92762283,GB 92762284,92762383,FR 92762384,92762391,ES @@ -2243,15 +2072,21 @@ 92762752,92762783,BE 92762784,92762863,FR 92762864,92762879,IT -92762880,92763103,FR +92762880,92763023,FR +92763024,92763039,PL +92763040,92763103,FR 92763104,92763119,CZ 92763120,92763127,FR 92763128,92763135,ES -92763136,92763391,FR +92763136,92763223,FR +92763224,92763227,PL +92763228,92763391,FR 92763392,92763519,IE 92763520,92764223,FR 92764224,92764287,ES -92764288,92764687,FR +92764288,92764591,FR +92764592,92764595,PL +92764596,92764687,FR 92764688,92764703,ES 92764704,92764735,FR 92764736,92764799,DE @@ -2260,7 +2095,9 @@ 92764880,92765423,FR 92765424,92765427,GB 92765428,92765431,DE -92765432,92766015,FR +92765432,92765731,FR +92765732,92765735,PL +92765736,92766015,FR 92766016,92766047,ES 92766048,92776671,FR 92776672,92776703,PL @@ -2317,7 +2154,9 @@ 92785024,92785039,ES 92785040,92785183,FR 92785184,92785199,ES -92785200,92785363,FR +92785200,92785247,FR +92785248,92785251,ES +92785252,92785363,FR 92785364,92785367,PT 92785368,92785407,FR 92785408,92785439,ES @@ -2349,7 +2188,9 @@ 92787200,92787203,FI 92787204,92787251,FR 92787252,92787255,ES -92787256,92787567,FR +92787256,92787327,FR +92787328,92787331,PL +92787332,92787567,FR 92787568,92787583,IT 92787584,92787703,FR 92787704,92787707,GB @@ -2395,8 +2236,7 @@ 92793328,92793331,PL 92793332,92794227,FR 92794228,92794231,PT -92794232,92794239,ES -92794240,92794335,FR +92794232,92794335,FR 92794336,92794367,NL 92794368,92794691,FR 92794692,92794695,ES @@ -2408,9 +2248,12 @@ 92795632,92795639,CZ 92795640,92795647,FR 92795648,92795775,DE -92795776,92796499,FR +92795776,92796159,FR +92796160,92796415,FI +92796416,92796499,FR 92796500,92796503,PL -92796504,92796575,FR +92796504,92796543,FR +92796544,92796575,PL 92796576,92796579,GB 92796580,92796687,FR 92796688,92796691,DE @@ -2431,7 +2274,9 @@ 92798192,92798207,DE 92798208,92798211,FR 92798212,92798215,PL -92798216,92798255,FR +92798216,92798239,FR +92798240,92798247,PL +92798248,92798255,FR 92798256,92798271,LT 92798272,92798591,FR 92798592,92798623,PT @@ -2455,16 +2300,18 @@ 93417472,93419519,IR 93419520,93421567,IT 93421568,93425663,DE -93425664,93426175,US -93426176,93426183,SE -93426184,93427711,US +93425664,93427711,US 93427712,93429759,NO 93429760,93431807,RU 93431808,93433855,ES 93433856,93437951,DE 93437952,93454335,RU -93454336,93585407,DE -93585408,93626367,GB +93454336,93582687,DE +93582688,93582719,US +93582720,93585407,DE +93585408,93610591,GB +93610592,93610607,US +93610608,93626367,GB 93626368,93634559,CH 93634560,93650943,HU 93650944,93652991,CH @@ -2474,7 +2321,7 @@ 93675520,93679615,IQ 93679616,93681663,LU 93681664,93683711,UA -93683712,93685759,AT +93683712,93685759,SA 93685760,93687807,BE 93687808,93691903,RU 93691904,93693951,PL @@ -2612,7 +2459,10 @@ 94365696,94367743,HU 94367744,94369791,ES 94369792,94371839,TR -94371840,94502911,IR +94371840,94437375,IR +94437376,94466047,AE +94466048,94468095,IR +94468096,94502911,AE 94502912,94568447,OM 94568448,94633983,SA 94633984,94896127,RU @@ -2765,7 +2615,9 @@ 95649792,95666175,IT 95666176,95668223,FR 95668224,95682559,DE -95944704,96075775,PL +95944704,95953151,PL +95953152,95953407,GB +95953408,96075775,PL 96075776,96141311,DK 96141312,96143359,DE 96143360,96145407,GE @@ -2788,8 +2640,8 @@ 96224256,96224767,RU 96224768,96225279,JP 96225280,96228863,RU -96228864,96229119,IE -96229120,96230399,RU +96228864,96229375,IE +96229376,96230399,RU 96230400,96231423,LU 96231424,96234495,RU 96234496,96235519,LU @@ -2798,7 +2650,8 @@ 96239616,96240639,RU 96240640,96241663,LU 96241664,96241919,UA -96241920,96244735,RU +96241920,96243711,RU +96243712,96244735,UA 96244736,96245759,LU 96245760,96246783,KZ 96246784,96249855,RU @@ -2809,7 +2662,7 @@ 96252416,96252671,RO 96252672,96252927,NL 96252928,96256511,RU -96256512,96256767,FR +96256512,96256767,CZ 96256768,96257023,DE 96257024,96259327,RU 96259328,96259583,RO @@ -3028,7 +2881,8 @@ 96770652,96770655,PL 96770656,96771239,FR 96771240,96771247,ES -96771248,96771279,FR +96771248,96771263,FR +96771264,96771279,GB 96771280,96771283,PT 96771284,96771295,FR 96771296,96771299,CZ @@ -3122,7 +2976,9 @@ 96781752,96781759,ES 96781760,96781851,FR 96781852,96781855,ES -96781856,96782167,FR +96781856,96781943,FR +96781944,96781947,IT +96781948,96782167,FR 96782168,96782175,ES 96782176,96782199,FR 96782200,96782207,CZ @@ -3164,13 +3020,17 @@ 96785416,96785423,NL 96785424,96785603,FR 96785604,96785607,PT -96785608,96786011,FR +96785608,96785871,FR +96785872,96785875,IE +96785876,96786011,FR 96786012,96786015,GB 96786016,96786431,FR 96786432,96786495,GB 96786496,96786671,FR 96786672,96786687,DE -96786688,96787743,FR +96786688,96787583,FR +96787584,96787587,BE +96787588,96787743,FR 96787744,96787751,ES 96787752,96787999,FR 96788000,96788031,LT @@ -3203,7 +3063,9 @@ 96794472,96794479,ES 96794480,96794623,FR 96794624,96794687,CZ -96794688,96796671,FR +96794688,96795903,FR +96795904,96796159,ES +96796160,96796671,FR 96796672,96862207,AZ 96862208,96894975,GB 96894976,96897023,CZ @@ -3241,14 +3103,23 @@ 97439744,97444863,NL 97444864,97445887,PT 97445888,97446911,XK -97446912,97447423,RS -97447424,97447679,XK -97447680,97447935,RS +97446912,97447935,RS 97447936,97452031,PL 97452032,97517567,UA 97517568,98566143,IR 98566144,98697215,ES -98697216,98701311,FR +98697216,98697471,FR +98697472,98697855,GB +98697856,98697887,FR +98697888,98697903,GB +98697904,98698255,FR +98698256,98698303,GB +98698304,98698307,US +98698308,98698447,FR +98698448,98698655,GB +98698656,98698751,FR +98698752,98699007,GB +98699008,98701311,FR 98701312,98705407,ES 98705408,98707455,SE 98707456,98709503,NL @@ -3261,7 +3132,9 @@ 98738176,98740223,NO 98740224,98740479,ES 98740480,98740735,US -98740736,98741503,ES +98740736,98740991,ES +98740992,98741247,US +98741248,98741503,ES 98741504,98741759,US 98741760,98742271,ES 98742272,98744319,GB @@ -3436,8 +3309,7 @@ 100597760,100605951,YE 100605952,100610047,UA 100610048,100612095,GB -100612096,100614143,TR -100614144,100630527,NL +100612096,100630527,NL 100630528,100632575,BE 100632576,100634623,GB 100634624,100635199,ES @@ -3484,11 +3356,9 @@ 134228480,134247423,US 134247424,134247424,DE 134247425,134443007,US -134443008,134444543,GU -134444544,134444799,MP -134444800,134445055,GU -134445056,134445567,MP -134445568,134447103,GU +134443008,134445567,MP +134445568,134446335,GU +134446336,134447103,MP 134447104,134738943,US 134738944,134739199,CA 134739200,135192575,US @@ -3501,9 +3371,7 @@ 135441408,135441663,CA 135441664,135556607,US 135556608,135556863,CA -135556864,135557375,US -135557376,135557631,CA -135557632,135558399,US +135556864,135558399,US 135558400,135558655,NL 135558656,135603199,US 135603200,135604223,CA @@ -3521,7 +3389,9 @@ 136054016,136054271,GB 136054272,136175615,US 136175616,136175871,CA -136175872,136237055,US +136175872,136176127,US +136176128,136176639,CA +136176640,136237055,US 136237056,136239103,CA 136239104,136404991,US 136404992,136407039,CA @@ -3531,20 +3401,15 @@ 136415667,136415743,CA 136415744,136702290,US 136702291,136702291,UM -136702292,136708095,US -136708096,136710143,GB -136710144,136712191,US -136712192,136716287,GB -136716288,136737791,US -136737792,136738815,VI -136738816,136810495,US +136702292,136810495,US 136810496,136810751,DE 136810752,139954241,US 139954242,139954242,ES 139954243,142606335,US -142606336,146800639,SG +142606336,146800639,CN 146800640,147849215,US -147849216,148897791,SG +147849216,147914751,GB +147914752,148897791,SG 148897792,151521029,US 151521030,151521030,FR 151521031,151587080,US @@ -3558,35 +3423,33 @@ 204046336,204047359,PR 204047360,204048031,US 204048032,204048047,PR -204048048,205982719,US -205982720,205982975,PR -205982976,208303487,US -208303488,208303503,GB -208303504,209100799,US -209100800,209101823,VI +204048048,209100799,US +209100800,209101477,VI +209101478,209101478,US +209101479,209101823,VI 209101824,209102335,US 209102336,209102847,VI 209102848,209472767,US 209472768,209472768,IN 209472769,212793087,US 212793088,212793343,PR -212793344,212794623,US -212794624,212794879,PR -212794880,214698239,US +212793344,214698239,US 214698240,214698247,VI 214698248,214698303,US 214698304,214698311,VI 214698312,214699007,US 214699008,214700031,VI 214700032,214777855,US -214777856,214779135,PR -214779136,214779903,US -214779904,214786559,PR -214786560,214787071,US +214777856,214778879,PR +214778880,214779903,US +214779904,214783999,PR +214784000,214786047,US +214786048,214786303,PR +214786304,214787071,US 214787072,214788095,PR -214788096,219504639,US -219504640,219512831,FR -219512832,221577215,US +214788096,216457983,US +216457984,216458239,CA +216458240,221577215,US 221577216,221642751,SE 221642752,221773823,AU 221773824,222494719,US @@ -3716,7 +3579,60 @@ 225114624,225115135,JP 225115136,225115647,AU 225115648,225116159,CA -225116160,225443839,US +225116160,225163379,US +225163380,225163391,IE +225163392,225163399,US +225163400,225163407,IE +225163408,225163415,HK +225163416,225163423,US +225163424,225163427,SG +225163428,225163435,US +225163436,225163451,NL +225163452,225163471,US +225163472,225163475,IN +225163476,225163511,US +225163512,225163515,AU +225163516,225163527,US +225163528,225163531,BR +225163532,225163535,GB +225163536,225163543,US +225163544,225163551,IE +225163552,225163575,US +225163576,225163583,IE +225163584,225163587,DE +225163588,225163591,US +225163592,225163595,HK +225163596,225163599,US +225163600,225163603,GB +225163604,225163607,DE +225163608,225163611,GB +225163612,225163615,IN +225163616,225163619,AU +225163620,225163623,GB +225163624,225163627,US +225163628,225163631,FR +225163632,225163643,US +225163644,225163647,JP +225163648,225163659,FR +225163660,225163663,US +225163664,225163667,IN +225163668,225163671,KR +225163672,225163675,CA +225163676,225163679,US +225163680,225163683,KR +225163684,225163691,SG +225163692,225163699,US +225163700,225163703,SG +225163704,225163715,US +225163716,225163727,AU +225163728,225163731,CA +225163732,225163739,JP +225163740,225163743,US +225163744,225163747,CA +225163748,225165843,US +225165844,225165847,KR +225165848,225165855,GB +225165856,225443839,US 225443840,225705983,JP 225705984,226230271,US 226230272,226361343,KR @@ -3732,7 +3648,11 @@ 233570304,233832447,AU 233832448,234356735,US 234356736,234364927,JP -234364928,234487807,US +234364928,234381311,US +234381312,234381567,IE +234381568,234381823,DE +234381824,234382079,JP +234382080,234487807,US 234487808,234618879,SG 234618880,234881023,US 234881024,234883071,CN @@ -3803,7 +3723,7 @@ 243271680,243272703,TH 243272704,243273727,BD 243273728,243277823,JP -243277824,243286015,SG +243277824,243286015,HK 243286016,243302399,JP 243302400,243400703,KR 243400704,243531775,CN @@ -3824,8 +3744,7 @@ 247469056,247470079,HK 247470080,247472127,IN 247472128,247476223,JP -247476224,247476735,MY -247476736,247477247,HK +247476224,247477247,MY 247477248,247478271,IN 247478272,247479295,AU 247479296,247480319,CN @@ -3847,39 +3766,43 @@ 248446976,248512511,TH 248512512,249561087,CN 249561088,251658239,VN -251658240,257531903,US -257531904,257532423,SG +251658240,257532415,US +257532416,257532423,SG 257532424,257532431,US 257532432,257532671,SG -257532672,257532927,MY -257532928,257533951,SG +257532672,257532927,AU +257532928,257533951,US 257533952,257535999,IN -257536000,257540095,AU -257540096,257597951,US -257597952,257597959,ES +257536000,257597951,US +257597952,257597959,GB 257597960,257597967,US -257597968,257598463,ES -257598464,259821567,US -259821568,259823103,IN -259823104,259823359,AU -259823360,259825663,IN -259825664,265003519,US +257597968,257598207,GB +257598208,257598463,ES +257598464,259819519,US +259819520,259820543,RO +259820544,259821567,US +259821568,259823615,IN +259823616,265003519,US 265003520,265003547,GB 265003548,265003548,FR 265003549,265003775,GB -265003776,265005311,US -265005312,265005567,GB -265005568,265025791,US +265003776,265019942,US +265019943,265019943,PR +265019944,265020159,US +265020160,265020415,GB +265020416,265025791,US 265025792,265026047,GB -265026048,265527295,US -265527296,265529599,JP -265529600,265529855,US -265529856,265535487,JP -265535488,266051583,US -266051584,266059775,CR -266059776,266067967,IN -266067968,266076159,AU -266076160,266598655,US +265026048,265523711,US +265523712,265523967,SG +265523968,265525503,US +265525504,265525759,MY +265525760,265531391,US +265531392,265533439,JP +265533440,266059775,US +266059776,266063871,IN +266063872,266070015,US +266070016,266072063,AU +266072064,266598655,US 266598656,266598911,BR 266598912,279356249,US 279356250,279356250,LT @@ -3890,8 +3813,8 @@ 288065536,288075775,US 288075776,288077823,BR 288077824,288151551,US -288151552,288161791,CA -288161792,288167423,US +288151552,288157695,CA +288157696,288167423,US 288167424,288167935,CA 288167936,288169471,US 288169472,288169983,CA @@ -3930,8 +3853,11 @@ 289624064,289628159,CH 289628160,289630207,US 289630208,289632255,SE -289632256,289636351,US -289636352,289652735,GB +289632256,289642495,US +289642496,289644543,GB +289644544,289648639,US +289648640,289650687,GB +289650688,289652735,US 289652736,289653759,NL 289653760,289654271,DE 289654272,289654783,US @@ -3949,11 +3875,14 @@ 289746944,289751039,GB 289751040,289767423,US 289767424,289769471,GB -289769472,289779711,US +289769472,289770495,ZA +289770496,289771519,US +289771520,289775615,GB +289775616,289779711,US 289779712,289783807,RU 289783808,289787903,GB 289787904,289789951,DE -289789952,289791999,GB +289789952,289791999,US 289792000,289794047,AE 289794048,289796095,GB 289796096,289798143,TR @@ -3975,27 +3904,28 @@ 289954304,289954559,ES 289954560,289955839,US 289955840,289955967,NL -289955968,289956095,FR +289955968,289956095,US 289956096,289956223,NO -289956224,289956351,FR +289956224,289956351,US 289956352,289956479,DK -289956480,289956607,FR +289956480,289956607,US 289956608,289956735,NL 289956736,289956863,IN 289956864,289957119,ES -289957120,289957375,FR +289957120,289957375,US 289957376,289957631,SE -289957632,289957887,FR +289957632,289957887,US 289957888,289958143,LU -289958144,289958399,FR +289958144,289958399,US 289958400,289958655,IN -289958656,289958911,FR +289958656,289958911,US 289958912,289959423,IT 289959424,289959935,DK 289959936,289960447,DE 289960448,289960959,IN 289960960,289961471,BE -289961472,289964031,FR +289961472,289961983,US +289961984,289964031,FR 289964032,289980415,IE 289980416,290193407,US 290193408,290258943,IN @@ -4053,12 +3983,15 @@ 291203072,300646399,US 300646400,300650495,JP 300650496,300654591,SG -300654592,300662783,AU +300654592,300658687,US +300658688,300662783,AU 300662784,300666879,GB 300666880,300670975,NL 300670976,300675071,IE 300675072,300679167,IL -300679168,301801983,US +300679168,301507071,US +301507072,301507327,IN +301507328,301801983,US 301801984,301802239,GB 301802240,301802495,US 301802496,301802751,GB @@ -4125,8 +4058,8 @@ 314966016,315097087,US 315097088,315359231,IE 315359232,316932095,US -316932096,316997631,BR -316997632,317128703,US +316932096,317063167,BR +317063168,317128703,US 317128704,317194239,BR 317194240,322058771,US 322058772,322058772,CL @@ -4149,12 +4082,16 @@ 338062848,338063359,US 338063360,338063871,AU 338063872,338063999,CA -338064000,338064383,US +338064000,338064127,US +338064128,338064383,DE 338064384,338064895,JP -338064896,338067455,US +338064896,338065151,DE +338065152,338065407,US +338065408,338065663,NO +338065664,338067455,US 338067456,338069503,CH 338069504,338071551,AE -338071552,338073599,US +338071552,338073599,CA 338073600,338081791,CH 338081792,338082815,US 338082816,338083839,FR @@ -4189,33 +4126,45 @@ 338362368,338370559,CA 338370560,338378751,FR 338378752,338386943,JP -338386944,338393087,US +338386944,338391039,NO +338391040,338393087,US 338393088,338395135,IN 338395136,338411519,SG -338411520,344260607,US +338411520,338434047,US +338434048,338436095,KR +338436096,338444287,IN +338444288,338460671,US +338460672,338477055,JP +338477056,338493439,SG +338493440,338509823,US +338509824,338518015,AE +338518016,338567167,DE +338567168,338575359,AE +338575360,338583551,US +338583552,338595839,NO +338595840,338599935,US +338599936,338608127,NO +338608128,344260607,US 344260608,344260863,GB 344260864,344261119,US 344261120,344261778,GB 344261779,344261779,US -344261780,344264703,GB -344264704,344270847,US -344270848,344272895,GB -344272896,344592895,US +344261780,344262911,GB +344262912,344588287,US +344588288,344589311,GB +344589312,344592895,US 344592896,344592945,GB 344592946,344592946,US 344592947,344593151,GB -344593152,344593919,US -344593920,344594175,DK -344594176,344645631,US -344645632,344653823,FR -344653824,344662015,US -344662016,344670207,MY -344670208,344674303,IN -344674304,344677631,US -344677632,344677887,IN -344677888,344711167,US -344711168,344719359,AU -344719360,344881151,US +344593152,344593407,US +344593408,344594431,DK +344594432,344662783,US +344662784,344663039,MY +344663040,344670207,US +344670208,344672255,IN +344672256,344711167,US +344711168,344713215,AU +344713216,344881151,US 344881152,344881407,IN 344881408,344977407,US 344977408,344977663,IN @@ -4258,7 +4207,9 @@ 348094464,348102655,SG 348102656,348110847,US 348110848,348127231,AU -348127232,353769239,US +348127232,351743999,US +351744000,351746047,GB +351746048,353769239,US 353769240,353769240,FR 353769241,358157194,US 358157195,358157195,NO @@ -4294,7 +4245,9 @@ 386095616,386096127,NL 386096128,386191359,US 386191360,386195455,NL -386195456,386215935,US +386195456,386202623,US +386202624,386203135,NL +386203136,386215935,US 386215936,386220031,NL 386220032,386228223,US 386228224,386232319,NL @@ -4320,7 +4273,13 @@ 386498560,386502655,NL 386502656,386547711,US 386547712,386551807,NL -386551808,386656255,US +386551808,386593791,US +386593792,386594815,NL +386594816,386595071,US +386595072,386595327,NL +386595328,386595839,US +386595840,386596095,NL +386596096,386656255,US 386656256,386656511,NL 386656512,386662399,US 386662400,386666495,NL @@ -4346,10 +4305,13 @@ 386868992,386923519,US 386923520,386924543,NL 386924544,387055615,CA -387055616,387063807,PR -387063808,387071999,US -387072000,387121151,PR -387121152,387648767,US +387055616,387092479,US +387092480,387094527,PR +387094528,387133439,US +387133440,387133647,DE +387133648,387133655,US +387133656,387134463,DE +387134464,387648767,US 387648768,387649023,DE 387649024,387707903,US 387707904,387708159,CH @@ -4375,9 +4337,7 @@ 388055040,388059135,NL 388059136,388084735,US 388084736,388085759,NL -388085760,388086783,US -388086784,388087807,NL -388087808,388091903,US +388085760,388091903,US 388091904,388095999,NL 388096000,388100095,US 388100096,388101119,NL @@ -4453,9 +4413,13 @@ 388843520,388844543,NL 388844544,388849663,US 388849664,388853759,NL -388853760,388863999,US +388853760,388856575,US +388856576,388856831,NL +388856832,388863999,US 388864000,388865023,NL -388865024,388894207,US +388865024,388885503,US +388885504,388890623,NL +388890624,388894207,US 388894208,388894719,NL 388894720,388897791,US 388897792,388898815,NL @@ -4466,8 +4430,8 @@ 388945920,388956159,US 388956160,388960255,NL 388960256,388964351,US -388964352,388972543,NL -388972544,388996095,US +388964352,388973567,NL +388973568,388996095,US 388996096,388997119,NL 388997120,389044223,US 389044224,389045247,NL @@ -4509,8 +4473,8 @@ 389413376,389413887,NL 389413888,389414911,US 389414912,389419007,NL -389419008,389435391,US -389435392,389444607,NL +389419008,389439487,US +389439488,389444607,NL 389444608,389444863,US 389444864,389445375,NL 389445376,389447679,US @@ -4548,8 +4512,8 @@ 389734400,389759999,US 389760000,389761023,NL 389761024,389764095,US -389764096,389765119,NL -389765120,389767167,US +389764096,389765631,NL +389765632,389767167,US 389767168,389775359,NL 389775360,389812223,US 389812224,389816319,NL @@ -4559,8 +4523,10 @@ 389857280,389873663,NL 389873664,389874687,US 389874688,389875711,NL -389875712,389931007,US -389931008,389936127,NL +389875712,389923839,US +389923840,389924351,NL +389924352,389926911,US +389926912,389936127,NL 389936128,389939711,US 389939712,389940223,NL 389940224,389941503,US @@ -4579,7 +4545,8 @@ 389979190,389979190,AU 389979191,389988351,US 389988352,389992447,NL -389992448,389996799,US +389992448,389996543,US +389996544,389996799,NL 389996800,389996800,SG 389996801,390027263,US 390027264,390028287,NL @@ -4611,26 +4578,26 @@ 390205440,390209535,NL 390209536,390261247,US 390261248,390261759,NL -390261760,390277119,US -390277120,390277375,NL -390277376,390278911,US +390261760,390278911,US 390278912,390279167,NL 390279168,390286847,US 390286848,390287359,NL 390287360,390299647,US 390299648,390303743,NL -390303744,390731775,US -390731776,390732031,NL -390732032,390897151,US +390303744,390897151,US 390897152,390897663,NL 390897664,390938623,US 390938624,390942719,NL 390942720,390972927,US -390972928,390973951,NL -390973952,390975487,US +390972928,390973439,NL +390973440,390975487,US 390975488,390976511,NL -390976512,390995967,US -390995968,391020543,NL +390976512,390985727,US +390985728,390987775,NL +390987776,390995967,US +390995968,391004159,NL +391004160,391012351,US +391012352,391020543,NL 391020544,391110655,US 391110656,391110911,IL 391110912,391111167,GB @@ -4642,8 +4609,10 @@ 391344128,391348223,NL 391348224,391368703,US 391368704,391372799,CA -391372800,391865855,US -391865856,391866879,HK +391372800,391864319,US +391864320,391865087,HK +391865088,391865343,US +391865344,391866879,HK 391866880,391867391,US 391867392,391867647,VN 391867648,391872511,US @@ -4717,40 +4686,47 @@ 392660000,392660015,AT 392660016,392660031,FI 392660032,392660047,AT -392660048,392660063,US +392660048,392660063,NL 392660064,392660079,AT 392660080,392660095,IE 392660096,392660111,FI 392660112,392660127,AT -392660128,392660351,US +392660128,392660143,FR +392660144,392660351,US 392660352,392660383,IE 392660384,392660415,FI 392660416,392660447,AT -392660448,392660607,US +392660448,392660479,US +392660480,392660511,AT +392660512,392660543,US +392660544,392660575,AE +392660576,392660607,US 392660608,392660703,GB 392660704,392660735,US 392660736,392660799,FR -392660800,392661519,US +392660800,392661503,US +392661504,392661519,KR 392661520,392661551,JP -392661552,392661887,US +392661552,392661855,US +392661856,392661887,ZA 392661888,392661951,JP 392661952,392662143,US 392662144,392662239,IN 392662240,392662399,US -392662400,392662463,KR -392662464,392662479,US -392662480,392662495,KR +392662400,392662495,KR 392662496,392662511,HK 392662512,392662527,SG 392662528,392662559,US -392662560,392662575,AU -392662576,392663039,US +392662560,392662591,AU +392662592,392663039,US 392663040,392663071,FI 392663072,392663103,US 392663104,392663135,IE 392663136,392663167,US 392663168,392663199,NL -392663200,392663295,US +392663200,392663231,US +392663232,392663263,NL +392663264,392663295,US 392663296,392663327,IE 392663328,392663359,US 392663360,392663391,IE @@ -4761,7 +4737,9 @@ 392664416,392664431,NL 392664432,392664479,US 392664480,392664495,IE -392664496,392665855,US +392664496,392665343,US +392665344,392665375,SG +392665376,392665855,US 392665856,392665887,HK 392665888,392665983,US 392665984,392666015,HK @@ -4849,15 +4827,16 @@ 392687824,392687839,NL 392687840,392687887,US 392687888,392687903,NL -392687904,392689295,US +392687904,392689279,US +392689280,392689295,FI 392689296,392689311,NL 392689312,392689327,AT 392689328,392689343,IE -392689344,392689359,US +392689344,392689359,FI 392689360,392689375,NL 392689376,392689391,AT 392689392,392689407,IE -392689408,392689423,US +392689408,392689423,FI 392689424,392689439,NL 392689440,392689455,AT 392689456,392689471,IE @@ -4865,15 +4844,15 @@ 392689488,392689503,NL 392689504,392689519,AT 392689520,392689535,IE -392689536,392689551,US +392689536,392689551,FI 392689552,392689567,NL 392689568,392689583,AT 392689584,392689599,IE -392689600,392689615,US +392689600,392689615,FI 392689616,392689631,NL 392689632,392689647,AT 392689648,392689663,IE -392689664,392689679,US +392689664,392689679,FI 392689680,392689695,NL 392689696,392689711,AT 392689712,392689727,IE @@ -4881,11 +4860,11 @@ 392689744,392689759,NL 392689760,392689775,AT 392689776,392689791,IE -392689792,392689807,US +392689792,392689807,FI 392689808,392689823,NL 392689824,392689839,AT 392689840,392689855,IE -392689856,392689871,US +392689856,392689871,FI 392689872,392689887,NL 392689888,392689903,AT 392689904,392689919,IE @@ -4894,10 +4873,11 @@ 392690000,392690015,HK 392690016,392690031,KR 392690032,392690047,MY -392690048,392690079,US +392690048,392690063,SG +392690064,392690079,HK 392690080,392690095,KR 392690096,392690111,MY -392690112,392690127,US +392690112,392690127,SG 392690128,392690143,HK 392690144,392690431,US 392690432,392690687,NL @@ -4971,7 +4951,7 @@ 394305536,394305791,CA 394313728,394313983,US 394321920,394322175,CA -394330112,394330367,US +394330112,394330623,US 394338304,394338559,CA 394346496,394362879,US 394362880,394363135,GB @@ -5000,6 +4980,7 @@ 394756096,394772479,US 394772480,394772735,CA 394780672,394780927,US +394788864,394789119,US 394797056,394797311,CA 394805248,394805503,US 394813440,394813695,VG @@ -5064,20 +5045,33 @@ 395813120,395829247,CA 395829248,395829503,US 395829504,395837439,CA -395837440,395903231,US -395919360,395919615,CA -395935744,395935999,CA -395952128,395952383,US -395968512,395969535,CA -395984896,395985151,US -396001280,396034047,CA +395837440,395919359,US +395919360,395952127,CA +395952128,395968511,US +395968512,395984895,CA +395984896,396001279,US +396001280,396025855,CA +396025856,396026111,US +396026112,396034047,CA 396034048,396034303,US +396042240,396042495,US 396050432,396050687,CA +396058624,396058879,US 396066816,396067327,CA +396075008,396075263,US 396083200,396083711,US -396099584,396263423,US +396091392,396091647,US +396099584,396107775,US +396107776,396108031,JM +396108032,396140543,US +396140544,396140799,CA +396140800,396263423,US 396263424,396263679,CA -396296192,396427775,US +396271616,396271871,US +396288000,396288255,US +396296192,396320767,US +396320768,396321023,CA +396321024,396427775,US 396443648,396443903,CA 396460032,396493055,US 396509184,396509439,PR @@ -5112,19 +5106,19 @@ 397770752,397771007,CA 397787136,397787391,US 397803520,397803775,CA -397819904,397820159,US +397819904,397820415,US 397836288,397836799,CA 397852672,397852927,US 397869056,397902079,US 397918208,397918463,CA 397934592,398065663,US -398065664,398065919,CA +398065664,398066175,CA 398082048,398082303,JP 398098432,398098687,US 398114816,398115071,CA 398131200,398196735,US 398196736,398196991,KY -398213120,398213375,US +398213120,398213631,US 398229504,398295295,US 398311424,398311679,LC 398327808,398328063,PR @@ -5138,7 +5132,9 @@ 398500352,398500863,NL 398500864,398566911,US 398566912,398567423,NL -398567424,398642175,US +398567424,398640127,US +398640128,398641151,NL +398641152,398642175,US 398642176,398643199,NL 398643200,398684159,US 398684160,398692351,NL @@ -5168,8 +5164,8 @@ 399032320,399036415,NL 399036416,399056127,US 399056128,399056383,NL -399056384,399076095,US -399076096,399076863,NL +399056384,399076351,US +399076352,399076863,NL 399076864,399089663,US 399089664,399101951,NL 399101952,399106047,US @@ -5177,8 +5173,8 @@ 399114240,399143935,US 399143936,399144959,NL 399144960,399147007,US -399147008,399155199,NL -399155200,399175679,US +399147008,399151103,NL +399151104,399175679,US 399175680,399179775,NL 399179776,399243519,US 399243520,399243775,NL @@ -5186,8 +5182,9 @@ 399280896,399281151,NL 399281152,399331327,US 399331328,399335423,NL -399335424,399343615,AU -399343616,399353855,US +399335424,399342335,US +399342336,399342591,NL +399342592,399353855,US 399353856,399354879,NL 399354880,399355903,US 399355904,399359999,NL @@ -5215,9 +5212,7 @@ 399594496,399595519,NL 399595520,399598591,US 399598592,399599871,NL -399599872,399642623,US -399642624,399643647,NL -399643648,399644671,US +399599872,399644671,US 399644672,399646719,NL 399646720,399647743,US 399647744,399649791,NL @@ -5229,18 +5224,18 @@ 399740928,399749119,NL 399749120,399769855,US 399769856,399770111,NL -399770112,399797247,US +399770112,399782911,US +399782912,399783167,NL +399783168,399797247,US 399797248,399797759,NL 399797760,399827967,US 399827968,399830015,NL 399830016,399849471,US 399849472,399850495,NL -399850496,399870975,US -399870976,399871999,NL -399872000,399908863,US -399908864,399919615,NL -399919616,399921151,US -399921152,399951359,NL +399850496,399918079,US +399918080,399919615,NL +399919616,399930367,US +399930368,399951359,NL 399951360,399951871,US 399951872,399952895,NL 399952896,399953919,US @@ -5258,8 +5253,8 @@ 400084992,400093183,US 400093184,400097279,NL 400097280,400098303,US -400098304,400099327,NL -400099328,400111103,US +400098304,400100351,NL +400100352,400111103,US 400111104,400111615,NL 400111616,400112639,US 400112640,400113663,NL @@ -5273,8 +5268,8 @@ 400131584,400132095,NL 400132096,400144383,US 400144384,400145407,NL -400145408,400154623,US -400154624,400162815,NL +400145408,400150527,US +400150528,400162815,NL 400162816,400186367,US 400186368,400187391,NL 400187392,400201727,US @@ -5291,7 +5286,9 @@ 400263168,400263679,NL 400263680,400264703,US 400264704,400265215,NL -400265216,400400383,US +400265216,400275711,US +400275712,400275967,NL +400275968,400400383,US 400400384,400410111,NL 400410112,400411647,US 400411648,400412671,NL @@ -5342,19 +5339,13 @@ 400883888,400883895,BG 400883896,400883919,CA 400883920,400883927,GB -400883928,400883975,CA -400883976,400883979,US -400883980,400883995,CA -400883996,400883999,US -400884000,400884231,CA +400883928,400884231,CA 400884232,400884239,US 400884240,400884255,CA 400884256,400884287,US 400884288,400884319,CA 400884320,400884359,US -400884360,400884415,CA -400884416,400884431,US -400884432,400884455,CA +400884360,400884455,CA 400884456,400884463,US 400884464,400884471,CA 400884472,400884479,US @@ -5375,11 +5366,9 @@ 400885408,400885439,US 400885440,400885783,CA 400885784,400885791,US -400885792,400885887,CA -400885888,400885919,US -400885920,400885999,CA -400886000,400886015,US -400886016,400886031,CA +400885792,400885903,CA +400885904,400885919,US +400885920,400886031,CA 400886032,400886047,US 400886048,400886095,CA 400886096,400886111,US @@ -5394,31 +5383,22 @@ 400886200,400886303,CA 400886304,400886335,US 400886336,400886351,CA -400886352,400886399,US -400886400,400886407,CA +400886352,400886383,US +400886384,400886407,CA 400886408,400886415,US -400886416,400886455,CA -400886456,400886463,SE +400886416,400886463,CA 400886464,400886527,US 400886528,400886583,CA 400886584,400886591,US -400886592,400886623,CA -400886624,400886639,US -400886640,400886695,CA -400886696,400886703,FI -400886704,400886719,CA -400886720,400886783,US -400886784,400887039,CA +400886592,400886719,CA +400886720,400886767,US +400886768,400887039,CA 400887040,400887135,US -400887136,400887143,CA -400887144,400887175,US -400887176,400887183,CA -400887184,400887199,US -400887200,400887231,CA -400887232,400887295,US -400887296,400887311,CA -400887312,400887327,US -400887328,400887335,CA +400887136,400887151,CA +400887152,400887175,US +400887176,400887231,CA +400887232,400887263,US +400887264,400887335,CA 400887336,400887343,US 400887344,400887351,SE 400887352,400887503,CA @@ -5431,9 +5411,7 @@ 400887872,400887879,US 400887880,400887895,CA 400887896,400887911,US -400887912,400887919,CA -400887920,400887927,US -400887928,400887935,CA +400887912,400887935,CA 400887936,400887959,US 400887960,400887975,CA 400887976,400887983,US @@ -5443,91 +5421,71 @@ 400888064,400888319,US 400888320,400888575,CA 400888576,400888831,GB -400888832,400889343,CA -400889344,400889367,US -400889368,400889407,CA -400889408,400889503,US +400888832,400889359,CA +400889360,400889367,US +400889368,400889439,CA +400889440,400889503,US 400889504,400889511,CA 400889512,400889599,US 400889600,400889647,CA -400889648,400889679,US -400889680,400889695,CA -400889696,400889743,US -400889744,400889767,CA -400889768,400889807,US -400889808,400889855,CA +400889648,400889663,US +400889664,400889711,CA +400889712,400889727,US +400889728,400889775,CA +400889776,400889791,US +400889792,400889855,CA 400889856,400890111,US 400890112,400890143,CA 400890144,400890151,US 400890152,400890159,CA -400890160,400890239,US -400890240,400890263,CA +400890160,400890207,US +400890208,400890263,CA 400890264,400890271,US 400890272,400890335,CA -400890336,400890375,US -400890376,400890383,CA +400890336,400890367,US +400890368,400890383,CA 400890384,400890391,US 400890392,400890399,CA 400890400,400890407,US -400890408,400890415,CA -400890416,400890431,US -400890432,400890447,CA -400890448,400890495,US -400890496,400890527,CA +400890408,400890527,CA 400890528,400890543,US -400890544,400890559,CA -400890560,400890623,US +400890544,400890591,CA +400890592,400890623,US 400890624,400890639,CA 400890640,400890655,US 400890656,400890783,CA 400890784,400890831,US -400890832,400890847,CA -400890848,400890871,US -400890872,400891199,CA -400891200,400891207,US -400891208,400891263,CA +400890832,400891263,CA 400891264,400891343,US -400891344,400891359,CA -400891360,400891375,US -400891376,400891383,CA +400891344,400891383,CA 400891384,400891407,US 400891408,400891415,CA -400891416,400891487,US +400891416,400891455,US +400891456,400891471,CA +400891472,400891487,US 400891488,400891535,CA -400891536,400891647,US -400891648,400891679,CA -400891680,400891703,US -400891704,400891775,CA -400891776,400891807,US -400891808,400891855,CA -400891856,400891863,US -400891864,400891887,CA +400891536,400891583,US +400891584,400891615,CA +400891616,400891631,US +400891632,400891695,CA +400891696,400891703,US +400891704,400891791,CA +400891792,400891807,US +400891808,400891887,CA 400891888,400892159,US 400892160,400892215,CA 400892216,400892223,US -400892224,400892255,CA -400892256,400892259,US -400892260,400892299,CA -400892300,400892303,US -400892304,400892367,CA -400892368,400892375,US -400892376,400892383,CA -400892384,400892387,US -400892388,400892479,CA +400892224,400892479,CA 400892480,400892543,US 400892544,400892567,CA 400892568,400892575,US 400892576,400892591,CA 400892592,400892607,US -400892608,400892639,CA -400892640,400892655,US -400892656,400892671,CA -400892672,400892799,US -400892800,400892807,CA -400892808,400892815,US -400892816,400892863,CA -400892864,400892935,US -400892936,400893055,CA +400892608,400892671,CA +400892672,400892767,US +400892768,400892863,CA +400892864,400892895,US +400892896,400893055,CA 400893056,400893087,US 400893088,400893095,CA 400893096,400893311,US @@ -5538,189 +5496,169 @@ 400894048,400894079,CA 400894080,400894335,US 400894336,400894463,CA -400894464,400894767,US -400894768,400894783,CA +400894464,400894719,US +400894720,400894783,CA 400894784,400894815,US -400894816,400894847,CA -400894848,400894879,US -400894880,400894903,CA +400894816,400894903,CA 400894904,400894911,US -400894912,400894975,CA -400894976,400895295,US +400894912,400895231,CA +400895232,400895295,US 400895296,400895359,CA 400895360,400895407,US 400895408,400895455,CA -400895456,400895567,US -400895568,400895623,CA -400895624,400895631,US -400895632,400895663,CA +400895456,400895551,US +400895552,400895663,CA 400895664,400895679,US 400895680,400895711,CA 400895712,400896511,US 400896512,400896591,CA 400896592,400896599,US -400896600,400896615,CA -400896616,400896631,US -400896632,400896695,CA -400896696,400896699,US -400896700,400896767,CA +400896600,400896767,CA 400896768,400896775,US -400896776,400896815,CA -400896816,400896831,US +400896776,400896823,CA +400896824,400896831,US 400896832,400896911,CA 400896912,400896919,US 400896920,400896927,CA -400896928,400896943,US -400896944,400896951,CA -400896952,400896967,US -400896968,400897023,CA +400896928,400896935,US +400896936,400896951,CA +400896952,400896959,US +400896960,400897023,CA 400897024,400897279,US -400897280,400897311,CA -400897312,400897327,US -400897328,400897407,CA -400897408,400897415,US -400897416,400897423,CA +400897280,400897423,CA 400897424,400897439,US -400897440,400897471,CA -400897472,400897791,US -400897792,400897831,CA -400897832,400897839,US -400897840,400897847,CA +400897440,400897503,CA +400897504,400897519,US +400897520,400897535,CA +400897536,400897791,US +400897792,400897847,CA 400897848,400897855,US 400897856,400897887,CA 400897888,400897903,US -400897904,400897919,CA -400897920,400897967,US +400897904,400897935,CA +400897936,400897967,US 400897968,400897983,CA 400897984,400898047,US 400898048,400898063,CA 400898064,400898079,US -400898080,400898159,CA -400898160,400898303,US +400898080,400898175,CA +400898176,400898303,US 400898304,400898311,CA 400898312,400898319,US -400898320,400898447,CA -400898448,400898559,US -400898560,400898575,CA -400898576,400898591,US -400898592,400898687,CA -400898688,400898735,US +400898320,400898463,CA +400898464,400898495,US +400898496,400898703,CA +400898704,400898735,US 400898736,400898751,CA -400898752,400898799,US -400898800,400898807,CA +400898752,400898783,US +400898784,400898807,CA 400898808,400898815,US -400898816,400898823,CA -400898824,400898831,US -400898832,400898855,CA -400898856,400898863,US -400898864,400898879,CA -400898880,400898887,SE -400898888,400898911,CA -400898912,400899327,US +400898816,400898911,CA +400898912,400898927,US +400898928,400898943,CA +400898944,400899039,US +400899040,400899047,CA +400899048,400899055,US +400899056,400899071,CA +400899072,400899327,US 400899328,400899591,CA 400899592,400899599,US 400899600,400899623,CA 400899624,400899631,US -400899632,400899647,CA -400899648,400899751,US -400899752,400899759,CA +400899632,400899711,CA +400899712,400899743,US +400899744,400899759,CA 400899760,400899807,US 400899808,400899815,CA -400899816,400899839,US -400899840,400899847,CA +400899816,400899823,US +400899824,400899847,CA 400899848,400899855,US 400899856,400899967,CA -400899968,400900255,US +400899968,400899999,US +400900000,400900031,CA +400900032,400900255,US 400900256,400900263,CA -400900264,400900351,US -400900352,400900391,CA +400900264,400900271,US +400900272,400900287,CA +400900288,400900319,US +400900320,400900391,CA 400900392,400900399,US -400900400,400900415,CA -400900416,400900479,US +400900400,400900447,CA +400900448,400900479,US 400900480,400900487,CA 400900488,400900495,US -400900496,400900527,CA -400900528,400901119,US -400901120,400901431,CA -400901432,400901447,US -400901448,400901487,CA +400900496,400900559,CA +400900560,400900575,US +400900576,400900607,CA +400900608,400901119,US +400901120,400901487,CA 400901488,400901495,US 400901496,400901567,CA -400901568,400901631,US -400901632,400901655,CA -400901656,400901659,US -400901660,400901751,CA -400901752,400901887,US +400901568,400901583,US +400901584,400901615,CA +400901616,400901631,US +400901632,400901759,CA +400901760,400901807,US +400901808,400901823,CA +400901824,400901887,US 400901888,400902143,CA 400902144,400902399,US 400902400,400902431,CA -400902432,400902495,US -400902496,400902527,CA -400902528,400902655,US +400902432,400902479,US +400902480,400902527,CA +400902528,400902623,US +400902624,400902639,CA +400902640,400902655,US 400902656,400902663,CA 400902664,400902671,US 400902672,400902719,CA 400902720,400902783,US 400902784,400902911,CA -400902912,400902975,US -400902976,400903039,CA -400903040,400903167,US -400903168,400903183,CA -400903184,400903199,US -400903200,400903231,CA -400903232,400903247,US -400903248,400903271,CA +400902912,400902943,US +400902944,400903271,CA 400903272,400903279,US -400903280,400903295,CA -400903296,400903423,US -400903424,400903935,CA +400903280,400903935,CA 400903936,400904479,US 400904480,400904487,CA 400904488,400904591,US 400904592,400904599,CA -400904600,400904687,US -400904688,400904703,CA +400904600,400904607,US +400904608,400904623,CA +400904624,400904671,US +400904672,400904703,CA 400904704,400904959,US 400904960,400905271,CA 400905272,400905279,US -400905280,400905287,CA -400905288,400905295,US -400905296,400905335,CA +400905280,400905335,CA 400905336,400905343,US 400905344,400905359,CA 400905360,400905367,US 400905368,400905399,CA -400905400,400905415,US -400905416,400905439,CA +400905400,400905407,US +400905408,400905439,CA 400905440,400905447,US -400905448,400905455,CA -400905456,400905463,FI -400905464,400905471,US -400905472,400905983,CA -400905984,400906143,US +400905448,400906111,CA +400906112,400906143,US 400906144,400906175,CA 400906176,400906207,US 400906208,400906215,CA 400906216,400906223,US 400906224,400906231,CA 400906232,400906239,US -400906240,400906247,CA -400906248,400906263,US -400906264,400906367,CA -400906368,400906383,US -400906384,400906399,CA -400906400,400906815,US +400906240,400906255,CA +400906256,400906263,US +400906264,400906399,CA +400906400,400906463,US +400906464,400906471,CA +400906472,400906815,US 400906816,400906831,CA 400906832,400906879,US -400906880,400906959,CA -400906960,400907007,US -400907008,400907263,CA +400906880,400907263,CA 400907264,400908031,US 400908032,400908287,CA 400908288,400911103,US 400911104,400911359,PA -400911360,400911487,US -400911488,400911583,AU +400911360,400911583,AU 400911584,400911615,US 400911616,400911871,CR 400911872,401113087,US @@ -5798,9 +5736,7 @@ 401342464,401346559,BB 401346560,401360639,US 401360640,401360895,HK -401360896,401361151,US -401361152,401361407,HK -401361408,401367039,US +401360896,401367039,US 401367040,401367295,GB 401367296,401367551,US 401367552,401367807,JP @@ -5819,27 +5755,22 @@ 401375512,401375519,US 401375520,401375535,CA 401375536,401375543,US -401375544,401375551,CA -401375552,401375559,US -401375560,401375663,CA -401375664,401375679,US -401375680,401375743,CA +401375544,401375743,CA 401375744,401376095,US -401376096,401376103,SE -401376104,401376111,CA -401376112,401376191,US +401376096,401376111,CA +401376112,401376143,US +401376144,401376175,CA +401376176,401376191,US 401376192,401376223,CA 401376224,401376255,US -401376256,401376271,CA -401376272,401376279,US -401376280,401376287,CA -401376288,401376319,US -401376320,401376327,CA +401376256,401376327,CA 401376328,401376335,US 401376336,401376351,CA -401376352,401376415,US -401376416,401376447,CA -401376448,401376767,US +401376352,401376367,US +401376368,401376447,CA +401376448,401376479,US +401376480,401376495,CA +401376496,401376767,US 401376768,401377791,CA 401377792,401378303,US 401378304,401378559,EG @@ -5847,7 +5778,11 @@ 401378688,401378815,CA 401378816,401379071,US 401379072,401380351,CA -401380352,401380503,US +401380352,401380383,US +401380384,401380431,CA +401380432,401380447,US +401380448,401380479,CA +401380480,401380503,US 401380504,401380527,CA 401380528,401380543,US 401380544,401380607,CA @@ -5855,72 +5790,50 @@ 401380864,401381119,CA 401381120,401381247,US 401381248,401381375,CA -401381376,401381887,US -401381888,401381951,CA -401381952,401381959,US -401381960,401382015,CA +401381376,401381407,US +401381408,401381423,CA +401381424,401381887,US +401381888,401382015,CA 401382016,401382023,US 401382024,401382063,CA 401382064,401382087,US -401382088,401382137,CA -401382138,401382138,US -401382139,401382191,CA -401382192,401382199,US -401382200,401382367,CA -401382368,401382375,US -401382376,401382399,CA -401382400,401382407,US -401382408,401382463,CA +401382088,401382127,CA +401382128,401382135,US +401382136,401382463,CA 401382464,401382471,US 401382472,401382479,CA 401382480,401382527,US 401382528,401382543,CA 401382544,401382575,US -401382576,401382591,CA -401382592,401382911,US -401382912,401383167,CA -401383168,401383231,US -401383232,401383263,CA -401383264,401383295,US -401383296,401384299,CA -401384300,401384303,US -401384304,401384407,CA -401384408,401384415,US -401384416,401384423,CA -401384424,401384435,US -401384436,401384575,CA -401384576,401384703,US -401384704,401384799,CA +401382576,401382623,CA +401382624,401382911,US +401382912,401384423,CA +401384424,401384431,US +401384432,401384799,CA 401384800,401384831,US 401384832,401384959,CA 401384960,401385215,US 401385216,401385295,CA 401385296,401385375,US 401385376,401385391,CA -401385392,401385983,US -401385984,401386271,CA -401386272,401386407,US -401386408,401386415,CA +401385392,401385407,US +401385408,401385423,CA +401385424,401385439,US +401385440,401385455,CA +401385456,401385983,US +401385984,401386303,CA +401386304,401386399,US +401386400,401386415,CA 401386416,401386463,US 401386464,401386471,CA 401386472,401386495,US -401386496,401386591,SE -401386592,401386623,US -401386624,401387007,SE +401386496,401387007,SE 401387008,401387263,US 401387264,401387519,CA -401387520,401388031,US -401388032,401388063,CA -401388064,401388159,US -401388160,401388191,CA -401388192,401388223,US -401388224,401388255,CA -401388256,401388287,US -401388288,401388543,CA +401387520,401387775,US +401387776,401388543,CA 401388544,401388559,US -401388560,401388563,CA -401388564,401388567,US -401388568,401388575,CA +401388560,401388575,CA 401388576,401388583,US 401388584,401388615,CA 401388616,401388631,US @@ -5928,128 +5841,123 @@ 401388672,401388687,US 401388688,401389055,CA 401389056,401390079,US -401390080,401390335,CA -401390336,401390847,US -401390848,401391231,CA -401391232,401391359,US -401391360,401392639,CA -401392640,401394431,US -401394432,401394479,CA -401394480,401394559,US -401394560,401394687,CA -401394688,401394943,US -401394944,401395455,CA +401390080,401390591,CA +401390592,401390847,US +401390848,401392639,CA +401392640,401393663,US +401393664,401393919,CA +401393920,401394431,US +401394432,401395455,CA 401395456,401395711,US -401395712,401395727,CA -401395728,401395759,US -401395760,401395775,CA -401395776,401395839,US -401395840,401396239,CA -401396240,401396255,US -401396256,401396271,CA -401396272,401396447,US -401396448,401396463,CA -401396464,401396735,US -401396736,401396991,CA -401396992,401397311,US +401395712,401396287,CA +401396288,401396383,US +401396384,401396391,CA +401396392,401396399,US +401396400,401396415,CA +401396416,401396447,US +401396448,401397247,CA +401397248,401397311,US 401397312,401397327,CA -401397328,401397375,US -401397376,401397407,CA +401397328,401397359,US +401397360,401397407,CA 401397408,401397439,US 401397440,401397487,CA 401397488,401397503,US 401397504,401397759,CA 401397760,401398015,US 401398016,401398271,CA -401398272,401398783,US -401398784,401399047,CA -401399048,401399055,US -401399056,401399063,CA -401399064,401399207,US -401399208,401399215,CA -401399216,401399271,US -401399272,401399279,CA +401398272,401398527,US +401398528,401399063,CA +401399064,401399071,US +401399072,401399103,CA +401399104,401399135,US +401399136,401399167,CA +401399168,401399199,US +401399200,401399215,CA +401399216,401399263,US +401399264,401399279,CA 401399280,401399295,US -401399296,401399551,CA -401399552,401399599,US +401399296,401399583,CA +401399584,401399599,US 401399600,401399607,CA -401399608,401399679,US -401399680,401399695,CA -401399696,401399775,US +401399608,401399647,US +401399648,401399663,CA +401399664,401399679,US +401399680,401399711,CA +401399712,401399743,US +401399744,401399759,CA +401399760,401399775,US 401399776,401400063,CA -401400064,401400271,US -401400272,401400279,CA -401400280,401400575,US -401400576,401400599,CA -401400600,401400607,US -401400608,401400623,CA -401400624,401400671,US +401400064,401400575,US +401400576,401400655,CA +401400656,401400671,US 401400672,401400703,CA 401400704,401400735,US 401400736,401400751,CA -401400752,401400799,US -401400800,401400815,CA -401400816,401400871,US +401400752,401400783,US +401400784,401400815,CA +401400816,401400863,US +401400864,401400871,CA 401400872,401400879,NO -401400880,401400927,US -401400928,401400959,CA -401400960,401401055,US -401401056,401401071,CA -401401072,401401103,US -401401104,401401111,CA -401401112,401401215,US +401400880,401400895,US +401400896,401400975,CA +401400976,401400991,US +401400992,401401039,CA +401401040,401401055,US +401401056,401401111,CA +401401112,401401135,US +401401136,401401151,CA +401401152,401401215,US 401401216,401401247,CA 401401248,401401279,US -401401280,401401295,CA -401401296,401401343,US -401401344,401401351,CA -401401352,401401439,US +401401280,401401359,CA +401401360,401401375,US +401401376,401401391,CA +401401392,401401439,US 401401440,401401455,CA 401401456,401401463,US 401401464,401401471,CA -401401472,401401567,US -401401568,401401575,CA -401401576,401401599,US -401401600,401401615,CA -401401616,401401623,US -401401624,401401647,CA -401401648,401401679,US +401401472,401401503,US +401401504,401401511,CA +401401512,401401519,US +401401520,401401535,CA +401401536,401401567,US +401401568,401401663,CA +401401664,401401679,US 401401680,401401687,CA -401401688,401401887,US -401401888,401401903,CA -401401904,401401919,US -401401920,401401935,CA +401401688,401401695,US +401401696,401401727,CA +401401728,401401855,US +401401856,401401935,CA 401401936,401401983,US -401401984,401401999,CA -401402000,401402095,US +401401984,401402031,CA +401402032,401402047,US +401402048,401402079,CA +401402080,401402095,US 401402096,401402111,CA -401402112,401402239,US +401402112,401402207,US +401402208,401402223,CA +401402224,401402239,US 401402240,401402287,CA 401402288,401402303,US 401402304,401402335,CA 401402336,401402343,US -401402344,401402367,CA -401402368,401402879,US -401402880,401402911,CA -401402912,401402943,US -401402944,401403007,CA -401403008,401403135,US -401403136,401403391,CA -401403392,401403423,US +401402344,401402623,CA +401402624,401402879,US +401402880,401403407,CA +401403408,401403423,US 401403424,401403455,CA 401403456,401403503,US 401403504,401403583,CA 401403584,401403615,US -401403616,401403647,CA -401403648,401403679,US +401403616,401403663,CA +401403664,401403679,US 401403680,401403695,CA -401403696,401403791,US -401403792,401403807,CA +401403696,401403743,US +401403744,401403807,CA 401403808,401403839,US -401403840,401403855,CA -401403856,401403863,US -401403864,401403871,CA -401403872,401413887,US +401403840,401403903,CA +401403904,401413887,US 401413888,401414143,AR 401414144,401419775,US 401419776,401420031,CA @@ -6057,7 +5965,11 @@ 401420288,401420543,CA 401420544,401425407,US 401425408,401426431,CA -401426432,401547263,US +401426432,401426943,US +401426944,401427455,DE +401427456,401434623,US +401434624,401435135,CA +401435136,401547263,US 401547264,401555455,CA 401555456,401584895,US 401584896,401585023,CA @@ -6117,7 +6029,8 @@ 402128384,402128895,US 402128896,402169855,CA 402169856,402170111,KR -402170112,402170879,US +402170112,402170367,US +402170368,402170879,HK 402170880,402171135,JP 402171136,402171391,BR 402171392,402171903,US @@ -6139,11 +6052,9 @@ 402178048,402223103,US 402223104,402227199,CA 402227200,402229247,PR -402229248,402229503,US -402229504,402230783,PR -402230784,402231039,US -402231040,402231295,PR -402231296,402239301,US +402229248,402229759,US +402229760,402230527,PR +402230528,402239301,US 402239302,402239302,CA 402239303,402239473,US 402239474,402239474,CA @@ -6158,9 +6069,7 @@ 402260032,402260039,FI 402260040,402260055,CA 402260056,402260063,US -402260064,402260127,CA -402260128,402260151,US -402260152,402260159,CA +402260064,402260159,CA 402260160,402260167,US 402260168,402260199,CA 402260200,402260231,US @@ -6168,53 +6077,43 @@ 402260272,402260279,GB 402260280,402260295,CA 402260296,402260303,US -402260304,402260367,CA -402260368,402260383,US -402260384,402260431,CA +402260304,402260431,CA 402260432,402260439,US 402260440,402260479,CA -402260480,402260519,US -402260520,402260527,CA -402260528,402260543,US -402260544,402260551,CA -402260552,402260559,US -402260560,402260575,CA +402260480,402260511,US +402260512,402260575,CA 402260576,402260655,US -402260656,402260751,CA -402260752,402260895,US -402260896,402260903,CA -402260904,402260991,US +402260656,402260767,CA +402260768,402260831,US +402260832,402260863,CA +402260864,402260895,US +402260896,402260911,CA +402260912,402260959,US +402260960,402260967,CA +402260968,402260991,US 402260992,402260999,CA 402261000,402261087,US -402261088,402261095,CA -402261096,402261103,US -402261104,402261119,CA -402261120,402261247,US -402261248,402262015,CA -402262016,402262279,US -402262280,402262351,CA +402261088,402261119,CA +402261120,402261151,US +402261152,402261183,CA +402261184,402261215,US +402261216,402262015,CA +402262016,402262271,US +402262272,402262351,CA 402262352,402262359,US -402262360,402262431,CA -402262432,402262439,SE -402262440,402262447,CA +402262360,402262447,CA 402262448,402262455,US 402262456,402262463,FI 402262464,402262479,US 402262480,402262519,CA 402262520,402262527,US -402262528,402262575,CA -402262576,402262599,US -402262600,402262607,CA -402262608,402262615,US -402262616,402262631,CA -402262632,402262639,US -402262640,402262663,CA +402262528,402262591,CA +402262592,402262599,US +402262600,402262663,CA 402262664,402262671,US 402262672,402262695,CA 402262696,402262703,US -402262704,402262711,CA -402262712,402262719,US -402262720,402262751,CA +402262704,402262751,CA 402262752,402262759,US 402262760,402262847,CA 402262848,402262855,US @@ -6226,48 +6125,47 @@ 402262944,402262951,US 402262952,402262975,CA 402262976,402262983,US -402262984,402263015,CA -402263016,402263039,US -402263040,402263127,CA -402263128,402263135,US -402263136,402263295,CA +402262984,402263295,CA 402263296,402263311,US -402263312,402263319,CA -402263320,402263327,US -402263328,402263335,CA +402263312,402263335,CA 402263336,402263343,US 402263344,402263359,CA 402263360,402263391,US 402263392,402263423,CA -402263424,402263551,US -402263552,402263807,CA +402263424,402263455,US +402263456,402263471,CA +402263472,402263487,US +402263488,402263807,CA 402263808,402264063,US 402264064,402264079,CA 402264080,402264095,US -402264096,402264103,CA -402264104,402264319,US -402264320,402264327,CA -402264328,402264335,US -402264336,402264367,CA -402264368,402265343,US -402265344,402265407,CA -402265408,402265415,US -402265416,402265423,SE -402265424,402265471,CA -402265472,402265583,US -402265584,402265599,CA -402265600,402265631,US +402264096,402264111,CA +402264112,402264127,US +402264128,402264175,CA +402264176,402264319,US +402264320,402264447,CA +402264448,402264559,US +402264560,402264575,CA +402264576,402265343,US +402265344,402265471,CA +402265472,402265535,US +402265536,402265551,CA +402265552,402265583,US +402265584,402265615,CA +402265616,402265631,US 402265632,402265663,CA 402265664,402265690,US 402265691,402265691,BD 402265692,402265791,US 402265792,402265879,CA -402265880,402266143,US -402266144,402266159,CA -402266160,402266215,US -402266216,402266255,CA -402266256,402266263,US -402266264,402266287,CA +402265880,402265887,US +402265888,402265919,CA +402265920,402265951,US +402265952,402265967,CA +402265968,402266143,US +402266144,402266175,CA +402266176,402266215,US +402266216,402266287,CA 402266288,402266303,US 402266304,402266311,CA 402266312,402266319,US @@ -6276,51 +6174,51 @@ 402266344,402266351,CA 402266352,402266359,US 402266360,402266367,CA -402266368,402266719,US -402266720,402266727,CA +402266368,402266655,US +402266656,402266671,CA +402266672,402266703,US +402266704,402266727,CA 402266728,402266735,NO 402266736,402266751,US -402266752,402266815,CA -402266816,402266879,US -402266880,402267391,CA +402266752,402266831,CA +402266832,402266847,US +402266848,402267391,CA 402267392,402267423,US 402267424,402267439,CA -402267440,402267647,US -402267648,402267903,CA -402267904,402268159,US -402268160,402269191,CA -402269192,402269207,US +402267440,402267455,US +402267456,402267471,CA +402267472,402267487,US +402267488,402267519,CA +402267520,402267647,US +402267648,402269199,CA +402269200,402269207,US 402269208,402269215,CA 402269216,402269223,US -402269224,402269231,CA -402269232,402269247,US -402269248,402269263,CA +402269224,402269263,CA 402269264,402269455,US -402269456,402269463,CA -402269464,402269503,US -402269504,402269519,CA +402269456,402269519,CA 402269520,402269535,US 402269536,402269551,CA 402269552,402269567,US 402269568,402269583,CA 402269584,402269591,US -402269592,402269599,CA -402269600,402269647,US -402269648,402269663,CA -402269664,402269695,US -402269696,402269767,CA +402269592,402269631,CA +402269632,402269647,US +402269648,402269767,CA 402269768,402269967,US 402269968,402269983,CA -402269984,402270207,US -402270208,402270223,CA -402270224,402270303,US -402270304,402270335,CA +402269984,402270031,US +402270032,402270047,CA +402270048,402270207,US +402270208,402270335,CA 402270336,402270463,US 402270464,402270719,CA -402270720,402270847,US -402270848,402270871,CA -402270872,402270943,US -402270944,402270975,CA +402270720,402270783,US +402270784,402270879,CA +402270880,402270895,US +402270896,402270911,CA +402270912,402270927,US +402270928,402270975,CA 402270976,402271103,US 402271104,402271119,CA 402271120,402271135,US @@ -6332,10 +6230,10 @@ 402271440,402271455,US 402271456,402271487,CA 402271488,402271615,US -402271616,402271623,CA -402271624,402271735,US -402271736,402271743,CA -402271744,402272127,US +402271616,402271631,CA +402271632,402271735,US +402271736,402271999,CA +402272000,402272127,US 402272128,402272255,CA 402272256,402272639,US 402272640,402272663,CA @@ -6345,37 +6243,33 @@ 402272896,402273023,CA 402273024,402273151,US 402273152,402273279,CA -402273280,402273407,US -402273408,402273423,CA -402273424,402273439,US -402273440,402273471,CA +402273280,402273327,US +402273328,402273375,CA +402273376,402273391,US +402273392,402273471,CA 402273472,402273503,US -402273504,402273511,CA -402273512,402273535,US -402273536,402273543,CA -402273544,402273551,FI -402273552,402273559,CA -402273560,402273567,US -402273568,402273599,CA -402273600,402273919,US -402273920,402273927,CA +402273504,402273519,CA +402273520,402273535,US +402273536,402273599,CA +402273600,402273791,US +402273792,402273927,CA 402273928,402273951,US 402273952,402273983,CA 402273984,402273999,US -402274000,402274007,CA -402274008,402274175,US -402274176,402274183,CA -402274184,402274191,US -402274192,402274239,CA -402274240,402274463,US +402274000,402274015,CA +402274016,402274047,US +402274048,402274239,CA +402274240,402274287,US +402274288,402274295,CA +402274296,402274463,US 402274464,402274479,CA -402274480,402274815,US -402274816,402275199,CA +402274480,402274543,US +402274544,402275199,CA 402275200,402275335,US 402275336,402275351,CA 402275352,402275359,US -402275360,402275391,CA -402275392,402276607,US +402275360,402275407,CA +402275408,402276607,US 402276608,402277119,CA 402277120,402277631,US 402277632,402277887,CA @@ -6384,9 +6278,7 @@ 402278016,402278127,US 402278128,402278399,CA 402278400,402278655,US -402278656,402279167,CA -402279168,402279423,US -402279424,402279679,CA +402278656,402279679,CA 402279680,402279935,US 402279936,402279959,CA 402279960,402279967,US @@ -6395,26 +6287,20 @@ 402280192,402280207,CA 402280208,402280223,US 402280224,402280319,CA -402280320,402280447,US -402280448,402280479,CA +402280320,402280383,US +402280384,402280399,CA +402280400,402280415,US +402280416,402280479,CA 402280480,402281087,US -402281088,402281103,CA -402281104,402281119,US -402281120,402281199,CA +402281088,402281199,CA 402281200,402281471,US 402281472,402281603,CA 402281604,402281607,US -402281608,402281623,CA -402281624,402281631,US -402281632,402281687,CA +402281608,402281687,CA 402281688,402281691,US -402281692,402281703,CA -402281704,402281711,US -402281712,402281727,CA -402281728,402281855,US -402281856,402281871,CA -402281872,402281887,US -402281888,402281991,CA +402281692,402281727,CA +402281728,402281823,US +402281824,402281991,CA 402281992,402281999,US 402282000,402282111,CA 402282112,402282239,US @@ -6424,48 +6310,52 @@ 402282816,402282847,US 402282848,402282879,CA 402282880,402282911,US -402282912,402282919,CA -402282920,402283775,US -402283776,402283903,CA -402283904,402284031,US -402284032,402284039,CA +402282912,402282927,CA +402282928,402282943,US +402282944,402282959,CA +402282960,402282975,US +402282976,402283007,CA +402283008,402283775,US +402283776,402284039,CA 402284040,402284047,US 402284048,402284159,CA 402284160,402284287,US -402284288,402284799,CA +402284288,402284351,CA +402284352,402284415,CN +402284416,402284799,CA 402284800,402285055,US -402285056,402285311,CA -402285312,402285343,US -402285344,402285375,CA -402285376,402285439,US +402285056,402285327,CA +402285328,402285343,US +402285344,402285407,CA +402285408,402285439,US 402285440,402285567,CA -402285568,402286143,US -402286144,402286175,CA -402286176,402286207,US -402286208,402286303,CA -402286304,402286927,US +402285568,402286079,US +402286080,402286335,CA +402286336,402286847,US +402286848,402286863,CA +402286864,402286895,US +402286896,402286911,CA +402286912,402286927,US 402286928,402286935,CA 402286936,402286975,US 402286976,402286983,CA 402286984,402286991,US 402286992,402287207,CA -402287208,402287231,US -402287232,402287263,CA -402287264,402287287,US -402287288,402287295,CA -402287296,402287391,US +402287208,402287215,US +402287216,402287263,CA +402287264,402287279,US +402287280,402287343,CA +402287344,402287391,US 402287392,402287423,CA 402287424,402287487,US 402287488,402287551,CA 402287552,402287583,US -402287584,402287607,CA -402287608,402287615,US -402287616,402287631,CA -402287632,402287647,US -402287648,402287743,CA +402287584,402287743,CA 402287744,402287799,US -402287800,402287807,CA -402287808,402287903,US +402287800,402287823,CA +402287824,402287839,US +402287840,402287887,CA +402287888,402287903,US 402287904,402288007,CA 402288008,402288015,US 402288016,402288031,CA @@ -6473,13 +6363,19 @@ 402288064,402288135,CA 402288136,402288143,US 402288144,402288159,CA -402288160,402288191,US -402288192,402288223,CA -402288224,402288383,US +402288160,402288175,US +402288176,402288223,CA +402288224,402288255,US +402288256,402288271,CA +402288272,402288287,US +402288288,402288319,CA +402288320,402288383,US 402288384,402288391,CA -402288392,402288415,US -402288416,402288431,CA -402288432,402288591,US +402288392,402288399,US +402288400,402288431,CA +402288432,402288447,US +402288448,402288511,CA +402288512,402288591,US 402288592,402288607,CA 402288608,402288623,US 402288624,402288631,CA @@ -6492,53 +6388,31 @@ 402289064,402289071,US 402289072,402289119,CA 402289120,402289151,US -402289152,402289159,CA -402289160,402289163,US -402289164,402289183,CA -402289184,402289187,US -402289188,402289191,CA -402289192,402289195,US -402289196,402289199,CA -402289200,402289207,US -402289208,402289211,CA -402289212,402289219,US -402289220,402289255,CA -402289256,402289259,US -402289260,402289263,CA -402289264,402289267,US -402289268,402289407,CA +402289152,402289407,CA 402289408,402289471,US 402289472,402289535,CA 402289536,402289663,US 402289664,402289679,CA 402289680,402289695,US 402289696,402289711,CA -402289712,402289735,US -402289736,402289743,CA +402289712,402289719,US +402289720,402289743,CA 402289744,402289759,US 402289760,402289775,CA 402289776,402289791,US -402289792,402289903,CA -402289904,402290047,US -402290048,402290135,CA -402290136,402290143,US -402290144,402290175,CA -402290176,402290255,US +402289792,402289983,CA +402289984,402290047,US +402290048,402290239,CA +402290240,402290255,US 402290256,402290271,CA 402290272,402290287,US 402290288,402290295,CA 402290296,402290303,US 402290304,402290399,CA 402290400,402290407,US -402290408,402290447,CA -402290448,402290451,US -402290452,402290475,CA -402290476,402290511,US -402290512,402290543,CA -402290544,402290547,US -402290548,402290567,CA -402290568,402290579,US -402290580,402290639,CA +402290408,402290479,CA +402290480,402290511,US +402290512,402290639,CA 402290640,402290655,US 402290656,402290687,CA 402290688,402290815,US @@ -6548,9 +6422,9 @@ 402290880,402290919,US 402290920,402290975,CA 402290976,402291007,US -402291008,402291039,CA -402291040,402291047,US -402291048,402291055,CA +402291008,402291041,CA +402291042,402291042,US +402291043,402291055,CA 402291056,402291063,US 402291064,402291087,CA 402291088,402291119,US @@ -6560,10 +6434,10 @@ 402291216,402291263,US 402291264,402291279,CA 402291280,402291287,US -402291288,402291311,CA -402291312,402291319,US -402291320,402291327,CA -402291328,402291423,US +402291288,402291327,CA +402291328,402291359,US +402291360,402291391,CA +402291392,402291423,US 402291424,402291439,CA 402291440,402291455,US 402291456,402291711,CA @@ -6602,31 +6476,33 @@ 402409471,402409471,TR 402409472,402410495,US 402410496,402410751,TR -402410752,402522111,US -402522112,402522167,CA -402522168,402522183,US +402410752,402455295,US +402455296,402455551,DE +402455552,402522111,US +402522112,402522175,CA +402522176,402522183,US 402522184,402522223,CA 402522224,402522231,US -402522232,402522247,CA -402522248,402522255,US -402522256,402522271,CA +402522232,402522271,CA 402522272,402522287,US 402522288,402522327,CA 402522328,402522335,US -402522336,402522359,CA -402522360,402522367,US -402522368,402522399,CA -402522400,402522407,US -402522408,402522455,CA -402522456,402522471,US -402522472,402522479,CA -402522480,402522655,US +402522336,402522479,CA +402522480,402522559,US +402522560,402522591,CA +402522592,402522607,US +402522608,402522623,CA +402522624,402522655,US 402522656,402522679,CA -402522680,402522919,US -402522920,402522927,CA -402522928,402522975,US -402522976,402522983,CA -402522984,402523103,US +402522680,402522911,US +402522912,402522943,CA +402522944,402522975,US +402522976,402522991,CA +402522992,402523007,US +402523008,402523023,CA +402523024,402523039,US +402523040,402523071,CA +402523072,402523103,US 402523104,402523111,CA 402523112,402523135,US 402523136,402523167,CA @@ -6635,10 +6511,10 @@ 402523424,402523447,US 402523448,402523455,CA 402523456,402523487,US -402523488,402523495,CA -402523496,402523647,US -402523648,402523671,CA -402523672,402523711,US +402523488,402523503,CA +402523504,402523647,US +402523648,402523679,CA +402523680,402523711,US 402523712,402523743,CA 402523744,402524159,US 402524160,402524191,CA @@ -6646,54 +6522,70 @@ 402524256,402524263,CA 402524264,402524271,FI 402524272,402524279,CA -402524280,402524447,US +402524280,402524351,US +402524352,402524383,CA +402524384,402524415,US +402524416,402524431,CA +402524432,402524447,US 402524448,402524479,CA 402524480,402524575,US -402524576,402524583,CA -402524584,402524607,US +402524576,402524591,CA +402524592,402524607,US 402524608,402524639,CA 402524640,402524663,US 402524664,402524671,CA 402524672,402524799,US 402524800,402524831,CA 402524832,402524895,US -402524896,402524903,CA -402524904,402524911,US -402524912,402524927,CA +402524896,402524927,CA 402524928,402524959,US -402524960,402524975,CA -402524976,402525007,US +402524960,402524991,CA +402524992,402525007,US 402525008,402525023,CA -402525024,402525375,US -402525376,402525391,CA -402525392,402525407,US -402525408,402525415,CA -402525416,402525423,NO -402525424,402525431,CA -402525432,402526559,US -402526560,402526655,CA +402525024,402525055,US +402525056,402525087,CA +402525088,402525103,US +402525104,402525119,CA +402525120,402525167,US +402525168,402525183,CA +402525184,402525279,US +402525280,402525295,CA +402525296,402525375,US +402525376,402525439,CA +402525440,402526079,US +402526080,402526207,CA +402526208,402526527,US +402526528,402526655,CA 402526656,402526671,US 402526672,402526687,CA 402526688,402526719,US 402526720,402526975,CA 402526976,402527359,US -402527360,402527383,CA -402527384,402527743,US -402527744,402527999,CA -402528000,402528415,US -402528416,402528447,CA -402528448,402529535,US +402527360,402527391,CA +402527392,402527615,US +402527616,402527679,CA +402527680,402527743,US +402527744,402528255,CA +402528256,402528383,US +402528384,402528447,CA +402528448,402528511,US +402528512,402528767,CA +402528768,402529535,US 402529536,402529791,CA -402529792,402530175,US -402530176,402530303,CA +402529792,402530047,US +402530048,402530303,CA 402530304,402530559,US 402530560,402531071,CA -402531072,402531839,US +402531072,402531327,US +402531328,402531583,CA +402531584,402531839,US 402531840,402531935,CA -402531936,402532095,US -402532096,402532159,CA -402532160,402532287,US -402532288,402532351,CA +402531936,402532031,US +402532032,402532159,CA +402532160,402532231,US +402532232,402532247,CA +402532248,402532255,US +402532256,402532351,CA 402532352,402532863,US 402532864,402532887,CA 402532888,402532895,US @@ -6705,46 +6597,57 @@ 402533000,402533007,US 402533008,402533015,CA 402533016,402533023,US -402533024,402533031,CA -402533032,402533039,SE +402533024,402533039,CA 402533040,402533055,US 402533056,402533111,CA 402533112,402533279,US 402533280,402533295,CA -402533296,402533343,US +402533296,402533311,US +402533312,402533327,CA +402533328,402533343,US 402533344,402533375,CA 402533376,402533759,US 402533760,402533791,CA 402533792,402533887,US 402533888,402533903,CA -402533904,402534015,US +402533904,402533919,US +402533920,402533935,CA +402533936,402534015,US 402534016,402534079,CA 402534080,402534095,US -402534096,402534103,CA -402534104,402534143,US +402534096,402534111,CA +402534112,402534143,US 402534144,402534175,CA -402534176,402534479,US +402534176,402534255,US +402534256,402534271,CA +402534272,402534319,US +402534320,402534399,CA +402534400,402534479,US 402534480,402534487,CA -402534488,402536191,US +402534488,402534655,US +402534656,402535423,CA +402535424,402536191,US 402536192,402536255,CA -402536256,402536351,US +402536256,402536287,US +402536288,402536303,CA +402536304,402536351,US 402536352,402536367,CA 402536368,402536383,US 402536384,402536391,CA 402536392,402536399,US -402536400,402536431,CA -402536432,402536447,US -402536448,402536455,CA +402536400,402536455,CA 402536456,402536463,US 402536464,402536479,CA 402536480,402536527,US 402536528,402536543,CA -402536544,402536703,US +402536544,402536575,US +402536576,402536639,CA +402536640,402536703,US 402536704,402536959,CA 402536960,402537215,US 402537216,402537279,CA -402537280,402537407,US -402537408,402537471,CA +402537280,402537367,US +402537368,402537471,CA 402537472,402537983,US 402537984,402538239,CA 402538240,402538687,US @@ -6753,24 +6656,24 @@ 402538752,402538759,CA 402538760,402538767,US 402538768,402538815,CA -402538816,402538895,US +402538816,402538863,US +402538864,402538879,CA +402538880,402538895,US 402538896,402538911,CA 402538912,402538927,US -402538928,402538943,CA -402538944,402538975,US +402538928,402538959,CA +402538960,402538975,US 402538976,402539071,CA 402539072,402539087,US -402539088,402539095,SE -402539096,402539103,US -402539104,402539119,CA -402539120,402539199,US +402539088,402539135,CA +402539136,402539199,US 402539200,402539327,CA 402539328,402539455,US -402539456,402539535,CA -402539536,402539647,US +402539456,402539583,CA +402539584,402539647,US 402539648,402539711,CA -402539712,402540287,US -402540288,402541119,CA +402539712,402540031,US +402540032,402541119,CA 402541120,402541247,US 402541248,402541311,CA 402541312,402541567,US @@ -6780,23 +6683,23 @@ 402543168,402543295,US 402543296,402543303,CA 402543304,402543311,US -402543312,402543319,CA -402543320,402543343,US -402543344,402543351,CA -402543352,402543359,US -402543360,402543367,CA +402543312,402543327,CA +402543328,402543343,US +402543344,402543367,CA 402543368,402543375,US 402543376,402543391,CA 402543392,402543487,US 402543488,402543551,CA -402543552,402543599,US -402543600,402543607,CA +402543552,402543583,US +402543584,402543607,CA 402543608,402544415,US 402544416,402544423,CA -402544424,402544511,US +402544424,402544479,US +402544480,402544495,CA +402544496,402544511,US 402544512,402544551,CA -402544552,402544599,US -402544600,402544607,CA +402544552,402544591,US +402544592,402544607,CA 402544608,402546687,US 402546688,402546943,CA 402546944,402547455,US @@ -6845,7 +6748,19 @@ 405184512,405364735,US 405364736,405368831,CA 405368832,405372927,JP -405372928,405422079,PR +405372928,405373439,PR +405373440,405373695,US +405373696,405375999,PR +405376000,405376255,US +405376256,405379071,PR +405379072,405380095,US +405380096,405382399,PR +405382400,405382655,US +405382656,405388287,PR +405388288,405388543,US +405388544,405389311,PR +405389312,405389823,US +405389824,405422079,PR 405422080,405798911,US 405798912,405831679,CA 405831680,405843967,US @@ -6857,7 +6772,9 @@ 405938176,405962751,CA 405962752,405970943,US 405970944,405979135,CA -405979136,405995519,PR +405979136,405990655,PR +405990656,405990911,US +405990912,405995519,PR 405995520,406011903,US 406011904,406028287,BS 406028288,406052863,US @@ -6912,9 +6829,9 @@ 411303936,411369471,NL 411369472,411435007,TR 411435008,411500543,DE -411500544,411509759,RS -411509760,411510783,XK -411510784,411566079,RS +411500544,411509247,RS +411509248,411509759,XK +411509760,411566079,RS 411566080,411639807,US 411639808,411664383,CA 411664384,411680767,US @@ -6953,7 +6870,9 @@ 413925376,415760383,US 415760384,416022527,CA 416022528,416059391,US -416059392,416088063,CA +416059392,416065535,CA +416065536,416067583,US +416067584,416088063,CA 416088064,416153599,US 416153600,416161791,BS 416161792,416219135,US @@ -6980,8 +6899,7 @@ 417808384,417820671,CA 417820672,417857535,US 417857536,417923071,AR -417923072,418059775,US -418059776,418060287,GB +417923072,418060287,US 418060288,418062335,HK 418062336,418070527,CA 418070528,418078719,US @@ -7148,10 +7066,7 @@ 460226560,460259327,PH 460259328,460261375,AU 460261376,460262399,KH -460262400,460262655,US -460262656,460262911,AU -460262912,460263167,NZ -460263168,460263423,GB +460262400,460263423,NZ 460263424,460267519,NP 460267520,460275711,ID 460275712,460277759,AU @@ -7249,13 +7164,15 @@ 461104128,461104383,CN 461104384,461104639,HK 461104640,461105151,JP -461105152,461106175,CN +461105152,461106175,HK 461106176,461107199,JP 461107200,461108223,IN 461108224,461109247,BD 461109248,461110271,IN 461110272,461111295,BD -461111296,461127679,IN +461111296,461119487,IN +461119488,461123583,KH +461123584,461127679,IN 461127680,461131775,PH 461131776,461135871,ID 461135872,461143295,AU @@ -7482,7 +7399,8 @@ 521014016,521014271,NL 521014272,521018367,RO 521018368,521018623,IT -521018624,521019135,RO +521018624,521018879,DE +521018880,521019135,RO 521019136,521019391,GB 521019392,521019647,NL 521019648,521019903,RS @@ -7571,9 +7489,7 @@ 521601024,521666559,RU 521666560,521668607,GB 521668608,521670655,CH -521670656,521670911,HU -521670912,521671935,DE -521671936,521672703,HU +521670656,521672703,HU 521672704,521674751,RU 521674752,521676799,GB 521676800,521678847,ES @@ -7676,13 +7592,30 @@ 522715136,522717183,IR 522717184,522719231,RU 522719232,522721279,UA -522721280,522723327,UZ +522721280,522722303,RU +522722304,522723327,UZ 522723328,522741759,RU 522741760,522743807,UA -522743808,522751999,RU -522752000,522758143,UA -522758144,522759167,RU -522759168,522764287,UA +522743808,522747973,RU +522747974,522747974,UA +522747975,522765311,RU +522765312,522766335,TR +522766336,522767359,RU +522767360,522768383,TR +522768384,522768895,US +522768896,522769407,CN +522769408,522770431,DE +522770432,522771455,NL +522771456,522772479,TR +522772480,522773503,RO +522773504,522774527,TR +522774528,522775551,LT +522775552,522776575,CH +522776576,522777599,MD +522777600,522778623,ES +522778624,522779135,GB +522779136,522779647,RU +522779648,522780671,US 522780672,522782719,RU 522782720,522784767,UA 522784768,522786815,BG @@ -7849,7 +7782,7 @@ 528836608,528838655,RU 528838656,528840703,PL 528840704,528842751,RU -528842752,528859135,TH +528842752,528859135,CH 528859136,528861183,RO 528861184,528863231,RU 528863232,528867327,KZ @@ -7907,7 +7840,9 @@ 529829888,529830911,UZ 529830912,529831935,RU 529831936,529833983,SY -529833984,529836799,RU +529833984,529836031,RU +529836032,529836287,UA +529836288,529836799,RU 529836800,529837055,UA 529837056,529837823,RU 529837824,529842175,UA @@ -7961,9 +7896,7 @@ 531200000,531201023,DE 531201024,531202047,BG 531202048,531234815,CZ -531234816,531236607,IE -531236608,531236671,GB -531236672,531236863,IE +531234816,531236863,IE 531236864,531238911,FR 531238912,531240959,LV 531240960,531243007,SE @@ -7985,10 +7918,10 @@ 531281920,531283967,RU 531283968,531292159,DE 531292160,531333119,AZ -531333120,531334143,NL -531334144,531334399,US -531334400,531334527,NL -531334528,531335167,US +531333120,531333247,NL +531333248,531334015,US +531334016,531334143,NL +531334144,531335167,US 531335168,531337215,IT 531337216,531339263,CH 531339264,531341311,AL @@ -8011,12 +7944,39 @@ 531402752,531404799,LU 531404800,531406847,FI 531406848,531408895,FR -531408896,531409919,PL +531408896,531409407,DE +531409408,531409919,NL 531409920,531410943,FR 531410944,531415039,PL 531415040,531423231,RU 531423232,531424255,LT -531424256,531427327,FR +531424256,531425295,FR +531425296,531425311,GB +531425312,531425327,FR +531425328,531425343,GB +531425344,531425391,FR +531425392,531425407,GB +531425408,531425791,FR +531425792,531425823,GB +531425824,531425839,FR +531425840,531425871,GB +531425872,531425879,FR +531425880,531425951,GB +531425952,531425983,FR +531425984,531426015,GB +531426016,531426751,FR +531426752,531426791,GB +531426792,531426863,FR +531426864,531426867,GB +531426868,531426875,FR +531426876,531426879,GB +531426880,531426907,FR +531426908,531426911,GB +531426912,531427023,FR +531427024,531427039,GB +531427040,531427047,FR +531427048,531427071,GB +531427072,531427327,FR 531427328,531427503,GB 531427504,531427511,IT 531427512,531427967,GB @@ -8089,22 +8049,9 @@ 532303872,532305919,PL 532305920,532307967,NO 532307968,532310015,RU -532310016,532310016,GR -532310017,532310271,BG -532310272,532310272,GR -532310273,532310527,BG -532310528,532310528,GR -532310529,532310783,BG -532310784,532310784,GR -532310785,532311039,BG -532311040,532311040,GR -532311041,532311295,BG -532311296,532311296,GR -532311297,532311551,BG -532311552,532311552,GR -532311553,532311807,BG -532311808,532311808,GR -532311809,532312063,BG +532310016,532310023,GR +532310024,532310031,BG +532310032,532312063,GR 532312064,532312983,JE 532312984,532312991,GB 532312992,532314111,JE @@ -8116,9 +8063,7 @@ 532332544,532340735,SK 532340736,532341503,GB 532341504,532341759,DE -532341760,532343967,GB -532343968,532343983,US -532343984,532344319,GB +532341760,532344319,GB 532344320,532344371,FR 532344372,532344372,GB 532344373,532344575,FR @@ -8147,7 +8092,7 @@ 532368640,532370431,DE 532370432,532371455,FI 532371456,532372479,DE -532372480,532372735,EE +532372480,532372735,FR 532372736,532372767,GB 532372768,532372783,CA 532372784,532372799,BR @@ -8157,17 +8102,18 @@ 532372864,532372895,IT 532372896,532372959,SE 532372960,532372991,RU -532372992,532373247,EE +532372992,532373247,FR 532373248,532373343,DE -532373344,532373503,CH +532373344,532373503,EE 532373504,532375551,RU 532375552,532377599,IT 532377600,532381695,DE 532381696,532414463,NL 532414464,532676607,IT 532676608,532692991,GE -532692992,532700927,CZ -532700928,532701183,SK +532692992,532701153,CZ +532701154,532701154,SK +532701155,532701183,CZ 532701184,532703231,GB 532703232,532705279,RU 532705280,532709375,NL @@ -8182,7 +8128,9 @@ 532742144,532746239,GB 532746240,532750636,IT 532750637,532750637,SM -532750638,532752383,IT +532750638,532750847,IT +532750848,532751359,SM +532751360,532752383,IT 532752384,532754431,BE 532754432,532756479,FR 532756480,532758527,IT @@ -8259,9 +8207,7 @@ 533815296,533815296,TR 533815297,533816319,CY 533816320,533816320,TR -533816321,533817343,CY -533817344,533817599,TR -533817600,533819391,CY +533816321,533819391,CY 533819392,533823487,DE 533823488,533825535,BE 533825536,533831679,IS @@ -8325,7 +8271,9 @@ 534158592,534158847,NL 534158848,534161407,DE 534161408,534163455,IR -534163456,534167551,ES +534163456,534166527,ES +534166528,534166783,DE +534166784,534167551,ES 534167552,534169599,DE 534169600,534170111,IR 534170112,534176767,DE @@ -8410,7 +8358,8 @@ 534519808,534521855,US 534521856,534522367,DE 534522368,534523391,NL -534523392,534527999,US +534523392,534523903,RU +534523904,534527999,US 534528000,534530047,DE 534530048,534538239,ES 534538240,534538751,US @@ -8450,8 +8399,17 @@ 534767616,534769663,HU 534769664,534773759,IT 534773760,536870911,DE -536870912,539623423,US -539623424,539627519,NL +536870912,538451849,US +538451850,538451850,SG +538451851,539471492,US +539471493,539471493,SG +539471494,539623423,US +539623424,539624577,GB +539624578,539624578,NL +539624579,539625471,GB +539625472,539626751,NL +539626752,539627007,GB +539627008,539627519,NL 539627520,539629455,GB 539629456,539629463,BE 539629464,539629975,GB @@ -8480,26 +8438,24 @@ 540725248,540727295,FR 540727296,540729343,DE 540729344,540731391,US -540731392,540737535,GB -540737536,540753919,BR -540753920,540758015,AR -540758016,540803071,BR +540731392,540735487,GB +540735488,540737535,NL +540737536,540803071,BR 540803072,540811263,US 540811264,540814084,SG 540814085,540814086,TH 540814087,540814327,SG 540814328,540814328,IN -540814329,540817075,SG -540817076,540817076,AU -540817077,540817407,SG -540817408,540817663,AE -540817664,540819455,SG -540819456,540823551,CA -540823552,540825347,US +540814329,540819455,SG +540819456,540820959,US +540820960,540820975,CA +540820976,540825347,US 540825348,540825348,CA 540825349,540826383,US 540826384,540826399,CA -540826400,540829695,US +540826400,540829183,US +540829184,540829439,CA +540829440,540829695,US 540829696,540833791,CA 540833792,543524607,US 543524608,543524863,CA @@ -8561,9 +8517,7 @@ 544250496,544250499,GB 544250500,544250527,US 544250528,544250531,GB -544250532,544433151,US -544433152,544434175,CA -544434176,544436771,US +544250532,544436771,US 544436772,544436775,CA 544436776,586153983,US 586153984,587006719,IE @@ -8578,7 +8532,9 @@ 598999040,599064575,FR 599064576,599130111,US 599130112,599261183,CA -599261184,599359487,US +599261184,599302155,US +599302156,599302156,BE +599302157,599359487,US 599359488,599375871,SG 599375872,599429472,US 599429473,599429473,SG @@ -8590,7 +8546,9 @@ 599615126,599615126,GB 599615127,599621631,US 599621632,599638015,SG -599638016,600153368,US +599638016,599954782,US +599954783,599954783,TW +599954784,600153368,US 600153369,600153369,SG 600153370,600164504,US 600164505,600164505,IE @@ -8600,23 +8558,39 @@ 600171165,600171165,GB 600171166,600243604,US 600243605,600243605,SG -600243606,600342898,US +600243606,600338115,US +600338116,600338116,JP +600338117,600342898,US 600342899,600342899,IN 600342900,600356283,US 600356284,600356284,IN -600356285,600374233,US +600356285,600371328,US +600371329,600371329,IN +600371330,600374233,US 600374234,600374234,IN -600374235,600376938,US +600374235,600375075,US +600375076,600375076,IN +600375077,600376938,US 600376939,600376939,AU 600376940,600406997,US 600406998,600406998,BE 600406999,600506957,US 600506958,600506958,CA -600506959,602150057,US +600506959,600637695,US +600637696,600637951,BE +600637952,602150057,US 602150058,602150058,FI -602150059,602574473,US +602150059,602337535,US +602337536,602337663,JP +602337664,602574473,US 602574474,602574474,GB -602574475,602992238,US +602574475,602595455,US +602595456,602595583,AU +602595584,602603647,US +602603648,602603775,BR +602603776,602615935,US +602615936,602616063,GB +602616064,602992238,US 602992239,602992239,SG 602992240,603979775,US 603979776,603980799,CN @@ -8660,8 +8634,11 @@ 620715008,620716031,AU 620716032,620716287,TW 620716288,620716543,PH -620716544,620716799,BE -620716800,620718079,PK +620716544,620716799,SG +620716800,620717000,IN +620717001,620717001,PK +620717002,620717055,IN +620717056,620718079,PK 620718080,620718591,MV 620718592,620719103,PH 620719104,620720127,IN @@ -8691,7 +8668,7 @@ 620745728,620745983,SG 620745984,620746751,PK 620746752,620747775,JP -620747776,620748799,CN +620747776,620748799,HK 620748800,620751871,IN 620751872,620752895,JP 620752896,620753919,IN @@ -8781,7 +8758,8 @@ 621417472,621417727,DE 621417728,621418495,NL 621418496,621419007,US -621419008,621419519,CN +621419008,621419263,CN +621419264,621419519,SG 621419520,621421055,NL 621421056,621421567,US 621421568,621422591,NL @@ -8831,7 +8809,9 @@ 621938688,621939458,GE 621939459,621939459,RU 621939460,621939711,GE -621939712,621969407,RU +621939712,621953023,RU +621953024,621955071,NL +621955072,621969407,RU 621969408,621970431,GB 621970432,621971455,ES 621971456,621973503,IM @@ -8909,7 +8889,7 @@ 622518784,622519039,DE 622519040,622519295,GB 622519296,622519551,FR -622519552,622520319,GB +622519552,622520319,NL 622520320,622522367,RU 622522368,622524415,FR 622524416,622526463,ES @@ -8974,8 +8954,12 @@ 623097739,623116287,ES 623116288,623191332,KW 623191333,623191333,SA -623191334,623378431,KW -623378432,623509503,OM +623191334,623339519,KW +623339520,623339775,IT +623339776,623378431,KW +623378432,623386623,OM +623386624,623388671,GB +623388672,623509503,OM 623509504,623575807,SA 623575808,623576063,RO 623576064,623640575,SA @@ -8988,7 +8972,22 @@ 623654912,623656959,IR 623656960,623673343,BY 623673344,623689727,NO -623689728,623693823,RU +623689728,623690751,RU +623690752,623691263,PL +623691264,623693823,RU +623693824,623694847,CZ +623694848,623695871,LT +623695872,623696895,JP +623696896,623697919,AT +623697920,623698943,MC +623698944,623699967,TR +623699968,623700991,UA +623700992,623702015,FR +623702016,623703039,BE +623703040,623704063,DE +623704064,623705087,DK +623705088,623705599,NL +623705600,623706111,US 623706112,623771647,BY 623771648,623773695,GB 623773696,623774719,DE @@ -9023,7 +9022,9 @@ 623826944,623827967,UA 623827968,623828991,BG 623828992,623837183,UA -623837184,623902719,PL +623837184,623885999,PL +623886000,623886015,GB +623886016,623902719,PL 623902720,623919103,CZ 623919104,623935487,NL 623935488,623960063,SY @@ -9054,11 +9055,15 @@ 624625849,624625849,CA 624625850,624640071,FR 624640072,624640075,PL -624640076,624640119,FR +624640076,624640091,FR +624640092,624640095,PL +624640096,624640119,FR 624640120,624640127,DE 624640128,624640147,FR 624640148,624640159,DE -624640160,624640187,FR +624640160,624640175,FR +624640176,624640183,PL +624640184,624640187,FR 624640188,624640191,GB 624640192,624640255,FR 624640256,624640259,GB @@ -9077,7 +9082,9 @@ 624640828,624640831,DE 624640832,624640931,FR 624640932,624640935,ES -624640936,624641183,FR +624640936,624641067,FR +624641068,624641071,PL +624641072,624641183,FR 624641184,624641187,CZ 624641188,624641191,ES 624641192,624641375,FR @@ -9086,7 +9093,9 @@ 624641536,624641551,IE 624641552,624641855,FR 624641856,624641887,GB -624641888,624642035,FR +624641888,624642019,FR +624642020,624642023,PL +624642024,624642035,FR 624642036,624642039,ES 624642040,624642299,FR 624642300,624642303,ES @@ -9096,9 +9105,13 @@ 624642480,624642483,GB 624642484,624642527,FR 624642528,624642559,DE -624642560,624642711,FR +624642560,624642639,FR +624642640,624642651,PL +624642652,624642711,FR 624642712,624642719,PL -624642720,624642815,FR +624642720,624642727,FR +624642728,624642735,PL +624642736,624642815,FR 624642816,624642831,LT 624642832,624642911,FR 624642912,624642943,IE @@ -9116,7 +9129,9 @@ 624643344,624643351,ES 624643352,624643423,FR 624643424,624643459,ES -624643460,624643791,FR +624643460,624643487,FR +624643488,624643503,PL +624643504,624643791,FR 624643792,624643807,DE 624643808,624643811,FR 624643812,624643815,CH @@ -9132,13 +9147,18 @@ 624644304,624644307,IE 624644308,624644667,FR 624644668,624644671,DK -624644672,624644939,FR +624644672,624644687,FR +624644688,624644695,PL +624644696,624644735,FR +624644736,624644767,PL +624644768,624644939,FR 624644940,624644943,ES 624644944,624645183,FR 624645184,624645215,ES 624645216,624645479,FR 624645480,624645487,CZ -624645488,624645583,FR +624645488,624645579,FR +624645580,624645583,PL 624645584,624645591,GB 624645592,624645663,FR 624645664,624645695,PT @@ -9164,14 +9184,19 @@ 624646776,624646847,FR 624646848,624646911,DE 624646912,624646927,LT -624646928,624647171,FR +624646928,624646987,FR +624646988,624646991,PL +624646992,624647127,FR +624647128,624647135,PL +624647136,624647171,FR 624647172,624647183,ES 624647184,624647459,FR 624647460,624647463,GB 624647464,624647675,FR 624647676,624647679,ES 624647680,624647935,DE -624647936,624648139,FR +624647936,624648135,FR +624648136,624648139,PL 624648140,624648143,ES 624648144,624656727,FR 624656728,624656731,PT @@ -9194,7 +9219,9 @@ 624657472,624657475,DE 624657476,624657543,FR 624657544,624657547,ES -624657548,624657615,FR +624657548,624657567,FR +624657568,624657583,PL +624657584,624657615,FR 624657616,624657631,GB 624657632,624657711,FR 624657712,624657715,ES @@ -9215,28 +9242,41 @@ 624658272,624658279,PT 624658280,624658323,FR 624658324,624658327,IE -624658328,624658479,FR +624658328,624658391,FR +624658392,624658395,PL +624658396,624658479,FR 624658480,624658483,DE 624658484,624658487,ES 624658488,624658535,FR 624658536,624658539,ES -624658540,624658559,FR +624658540,624658543,PL +624658544,624658559,FR 624658560,624658591,LT -624658592,624658803,FR +624658592,624658639,FR +624658640,624658655,PL +624658656,624658803,FR 624658804,624658807,CZ 624658808,624658863,FR 624658864,624658879,ES 624658880,624658967,FR 624658968,624658971,DE -624658972,624659071,FR +624658972,624658983,FR +624658984,624658987,PL +624658988,624659071,FR 624659072,624659135,ES -624659136,624659599,FR +624659136,624659319,FR +624659320,624659323,PL +624659324,624659407,FR +624659408,624659415,PL +624659416,624659599,FR 624659600,624659607,ES 624659608,624659611,FR 624659612,624659615,PL 624659616,624659975,FR 624659976,624659983,LT -624659984,624660103,FR +624659984,624659987,FR +624659988,624659991,PL +624659992,624660103,FR 624660104,624660107,PT 624660108,624660127,FR 624660128,624660131,IE @@ -9244,7 +9284,9 @@ 624660608,624660639,IE 624660640,624660703,FR 624660704,624660719,PL -624660720,624660827,FR +624660720,624660803,FR +624660804,624660807,PL +624660808,624660827,FR 624660828,624660839,ES 624660840,624660927,FR 624660928,624660991,GB @@ -9252,7 +9294,9 @@ 624661176,624661183,ES 624661184,624661247,FR 624661248,624661251,ES -624661252,624661787,FR +624661252,624661503,FR +624661504,624661759,IT +624661760,624661787,FR 624661788,624661788,RO 624661789,624661863,FR 624661864,624661871,ES @@ -9264,7 +9308,11 @@ 624662316,624662319,ES 624662320,624662327,FR 624662328,624662331,PT -624662332,624662815,FR +624662332,624662639,FR +624662640,624662647,PL +624662648,624662783,FR +624662784,624662799,PL +624662800,624662815,FR 624662816,624662847,DE 624662848,624662895,FR 624662896,624662911,ES @@ -9274,9 +9322,9 @@ 624663504,624663519,ES 624663520,624663567,FR 624663568,624663583,ES -624663584,624663687,FR -624663688,624663695,GB -624663696,624663759,FR +624663584,624663591,FR +624663592,624663595,NL +624663596,624663759,FR 624663760,624663767,ES 624663768,624663787,FR 624663788,624663791,ES @@ -9290,7 +9338,9 @@ 624664048,624664063,IE 624664064,624664067,FR 624664068,624664071,ES -624664072,624664351,FR +624664072,624664107,FR +624664108,624664111,PL +624664112,624664351,FR 624664352,624664367,ES 624664368,624664527,FR 624664528,624664531,ES @@ -9314,7 +9364,9 @@ 624665612,624665615,ES 624665616,624665663,FR 624665664,624665695,ES -624665696,624665887,FR +624665696,624665799,FR +624665800,624665803,PL +624665804,624665887,FR 624665888,624665903,PL 624665904,624665919,FI 624665920,624665999,FR @@ -9339,11 +9391,14 @@ 624666880,624666883,DE 624666884,624666975,FR 624666976,624666991,ES -624666992,624667111,FR +624666992,624666995,PL +624666996,624667111,FR 624667112,624667115,ES 624667116,624667263,FR 624667264,624667279,IE -624667280,624667711,FR +624667280,624667519,FR +624667520,624667595,PL +624667596,624667711,FR 624667712,624667775,ES 624667776,624667951,FR 624667952,624667967,GB @@ -9357,11 +9412,11 @@ 624668208,624668211,CZ 624668212,624668239,FR 624668240,624668255,NL -624668256,624668643,FR -624668644,624668647,IE -624668648,624668667,FR +624668256,624668667,FR 624668668,624668671,PT -624668672,624668927,FR +624668672,624668703,FR +624668704,624668707,PL +624668708,624668927,FR 624668928,624668931,GB 624668932,624669011,FR 624669012,624669015,DE @@ -9369,7 +9424,9 @@ 624669128,624669131,DE 624669132,624669459,FR 624669460,624669463,FI -624669464,624669567,FR +624669464,624669511,FR +624669512,624669515,PL +624669516,624669567,FR 624669568,624669571,DE 624669572,624669699,FR 624669700,624669703,DE @@ -9377,11 +9434,17 @@ 624669796,624669799,ES 624669800,624669959,FR 624669960,624669963,ES -624669964,624669987,FR -624669988,624669991,ES -624669992,624670171,FR +624669964,624670007,FR +624670008,624670011,PL +624670012,624670139,FR +624670140,624670143,PL +624670144,624670159,FR +624670160,624670167,PL +624670168,624670171,FR 624670172,624670175,ES -624670176,624670315,FR +624670176,624670271,FR +624670272,624670303,PL +624670304,624670315,FR 624670316,624670319,ES 624670320,624670415,FR 624670416,624670431,DE @@ -9393,14 +9456,17 @@ 624670916,624670919,ES 624670920,624670935,FR 624670936,624670939,GB -624670940,624671287,FR +624670940,624670959,FR +624670960,624670975,PL +624670976,624671287,FR 624671288,624671291,ES 624671292,624671295,PL 624671296,624671455,FR 624671456,624671471,ES 624671472,624671775,FR 624671776,624671807,DE -624671808,624671839,FR +624671808,624671823,PL +624671824,624671839,FR 624671840,624671871,DE 624671872,624672019,FR 624672020,624672023,DE @@ -9412,7 +9478,9 @@ 624672952,624672959,ES 624672960,624673287,FR 624673288,624673295,DE -624673296,624673451,FR +624673296,624673407,FR +624673408,624673423,PL +624673424,624673451,FR 624673452,624673455,ES 624673456,624673535,FR 624673536,624673631,ES @@ -9420,7 +9488,9 @@ 624673648,624673791,ES 624673792,624673803,FR 624673804,624673807,NL -624673808,624673903,FR +624673808,624673839,FR +624673840,624673855,PL +624673856,624673903,FR 624673904,624673919,ES 624673920,624673927,FR 624673928,624673931,DE @@ -9436,7 +9506,9 @@ 624674448,624674451,GB 624674452,624674463,FR 624674464,624674479,ES -624674480,624675023,FR +624674480,624674719,FR +624674720,624674735,PL +624674736,624675023,FR 624675024,624675027,BE 624675028,624675031,DE 624675032,624675047,FR @@ -9452,7 +9524,9 @@ 624675692,624675695,ES 624675696,624675775,FR 624675776,624675779,ES -624675780,624676003,FR +624675780,624675903,FR +624675904,624675919,PL +624675920,624676003,FR 624676004,624676007,DE 624676008,624676015,FR 624676016,624676019,GB @@ -9462,7 +9536,9 @@ 624676088,624676091,DE 624676092,624676115,FR 624676116,624676119,IT -624676120,624676179,FR +624676120,624676143,FR +624676144,624676159,PL +624676160,624676179,FR 624676180,624676183,DE 624676184,624676627,FR 624676628,624676631,GB @@ -9488,7 +9564,9 @@ 624678016,624678023,ES 624678024,624678199,FR 624678200,624678239,ES -624678240,624678263,FR +624678240,624678255,FR +624678256,624678259,PL +624678260,624678263,FR 624678264,624678279,ES 624678280,624678463,FR 624678464,624678479,IE @@ -9498,23 +9576,32 @@ 624678564,624678567,DE 624678568,624678671,FR 624678672,624678679,ES -624678680,624678847,FR +624678680,624678723,FR +624678724,624678727,PL +624678728,624678847,FR 624678848,624678855,GB 624678856,624678863,FR 624678864,624678879,PT -624678880,624678899,FR +624678880,624678887,PL +624678888,624678899,FR 624678900,624678903,GB -624678904,624679199,FR +624678904,624679167,FR +624679168,624679175,PL +624679176,624679199,FR 624679200,624679203,ES 624679204,624679259,FR 624679260,624679263,ES 624679264,624679327,FR 624679328,624679335,ES -624679336,624679423,FR +624679336,624679407,FR +624679408,624679411,PL +624679412,624679423,FR 624679424,624679679,DE 624679680,624679743,FR 624679744,624679747,CZ -624679748,624679843,FR +624679748,624679759,FR +624679760,624679767,PL +624679768,624679843,FR 624679844,624679847,ES 624679848,624680063,FR 624680064,624680191,ES @@ -9522,14 +9609,16 @@ 624680456,624680463,ES 624680464,624680747,FR 624680748,624680751,NL -624680752,624680767,FR +624680752,624680767,PL 624680768,624680783,CZ 624680784,624680799,GB 624680800,624680927,FR 624680928,624680931,DE 624680932,624681023,FR 624681024,624681055,ES -624681056,624681083,FR +624681056,624681071,FR +624681072,624681079,PL +624681080,624681083,FR 624681084,624681087,ES 624681088,624681095,FR 624681096,624681103,NL @@ -9537,9 +9626,13 @@ 624681364,624681367,CZ 624681368,624681447,FR 624681448,624681451,DE -624681452,624681535,FR +624681452,624681463,FR +624681464,624681467,PL +624681468,624681535,FR 624681536,624681599,ES -624681600,624681807,FR +624681600,624681791,FR +624681792,624681795,PL +624681796,624681807,FR 624681808,624681823,BE 624681824,624682263,FR 624682264,624682267,ES @@ -9551,7 +9644,9 @@ 624682496,624682527,ES 624682528,624682623,FR 624682624,624682639,ES -624682640,624683007,FR +624682640,624682951,FR +624682952,624682959,PL +624682960,624683007,FR 624683008,624683011,GB 624683012,624683015,FR 624683016,624683023,ES @@ -9567,7 +9662,10 @@ 624683340,624683343,ES 624683344,624683631,FR 624683632,624683647,ES -624683648,624683775,FR +624683648,624683691,FR +624683692,624683695,PL +624683696,624683759,FR +624683760,624683775,PL 624683776,624683779,DE 624683780,624683783,FR 624683784,624683787,DE @@ -9587,9 +9685,13 @@ 624684192,624684195,CH 624684196,624684339,FR 624684340,624684343,NL -624684344,624684479,FR +624684344,624684351,FR +624684352,624684359,PL +624684360,624684479,FR 624684480,624684511,FI -624684512,624684639,FR +624684512,624684583,FR +624684584,624684587,PL +624684588,624684639,FR 624684640,624684655,ES 624684656,624684799,FR 624684800,624684803,DE @@ -9597,17 +9699,25 @@ 624684872,624684879,DE 624684880,624684907,FR 624684908,624684911,ES -624684912,624685035,FR +624684912,624684915,PL +624684916,624685023,FR +624685024,624685027,PL +624685028,624685035,FR 624685036,624685039,IT -624685040,624685375,FR +624685040,624685087,FR +624685088,624685095,PL +624685096,624685375,FR 624685376,624685439,ES 624685440,624685535,FR 624685536,624685539,PT -624685540,624685683,FR +624685540,624685679,FR +624685680,624685683,PL 624685684,624685687,FI 624685688,624685711,FR 624685712,624685715,ES -624685716,624685799,FR +624685716,624685791,FR +624685792,624685795,PL +624685796,624685799,FR 624685800,624685803,ES 624685804,624685815,FR 624685816,624685823,GB @@ -9616,7 +9726,8 @@ 624685924,624686623,FR 624686624,624686627,DE 624686628,624686631,ES -624686632,624686667,FR +624686632,624686663,FR +624686664,624686667,PL 624686668,624686671,ES 624686672,624686711,FR 624686712,624686719,ES @@ -9626,19 +9737,25 @@ 624686896,624686911,IE 624686912,624687343,FR 624687344,624687346,CZ -624687347,624687347,ES -624687348,624687619,FR +624687347,624687359,FR +624687360,624687615,ES +624687616,624687619,FR 624687620,624687623,DE 624687624,624687783,FR 624687784,624687791,PT 624687792,624687827,FR 624687828,624687831,ES -624687832,624688007,FR +624687832,624687919,FR +624687920,624687923,PL +624687924,624688007,FR 624688008,624688015,ES 624688016,624688031,GB -624688032,624688307,FR +624688032,624688039,FR +624688040,624688047,PL +624688048,624688303,FR +624688304,624688307,PL 624688308,624688311,ES -624688312,624688315,FR +624688312,624688315,PL 624688316,624688319,GB 624688320,624688435,FR 624688436,624688439,IE @@ -9660,9 +9777,7 @@ 624688792,624688795,ES 624688796,624688831,FR 624688832,624688835,ES -624688836,624689071,FR -624689072,624689075,ES -624689076,624689076,FR +624688836,624689076,FR 624689077,624689078,BE 624689079,624689151,FR 624689152,624691199,DE @@ -9742,7 +9857,9 @@ 625688576,625704959,MD 625704960,625707007,GE 625707008,625709055,AT -625709056,625711103,JO +625709056,625709823,JO +625709824,625710079,AE +625710080,625711103,JO 625711104,625713151,NL 625713152,625721343,DK 625721344,625725439,RU @@ -9769,12 +9886,14 @@ 625827840,625829887,IT 625829888,625831935,RU 625831936,625836031,IT -625836032,625838079,RU +625836032,625836287,KZ +625836288,625838079,RU 625838080,625840127,IT 625840128,625842175,RU 625842176,625844223,PL 625844224,625846271,IT -625846272,625848319,RS +625846272,625847295,RS +625847296,625848319,MT 625848320,625854463,GB 625854464,625856511,DE 625856512,625860607,IT @@ -9833,7 +9952,36 @@ 628293632,628359167,UA 628359168,628621311,IT 628621312,628654079,DE -628654080,628662271,RO +628654080,628654335,GB +628654336,628654591,DE +628654592,628654847,CA +628654848,628655103,DK +628655104,628655359,US +628655360,628655871,GB +628655872,628656127,IT +628656128,628656383,FR +628656384,628656639,CH +628656640,628657151,US +628657152,628657407,RO +628657408,628657663,NL +628657664,628657919,ES +628657920,628658175,BE +628658176,628658431,HU +628658432,628658687,DK +628658688,628658943,DE +628658944,628659199,US +628659200,628659455,ES +628659456,628659711,NO +628659712,628659967,US +628659968,628660223,SG +628660224,628660479,BG +628660480,628660735,SE +628660736,628660991,JP +628660992,628661247,AT +628661248,628661503,PL +628661504,628661759,US +628661760,628662015,FR +628662016,628662271,GB 628662272,628670463,DE 628670464,628685823,RO 628685824,628686335,FO @@ -10016,14 +10164,11 @@ 630720512,630722559,NL 630722560,630726655,PL 630726656,630732799,GB -630732800,630734079,SE -630734080,630734847,US +630732800,630734847,SE 630734848,630736895,IS 630736896,630737919,TR 630737920,630738943,NL -630738944,630742015,ES -630742016,630742271,DE -630742272,630743039,ES +630738944,630743039,ES 630743040,630751231,SK 630751232,630759423,ES 630759424,630767615,IR @@ -10133,13 +10278,14 @@ 631111680,631177215,ES 631177216,631408581,IT 631408582,631408582,RE -631408583,631496703,IT -631496704,631824425,FR +631408583,631504895,IT +631504896,631824425,FR 631824426,631824426,BE 631824427,632291327,FR 632291328,632815615,IT 632815616,632946687,BE -632946688,632954879,AT +632946688,632952831,AT +632952832,632954879,SA 632954880,632963071,QA 632963072,632979455,AM 632979456,633012223,IT @@ -10156,8 +10302,7 @@ 633062528,633062847,FR 633062848,633062863,LT 633062864,633063679,FR -633063680,633063935,PL -633063936,633064191,FR +633063680,633064191,PL 633064192,633064447,GB 633064448,633064471,FR 633064472,633064475,DE @@ -10315,6 +10460,25 @@ 635219968,635224063,RU 635224064,635240447,HU 635240448,635256831,IR +635256832,635257855,RU +635257856,635258879,CZ +635258880,635259903,DE +635259904,635260927,TR +635260928,635261951,RU +635261952,635262975,FR +635262976,635263999,CZ +635264000,635265023,US +635265024,635266047,IT +635266048,635267071,PL +635267072,635268095,SE +635268096,635269119,RU +635269120,635269375,US +635269376,635269631,GB +635269632,635269887,DE +635269888,635270143,US +635270144,635271167,CZ +635271168,635272191,DE +635272192,635273215,LT 635273216,635281407,UA 635281408,635283455,RO 635283456,635283967,DE @@ -10341,7 +10505,8 @@ 635725824,635727871,US 635727872,635729919,RU 635729920,635730431,DE -635730432,635731967,IE +635730432,635730943,GB +635730944,635731967,DE 635731968,635732479,SC 635732480,635732735,DE 635732736,635732991,IR @@ -10372,8 +10537,9 @@ 635865856,635866111,US 635866112,635871487,RU 635871488,635871743,UA -635871744,635873279,RU -635873280,635873535,LU +635871744,635872255,RU +635872256,635873279,GL +635873280,635873535,CA 635873536,635874047,US 635874048,635874303,AR 635874304,635874815,SG @@ -10393,10 +10559,20 @@ 635878656,635878911,US 635878912,635879167,FI 635879168,635879423,US -635879424,635894527,RU +635879424,635882495,RU +635882496,635882751,GE +635882752,635894527,RU 635894528,635894783,KZ 635894784,635895807,RU -635895808,635961343,KW +635895808,635922943,KW +635922944,635923199,IT +635923200,635942655,KW +635942656,635942911,IT +635942912,635951871,KW +635951872,635952095,IT +635952096,635952639,KW +635952640,635952895,IT +635952896,635961343,KW 635961344,635994111,GE 635994112,636026879,RU 636026880,636043263,MD @@ -10455,11 +10631,8 @@ 636965888,636966655,DE 636966656,636966911,IT 636966912,636967167,DE -636967168,636967907,FR -636967908,636967909,GB -636967910,636967935,FR -636967936,636968191,DE -636968192,636968447,ES +636967168,636967935,FR +636967936,636968447,ES 636968448,636968455,DE 636968456,636968456,BE 636968457,636968959,DE @@ -10468,7 +10641,9 @@ 636974592,636975103,TR 636975104,636977151,ES 636977152,637140991,PL -637140992,637206527,SE +637140992,637164543,SE +637164544,637165055,DK +637165056,637206527,SE 637206528,637239295,NL 637239296,637251583,RO 637251584,637251839,US @@ -10482,9 +10657,9 @@ 637258240,637259775,US 637259776,637263871,RO 637263872,637267967,DE -637267968,637268735,GB +637267968,637268735,US 637268736,637268991,AU -637268992,637270015,GB +637268992,637270015,US 637270016,637272063,RO 637272064,637272831,RU 637272832,637273599,DE @@ -10541,9 +10716,7 @@ 637337088,637337599,RU 637337600,637403135,NO 637403136,637534207,IR -637534208,637861887,US -637861888,637870079,NL -637870080,638662655,US +637534208,638662655,US 638662656,638664703,CA 638664704,638730239,US 638730240,638738431,CA @@ -10560,11 +10733,13 @@ 639444992,639446015,US 639446016,639446271,CA 639446272,639467519,US -639467520,639468031,CA -639468032,639468287,US -639468288,639471615,CA -639471616,641738239,US -641738240,641738495,CA +639467520,639471615,CA +639471616,639510527,US +639510528,639512575,CA +639512576,639632391,US +639632392,639632399,MX +639632400,641737727,US +641737728,641738495,CA 641738496,641761535,US 641761536,641761791,CA 641761792,641764863,US @@ -10572,15 +10747,19 @@ 641765888,641766399,US 641766400,641767423,CA 641767424,641769471,US -641769472,641769727,CA -641769728,641771519,US -641771520,641772543,CA -641772544,641773055,US +641769472,641769983,CA +641769984,641770495,US +641770496,641772031,CA +641772032,641773055,US 641773056,641774641,CA 641774642,641774642,US 641774643,641777919,CA -641777920,641778687,US -641778688,641781759,CA +641777920,641779199,US +641779200,641779327,CA +641779328,641779711,US +641779712,641780735,CA +641780736,641781503,US +641781504,641781759,CA 641781760,641789951,US 641789952,641790975,CA 641790976,641791999,US @@ -10588,30 +10767,44 @@ 641794048,641826815,US 641826816,641827327,MX 641827328,641828351,US -641828352,641828863,MX -641828864,641829057,US +641828352,641828991,MX +641828992,641829057,US 641829058,641829058,MX -641829059,641829887,US -641829888,641837055,MX -641837056,642089215,US +641829059,641829119,US +641829120,641829887,MX +641829888,641830143,US +641830144,641830399,MX +641830400,641830911,US +641830912,641839103,MX +641839104,642089215,US 642089216,642089727,CA -642089728,642092543,US -642092544,642092799,CA +642089728,642092031,US +642092032,642092799,CA 642092800,642096127,US 642096128,642096639,CA -642096640,642113535,US +642096640,642101247,US +642101248,642102271,CA +642102272,642103295,US +642103296,642105343,CA +642105344,642113535,US 642113536,642115583,AU 642115584,642385919,US -642385920,642400255,CA +642385920,642392063,CA +642392064,642396159,US +642396160,642400255,CA 642400256,642793471,US 642793472,642794495,CA 642794496,642797567,US -642797568,642797823,CA -642797824,642806015,US +642797568,642798079,CA +642798080,642806015,US 642806016,642806271,CA 642806272,643055103,US 643055104,643055615,CA -643055616,643216639,US +643055616,643075071,US +643075072,643075583,AU +643075584,643211263,US +643211264,643212287,GP +643212288,643216639,US 643216640,643216895,GD 643216896,643219519,US 643219520,643219523,CA @@ -10639,9 +10832,9 @@ 643346432,643346943,CA 643346944,643362815,US 643362816,643363327,CA -643363328,643691519,US -643691520,643691775,VI -643691776,644051967,US +643363328,643595263,US +643595264,643595775,GB +643595776,644051967,US 644051968,644052479,MF 644052480,644052735,GP 644052736,644052991,MF @@ -10650,44 +10843,40 @@ 644057600,644058111,US 644058112,644059647,CA 644059648,644060159,US -644060160,644061183,CA -644061184,644061439,US -644061440,644061631,CA +644060160,644061631,CA 644061632,644061663,US 644061664,644065023,CA 644065024,644065055,US 644065056,644065279,CA 644065280,644066303,US 644066304,644066815,CA -644066816,644067072,US -644067073,644067073,CA -644067074,644067327,US -644067328,644071935,CA -644071936,644072805,US +644066816,644067071,US +644067072,644067199,CA +644067200,644067327,US +644067328,644071423,CA +644071424,644072805,US 644072806,644072806,CA -644072807,644083711,US -644083712,644084735,GU +644072807,644084223,US +644084224,644084735,GU 644084736,644207359,US 644207360,644207391,NL 644207392,644210431,US 644210432,644210687,MX -644210688,644238847,US -644238848,644239103,CA -644239104,644239359,US -644239360,644239871,CA -644239872,644241407,US -644241408,644241919,CA -644241920,644247551,US +644210688,644239615,US +644239616,644239871,CA +644239872,644247551,US 644247552,644249599,CA -644249600,644268031,US +644249600,644250623,US +644250624,644251647,CA +644251648,644268031,US 644268032,644268569,CA 644268570,644268570,US 644268571,644268613,CA 644268614,644268614,US 644268615,644268891,CA 644268892,644268895,US -644268896,644276223,CA -644276224,644323327,US +644268896,644269055,CA +644269056,644323327,US 644323328,644325375,CA 644325376,644388863,US 644388864,644390911,CA @@ -10697,27 +10886,31 @@ 644403200,644403695,CA 644403696,644403703,US 644403704,644403711,CA -644403712,644413439,US +644403712,644412415,US +644412416,644412927,MX +644412928,644413439,US 644413440,644413951,MX 644413952,644414463,CA 644414464,644419327,US -644419328,644419359,GB -644419360,644419391,US -644419392,644419583,GB +644419328,644419583,GB 644419584,644422911,US 644422912,644423423,JP -644423424,644569087,US -644569088,644571135,PR -644571136,644582399,US -644582400,644582655,CA -644582656,644582911,US -644582912,644583167,CA +644423424,644569599,US +644569600,644571135,PR +644571136,644581375,US +644581376,644581887,CA +644581888,644582399,US +644582400,644583167,CA 644583168,644628735,US 644628736,644628991,CA 644628992,644629759,US 644629760,644630015,CA -644630016,644634623,US -644634624,644636671,CA +644630016,644630271,US +644630272,644630527,CA +644630528,644633087,US +644633088,644633599,CA +644633600,644634367,US +644634368,644636671,CA 644636672,644718719,US 644718720,644718783,CA 644718784,644718847,US @@ -10730,20 +10923,20 @@ 644759552,644759807,CA 644759808,644760575,US 644760576,644761599,CA -644761600,644763647,US -644763648,644764671,CA -644764672,644765439,US -644765440,644772351,CA +644761600,644763391,US +644763392,644772351,CA 644772352,644773887,US 644773888,644775935,CA 644775936,644833279,US -644833280,644834943,CA -644834944,644835071,US +644833280,644834815,CA +644834816,644835071,US 644835072,644835327,CA 644835328,644836351,US 644836352,644837375,CA 644837376,644837887,US -644837888,644841471,CA +644837888,644838399,CA +644838400,644838911,US +644838912,644841471,CA 644841472,644845839,US 644845840,644845840,RU 644845841,644845841,US @@ -10757,34 +10950,38 @@ 644877440,644877567,US 644877568,644877823,CA 644877824,644896767,US -644896768,644907007,CA -644907008,644981759,US -644981760,644982271,CA -644982272,644982527,US +644896768,644902911,CA +644902912,644903423,US +644903424,644903935,CA +644903936,644904959,US +644904960,644907007,CA +644907008,644982271,US +644982272,644982399,CA +644982400,644982527,US 644982528,644984831,CA 644984832,644986111,US 644986112,644986367,CA 644986368,644987135,US -644987136,644987903,CA -644987904,645185535,US +644987136,644987647,CA +644987648,645185535,US 645185536,645185791,CA 645185792,645186559,US 645186560,645187583,CA -645187584,645219327,US -645219328,645219839,CA -645219840,645221375,US -645221376,645222399,CA -645222400,645222655,US -645222656,645222911,CA -645222912,645225471,US +645187584,645221183,US +645221184,645223423,CA +645223424,645225471,US 645225472,645225983,CA -645225984,645227519,US +645225984,645226239,US +645226240,645226495,CA +645226496,645227519,US 645227520,645228287,CA 645228288,645228543,US -645228544,645228799,CA -645228800,645233663,US +645228544,645229567,CA +645229568,645233663,US 645233664,645233919,CA -645233920,645480447,US +645233920,645234431,US +645234432,645234687,CA +645234688,645480447,US 645480448,645482495,CA 645482496,645483775,US 645483776,645484031,CA @@ -10820,12 +11017,10 @@ 645648384,645703679,US 645703680,645705727,MX 645705728,645709823,US -645709824,645718015,MX -645718016,645744639,US -645744640,645746687,IT -645746688,645873663,US -645873664,645877759,CA -645877760,645980159,US +645709824,645713919,MX +645713920,645873663,US +645873664,645875711,CA +645875712,645980159,US 645980160,645982207,CA 645982208,645982719,US 645982720,645983231,CA @@ -10845,9 +11040,7 @@ 646160384,646164479,CA 646164480,646165503,US 646165504,646168575,CA -646168576,646193663,US -646193664,646194175,CA -646194176,646194612,US +646168576,646194612,US 646194613,646194613,CA 646194614,646194687,US 646194688,646194943,CA @@ -10865,25 +11058,31 @@ 646254592,646258687,CA 646258688,646262783,US 646262784,646264831,CA -646264832,646440959,US -646440960,646441471,GB -646441472,646711807,US +646264832,646409215,US +646409216,646410239,GB +646410240,646711807,US 646711808,646712319,CA 646712320,646721023,US 646721024,646721535,CA 646721536,646734847,US 646734848,646735359,CA 646735360,646765567,US -646765568,646765951,CA -646765952,646766015,US -646766016,646766591,CA +646765568,646765985,CA +646765986,646765986,US +646765987,646766591,CA 646766592,646840319,US 646840320,646841343,CA -646841344,646855679,US +646841344,646852607,US +646852608,646853631,CA +646853632,646855679,US 646855680,646856703,CA 646856704,646862847,US 646862848,646863871,CA -646863872,654311423,US +646863872,647036927,US +647036928,647045119,CA +647045120,647069695,US +647069696,647073791,CA +647073792,654311423,US 654311424,654311679,CN 654311680,654311935,AU 654311936,654376959,CN @@ -10936,62 +11135,20 @@ 675435008,675435519,ZA 675435520,675436031,SG 675436032,675436543,IE -675436544,675447167,US -675447168,675447295,HK -675447296,675447423,US -675447424,675447551,BR -675447552,675448575,US -675448576,675449087,GB -675449088,675449151,US -675449152,675449215,BR -675449216,675449471,US -675449472,675449599,IE -675449600,675449727,AT -675449728,675449855,FI -675449856,675449983,US -675449984,675450495,FR -675450496,675450623,NL -675450624,675450751,MY -675450752,675450879,US -675450880,675451007,JP -675451008,675451391,FR -675451392,675451519,US -675451520,675451647,AU -675451648,675451775,NL -675451776,675451903,US -675451904,675452159,HK -675452160,675452927,US -675452928,675453055,IE -675453056,675453439,US -675453440,675453503,BR -675453504,675453567,IN -675453568,675453695,AU -675453696,675453759,KR -675453760,675453951,GB -675453952,675454015,JP -675454016,675454079,CA -675454080,675454207,IE -675454208,675454271,SG -675454272,675454335,MY -675454336,675454399,KR -675454400,675454463,AU -675454464,675454719,NL -675454720,675454847,AT -675454848,675455359,US -675455360,675455487,JP -675455488,675455615,GB -675455616,675455743,AT -675455744,675455871,NL -675455872,675455999,FI -675456000,675456255,ZA -675456256,675456383,AE -675456384,675456511,ZA -675456512,675456895,AE -675456896,675463167,US -675463168,675463295,KR -675463296,675463423,US -675463424,675463807,KR -675463808,675528703,US +675436544,675437055,US +675437056,675437567,GB +675437568,675438079,KR +675438080,675438591,GB +675438592,675439103,ZA +675439104,675441151,AU +675441152,675441663,US +675441664,675442175,GB +675442176,675442687,NL +675442688,675443199,US +675443200,675443711,GB +675443712,675444223,NL +675444224,675444735,SG +675444736,675528703,US 675528704,675536895,NL 675536896,675545087,IE 675545088,675610623,NL @@ -11048,7 +11205,9 @@ 676199424,676199935,HK 676199936,676199999,US 676200000,676200031,CN -676200032,676249599,US +676200032,676200191,US +676200192,676200319,IE +676200320,676249599,US 676249600,676251647,IN 676251648,676254207,US 676254208,676254463,NL @@ -11111,7 +11270,12 @@ 676471808,676474879,US 676474880,676475903,JP 676475904,676477951,AE -676477952,676495359,US +676477952,676479999,US +676480000,676482047,DE +676482048,676484095,US +676484096,676485119,NO +676485120,676486143,GB +676486144,676495359,US 676495360,676503551,KR 676503552,676511743,CA 676511744,676519935,AU @@ -11146,12 +11310,17 @@ 676991040,676991103,AE 676991104,676991135,US 676991136,676991167,JP -676991168,677019647,US +676991168,676991263,US +676991264,676991295,GB +676991296,676991327,NL +676991328,677019647,US 677019648,677019663,CA 677019664,677019695,US 677019696,677019727,AE 677019728,677019743,JP -677019744,677020095,US +677019744,677019759,US +677019760,677019775,GB +677019776,677020095,US 677020096,677020127,IE 677020128,677020159,US 677020160,677020191,NL @@ -11263,7 +11432,11 @@ 677025920,677025951,AE 677025952,677025983,US 677025984,677026015,JP -677026016,677027839,US +677026016,677026111,US +677026112,677026143,GB +677026144,677026175,US +677026176,677026303,IE +677026304,677027839,US 677027840,677036031,SG 677036032,677057535,US 677057536,677058559,IE @@ -11860,9 +12033,17 @@ 678104064,678104319,FR 678104320,678104575,FI 678104576,678104831,AT -678104832,678117887,US +678104832,678105087,IE +678105088,678117887,US 678117888,678118399,CA -678118400,678150143,US +678118400,678133759,US +678133760,678134271,KR +678134272,678134783,US +678134784,678135039,KR +678135040,678135295,HK +678135296,678136319,US +678136320,678136831,IN +678136832,678150143,US 678150144,678150399,FI 678150400,678150655,IE 678150656,678150911,FI @@ -11870,7 +12051,7 @@ 678151168,678151423,NL 678151424,678151679,FI 678151680,678151935,FR -678151936,678152191,US +678151936,678152191,NL 678152192,678152447,FI 678152448,678152703,AT 678152704,678153215,NL @@ -12009,7 +12190,11 @@ 678854656,678905855,US 678905856,678907903,AE 678907904,678909951,CH -678909952,678920191,US +678909952,678910975,US +678910976,678913023,DE +678913024,678914047,US +678914048,678915071,NO +678915072,678920191,US 678920192,678928383,NL 678928384,678930431,US 678930432,678936575,AE @@ -12042,7 +12227,11 @@ 679378944,679395327,AU 679395328,679395839,AE 679395840,679396351,CH -679396352,679403519,US +679396352,679396607,US +679396608,679397119,DE +679397120,679397375,US +679397376,679397631,NO +679397632,679403519,US 679403520,679411711,AU 679411712,679413759,ZA 679413760,679428095,US @@ -12112,8 +12301,8 @@ 692617216,692625407,ZA 692625408,692626687,KE 692626688,692626943,AO -692626944,692634111,KE -692634112,692635135,MU +692626944,692633599,KE +692633600,692635135,MU 692635136,692635647,KE 692635648,692637135,MU 692637136,692637139,KE @@ -12162,7 +12351,9 @@ 692852736,692854783,GH 692854784,692856831,ZA 692856832,692858879,MU -692858880,692860927,UG +692858880,692859391,UG +692859392,692859647,NL +692859648,692860927,UG 692860928,692862975,ZA 692862976,692869119,NG 692869120,692871167,TZ @@ -12328,7 +12519,9 @@ 693485568,693493759,ZW 693493760,693501951,ZA 693501952,693510143,LR -693510144,693518335,SC +693510144,693512991,SC +693512992,693513215,GB +693513216,693518335,SC 693518336,693534719,ZA 693534720,693542911,NG 693542912,693551103,TZ @@ -12417,7 +12610,9 @@ 700342272,700350463,NA 700350464,700351487,MU 700351488,700352511,UG -700352512,700358655,MU +700352512,700353535,MU +700353536,700354559,UG +700354560,700358655,MU 700358656,700366847,MZ 700366848,700375039,UG 700375040,700376063,CM @@ -12452,9 +12647,7 @@ 700444672,700446719,GH 700446720,700447743,SL 700447744,700448767,DZ -700448768,700584959,ZA -700584960,700585983,FR -700585984,700587007,ZA +700448768,700587007,ZA 700587008,700587263,ZM 700587264,700588287,ZA 700588288,700588543,KM @@ -12554,11 +12747,7 @@ 701726720,701743103,GA 701755392,701759487,NG 701759488,701792255,KE -701792256,701806335,MU -701806336,701806591,GB -701806592,701820927,MU -701820928,701821439,GB -701821440,701825023,MU +701792256,701825023,MU 701825024,701857791,ZA 701857792,701890559,RE 701890560,701923327,SN @@ -12670,7 +12859,9 @@ 702451712,702453759,NG 702453760,702455871,ZA 702455872,702455999,KE -702456000,702457087,ZA +702456000,702456959,ZA +702456960,702457023,KE +702457024,702457087,ZA 702457088,702457407,KE 702457408,702457471,ZA 702457472,702457599,KE @@ -12716,14 +12907,10 @@ 702504960,702505983,MR 702505984,702507007,AO 702507008,702508031,CD -702508032,702508287,SO -702508288,702508543,ZA -702508544,702509055,SO +702508032,702509055,SO 702509056,702509423,KE 702509424,702509431,AO -702509432,702509471,KE -702509472,702509479,CD -702509480,702509911,KE +702509432,702509911,KE 702509912,702509919,AO 702509920,702509935,KE 702509936,702509943,AO @@ -12761,9 +12948,7 @@ 702542848,702543871,ZA 702543872,702544895,BJ 702544896,702545919,ZA -702545920,703026175,TN -703026176,703026687,GB -703026688,703070207,TN +702545920,703070207,TN 703070208,703071999,EG 703072000,703072255,CD 703072256,703594495,EG @@ -12915,7 +13100,7 @@ 736145408,736146431,CN 736146432,736147455,IN 736147456,736148479,CN -736148480,736149503,HK +736148480,736149503,NZ 736149504,736150527,NC 736150528,736151551,HK 736151552,736156671,CN @@ -13035,7 +13220,11 @@ 736398336,736399359,IN 736399360,736400383,SG 736400384,736402431,CN -736402432,736402687,NZ +736402432,736402585,NZ +736402586,736402587,GS +736402588,736402603,NZ +736402604,736402604,GS +736402605,736402687,NZ 736402688,736402943,SG 736402944,736403199,MY 736403200,736403327,AU @@ -13124,13 +13313,11 @@ 736515072,736516095,CN 736516096,736517119,HK 736517120,736518143,PK -736518144,736519167,MY +736518144,736519167,SG 736519168,736520191,AU 736520192,736521215,IN 736521216,736521471,US -736521472,736521573,PH -736521574,736521574,MY -736521575,736521727,PH +736521472,736521727,PH 736521728,736521747,AU 736521748,736521748,US 736521749,736522239,AU @@ -13510,7 +13697,7 @@ 737618944,737620991,CN 737620992,737622015,IN 737622016,737623039,TH -737623040,737624063,GU +737623040,737624063,MP 737624064,737625087,AU 737625088,737626111,CN 737626112,737627135,CA @@ -13560,7 +13747,8 @@ 737735680,737736703,CN 737736704,737737727,HK 737737728,737738751,IN -737738752,737741823,CN +737738752,737739775,HK +737739776,737741823,CN 737741824,737742847,SG 737742848,737744895,HK 737744896,737745919,CN @@ -13682,10 +13870,11 @@ 737894400,737895423,ID 737895424,737896447,CN 737896448,737897471,HK -737897472,737898495,AU -737898496,737899263,MY +737897472,737898751,AU +737898752,737899007,MY +737899008,737899263,AU 737899264,737899518,HK -737899519,737899519,MY +737899519,737899519,AU 737899520,737900543,CN 737900544,737901567,KR 737901568,737902591,IN @@ -13694,7 +13883,8 @@ 737904640,737905663,MY 737905664,737906687,HK 737906688,737908735,IN -737908736,737909759,AU +737908736,737909503,AU +737909504,737909759,NZ 737909760,737910783,HK 737910784,737911807,DE 737911808,737912319,SG @@ -13716,6 +13906,7 @@ 737931264,737932287,AU 737932288,737933311,CN 737933312,737934335,HK +737934336,737935359,PK 737935360,737936383,AU 737936384,737937407,IN 737937408,737938431,ID @@ -13747,8 +13938,7 @@ 737970176,737971199,ID 737971200,737972223,IN 737972224,737973247,ID -737973248,737974015,HK -737974016,737974271,FR +737973248,737974271,HK 737974272,737975295,MY 737975296,737976319,ID 737976320,737981439,HK @@ -13886,7 +14076,11 @@ 747634688,747671807,BE 747671808,747672063,GB 747672064,747700223,BE -747700224,750649855,US +747700224,749087743,US +749087744,749088767,BR +749088768,750138367,US +750138368,750139391,RO +750139392,750649855,US 750649856,750650111,AT 750650112,750651391,US 750651392,750651647,AU @@ -13905,17 +14099,16 @@ 755261952,755262463,BO 755262464,755263487,AR 755263488,755269631,BR -755269632,755270143,HN -755270144,755270655,US +755269632,755269887,HN +755269888,755270655,US 755270656,755271679,BR -755271680,755272703,HN +755271680,755272703,US 755272704,755277823,BR 755277824,755279871,AR 755279872,755280895,CL 755280896,755281919,US 755281920,755287039,BR -755287040,755287551,US -755287552,755288063,HN +755287040,755288063,US 755288064,755289087,EC 755289088,755290111,HN 755290112,755292159,BR @@ -14093,9 +14286,7 @@ 757716736,757716991,NZ 757716992,757721599,US 757721600,757721855,PH -757721856,757727231,US -757727232,757728255,VI -757728256,757729279,US +757721856,757729279,US 757729280,757731327,CA 757731328,757733375,US 757733376,757734399,CA @@ -14190,14 +14381,7 @@ 757804032,757805055,IN 757805056,757805567,JP 757805568,757806079,PH -757806080,757806591,US -757806592,757806847,HK -757806848,757807871,US -757807872,757808127,RU -757808128,757808383,JP -757808384,757808639,US -757808640,757808895,DE -757808896,757809151,SG +757806080,757809151,HK 757809152,757809407,CA 757809408,757809663,RO 757809664,757809919,GB @@ -14249,15 +14433,15 @@ 758710272,758743039,US 758743040,758744575,CA 758744576,758745727,US -758745728,758745743,CA -758745744,758745759,US -758745760,758745791,CA +758745728,758745791,CA 758745792,758745823,US 758745824,758745831,CA 758745832,758745855,US 758745856,758747135,CA -758747136,758747263,US -758747264,758747327,CA +758747136,758747199,US +758747200,758747215,CA +758747216,758747231,US +758747232,758747327,CA 758747328,758747375,US 758747376,758747647,CA 758747648,758747935,US @@ -14266,22 +14450,28 @@ 758748000,758748031,CA 758748032,758748159,US 758748160,758748415,CA -758748416,758749519,US +758748416,758749183,US +758749184,758749439,CA +758749440,758749519,US 758749520,758749535,CA 758749536,758749567,US 758749568,758749695,CA -758749696,758750975,US +758749696,758750463,US +758750464,758750719,CA +758750720,758750975,US 758750976,758751039,CA -758751040,758751167,US +758751040,758751055,US +758751056,758751071,CA +758751072,758751167,US 758751168,758751231,CA 758751232,758751999,US -758752000,758752031,CA -758752032,758752063,US -758752064,758752095,CA -758752096,758752191,US +758752000,758752127,CA +758752128,758752191,US 758752192,758752199,CA 758752200,758752207,FI -758752208,758752671,US +758752208,758752223,US +758752224,758752239,CA +758752240,758752671,US 758752672,758752687,CA 758752688,758752735,US 758752736,758752831,CA @@ -14290,22 +14480,22 @@ 758752928,758752959,US 758752960,758753023,CA 758753024,758753535,US -758753536,758753663,CA -758753664,758753791,US -758753792,758754047,CA +758753536,758754047,CA 758754048,758754431,US -758754432,758754559,CA -758754560,758755071,US -758755072,758755327,CA +758754432,758755327,CA 758755328,758756095,US -758756096,758756351,CA +758756096,758756239,CA +758756240,758756247,US +758756248,758756351,CA 758756352,758756863,US 758756864,758756927,CA 758756928,758757055,US 758757056,758757183,CA 758757184,758757311,US 758757312,758757375,CA -758757376,758758143,US +758757376,758757631,US +758757632,758757887,CA +758757888,758758143,US 758758144,758758399,CA 758758400,758759423,US 758759424,758759487,CA @@ -14313,8 +14503,8 @@ 758759616,758759679,CA 758759680,758759807,US 758759808,758759839,CA -758759840,758759903,US -758759904,758759935,CA +758759840,758759871,US +758759872,758759935,CA 758759936,758760191,US 758760192,758760447,CA 758760448,758760703,US @@ -14327,54 +14517,56 @@ 758762752,758764031,CA 758764032,758764287,US 758764288,758764679,CA -758764680,758764759,US +758764680,758764703,US +758764704,758764719,CA +758764720,758764759,US 758764760,758764767,CA 758764768,758764799,US 758764800,758764863,CA 758764864,758764927,US 758764928,758765183,CA -758765184,758765311,US -758765312,758765375,CA -758765376,758765471,US -758765472,758765503,CA -758765504,758765583,US -758765584,758765631,CA +758765184,758765247,US +758765248,758765375,CA +758765376,758765439,US +758765440,758765503,CA +758765504,758765567,US +758765568,758765631,CA 758765632,758765647,US -758765648,758765655,CA -758765656,758765695,US +758765648,758765663,CA +758765664,758765695,US 758765696,758765951,CA -758765952,758766015,US -758766016,758766031,CA -758766032,758766063,US -758766064,758766103,CA +758765952,758765975,US +758765976,758765983,CA +758765984,758766015,US +758766016,758766103,CA 758766104,758766111,US -758766112,758766127,CA -758766128,758766303,US -758766304,758766311,CA -758766312,758766335,US -758766336,758766351,CA -758766352,758766383,US -758766384,758766431,CA +758766112,758766143,CA +758766144,758766303,US +758766304,758766319,CA +758766320,758766335,US +758766336,758766431,CA 758766432,758766495,US 758766496,758766527,CA 758766528,758766575,US 758766576,758766583,CA -758766584,758767103,US -758767104,758767615,CA -758767616,758768127,US +758766584,758766847,US +758766848,758767871,CA +758767872,758768127,US 758768128,758769279,CA -758769280,758769375,US -758769376,758769391,CA -758769392,758769407,US -758769408,758769663,CA +758769280,758769359,US +758769360,758769367,CA +758769368,758769375,US +758769376,758769663,CA 758769664,758769751,US -758769752,758769759,CA -758769760,758770175,US +758769752,758769791,CA +758769792,758769855,US +758769856,758769919,CA +758769920,758770175,US 758770176,758770271,CA -758770272,758770367,US -758770368,758770431,CA -758770432,758770719,US -758770720,758770751,CA +758770272,758770303,US +758770304,758770431,CA +758770432,758770687,US +758770688,758770751,CA 758770752,758770847,US 758770848,758770863,CA 758770864,758771199,US @@ -14481,7 +14673,9 @@ 758983808,758983935,VA 758983936,758984063,ZW 758984064,758984191,SO -758984192,758994943,US +758984192,758990335,US +758990336,758990847,PK +758990848,758994943,US 758994944,758996991,IN 758996992,759001087,US 759001088,759005183,CN @@ -14599,6 +14793,21 @@ 759246848,759249407,IN 759249408,759249919,AF 759249920,759250943,AU +759250944,759251967,ES +759251968,759252991,BG +759252992,759254015,SA +759254016,759255039,FR +759255040,759256063,SM +759256064,759257087,GB +759257088,759258111,DK +759258112,759259135,NL +759259136,759260159,GB +759260160,759261183,IL +759261184,759263231,FR +759263232,759264255,GB +759264256,759265279,SK +759265280,759266303,MD +759266304,759267327,LV 759267328,759269375,BR 759269376,759270399,CO 759270400,759272447,BR @@ -14624,7 +14833,7 @@ 759299072,759299327,AR 759299328,759299583,BR 759299584,759300095,PA -759496704,759504895,GB +759496704,759498751,GB 759562240,759564287,BR 759564288,759565311,AR 759565312,759566335,EC @@ -14686,34 +14895,34 @@ 759693312,759693439,CA 759693440,759693455,US 759693456,759693471,CA -759693472,759694079,US +759693472,759693519,US +759693520,759693527,CA +759693528,759694079,US 759694080,759694207,CA 759694208,759694303,US 759694304,759694319,CA 759694320,759695231,US 759695232,759695359,CA 759695360,759695615,US -759695616,759696143,CA -759696144,759696159,US -759696160,759696191,CA -759696192,759696255,US -759696256,759696263,CA +759695616,759696263,CA 759696264,759696335,US 759696336,759696351,CA -759696352,759696471,US -759696472,759696479,CA -759696480,759696591,US -759696592,759696599,CA +759696352,759696463,US +759696464,759696479,CA +759696480,759696575,US +759696576,759696599,CA 759696600,759696607,US 759696608,759696639,CA 759696640,759696895,US 759696896,759698943,CA 759698944,759699199,US 759699200,759699263,CA -759699264,759699423,US +759699264,759699279,US +759699280,759699287,CA +759699288,759699423,US 759699424,759699439,CA -759699440,759699711,US -759699712,759699967,CA +759699440,759699455,US +759699456,759699967,CA 759699968,759699983,US 759699984,759699991,CA 759699992,759700047,US @@ -14721,30 +14930,26 @@ 759700064,759700223,US 759700224,759700479,CA 759700480,759700607,US -759700608,759700623,CA -759700624,759700639,US -759700640,759700735,CA +759700608,759700735,CA 759700736,759700863,US 759700864,759701759,CA 759701760,759702015,US 759702016,759702399,CA 759702400,759702431,US 759702432,759702447,CA -759702448,759702487,US -759702488,759702495,CA -759702496,759703039,US -759703040,759703295,CA -759703296,759703551,US -759703552,759705087,CA -759705088,759705215,US -759705216,759705471,CA -759705472,759705599,US -759705600,759708159,CA -759708160,759708671,US -759708672,759708927,CA +759702448,759702479,US +759702480,759702495,CA +759702496,759702527,US +759702528,759702783,CA +759702784,759703039,US +759703040,759708159,CA +759708160,759708415,US +759708416,759708927,CA 759708928,759709183,US 759709184,759709951,CA -759709952,759710495,US +759709952,759710207,US +759710208,759710463,CA +759710464,759710495,US 759710496,759710511,CA 759710512,759710559,US 759710560,759710591,CA @@ -14756,10 +14961,10 @@ 759711360,759711615,CA 759711616,759711647,US 759711648,759711655,CA -759711656,759711711,US -759711712,759711743,CA -759711744,759711807,US -759711808,759711839,CA +759711656,759711679,US +759711680,759711695,CA +759711696,759711711,US +759711712,759711839,CA 759711840,759711855,US 759711856,759711871,CA 759711872,759712095,US @@ -14773,25 +14978,19 @@ 759712768,759713023,US 759713024,759713791,CA 759713792,759714047,US -759714048,759716095,CA -759716096,759716479,US -759716480,759716735,CA -759716736,759716863,US -759716864,759721215,CA -759721216,759721239,US -759721240,759721263,CA -759721264,759721727,US -759721728,759721983,CA -759721984,759722239,US -759722240,759723263,CA +759714048,759721215,CA +759721216,759721231,US +759721232,759721279,CA +759721280,759721343,US +759721344,759721407,CA +759721408,759721727,US +759721728,759723263,CA 759723264,759723519,US 759723520,759725055,CA 759725056,759725311,US -759725312,759725823,CA -759725824,759725855,US -759725856,759725887,CA -759725888,759726079,US -759726080,759791615,CA +759725312,759725887,CA +759725888,759725951,US +759725952,759791615,CA 759791616,759802367,US 759802368,759803391,CA 759803392,759803903,US @@ -15068,8 +15267,7 @@ 762524672,762527743,IN 762527744,762528767,ID 762528768,762529791,AU -762529792,762530303,ID -762530304,762530815,TL +762529792,762530815,TL 762530816,762532863,IN 762532864,762533887,PK 762533888,762536959,IN @@ -15356,7 +15554,7 @@ 763000832,763003903,IN 763003904,763005951,HK 763005952,763010047,IN -763010048,763011071,HK +763010048,763011071,SG 763011072,763026431,CN 763026432,763027455,VN 763027456,763028479,JP @@ -15394,11 +15592,13 @@ 763102208,763103231,IN 763103232,763104255,HK 763104256,763105279,BD -763105280,763106303,PH +763105280,763106303,US 763106304,763107327,CN 763107328,763108351,HK 763108352,763111423,CN -763111424,763112447,AU +763111424,763111679,AU +763111680,763111935,IN +763111936,763112447,AU 763112448,763113471,CN 763113472,763114495,IN 763114496,763115519,AU @@ -15475,7 +15675,7 @@ 763227136,763228159,VN 763228160,763229183,JP 763229184,763229439,NZ -763229440,763229695,AU +763229440,763229695,JP 763229696,763229951,IN 763229952,763230207,AU 763230208,763231231,PH @@ -15599,8 +15799,8 @@ 765501440,765508607,BR 765508608,765509631,CL 765509632,765510655,BR -765510656,765512703,AR -765512704,765514751,BR +765510656,765511679,AR +765511680,765514751,BR 765514752,765515775,CL 765515776,765517823,BR 765517824,765518847,VE @@ -15621,9 +15821,7 @@ 765569024,765571071,AR 765571072,765572095,BR 765572096,765573119,AR -765573120,765574143,BR -765574144,765575167,CL -765575168,765586431,BR +765573120,765586431,BR 765586432,765587455,PY 765587456,765591551,BR 765591552,765592575,CO @@ -15633,58 +15831,162 @@ 765606912,765607935,AR 765607936,765609983,BR 765609984,765611007,EC -765611008,765614079,CO +765611008,765612031,CO +765612032,765612543,BR +765612544,765613567,CO +765613568,765613823,HN +765613824,765614079,SV 765614080,765615103,AR 765615104,765617151,BR 765617152,765618175,AR 765618176,765619199,BR 765619200,765620223,AR -765620224,765623551,BR -765623552,765623807,AR -765623808,765624063,CO -765624320,765627391,BR +765620224,765627391,BR 765627392,765628415,AR -765628416,765634559,BR -765634560,765635583,AR -765635584,765637631,BR +765628416,765637631,BR +765637632,765638655,PY +765638656,765639679,CL +765639680,765640703,BR 765640704,765641727,CL -765641728,765643263,BR +765641728,765643775,BR 765643776,765644799,CR -765644800,765645823,CL -765645824,765656063,BR +765644800,765657087,BR 765657088,765658111,CO -765658112,765661183,BR +765658112,765661695,BR 765661696,765662207,BO 765662208,765663231,AR +765663232,765664255,BR +765664256,765665023,CO 765665024,765665279,AR +765665280,765666303,BR 765666304,765667327,AR -765667328,765677567,BR -765677568,765678591,AR -765678592,765687807,BR -765687808,765688831,MX +765667328,765669375,BR +765669376,765670399,MX +765670400,765687807,BR +765687808,765689855,MX 765689856,765690879,AR +765690880,765691903,BR 765691904,765692927,CR 765692928,765693951,AR -765693952,765709311,BR +765693952,765705215,BR +765705216,765706239,PY +765706240,765709311,BR 765709312,765710335,EC -765711360,765712383,BR -765713408,765726719,BR +765710336,765720575,BR +765720576,765721599,AR +765721600,765725695,BR +765725696,765726719,DO 765726720,765727743,AR 765727744,765728767,MX +765728768,765739007,BR 765739008,765740031,EC +765740032,765750271,BR +765750272,765751295,MX +765751296,765757439,BR +765757440,765758463,MX +765758464,765760511,BR +765760512,765761535,GT +765761536,765765631,BR +765765632,765766655,MX +765766656,765767679,DO +765767680,765774847,BR +765774848,765775359,AR +765775616,765775871,SV +765775872,765780991,BR +765780992,765782015,AR +765782016,765783039,BR +765783040,765784063,MX +765784064,765797375,BR +765797376,765798399,AR +765798400,765799423,CL +765799424,765800447,AR +765800448,765801471,BR +765801472,765801983,PY +765801984,765816831,BR +765816832,765817855,AR +765817856,765827071,BR +765827072,765827327,GT +765827328,765827583,BR +765827584,765828095,AR +765828096,765831167,BR +765831168,765832191,CL +765832192,765856767,BR +765857792,765858815,VE +765858816,765872127,BR +765872128,765873151,CL +765873152,765873919,AR +765873920,765874175,BR +765874176,765875199,AR +765875200,765877247,BR +765877248,765878271,HN +765878272,765879295,BR +765879296,765880319,MX +765880320,765881343,BR +765881344,765882367,MX +765882368,765890559,BR +765890560,765891583,CL +765891584,765898751,BR +765898752,765899775,AR +765899776,765908991,BR +765908992,765910015,MX +765910016,765911039,BR +765911040,765911551,SV +765911552,765918207,BR +765919232,765920255,SV +765920256,765922303,BR +765922304,765923327,MX +765923328,765923583,BR +765924352,765925375,AR +765925376,765926399,CL +765926400,765934591,BR +765935616,765941759,BR +765941760,765942783,AR +765942784,765943807,MX +765943808,765945855,BR +765946880,765947903,BR +765947904,765948927,MX +765949952,765950207,AR +765950976,765951743,CO +765951744,765951999,AR +765952000,765953023,BR +765955072,765959167,BR +765959168,765960191,MX +765960192,765968383,BR +765968384,765969407,CL +765971456,765973503,BR +765973504,765974527,AR +765974528,765975551,BR +765975552,765976575,AR +765983744,765984767,MX +765984768,765985791,BR +765986816,766001151,BR +766002176,766003199,CL +766004224,766005247,BR +766008320,766009343,BR 767557632,767623167,ZA 767623168,767688703,HK -767688704,767754239,ZA +767688704,767723329,ZA +767723330,767723330,HK +767723331,767723389,ZA +767723390,767723390,HK +767723391,767754239,ZA 767754240,767754751,HK 767754752,767755263,KR -767755264,767756287,NG +767755264,767755519,ZA +767755520,767756031,NG +767756032,767756287,KE 767756288,767774207,HK -767774208,767774463,JP -767774464,767806975,HK +767774208,767774719,JP +767774720,767806975,HK 767806976,767807487,KR 767807488,767819775,HK 767819776,768016383,ZA -768016384,768062207,US +768016384,768047041,US +768047042,768047042,HK +768047043,768047101,US +768047102,768047102,HK +768047103,768061695,US +768061696,768062207,AU 768062208,768063231,HK 768063232,768081919,US 768081920,768606207,ZA @@ -16126,9 +16428,7 @@ 770471936,770472191,VE 770472192,770472959,BR 770472960,770475007,CL -770475008,770479103,BR -770479104,770480127,EC -770480128,770483199,BR +770475008,770483199,BR 770483200,770484223,CL 770484224,770485247,EC 770485248,770485759,PE @@ -16159,9 +16459,7 @@ 770551808,770552831,AR 770552832,770553855,BR 770553856,770554879,PA -770554880,770563071,BR -770563072,770564095,AR -770564096,770574335,BR +770554880,770574335,BR 770574336,770577407,AR 770577408,770578431,CL 770578432,770579455,BR @@ -16172,8 +16470,7 @@ 770587648,770588671,CL 770588672,770598911,BR 770598912,770599935,AR -770599936,770608127,BR -770608128,770609151,HN +770599936,770609151,BR 770609152,770610175,CO 770610176,770611199,BR 770611200,770612223,CL @@ -16211,8 +16508,7 @@ 770659328,770660351,AR 770660352,770661375,CO 770661376,770662399,AR -770662400,770663423,CL -770663424,770665215,BR +770662400,770665215,BR 770665216,770665471,AR 770665472,770666751,CL 770666752,770667007,BR @@ -16223,7 +16519,9 @@ 770669568,770671615,AR 770671616,770678783,BR 770678784,770679807,EC -770679808,770703359,BR +770679808,770691071,BR +770691072,770692095,CL +770692096,770703359,BR 770703360,771227647,EG 771227648,771229695,IN 771229696,771230719,CN @@ -16231,7 +16529,8 @@ 771237376,771237887,MY 771237888,771238911,IN 771238912,771239935,US -771239936,771241471,AU +771239936,771241215,AU +771241216,771241471,MY 771241472,771241727,IN 771241728,771241983,SG 771241984,771245055,IN @@ -16269,8 +16568,7 @@ 771320320,771320831,AU 771320832,771321855,IN 771321856,771322879,CN -771322880,771323135,TW -771323136,771323903,AU +771322880,771323903,AU 771323904,771334143,IN 771334144,771335167,KR 771335168,771339263,IN @@ -16445,7 +16743,9 @@ 772831232,772833279,CZ 772833280,772834303,EE 772834304,772835327,ES -772835328,772837375,CY +772835328,772836351,IL +772836352,772836607,CY +772836608,772837375,IL 772837376,772839423,KZ 772839424,772841471,CH 772841472,772843519,GB @@ -16464,8 +16764,7 @@ 772870144,772872191,NO 772872192,772874239,NL 772874240,772876287,IE -772876288,772876799,UA -772876800,772880383,RU +772876288,772880383,RU 772880384,772882431,GB 772882432,772884479,FR 772884480,772886527,LB @@ -16507,8 +16806,8 @@ 772945920,772947967,DE 772947968,772950015,AZ 772950016,772952063,ES -772952064,772952319,US -772952320,772954111,CA +772952064,772953087,US +772953088,772954111,GB 772954112,772958207,FR 772958208,772962303,GB 772962304,772966399,FR @@ -16567,8 +16866,7 @@ 773079040,773083135,RU 773083136,773087231,IT 773087232,773091327,LB -773091328,773093375,GB -773093376,773095423,CA +773091328,773095423,GB 773095424,773099519,RO 773099520,773103615,TR 773103616,773107711,FR @@ -16778,9 +17076,7 @@ 773818368,773820415,HR 773820416,773822463,TR 773822464,773824511,RU -773824512,773824556,DE -773824557,773824557,FR -773824558,773824767,DE +773824512,773824767,DE 773824768,773826559,FR 773826560,773828607,GB 773828608,773830655,HU @@ -16831,9 +17127,7 @@ 773980160,773988351,GB 773988352,773996543,ES 773996544,773996799,TR -773996800,773997567,ES -773997568,773998591,NL -773998592,774000671,ES +773996800,774000671,ES 774000672,774000687,NL 774000688,774000823,ES 774000824,774000824,GB @@ -16862,7 +17156,10 @@ 774111232,774119423,RU 774119424,774127615,CZ 774127616,774135807,LT -774135808,774143999,IR +774135808,774140159,IR +774140160,774140927,AM +774140928,774141439,IR +774141440,774143999,AM 774144000,774152191,KZ 774152192,774160383,BA 774160384,774162431,GB @@ -17008,7 +17305,9 @@ 774242304,774258687,RU 774258688,774266879,SA 774266880,774275071,RU -774275072,774283263,IR +774275072,774280191,IR +774280192,774281215,GB +774281216,774283263,IR 774283264,774291455,GB 774291456,774299647,NL 774299648,774307839,DE @@ -17019,12 +17318,10 @@ 774348800,774356991,CZ 774356992,774365183,ES 774365184,774373375,RU -774373376,774383103,RS -774383104,774383615,XK +774373376,774383487,RS +774383488,774383615,XK 774383616,774389759,RS -774389760,774405375,BG -774405376,774405631,DK -774405632,774406143,BG +774389760,774406143,BG 774406144,774422527,SY 774422528,774438911,OM 774438912,774455295,DE @@ -17037,9 +17334,7 @@ 774553600,774569983,KZ 774569984,774586367,GB 774586368,774602751,PS -774602752,774618367,GB -774618368,774618623,BE -774618624,774619135,GB +774602752,774619135,GB 774619136,774651903,RU 774651904,774668287,SA 774668288,774684671,NL @@ -17202,10 +17497,14 @@ 778657472,778657535,GB 778657536,778662028,FR 778662029,778662029,ES -778662030,778666063,FR +778662030,778666031,FR +778666032,778666047,PL +778666048,778666063,FR 778666064,778666079,IE 778666080,778666095,ES -778666096,778666259,FR +778666096,778666191,FR +778666192,778666239,PL +778666240,778666259,FR 778666260,778666263,ES 778666264,778666303,FR 778666304,778666367,ES @@ -17231,7 +17530,9 @@ 778667328,778667331,DE 778667332,778667347,FR 778667348,778667351,GB -778667352,778667499,FR +778667352,778667395,FR +778667396,778667399,PL +778667400,778667499,FR 778667500,778667503,GB 778667504,778667931,FR 778667932,778667935,CZ @@ -17244,11 +17545,17 @@ 778668396,778668399,ES 778668400,778668479,FR 778668480,778668495,ES -778668496,778668607,FR +778668496,778668511,FR +778668512,778668515,PL +778668516,778668571,FR +778668572,778668575,PL +778668576,778668607,FR 778668608,778668615,IE 778668616,778668627,FR 778668628,778668631,ES -778668632,778668719,FR +778668632,778668703,FR +778668704,778668707,PL +778668708,778668719,FR 778668720,778668723,PT 778668724,778668731,FR 778668732,778668735,GB @@ -17326,9 +17633,13 @@ 778673856,778673879,FR 778673880,778673883,CZ 778673884,778673887,ES -778673888,778674303,FR +778673888,778673919,FR +778673920,778674175,PT +778674176,778674303,FR 778674304,778674367,DE -778674368,778674768,FR +778674368,778674451,FR +778674452,778674455,PL +778674456,778674768,FR 778674769,778674769,BE 778674770,778674783,FR 778674784,778674799,GB @@ -17337,15 +17648,18 @@ 778674984,778674999,FR 778675000,778675003,FI 778675004,778675007,PL -778675008,778675079,FR -778675080,778675083,GB -778675084,778675199,FR +778675008,778675199,FR 778675200,778675207,ES 778675208,778675243,FR 778675244,778675247,DE 778675248,778675495,FR 778675496,778675499,DE -778675500,778675631,FR +778675500,778675503,PL +778675504,778675511,FR +778675512,778675519,PL +778675520,778675615,FR +778675616,778675619,PL +778675620,778675631,FR 778675632,778675639,ES 778675640,778675695,FR 778675696,778675711,BE @@ -17362,15 +17676,21 @@ 778675916,778675919,DE 778675920,778676127,FR 778676128,778676131,ES -778676132,778676143,FR -778676144,778676159,ES -778676160,778676207,FR +778676132,778676139,FR +778676140,778676143,PL +778676144,778676183,FR +778676184,778676191,PL +778676192,778676207,FR 778676208,778676215,DE 778676216,778676367,FR 778676368,778676383,GB -778676384,778676555,FR +778676384,778676439,FR +778676440,778676443,PL +778676444,778676555,FR 778676556,778676559,ES -778676560,778676623,FR +778676560,778676607,FR +778676608,778676611,PL +778676612,778676623,FR 778676624,778676627,GB 778676628,778676631,ES 778676632,778676635,FR @@ -17378,7 +17698,11 @@ 778676640,778676655,ES 778676656,778676719,FR 778676720,778676723,GB -778676724,778677083,FR +778676724,778676767,FR +778676768,778676771,PL +778676772,778676775,FR +778676776,778676779,PL +778676780,778677083,FR 778677084,778677087,DE 778677088,778677095,FR 778677096,778677099,PL @@ -17394,24 +17718,43 @@ 778677400,778677403,PT 778677404,778677427,FR 778677428,778677431,DE -778677432,778677475,FR +778677432,778677439,FR +778677440,778677455,PL +778677456,778677475,FR 778677476,778677479,CZ -778677480,778677503,FR +778677480,778677487,FR +778677488,778677503,PL 778677504,778677505,GB 778677506,778677506,ES 778677507,778677507,GB 778677508,778677759,ES -778677760,778678271,FR +778677760,778678003,FR +778678004,778678007,PL +778678008,778678015,FR +778678016,778678019,PL +778678020,778678159,FR +778678160,778678163,PL +778678164,778678207,FR +778678208,778678271,PL 778678272,778678783,DE 778678784,778678859,FR 778678860,778678863,GB -778678864,778679212,FR +778678864,778678871,PL +778678872,778678903,FR +778678904,778678911,PL +778678912,778678967,FR +778678968,778678975,PL +778678976,778679047,FR +778679048,778679055,PL +778679056,778679212,FR 778679213,778679214,FI 778679215,778679279,FR 778679280,778679295,ES 778679296,778679491,FR 778679492,778679495,ES -778679496,778679599,FR +778679496,778679503,FR +778679504,778679519,PL +778679520,778679599,FR 778679600,778679607,IE 778679608,778679843,FR 778679844,778679847,DE @@ -17440,7 +17783,9 @@ 778681424,778681431,FI 778681432,778681463,FR 778681464,778681471,ES -778681472,778681503,FR +778681472,778681483,FR +778681484,778681487,PL +778681488,778681503,FR 778681504,778681507,DE 778681508,778681519,FR 778681520,778681523,ES @@ -17457,7 +17802,10 @@ 778681832,778681835,IT 778681836,778681983,FR 778681984,778681999,PT -778682000,778682079,FR +778682000,778682015,FR +778682016,778682031,PL +778682032,778682063,FR +778682064,778682079,PL 778682080,778682095,PT 778682096,778682103,FR 778682104,778682111,DE @@ -17481,7 +17829,9 @@ 778690736,778690751,PT 778690752,778691459,FR 778691460,778691463,BE -778691464,778691543,FR +778691464,778691471,FR +778691472,778691479,PL +778691480,778691543,FR 778691544,778691551,GB 778691552,778691763,FR 778691764,778691767,DE @@ -17493,7 +17843,9 @@ 778691976,778691983,ES 778691984,778692031,FR 778692032,778692039,DE -778692040,778692143,FR +778692040,778692059,FR +778692060,778692063,PL +778692064,778692143,FR 778692144,778692159,DE 778692160,778692191,FR 778692192,778692195,ES @@ -17509,13 +17861,16 @@ 778692528,778692535,BE 778692536,778692619,FR 778692620,778692623,ES -778692624,778692743,FR +778692624,778692719,FR +778692720,778692723,PL +778692724,778692743,FR 778692744,778692747,ES 778692748,778692811,FR 778692812,778692815,DE 778692816,778692827,FR 778692828,778692831,GB -778692832,778692847,FR +778692832,778692843,FR +778692844,778692847,PL 778692848,778692863,DE 778692864,778692891,FR 778692892,778692895,GB @@ -17527,7 +17882,8 @@ 778693176,778693179,ES 778693180,778693231,FR 778693232,778693235,DE -778693236,778693427,FR +778693236,778693239,PL +778693240,778693427,FR 778693428,778693431,ES 778693432,778693439,FR 778693440,778693455,GB @@ -17543,9 +17899,15 @@ 778693856,778693887,BE 778693888,778693967,FR 778693968,778693971,ES -778693972,778694543,FR +778693972,778694163,FR +778694164,778694167,PL +778694168,778694543,FR 778694544,778694555,DE -778694556,778695087,FR +778694556,778694559,FR +778694560,778694563,PL +778694564,778694639,FR +778694640,778694643,PL +778694644,778695087,FR 778695088,778695103,PT 778695104,778695119,FR 778695120,778695135,LT @@ -17575,7 +17937,10 @@ 778696272,778696287,ES 778696288,778696319,FR 778696320,778696335,DE -778696336,778696435,FR +778696336,778696339,PL +778696340,778696347,FR +778696348,778696351,PL +778696352,778696435,FR 778696436,778696439,GB 778696440,778696495,FR 778696496,778696499,ES @@ -17589,7 +17954,8 @@ 778696984,778696987,ES 778696988,778696991,FR 778696992,778696995,ES -778696996,778697055,FR +778696996,778696999,PL +778697000,778697055,FR 778697056,778697063,ES 778697064,778697067,FR 778697068,778697071,ES @@ -17599,7 +17965,8 @@ 778697280,778697287,IE 778697288,778697311,FR 778697312,778697343,ES -778697344,778697435,FR +778697344,778697431,FR +778697432,778697435,PL 778697436,778697439,GB 778697440,778697471,FR 778697472,778697479,CZ @@ -17625,22 +17992,20 @@ 778698628,778698631,ES 778698632,778698643,FR 778698644,778698647,ES -778698648,778698703,FR +778698648,778698675,FR +778698676,778698679,PL +778698680,778698703,FR 778698704,778698707,ES 778698708,778698715,FR 778698716,778698719,CZ 778698720,778698751,FR 778698752,778764287,TR 778764288,778822655,HU -778822656,778823679,UA -778823680,778829823,HU +778822656,778823167,UA +778823168,778829823,HU 778829824,778839856,DE 778839857,778839857,RO -778839858,778846207,DE -778846208,778862591,RO -778862592,778866687,DE -778866688,778868735,GB -778868736,778883071,DE +778839858,778883071,DE 778883072,778885119,GB 778885120,778895359,DE 778895360,778960895,LV @@ -17653,9 +18018,7 @@ 779616256,779747327,IL 779747328,779878399,SI 779878400,780009471,AT -780009472,780050303,CH -780050304,780050431,DE -780050432,780140543,CH +780009472,780140543,CH 780140544,780206079,DE 780206080,780271615,NL 780271616,780337151,AM @@ -17684,14 +18047,13 @@ 781479936,781480191,UA 781480192,781480447,RO 781480448,781480703,BE -781480704,781481471,UA +781480704,781481215,UA +781481216,781481471,CZ 781481472,781481727,GB 781481728,781484031,UA 781484032,781488127,RU 781488128,781496319,PL -781496320,781496575,UA -781496576,781496831,RU -781496832,781496867,UA +781496320,781496867,UA 781496868,781496868,RU 781496869,781500415,UA 781500416,781516799,RU @@ -17704,6 +18066,11 @@ 781545472,781549567,CZ 781549568,781553663,RU 781553664,781557759,PL +781557760,781558783,TR +781558784,781559807,RU +781559808,781560831,IT +781560832,781561599,RU +781561600,781561855,GB 781561856,781565951,UA 781565952,781570047,IT 781570048,781574143,PL @@ -17777,8 +18144,8 @@ 782385152,782401535,SE 782401536,782417919,FR 782417920,782434303,AM -782434304,782438399,HR -782438400,782446591,SI +782434304,782436351,HR +782436352,782446591,SI 782446592,782447359,BA 782447360,782447615,HR 782447616,782447871,SI @@ -17854,7 +18221,7 @@ 783204352,783206399,RU 783206400,783208447,RO 783208448,783210495,PL -783210496,783212543,UA +783210496,783212543,RU 783212544,783216639,PL 783216640,783218687,UA 783218688,783220735,RU @@ -17965,14 +18332,7 @@ 784105472,784138239,HR 784138240,784145617,DE 784145618,784145618,BE -784145619,784155483,DE -784155484,784155487,CH -784155488,784155491,NL -784155492,784155495,DE -784155496,784155503,AT -784155504,784155511,GB -784155512,784155519,CZ -784155520,784155611,DE +784145619,784155611,DE 784155612,784155615,CH 784155616,784155623,DE 784155624,784155631,AT @@ -17989,11 +18349,7 @@ 784268288,784269311,GB 784269312,784302079,BY 784302080,784334847,RU -784334848,784419071,FR -784419072,784419327,GB -784419328,784438623,FR -784438624,784438655,GB -784438656,784457727,FR +784334848,784457727,FR 784457728,784461823,GB 784461824,784465919,FR 784465920,784596991,SE @@ -18016,15 +18372,7 @@ 785842176,785907711,PL 785907712,785973247,BY 785973248,786038783,MK -786038784,786044607,FR -786044608,786044671,US -786044672,786053631,FR -786053632,786053759,US -786053760,786053823,FR -786053824,786053887,US -786053888,786085311,FR -786085312,786085375,US -786085376,786104319,FR +786038784,786104319,FR 786104320,786169855,UA 786169856,786235391,AT 786235392,786300927,TR @@ -18205,7 +18553,8 @@ 787095680,787095711,CH 787096576,787097855,CH 787098112,787098879,CH -787099392,787103743,CH +787099392,787100671,CH +787101696,787103743,CH 787103744,787111935,HR 787111936,787116287,CZ 787116288,787116543,US @@ -18235,8 +18584,8 @@ 787189760,787191807,CH 787191808,787192063,GB 787192064,787192319,FR -787192576,787192607,DK -787192656,787192703,SE +787192320,787192575,DE +787192576,787192831,SE 787192832,787193087,AE 787193088,787193343,FI 787193344,787193599,DE @@ -18276,11 +18625,7 @@ 787464192,787480575,IS 787480576,787513343,SA 787513344,787546111,RS -787546112,787566591,RU -787566592,787567615,BE -787567616,787568127,RU -787568128,787570687,BE -787570688,787578879,RU +787546112,787578879,RU 787578880,787611647,AM 787611648,787644415,RU 787644416,787677183,PL @@ -18319,22 +18664,26 @@ 787716096,787718143,NL 787718144,787718911,RU 787718912,787719167,NL -787719168,787722239,RU +787719168,787719935,RU +787719936,787720191,NL +787720192,787721471,RU +787721472,787721599,NL +787721600,787722239,RU 787722240,787722751,NL 787722752,787725311,RU -787725312,787728639,NL -787728640,787728895,RU -787728896,787729407,NL +787725312,787729407,NL 787729408,787730431,US -787730432,787731199,SE +787730432,787730687,FR +787730688,787731199,SE 787731200,787731967,CA -787731968,787732479,LU +787731968,787732223,US +787732224,787732479,LU 787732480,787732735,CH 787732736,787733247,BE 787733248,787733759,RU 787733760,787734015,AT 787734016,787734271,IE -787734272,787734527,RO +787734272,787734527,FR 787734528,787736575,US 787736576,787737599,GB 787737600,787738367,DE @@ -18343,7 +18692,7 @@ 787738880,787739135,MT 787739136,787739903,CA 787739904,787740671,AU -787740672,787740927,BE +787740672,787740927,NL 787740928,787741183,GB 787741184,787741439,HK 787741440,787741695,US @@ -18390,11 +18739,7 @@ 787849216,787851263,TR 787851264,787853311,RU 787853312,787855359,DE -787855360,787856895,CH -787856896,787857083,DE -787857084,787857084,CH -787857085,787857279,DE -787857280,787857407,CH +787855360,787857407,CH 787857408,787859455,PL 787859456,787861503,AT 787861504,787863551,IE @@ -18441,9 +18786,10 @@ 788086784,788094975,BG 788094976,788095231,AU 788095232,788095487,DE -788095488,788095743,AU -788095744,788095999,IR -788096000,788101119,AU +788095488,788095743,IR +788095744,788095999,AU +788096000,788099071,DE +788099072,788101119,AU 788101120,788103167,IR 788103168,788111359,HU 788111360,788119551,LT @@ -18498,8 +18844,7 @@ 788361216,788365311,DE 788365312,788369407,IQ 788369408,788373503,DE -788373504,788374527,FR -788374528,788377599,BE +788373504,788377599,BE 788377600,788381695,CH 788381696,788385791,SE 788385792,788389887,PL @@ -18562,9 +18907,9 @@ 788508672,788509711,FR 788509712,788509951,AT 788509952,788509983,FR -788509984,788510168,AT -788510169,788510169,FR -788510170,788510191,AT +788509984,788510159,AT +788510160,788510175,FR +788510176,788510191,AT 788510192,788510719,FR 788510720,788512320,ES 788512321,788512383,NO @@ -18590,7 +18935,17 @@ 792002560,792068095,IT 792068096,792199167,CA 792199168,792330239,US -792330240,792723455,ES +792330240,792372223,ES +792372224,792373247,US +792373248,792389631,ES +792389632,792390655,US +792390656,792391679,ES +792391680,792395775,US +792395776,792430591,ES +792430592,792434687,US +792434688,792436735,ES +792436736,792444927,US +792444928,792723455,ES 792723456,793247743,DE 793247744,793313279,NZ 793313280,793378815,DE @@ -18734,9 +19089,7 @@ 832312320,832313343,ID 832313344,832315391,AU 832315392,832319487,KH -832319488,832319999,NU -832320000,832320255,NZ -832320256,832320511,NU +832319488,832320511,NU 832320512,832321535,VN 832321536,832323583,ID 832323584,832348159,IN @@ -18800,7 +19153,9 @@ 839016960,839017087,US 839017088,839026687,DE 839026688,839027711,US -839027712,839040599,DE +839027712,839039231,DE +839039232,839039487,US +839039488,839040599,DE 839040600,839040607,US 839040608,839041023,DE 839041024,839042047,US @@ -18814,7 +19169,9 @@ 839116544,839116799,US 839116800,839117823,DE 839117824,839118847,US -839118848,839119871,DE +839118848,839119359,DE +839119360,839119615,US +839119616,839119871,DE 839119872,839120895,US 839120896,839122943,DE 839122944,839340031,US @@ -18826,7 +19183,8 @@ 839348480,839348735,AT 839348736,839348991,GB 839348992,839349247,AT -839349248,839349759,DE +839349248,839349503,DE +839349504,839349759,FR 839349760,839350271,US 839350272,839351295,NL 839351296,839352063,DE @@ -18851,7 +19209,13 @@ 839370752,839371263,FR 839371264,839371775,GB 839371776,839372287,NL -839372288,839385087,CZ +839372288,839373311,ES +839373312,839373823,NL +839373824,839374335,GB +839374336,839376895,NL +839376896,839378431,CZ +839378432,839379455,NL +839379456,839385087,CZ 839385088,840269823,US 840269824,840273919,CA 840273920,840278015,US @@ -18874,7 +19238,9 @@ 844462880,844462880,CL 844462881,844890111,US 844890112,844988415,CA -844988416,845222689,US +844988416,844996607,US +844996608,845000703,CA +845000704,845222689,US 845222690,845222690,HK 845222691,845283327,US 845283328,845545471,CA @@ -18926,7 +19292,9 @@ 858128704,858128735,CZ 858128736,858128895,FR 858128896,858129023,BE -858129024,858131343,FR +858129024,858129599,FR +858129600,858129607,NL +858129608,858131343,FR 858131344,858131359,ES 858131360,858132831,FR 858132832,858132863,CZ @@ -18941,9 +19309,15 @@ 858136352,858136383,GB 858136384,858144767,FR 858144768,858145279,GB -858145280,858145695,FR +858145280,858145407,FR +858145408,858145471,GB +858145472,858145615,FR +858145616,858145631,GB +858145632,858145695,FR 858145696,858145727,GB -858145728,858145791,FR +858145728,858145759,FR +858145760,858145775,GB +858145776,858145791,FR 858145792,858146879,GB 858146880,858147135,FR 858147136,858147199,GB @@ -18971,19 +19345,27 @@ 858150272,858150335,GB 858150336,858150391,FR 858150392,858150463,GB -858150464,858150591,FR +858150464,858150479,FR +858150480,858150487,DE +858150488,858150559,FR +858150560,858150567,GB +858150568,858150591,FR 858150592,858150655,GB -858150656,858150783,FR -858150784,858150911,GB +858150656,858150687,FR +858150688,858150911,GB 858150912,858151295,FR 858151296,858151327,GB 858151328,858151455,FR 858151456,858151471,GB 858151472,858151615,FR 858151616,858151679,GB -858151680,858151999,FR +858151680,858151807,FR +858151808,858151823,GB +858151824,858151999,FR 858152000,858152063,GB -858152064,858152447,FR +858152064,858152379,FR +858152380,858152383,GB +858152384,858152447,FR 858152448,858152527,GB 858152528,858152639,FR 858152640,858152703,GB @@ -19009,9 +19391,13 @@ 858155888,858155919,LT 858155920,858155951,FR 858155952,858155967,BE -858155968,858156095,FR +858155968,858156007,FR +858156008,858156015,DE +858156016,858156095,FR 858156096,858156159,DE -858156160,858156303,FR +858156160,858156223,FR +858156224,858156287,DE +858156288,858156303,FR 858156304,858156319,PL 858156320,858156495,FR 858156496,858156511,NL @@ -19023,18 +19409,15 @@ 858156672,858156767,FR 858156768,858156783,CZ 858156784,858156863,FR -858156864,858157007,DE -858157008,858157019,FR +858156864,858156991,DE +858156992,858157019,FR 858157020,858157023,DE 858157024,858157047,FR 858157048,858157051,DE 858157052,858157055,FR -858157056,858157311,DE -858157312,858158079,UA +858157056,858158079,DE 858158080,858158095,FR -858158096,858158399,DE -858158400,858158463,FR -858158464,858158655,DE +858158096,858158655,DE 858158656,858158671,FI 858158672,858158687,GB 858158688,858158695,FR @@ -19048,7 +19431,9 @@ 858158976,858159039,DE 858159040,858159167,FR 858159168,858159231,DE -858159232,858159295,FR +858159232,858159247,FR +858159248,858159263,BE +858159264,858159295,FR 858159296,858159359,DE 858159360,858159627,FR 858159628,858159628,ES @@ -19068,7 +19453,9 @@ 858159764,858159767,DE 858159768,858159807,FR 858159808,858159871,DE -858159872,858159983,FR +858159872,858159943,FR +858159944,858159951,DE +858159952,858159983,FR 858159984,858159999,DE 858160000,858160015,IE 858160016,858160031,FR @@ -19079,29 +19466,41 @@ 858160072,858160127,FR 858160128,858161151,DE 858161152,858163199,PL -858163200,858164351,FR +858163200,858163487,FR +858163488,858163519,PL +858163520,858163727,FR +858163728,858163743,PL +858163744,858163823,FR +858163824,858163839,PL +858163840,858163935,FR +858163936,858163951,PL +858163952,858164351,FR 858164352,858164415,PL 858164416,858164735,FR 858164736,858164863,PL 858164864,858165119,FR 858165120,858165183,PL 858165184,858165247,FR -858165248,858165311,PL -858165312,858165375,FR +858165248,858165327,PL +858165328,858165375,FR 858165376,858165439,PL 858165440,858165823,FR 858165824,858165855,PL 858165856,858165887,FR 858165888,858165951,PL -858165952,858166207,FR -858166208,858166271,PL -858166272,858166975,FR +858165952,858166095,FR +858166096,858166111,PL +858166112,858166207,FR +858166208,858166783,PL +858166784,858166975,FR 858166976,858167039,PL 858167040,858167295,FR 858167296,858167359,PL 858167360,858167487,FR 858167488,858167551,PL -858167552,858167679,FR +858167552,858167615,FR +858167616,858167647,PL +858167648,858167679,FR 858167680,858167807,PL 858167808,858168063,FR 858168064,858168127,PL @@ -19113,19 +19512,25 @@ 858169280,858169343,PL 858169344,858169855,FR 858169856,858169983,ES -858169984,858170199,FR +858169984,858170159,FR +858170160,858170175,PL +858170176,858170199,FR 858170200,858170207,DE 858170208,858170623,FR 858170624,858170639,DE 858170640,858170751,FR 858170752,858170879,IT -858170880,858171023,FR +858170880,858170999,FR +858171000,858171003,DE +858171004,858171023,FR 858171024,858171039,GB 858171040,858171263,FR 858171264,858171279,IE 858171280,858171359,FR 858171360,858171391,NL -858171392,858173055,FR +858171392,858171775,FR +858171776,858171839,PL +858171840,858173055,FR 858173056,858173071,BE 858173072,858173207,FR 858173208,858173215,FI @@ -19133,9 +19538,7 @@ 858173228,858173231,BE 858173232,858178239,FR 858178240,858178271,GB -858178272,858178511,FR -858178512,858178519,GB -858178520,858179583,FR +858178272,858179583,FR 858179584,858179711,ES 858179712,858179727,FR 858179728,858179743,FI @@ -19144,7 +19547,9 @@ 858181248,858182399,FR 858182400,858182527,IT 858182528,858182655,ES -858182656,858183935,FR +858182656,858182911,FR +858182912,858182927,ES +858182928,858183935,FR 858183936,858183967,FI 858183968,858185087,FR 858185088,858185215,ES @@ -19169,7 +19574,11 @@ 860099328,860099455,IT 860099456,860100607,FR 860100608,860100735,ES -860100736,860108543,FR +860100736,860101543,FR +860101544,860101551,GB +860101552,860101611,FR +860101612,860101615,PL +860101616,860108543,FR 860108544,860108671,NL 860108672,860109695,FR 860109696,860109823,NL @@ -19177,7 +19586,8 @@ 860110208,860110215,DE 860110216,860110287,FR 860110288,860110295,DE -860110296,860110355,FR +860110296,860110299,PL +860110300,860110355,FR 860110356,860110359,DE 860110360,860110519,FR 860110520,860110523,GB @@ -19214,15 +19624,25 @@ 860128000,860128063,PL 860128064,860128127,FR 860128128,860128191,PL -860128192,860128383,FR -860128384,860128447,PL -860128448,860128639,FR +860128192,860128215,FR +860128216,860128219,PL +860128220,860128319,FR +860128320,860128327,PL +860128328,860128383,FR +860128384,860128479,PL +860128480,860128639,FR 860128640,860128703,PL 860128704,860128711,FR 860128712,860128715,PL -860128716,860128831,FR -860128832,860128895,PL -860128896,860129087,FR +860128716,860128719,FR +860128720,860128735,PL +860128736,860128747,FR +860128748,860128751,PL +860128752,860128767,FR +860128768,860128959,PL +860128960,860129055,FR +860129056,860129071,PL +860129072,860129087,FR 860129088,860129215,PL 860129216,860129279,FR 860129280,860135423,PL @@ -19234,13 +19654,15 @@ 860135552,860135615,DE 860135616,860135631,FR 860135632,860135647,GB -860135648,860135663,FR +860135648,860135663,PL 860135664,860135671,DE 860135672,860135679,FR 860135680,860135695,PT 860135696,860135967,FR 860135968,860135983,DE -860135984,860136095,FR +860135984,860135999,FR +860136000,860136015,IT +860136016,860136095,FR 860136096,860136111,FI 860136112,860136127,FR 860136128,860136255,DE @@ -19248,9 +19670,7 @@ 860136272,860136319,DE 860136320,860136351,FR 860136352,860136367,CZ -860136368,860136383,FR -860136384,860136399,DE -860136400,860136431,FR +860136368,860136431,FR 860136432,860136447,GB 860136448,860137727,DE 860137728,860137999,FR @@ -19273,8 +19693,8 @@ 860139520,860139663,FR 860139664,860139667,GB 860139668,860139711,FR -860139712,860139839,DE -860139840,860140031,FR +860139712,860139871,DE +860139872,860140031,FR 860140032,860140111,DE 860140112,860140159,FR 860140160,860140239,DE @@ -19314,8 +19734,7 @@ 860142096,860142111,ES 860142112,860142127,DE 860142128,860142143,NL -860142144,860142159,DE -860142160,860142207,FR +860142144,860142207,FR 860142208,860142271,DE 860142272,860142335,FR 860142336,860142351,GB @@ -19327,22 +19746,36 @@ 860143680,860143743,GB 860143744,860143871,FR 860143872,860143999,GB -860144000,860144319,FR -860144320,860144383,GB -860144384,860144639,FR -860144640,860145663,GB -860145664,860147711,FR -860147712,860147775,GB +860144000,860144063,FR +860144064,860144127,GB +860144128,860144319,FR +860144320,860144447,GB +860144448,860144511,FR +860144512,860144575,GB +860144576,860144639,FR +860144640,860145855,GB +860145856,860145871,FR +860145872,860145903,GB +860145904,860145919,FR +860145920,860145983,GB +860145984,860145999,FR +860146000,860146015,GB +860146016,860146031,FR +860146032,860146063,GB +860146064,860146447,FR +860146448,860146463,GB +860146464,860146591,FR +860146592,860146607,GB +860146608,860146623,FR +860146624,860147775,GB 860147776,860147903,FR -860147904,860147967,GB -860147968,860148287,FR -860148288,860148351,GB +860147904,860148031,GB +860148032,860148223,FR +860148224,860148351,GB 860148352,860148415,FR 860148416,860148479,GB 860148480,860148735,FR -860148736,860149759,GB -860149760,860149887,FR -860149888,860149951,GB +860148736,860149951,GB 860149952,860149999,FR 860150000,860150015,GB 860150016,860150631,FR @@ -19359,31 +19792,67 @@ 860561472,860561535,PL 860561536,860561599,FR 860561600,860561663,PL -860561664,860565823,FR +860561664,860561807,FR +860561808,860561811,PL +860561812,860561919,FR +860561920,860562111,PL +860562112,860562239,FR +860562240,860562303,PL +860562304,860562431,FR +860562432,860562559,PL +860562560,860562687,FR +860562688,860562751,PL +860562752,860562815,FR +860562816,860562831,PL +860562832,860562879,FR +860562880,860562943,PL +860562944,860563263,FR +860563264,860563327,PL +860563328,860563919,FR +860563920,860563935,PL +860563936,860563967,FR +860563968,860564031,PL +860564032,860564095,FR +860564096,860564159,PL +860564160,860564223,FR +860564224,860564287,PL +860564288,860564411,FR +860564412,860564415,PL +860564416,860565823,FR 860565824,860565951,PL -860565952,860566079,FR -860566080,860566143,PL -860566144,860566527,FR +860565952,860566071,FR +860566072,860566207,PL +860566208,860566527,FR 860566528,860567551,PL 860567552,860567615,FR 860567616,860567679,PL -860567680,860567807,FR -860567808,860567999,PL +860567680,860567711,FR +860567712,860567743,PL +860567744,860567803,FR +860567804,860567999,PL 860568000,860568051,FR 860568052,860568052,PL 860568053,860568063,FR 860568064,860568127,PL -860568128,860568383,FR +860568128,860568143,FR +860568144,860568223,PL +860568224,860568383,FR 860568384,860568447,PL 860568448,860568511,FR -860568512,860568575,PL -860568576,860569599,FR +860568512,860568831,PL +860568832,860569087,FR +860569088,860569599,PL 860569600,860573951,DE -860573952,860574367,FR +860573952,860574207,FR +860574208,860574271,DE +860574272,860574367,FR 860574368,860574383,ES 860574384,860574463,FR 860574464,860574527,DE -860574528,860574783,FR +860574528,860574559,FR +860574560,860574575,CZ +860574576,860574591,GB +860574592,860574783,FR 860574784,860574799,CZ 860574800,860574831,FR 860574832,860574847,BE @@ -19395,13 +19864,142 @@ 860575088,860575103,PL 860575104,860575183,FR 860575184,860575199,NL -860575200,860575743,FR +860575200,860575231,FR +860575232,860575263,DE +860575264,860575295,FR +860575296,860575311,BE +860575312,860575343,GB +860575344,860575359,IT +860575360,860575375,GB +860575376,860575391,ES +860575392,860575423,FR +860575424,860575551,DE +860575552,860575567,FR +860575568,860575583,BE +860575584,860575727,FR +860575728,860575743,BE 860575744,860577791,DE -860577792,860579455,FR +860577792,860578175,FR +860578176,860578239,GB +860578240,860579455,FR 860579456,860579583,BE -860579584,860618751,FR +860579584,860580191,FR +860580192,860580223,GB +860580224,860580351,FR +860580352,860580607,DE +860580608,860580735,ES +860580736,860581087,FR +860581088,860581103,LT +860581104,860590079,FR +860590080,860591103,DE +860591104,860591423,FR +860591424,860591439,NL +860591440,860591519,FR +860591520,860591535,ES +860591536,860591935,FR +860591936,860591999,DE +860592000,860592015,BE +860592016,860592031,NL +860592032,860592079,FR +860592080,860592095,DE +860592096,860592127,FR +860592128,860592383,DE +860592384,860592399,FR +860592400,860592415,FI +860592416,860592511,DE +860592512,860592527,FR +860592528,860592543,CZ +860592544,860592703,FR +860592704,860592767,DE +860592768,860592831,FR +860592832,860592847,GB +860592848,860592863,DE +860592864,860592927,FR +860592928,860592943,DE +860592944,860593007,FR +860593008,860593023,IT +860593024,860593263,FR +860593264,860593279,ES +860593280,860593311,DE +860593312,860593343,FR +860593344,860593471,DE +860593472,860593535,FR +860593536,860593663,DE +860593664,860593919,FR +860593920,860593935,NL +860593936,860594015,FR +860594016,860594031,DE +860594032,860594175,FR +860594176,860595263,GB +860595264,860595519,FR +860595520,860595679,GB +860595680,860595839,FR +860595840,860595919,GB +860595920,860595967,FR +860595968,860596015,GB +860596016,860596127,FR +860596128,860596159,GB +860596160,860596223,FR +860596224,860597247,GB +860597248,860597503,FR +860597504,860597567,GB +860597568,860597711,FR +860597712,860597715,GB +860597716,860597759,FR +860597760,860597855,GB +860597856,860597951,FR +860597952,860598015,GB +860598016,860601279,FR +860601280,860601295,GB +860601296,860601663,FR +860601664,860601679,ES +860601680,860609039,FR +860609040,860609055,NL +860609056,860609607,FR +860609608,860609615,NL +860609616,860610415,FR +860610416,860610431,GB +860610432,860611279,FR +860611280,860611295,FI +860611296,860611807,FR +860611808,860611839,FI +860611840,860612815,FR +860612816,860612831,ES +860612832,860613551,FR +860613552,860613567,LT +860613568,860614191,FR +860614192,860614207,ES +860614208,860618751,FR 860618752,860684287,GB -860684288,860749823,FR +860684288,860685919,FR +860685920,860685951,FI +860685952,860687215,FR +860687216,860687231,LT +860687232,860704767,FR +860704768,860705023,DE +860705024,860705199,FR +860705200,860705215,IT +860705216,860705791,FR +860705792,860706047,DE +860706048,860706303,FR +860706304,860706815,DE +860706816,860713167,FR +860713168,860713215,GB +860713216,860713263,FR +860713264,860713279,GB +860713280,860713663,FR +860713664,860713679,GB +860713680,860713695,FR +860713696,860714495,GB +860714496,860715007,FR +860715008,860715071,GB +860715072,860715183,FR +860715184,860715191,GB +860715192,860715247,FR +860715248,860715263,GB +860715264,860715519,FR +860715520,860715647,GB +860715648,860749823,FR 860749824,860815359,GB 860815360,860880895,FR 860880896,860905167,GB @@ -19557,7 +20155,8 @@ 872303008,872303039,IT 872303040,872303055,FR 872303056,872303071,CZ -872303072,872303103,FR +872303072,872303087,PL +872303088,872303103,FR 872303104,872303359,GB 872303360,872303679,FR 872303680,872303743,IT @@ -19735,7 +20334,8 @@ 872341872,872341879,GB 872341880,872341887,FR 872341888,872341903,ES -872341904,872342255,FR +872341904,872341919,PL +872341920,872342255,FR 872342256,872342271,IT 872342272,872342335,FR 872342336,872342367,ES @@ -19838,7 +20438,9 @@ 872356416,872356479,DE 872356480,872356671,FR 872356672,872356735,IT -872356736,872357423,FR +872356736,872357199,FR +872357200,872357215,PL +872357216,872357423,FR 872357424,872357439,PT 872357440,872357503,ES 872357504,872357671,FR @@ -19879,9 +20481,13 @@ 872374592,872374655,ES 872374656,872374683,FR 872374684,872374687,ES -872374688,872375007,FR +872374688,872374919,FR +872374920,872374923,ES +872374924,872375007,FR 872375008,872375039,PT -872375040,872375295,FR +872375040,872375167,FR +872375168,872375183,PL +872375184,872375295,FR 872375296,872375423,NL 872375424,872376191,FR 872376192,872376319,GB @@ -19894,7 +20500,9 @@ 872377344,872377919,FR 872377920,872377983,BE 872377984,872378047,IE -872378048,872378207,FR +872378048,872378083,FR +872378084,872378087,PL +872378088,872378207,FR 872378208,872378239,IT 872378240,872378447,FR 872378448,872378463,CZ @@ -19908,7 +20516,8 @@ 872379776,872379903,IT 872379904,872379967,FR 872379968,872380031,NL -872380032,872380143,FR +872380032,872380047,PL +872380048,872380143,FR 872380144,872380147,DE 872380148,872380247,FR 872380248,872380248,ES @@ -19924,7 +20533,9 @@ 872381344,872381375,PL 872381376,872381583,FR 872381584,872381599,DE -872381600,872382143,FR +872381600,872381647,FR +872381648,872381651,DE +872381652,872382143,FR 872382144,872382207,ES 872382208,872382335,FR 872382336,872382463,GB @@ -19933,9 +20544,12 @@ 872382720,872382779,FR 872382780,872382783,ES 872382784,872382847,DE -872382848,872383327,FR +872382848,872383055,FR +872383056,872383071,LT +872383072,872383327,FR 872383328,872383359,PL -872383360,872383519,FR +872383360,872383503,FR +872383504,872383519,PL 872383520,872383551,ES 872383552,872383583,GB 872383584,872383743,FR @@ -20082,7 +20696,9 @@ 872408912,872409151,FR 872409152,872409215,DE 872409216,872409343,GB -872409344,872409631,FR +872409344,872409359,FR +872409360,872409375,PL +872409376,872409631,FR 872409632,872409663,IT 872409664,872409679,FR 872409680,872409683,ES @@ -20170,9 +20786,13 @@ 878515180,878515181,SG 878515182,878515469,US 878515470,878515471,IE -878515472,878522389,US +878515472,878522367,US +878522368,878522389,IE 878522390,878522391,DE -878522392,878538785,US +878522392,878522623,IE +878522624,878534655,US +878534656,878534911,IE +878534912,878538785,US 878538786,878538787,IE 878538788,878545659,US 878545660,878545661,GB @@ -20289,7 +20909,8 @@ 878699008,878699263,US 878699264,878699519,SE 878699520,878699775,BH -878699776,878702591,US +878699776,878702335,US +878702336,878702591,GB 878702592,878702847,BR 878702848,878703103,AU 878703104,878703359,SG @@ -20313,15 +20934,19 @@ 878706576,878706591,CN 878706592,878706703,US 878706704,878706719,BR -878706720,878772223,US +878706720,878719551,US +878719552,878719631,CA +878719632,878719743,US +878719744,878720255,CA +878720256,878772223,US 878772224,878772239,BR 878772240,878772255,US 878772256,878772287,CL 878772288,878772735,BR 878772736,878788623,US -878788624,878788671,BR -878788672,878788863,US -878788864,878791935,BR +878788624,878788703,BR +878788704,878788735,US +878788736,878791935,BR 878791936,878804991,US 878804992,878805247,AT 878805248,878806015,GB @@ -20364,11 +20989,22 @@ 878815104,878815167,AT 878815168,878815191,IE 878815192,878815271,NL -878815272,878815295,US +878815272,878815279,IE +878815280,878815295,NL 878815296,878815423,AT 878815424,878815519,NL -878815520,878815615,IE -878815616,878821375,US +878815520,878815775,IE +878815776,878815839,NL +878815840,878815855,IE +878815856,878815871,AT +878815872,878816127,NL +878816128,878816191,IE +878816192,878816231,NL +878816232,878816255,US +878816256,878816383,AT +878816384,878816511,NL +878816512,878816543,FR +878816544,878821375,US 878821376,878821695,NL 878821696,878821759,US 878821760,878822655,NL @@ -20377,18 +21013,20 @@ 878837776,878837887,US 878837888,878839039,AU 878839040,878841855,US -878841856,878841951,ZA -878841952,878845951,US +878841856,878842431,ZA +878842432,878845951,US 878845952,878845983,AE 878845984,878845991,JP -878845992,878845999,US +878845992,878845999,SG 878846000,878846015,AE 878846016,878846079,KR 878846080,878846143,HK 878846144,878846159,AE -878846160,878846175,US +878846160,878846175,SG 878846176,878846239,AE -878846240,878854143,US +878846240,878846591,SG +878846592,878846623,AE +878846624,878854143,US 878854144,878854207,JP 878854208,878854399,HK 878854400,878854783,SG @@ -20425,11 +21063,53 @@ 878862976,878863103,SG 878863104,878863359,HK 878863360,878863999,SG -878864000,879053823,US +878864000,878973183,US +878973184,878973695,CA +878973696,879005951,US +879005952,879006463,CA +879006464,879050751,US +879050752,879051007,IE +879051008,879051263,FI +879051264,879051519,AT +879051520,879051775,NL +879051776,879052031,FI +879052032,879052287,AT +879052288,879052543,NL +879052544,879052799,IE +879052800,879053055,AT +879053056,879053311,FI +879053312,879053567,IE +879053568,879053823,AT 879053824,879054335,FR -879054336,879070207,US +879054336,879054847,GB +879054848,879067135,US +879067136,879067391,IE +879067392,879067647,FI +879067648,879067903,AT +879067904,879068159,NL +879068160,879068415,FI +879068416,879068671,AT +879068672,879068927,NL +879068928,879069183,IE +879069184,879069439,AT +879069440,879069695,FI +879069696,879069951,IE +879069952,879070207,AT 879070208,879070719,FR -879070720,879230975,US +879070720,879071231,GB +879071232,879198463,US +879198464,879198719,KR +879198720,879200255,US +879200256,879200767,IN +879200768,879201279,US +879201280,879201791,KR +879201792,879214847,US +879214848,879215103,KR +879215104,879216639,US +879216640,879217151,IN +879217152,879217663,US +879217664,879218175,KR +879218176,879230975,US 879230976,879231231,CA 879231232,879231743,US 879231744,879231999,CA @@ -20523,8 +21203,7 @@ 879808768,879808895,IE 879808896,879808959,NL 879808960,879809023,IE -879809024,879820799,US -879820800,879820927,KR +879809024,879820927,US 879820928,879821055,HK 879821056,879821311,SG 879821312,879821439,KR @@ -20547,8 +21226,7 @@ 879829760,879829887,AU 879829888,879830015,IN 879830016,879830271,KR -879830272,879837183,US -879837184,879837247,KR +879830272,879837247,US 879837248,879837311,HK 879837312,879837439,SG 879837440,879837503,KR @@ -20596,7 +21274,7 @@ 879955968,879959039,IE 879959040,879960063,US 879960064,879961599,SG -879961600,879962111,US +879961600,879962111,JP 879962112,879963647,HK 879963648,880216831,US 880216832,880217087,CA @@ -20653,9 +21331,10 @@ 881334272,881334527,IN 881334528,881334783,AU 881334784,881335039,SG -881335040,881335295,US +881335040,881335295,CA 881335296,881335551,FR -881335552,881336319,US +881335552,881336063,US +881336064,881336319,JP 881336320,881344511,IN 881344512,881360895,US 881360896,881377279,FR @@ -20710,7 +21389,11 @@ 881906368,881906495,DE 881906496,881906559,US 881906560,881906635,GB -881906636,881909823,US +881906636,881907647,US +881907648,881907659,SE +881907660,881907711,US +881907712,881907723,SE +881907724,881909823,US 881909824,881909887,AU 881909888,881909951,SG 881909952,881910079,US @@ -20795,7 +21478,8 @@ 886833152,886964223,SG 886964224,887078911,US 887078912,887083007,NL -887083008,887357439,US +887083008,887085055,BR +887085056,887357439,US 887357440,887390207,CA 887390208,887439359,US 887439360,887455743,CA @@ -20872,8 +21556,10 @@ 888136448,888136703,SG 888136704,888137471,US 888137472,888137727,GB -888137728,888137791,ZA -888137792,888137983,US +888137728,888137823,ZA +888137824,888137855,US +888137856,888137887,ZA +888137888,888137983,US 888137984,888138239,AE 888138240,888139775,US 888139776,888140031,GB @@ -20921,7 +21607,9 @@ 888758272,889016319,US 889016320,889020415,SG 889020416,889028607,JP -889028608,889135103,US +889028608,889037055,US +889037056,889037311,JP +889037312,889135103,US 889135104,889143295,AU 889143296,889192447,US 889192448,905969663,DE @@ -20990,7 +21678,9 @@ 908339976,908339983,ES 908339984,908340015,FR 908340016,908340031,DE -908340032,908340079,FR +908340032,908340039,FR +908340040,908340047,PL +908340048,908340079,FR 908340080,908340095,LT 908340096,908340223,GB 908340224,908340479,FR @@ -21001,7 +21691,9 @@ 908341208,908341215,ES 908341216,908345343,FR 908345344,908345359,ES -908345360,908345447,FR +908345360,908345407,FR +908345408,908345439,PL +908345440,908345447,FR 908345448,908345455,ES 908345456,908345527,FR 908345528,908345535,ES @@ -21154,7 +21846,9 @@ 908371968,908374015,PL 908374016,908376127,FR 908376128,908376255,PL -908376256,908376591,FR +908376256,908376543,FR +908376544,908376575,PL +908376576,908376591,FR 908376592,908376599,PL 908376600,908376767,FR 908376768,908376895,PL @@ -21240,10 +21934,14 @@ 908386992,908387023,FR 908387024,908387027,GB 908387028,908387071,FR -908387072,908387135,GB -908387136,908387151,FR -908387152,908387167,GB -908387168,908387775,FR +908387072,908387167,GB +908387168,908387231,FR +908387232,908387263,GB +908387264,908387275,FR +908387276,908387279,GB +908387280,908387391,FR +908387392,908387407,GB +908387408,908387775,FR 908387776,908387855,GB 908387856,908387903,FR 908387904,908387967,GB @@ -21253,7 +21951,8 @@ 908388432,908388447,DE 908388448,908388559,FR 908388560,908388575,CZ -908388576,908388879,FR +908388576,908388607,DE +908388608,908388879,FR 908388880,908388887,DE 908388888,908389055,FR 908389056,908389375,DE @@ -21346,11 +22045,13 @@ 908417712,908417727,DE 908417728,908417791,FR 908417792,908417919,DE -908417920,908418175,FR +908417920,908417991,FR +908417992,908417999,DE +908418000,908418175,FR 908418176,908418239,DE 908418240,908418751,FR -908418752,908418815,DE -908418816,908419327,FR +908418752,908418943,DE +908418944,908419327,FR 908419328,908419455,ES 908419456,908419495,FR 908419496,908419503,ES @@ -21430,7 +22131,8 @@ 908427152,908427231,FR 908427232,908427247,DE 908427248,908427263,ES -908427264,908428351,FR +908427264,908428287,PL +908428288,908428351,FR 908428352,908428415,PL 908428416,908428671,FR 908428672,908428735,PL @@ -21438,7 +22140,9 @@ 908428800,908428863,PL 908428864,908429311,FR 908429312,908430335,PL -908430336,908430847,FR +908430336,908430787,FR +908430788,908430791,PL +908430792,908430847,FR 908430848,908430911,PL 908430912,908431167,FR 908431168,908431231,PL @@ -21498,7 +22202,11 @@ 908441312,908441343,CZ 908441344,908443263,FR 908443264,908443391,BE -908443392,908444127,FR +908443392,908443567,FR +908443568,908443583,IT +908443584,908443775,FR +908443776,908443783,DE +908443784,908444127,FR 908444128,908444135,DE 908444136,908444159,FR 908444160,908444223,DE @@ -21508,8 +22216,7 @@ 908444688,908444703,NL 908444704,908444719,FR 908444720,908444735,CZ -908444736,908444799,FR -908444800,908444863,DE +908444736,908444863,DE 908444864,908444927,FR 908444928,908444991,DE 908444992,908445375,FR @@ -21520,7 +22227,9 @@ 908445632,908445647,LT 908445648,908445695,FR 908445696,908445823,DE -908445824,908445887,FR +908445824,908445839,FR +908445840,908445855,BE +908445856,908445887,FR 908445888,908445951,DE 908445952,908446335,FR 908446336,908446399,DE @@ -21532,7 +22241,11 @@ 908447344,908447351,DE 908447352,908447423,FR 908447424,908447503,DE -908447504,908447647,FR +908447504,908447519,FR +908447520,908447535,GB +908447536,908447551,NL +908447552,908447583,IT +908447584,908447647,FR 908447648,908447743,DE 908447744,908447903,FR 908447904,908447919,GB @@ -21546,9 +22259,13 @@ 908455168,908455231,PL 908455232,908455487,FR 908455488,908455551,PL -908455552,908456351,FR -908456352,908456447,GB -908456448,908456831,FR +908455552,908455871,FR +908455872,908455935,PL +908455936,908456127,FR +908456128,908456143,GB +908456144,908456351,FR +908456352,908456463,GB +908456464,908456831,FR 908456832,908457535,GB 908457536,908461143,FR 908461144,908461147,ES @@ -21568,21 +22285,27 @@ 908472704,908472767,PL 908472768,908472831,FR 908472832,908472991,PL -908472992,908473023,FR +908472992,908473011,FR +908473012,908473015,PL +908473016,908473023,FR 908473024,908473087,PL -908473088,908473215,FR -908473216,908473231,PL -908473232,908473343,FR +908473088,908473343,FR 908473344,908474367,PL 908474368,908474431,FR 908474432,908474495,PL -908474496,908474815,FR +908474496,908474783,FR +908474784,908474787,PL +908474788,908474815,FR 908474816,908475007,PL 908475008,908475071,FR 908475072,908475135,PL -908475136,908475455,FR +908475136,908475151,FR +908475152,908475155,PL +908475156,908475455,FR 908475456,908475583,PL -908475584,908475711,FR +908475584,908475599,FR +908475600,908475603,PL +908475604,908475711,FR 908475712,908476223,PL 908476224,908478527,FR 908478528,908478655,GB @@ -21608,7 +22331,9 @@ 908485648,908485663,DE 908485664,908488959,FR 908488960,908489215,ES -908489216,908491167,FR +908489216,908490223,FR +908490224,908490239,IE +908490240,908491167,FR 908491168,908491199,CZ 908491200,908491391,FR 908491392,908491519,ES @@ -21618,25 +22343,35 @@ 908492032,908492159,BE 908492160,908492575,FR 908492576,908492607,CZ -908492608,908493567,FR +908492608,908492799,FR +908492800,908493311,PL +908493312,908493567,FR 908493568,908493631,PL 908493632,908493695,FR 908493696,908493759,PL -908493760,908493823,FR -908493824,908494015,PL +908493760,908493791,FR +908493792,908494015,PL 908494016,908494143,FR 908494144,908494207,PL 908494208,908494335,FR 908494336,908494399,PL -908494400,908494527,FR +908494400,908494431,FR +908494432,908494463,PL +908494464,908494527,FR 908494528,908494655,PL -908494656,908494847,FR +908494656,908494751,FR +908494752,908494767,PL +908494768,908494783,FR +908494784,908494799,PL +908494800,908494847,FR 908494848,908495935,PL 908495936,908496511,FR 908496512,908496575,PL -908496576,908496703,FR -908496704,908496767,PL -908496768,908496895,FR +908496576,908496607,FR +908496608,908496639,PL +908496640,908496703,FR +908496704,908496783,PL +908496784,908496895,FR 908496896,908496959,GB 908496960,908497023,FR 908497024,908497151,GB @@ -21670,9 +22405,11 @@ 908509184,908510207,PL 908510208,908510783,FR 908510784,908510847,PL -908510848,908510911,FR -908510912,908510975,PL -908510976,908511487,FR +908510848,908510879,FR +908510880,908510975,PL +908510976,908511039,FR +908511040,908511199,PL +908511200,908511487,FR 908511488,908511551,PL 908511552,908511615,FR 908511616,908511679,PL @@ -21688,7 +22425,9 @@ 908512832,908512895,PL 908512896,908513023,FR 908513024,908513087,PL -908513088,908513343,FR +908513088,908513183,FR +908513184,908513199,PL +908513200,908513343,FR 908513344,908513375,GB 908513376,908513535,FR 908513536,908513727,GB @@ -21700,22 +22439,28 @@ 908514240,908514367,GB 908514368,908514495,FR 908514496,908514591,GB -908514592,908514687,FR +908514592,908514655,FR +908514656,908514659,GB +908514660,908514687,FR 908514688,908515327,GB 908515328,908515455,DE 908515456,908515587,FR 908515588,908515588,DE -908515589,908515711,FR +908515589,908515679,FR +908515680,908515695,BE +908515696,908515711,FR 908515712,908515839,DE 908515840,908516255,FR 908516256,908516271,DE 908516272,908516303,FR 908516304,908516319,DE -908516320,908516367,FR +908516320,908516359,FR +908516360,908516367,DE 908516368,908516383,IT 908516384,908516415,FR 908516416,908516607,DE -908516608,908516671,FR +908516608,908516623,IE +908516624,908516671,FR 908516672,908516675,DE 908516676,908516735,FR 908516736,908516799,DE @@ -21871,9 +22616,7 @@ 959447040,959512575,US 959512576,960495615,BE 960495616,960626687,FR -960626688,960658463,GB -960658464,960658495,US -960658496,960659455,GB +960626688,960659455,GB 960659456,960662783,DE 960662784,960663039,FR 960663040,960676607,DE @@ -21914,7 +22657,9 @@ 961052672,961085439,JP 961085440,961092095,SG 961092096,961092351,IN -961092352,961118207,SG +961092352,961094719,SG +961094720,961094783,ID +961094784,961118207,SG 961118208,961126399,MY 961126400,961134591,TW 961134592,961142783,KR @@ -21975,7 +22720,7 @@ 961757184,961761279,GA 961761280,961765375,GH 961765376,961769471,GN -961769472,961773567,GW +961769472,961773567,FR 961773568,961777663,CI 961777664,961781759,KE 961781760,961785855,LS @@ -22117,9 +22862,7 @@ 962732032,962740223,DE 962740224,962744319,SE 962744320,962746367,FR -962746368,962748233,NL -962748234,962748235,BE -962748236,962748415,NL +962746368,962748415,NL 962748416,962752511,BH 962752512,962756607,ZA 962756608,962854911,FR @@ -22134,20 +22877,21 @@ 965150120,968638207,BE 968638208,968638463,IN 968638464,968753151,BE -968753152,968757247,NL +968753152,968753407,NL +968753408,968753663,GB +968753664,968757247,NL 968757248,968818687,CH 968818688,968819711,DE 968819712,968851455,BE 968851456,968852479,US 968852480,968884223,BE -968884224,969226751,FR -969226752,969227007,HK -969227008,969227263,US -969227264,969227519,GB -969227520,969227775,FR -969227776,969228031,SG -969228032,969228287,NL -969228288,970981375,FR +968884224,970218032,FR +970218033,970218034,HK +970218035,970253544,FR +970253545,970253546,AU +970253547,970476045,FR +970476046,970476046,JP +970476047,970981375,FR 970981376,973078527,BE 973078528,973209599,JP 973209600,973275135,IN @@ -22182,7 +22926,13 @@ 978321408,978452479,JP 978452480,978485247,CN 978485248,978501631,TH -978501632,978518015,HK +978501632,978504447,HK +978504448,978504959,JP +978504960,978505983,HK +978505984,978506495,PH +978506496,978514431,HK +978514432,978514943,PH +978514944,978518015,HK 978518016,978583551,CN 978583552,978584575,VN 978584576,978585599,HK @@ -22477,12 +23227,11 @@ 1024332800,1024333823,AU 1024333824,1024334847,US 1024334848,1024335871,SG -1024335872,1024336127,AU +1024335872,1024336127,US 1024336128,1024336383,SG -1024336384,1024337919,AU -1024337920,1024338943,US -1024338944,1024340991,ZA -1024340992,1024344063,US +1024336384,1024338943,US +1024338944,1024342015,ZA +1024342016,1024344063,US 1024344064,1024352255,SG 1024352256,1024360447,AU 1024360448,1024361135,JP @@ -22493,16 +23242,14 @@ 1024361808,1024361823,TW 1024361824,1024362495,JP 1024362496,1024363519,SG -1024363520,1024364063,JP -1024364064,1024364079,AU -1024364080,1024365727,JP +1024363520,1024365727,JP 1024365728,1024365759,SG 1024365760,1024368895,JP 1024368896,1024368896,HK -1024368897,1024371199,JP -1024371200,1024371455,PH -1024371456,1024372479,JP -1024372480,1024372735,HK +1024368897,1024372479,JP +1024372480,1024372543,SG +1024372544,1024372639,HK +1024372640,1024372735,SG 1024372736,1024373263,JP 1024373264,1024373279,HK 1024373280,1024376831,JP @@ -22524,14 +23271,14 @@ 1024786432,1025245183,JP 1025245184,1025277951,CN 1025277952,1025294335,PH -1025294336,1025294591,AU -1025294592,1025294847,SG +1025294336,1025294847,SG 1025294848,1025295615,AU 1025295616,1025295871,PH 1025295872,1025296127,AU 1025296128,1025296639,FR -1025296640,1025298943,AU -1025298944,1025299199,AE +1025296640,1025296895,AU +1025296896,1025297407,SG +1025297408,1025299199,AU 1025299200,1025299327,IN 1025299328,1025299455,AU 1025299456,1025299711,CN @@ -22593,7 +23340,9 @@ 1026523136,1026539519,CN 1026539520,1026555903,KR 1026555904,1027080191,CN -1027080192,1027866623,TW +1027080192,1027268607,TW +1027268608,1027276799,CN +1027276800,1027866623,TW 1027866624,1027997695,AU 1027997696,1028128767,TW 1028128768,1029046271,KR @@ -22639,8 +23388,12 @@ 1039654912,1039663103,IN 1039663104,1040187391,KR 1040187392,1040252927,IL -1040252928,1040318463,GR -1040318464,1040383999,CH +1040252928,1040259583,GR +1040259584,1040259839,NO +1040259840,1040318463,GR +1040318464,1040354815,CH +1040354816,1040355327,DE +1040355328,1040383999,CH 1040384000,1040392191,SA 1040392192,1040392447,GB 1040392448,1040397823,SA @@ -22656,7 +23409,8 @@ 1040433152,1040449535,GB 1040449536,1040457727,FR 1040457728,1040465919,ME -1040465920,1040474111,DE +1040465920,1040466175,DE +1040473344,1040473599,DE 1040474112,1040477183,CZ 1040477184,1040477184,KG 1040477185,1040477951,CZ @@ -22673,14 +23427,14 @@ 1040525312,1040526335,SE 1040526336,1040527359,GB 1040527360,1040528383,SE -1040528384,1040536575,GB -1040536576,1040537599,SE -1040537600,1040538623,GB +1040528384,1040531455,GB +1040531456,1040532479,SE +1040532480,1040538623,GB 1040538624,1040539647,SE -1040539648,1040540671,GB -1040540672,1040542719,SE -1040542720,1040543743,GB -1040543744,1040546815,SE +1040539648,1040541695,GB +1040541696,1040542719,SE +1040542720,1040545791,GB +1040545792,1040546815,SE 1040546816,1040547839,GB 1040547840,1040580607,RU 1040580608,1040711679,GB @@ -22721,15 +23475,15 @@ 1041284096,1041294847,NO 1041294848,1041295103,SJ 1041295104,1041301503,NO -1041301504,1041342463,IE -1041342464,1041344511,FR -1041344512,1041367039,IE +1041301504,1041367039,IE 1041367040,1041498111,IT 1041498112,1041563647,SE 1041563648,1041596415,PL 1041596416,1041629183,NL 1041629184,1041694719,ES -1041694720,1041730559,FR +1041694720,1041727487,FR +1041727488,1041727743,IE +1041727744,1041730559,FR 1041730560,1041731071,IT 1041731072,1041739775,FR 1041739776,1041740031,IT @@ -22739,14 +23493,15 @@ 1041742336,1041742591,ES 1041742592,1041746431,FR 1041746432,1041746687,DE -1041746688,1041747967,FR +1041746688,1041747711,FR +1041747712,1041747967,GB 1041747968,1041748479,DE 1041748480,1041748969,FR 1041748970,1041748970,DE 1041748971,1041752319,FR 1041752320,1041752575,AT -1041752576,1041755903,FR -1041755904,1041756159,DE +1041752576,1041755135,FR +1041755136,1041756159,DE 1041756160,1041758463,FR 1041758464,1041758719,ES 1041758720,1041760255,FR @@ -22812,9 +23567,9 @@ 1043349504,1043357695,DE 1043357696,1043365887,CH 1043365888,1043398655,PT -1043398656,1043464191,GB -1043464192,1043472383,NL -1043472384,1043483391,GB +1043398656,1043465839,GB +1043465840,1043465847,NL +1043465848,1043483391,GB 1043483392,1043483423,CH 1043483424,1043488767,GB 1043488768,1043496959,DE @@ -22825,7 +23580,9 @@ 1043595264,1043661567,DE 1043661568,1043661823,GB 1043661824,1043857407,DE -1043857408,1043899391,GB +1043857408,1043896319,GB +1043896320,1043898367,FR +1043898368,1043899391,GB 1043899392,1043899647,CG 1043899648,1043919442,GB 1043919443,1043919443,SS @@ -22833,11 +23590,13 @@ 1043920896,1043921919,UG 1043921920,1043922943,IL 1043922944,1043988479,ES -1043988480,1044013055,NL -1044013056,1044021247,BE -1044021248,1044119551,NL +1043988480,1044119551,NL 1044119552,1044152319,GB -1044152320,1044185087,IR +1044152320,1044158463,IR +1044158464,1044168703,BG +1044168704,1044170751,IR +1044170752,1044176895,BG +1044176896,1044185087,IR 1044185088,1044193279,RU 1044193280,1044201471,PL 1044201472,1044217855,FI @@ -22848,7 +23607,9 @@ 1044316160,1044332543,NO 1044332544,1044348927,RU 1044348928,1044365311,LV -1044365312,1044381695,SE +1044365312,1044373503,SE +1044373504,1044373759,FI +1044373760,1044381695,SE 1044381696,1044389887,RU 1044389888,1044398079,FR 1044398080,1044414463,UA @@ -22866,18 +23627,16 @@ 1044512768,1044578303,DK 1044578304,1044578623,GB 1044578624,1044578639,DE -1044578640,1044580351,GB -1044580352,1044581375,US -1044581376,1044589055,GB +1044578640,1044589055,GB 1044589056,1044589311,DE 1044589312,1044590591,GB 1044590592,1044590689,DE 1044590690,1044590690,FR -1044590691,1044593151,DE -1044593152,1044594303,GB +1044590691,1044592895,DE +1044592896,1044594303,GB 1044594304,1044594431,DE -1044594432,1044619263,GB -1044619264,1044627391,RS +1044594432,1044625407,GB +1044625408,1044627391,RS 1044627392,1044627455,ES 1044627456,1044636671,GB 1044636672,1044637695,DE @@ -22914,31 +23673,27 @@ 1044758528,1044774911,PL 1044774912,1044840447,NO 1044840448,1044905983,FI -1044905984,1044908031,GB -1044908032,1044909055,US -1044909056,1044916735,GB +1044905984,1044916735,GB 1044916736,1044920319,DE 1044920320,1044921343,GB 1044921344,1044922367,US 1044922368,1044930559,DE -1044930560,1044931071,BE -1044931072,1044931951,GB +1044930560,1044931583,BE +1044931584,1044931951,GB 1044931952,1044931959,BE 1044931960,1044932303,GB 1044932304,1044932311,BE 1044932312,1044933499,GB 1044933500,1044933503,BE -1044933504,1044933887,GB -1044933888,1044934143,BE -1044934144,1044935119,GB +1044933504,1044935119,GB 1044935120,1044935135,BE -1044935136,1044936735,GB +1044935136,1044935167,GB +1044935168,1044936703,BE +1044936704,1044936735,GB 1044936736,1044936743,BE 1044936744,1044937247,GB 1044937248,1044937255,BE -1044937256,1044937471,GB -1044937472,1044937727,BE -1044937728,1044938679,GB +1044937256,1044938679,GB 1044938680,1044938687,LU 1044938688,1044946943,GB 1044946944,1044955135,UA @@ -22954,18 +23709,16 @@ 1045014848,1045014863,GB 1045014864,1045014871,SG 1045014872,1045020671,GB -1045020672,1045025343,NO -1045025344,1045025362,GB -1045025363,1045025363,NO -1045025364,1045025407,GB -1045025408,1045037055,NO +1045020672,1045037055,NO 1045037056,1045119231,GR 1045119232,1045119743,AL 1045119744,1045135359,GR 1045135360,1045162147,FR 1045162148,1045162151,DE 1045162152,1045168127,FR -1045168128,1045233663,RU +1045168128,1045171199,RU +1045171200,1045171455,UA +1045171456,1045233663,RU 1045233664,1045241855,GB 1045241856,1045250047,IT 1045250048,1045266431,CZ @@ -22984,7 +23737,8 @@ 1045323776,1045364735,FI 1045364736,1045430271,DK 1045430272,1045446655,DE -1045446656,1045454847,HU +1045446656,1045453823,HU +1045453824,1045454847,SK 1045460992,1045461503,FR 1045461632,1045461695,FR 1045462016,1045463039,DE @@ -22992,9 +23746,7 @@ 1045471232,1045479423,UA 1045479424,1045487615,SE 1045487616,1045495807,LT -1045495808,1045566463,ES -1045566464,1045567487,FR -1045567488,1045692415,ES +1045495808,1045692415,ES 1045692416,1045700607,LV 1045700608,1045708799,KZ 1045708800,1045716991,LB @@ -23037,8 +23789,7 @@ 1046315008,1046315519,FR 1046315520,1046316031,IT 1046316032,1046316543,FR -1046316544,1046317055,DK -1046317056,1046317567,GB +1046316544,1046317567,GB 1046317568,1046318079,NL 1046318080,1046319103,GB 1046319104,1046320127,NL @@ -23050,9 +23801,9 @@ 1046446080,1046482943,DE 1046482944,1046482951,GB 1046482952,1046482952,DE -1046482953,1046482999,GB -1046483000,1046483007,DE -1046483008,1046484545,GB +1046482953,1046483759,GB +1046483760,1046483767,DE +1046483768,1046484545,GB 1046484546,1046484546,DE 1046484547,1046484607,GB 1046484608,1046484615,DE @@ -23063,18 +23814,18 @@ 1046487291,1046488913,GB 1046488914,1046488914,DE 1046488915,1046489087,GB -1046489088,1046489218,DE -1046489219,1046489219,GB -1046489220,1046489311,DE +1046489088,1046489119,DE +1046489120,1046489311,GB 1046489312,1046489327,ES -1046489328,1046489391,DE +1046489328,1046489391,GB 1046489392,1046489407,IT -1046489408,1046489439,DE +1046489408,1046489439,GB 1046489440,1046489447,SE -1046489448,1046489471,DE +1046489448,1046489471,GB 1046489472,1046489487,ES -1046489488,1046489599,DE -1046489600,1046489815,GB +1046489488,1046489503,GB +1046489504,1046489519,DE +1046489520,1046489815,GB 1046489816,1046489823,DE 1046489824,1046489975,GB 1046489976,1046489983,DE @@ -23091,11 +23842,7 @@ 1046495728,1046498799,GB 1046498800,1046498807,DE 1046498808,1046498815,GB -1046498816,1046499327,DE -1046499328,1046499679,GB -1046499680,1046499695,DE -1046499696,1046501375,GB -1046501376,1046502399,DE +1046498816,1046502399,DE 1046502400,1046503095,GB 1046503096,1046503103,DE 1046503104,1046503338,GB @@ -23111,12 +23858,10 @@ 1046508544,1046512583,GB 1046512584,1046512591,DE 1046512592,1046514687,GB -1046514688,1046517759,DE -1046517760,1046518288,GB -1046518289,1046518289,DE -1046518290,1046518911,GB -1046518912,1046518975,DE -1046518976,1046519295,GB +1046514688,1046518783,DE +1046518784,1046518911,GB +1046518912,1046519039,DE +1046519040,1046519295,GB 1046519296,1046519807,DE 1046519808,1046524215,GB 1046524216,1046524223,DE @@ -23131,8 +23876,8 @@ 1046524656,1046525351,GB 1046525352,1046525359,DE 1046525360,1046525439,GB -1046525440,1046525951,DE -1046525952,1046528335,GB +1046525440,1046525695,DE +1046525696,1046528335,GB 1046528336,1046528351,DE 1046528352,1046528383,GB 1046528384,1046528391,DE @@ -23141,11 +23886,7 @@ 1046528512,1046528535,GB 1046528536,1046528543,DE 1046528544,1046529023,GB -1046529024,1046532095,DE -1046532096,1046533537,GB -1046533538,1046533538,DE -1046533539,1046533615,GB -1046533616,1046534143,DE +1046529024,1046534143,DE 1046534144,1046535447,GB 1046535448,1046535448,DE 1046535449,1046535623,GB @@ -23172,9 +23913,13 @@ 1046539888,1046539903,DE 1046539904,1046540527,GB 1046540528,1046540543,SE -1046540544,1046542807,GB +1046540544,1046541311,GB +1046541312,1046542335,DE +1046542336,1046542807,GB 1046542808,1046542815,DE -1046542816,1046543209,GB +1046542816,1046542847,GB +1046542848,1046543103,DE +1046543104,1046543209,GB 1046543210,1046543210,DE 1046543211,1046543343,GB 1046543344,1046543359,DE @@ -23209,6 +23954,7 @@ 1046839296,1046847487,BA 1046847488,1046855679,ES 1046855680,1046872063,NO +1046872064,1046904831,GB 1046904832,1046908927,IR 1046908928,1046910975,SE 1046910976,1046913023,IT @@ -23437,6 +24183,12 @@ 1047735770,1047735770,DE 1047736552,1047736553,US 1047739838,1047739838,GB +1047750144,1047750144,NL +1047750160,1047750160,CZ +1047750176,1047750176,HU +1047750192,1047750192,DE +1047750208,1047750208,FR +1047750224,1047750224,PL 1047752902,1047752902,AT 1047758474,1047758474,GB 1047758911,1047758911,CZ @@ -23459,15 +24211,7 @@ 1047871488,1047887871,RU 1047887872,1047920639,ES 1047920640,1047986175,RU -1047986176,1047998019,SE -1047998020,1047998020,NO -1047998021,1048006655,SE -1048006656,1048006744,DK -1048006745,1048006745,SE -1048006746,1048006751,DK -1048006752,1048006783,SE -1048006784,1048006911,DK -1048006912,1048051711,SE +1047986176,1048051711,SE 1048051712,1048117247,SA 1048117248,1048125439,GB 1048125440,1048133631,FI @@ -23531,7 +24275,9 @@ 1048619008,1048621055,GB 1048621056,1048621056,DE 1048621057,1048625151,US -1048625152,1048633343,GB +1048625152,1048631632,GB +1048631633,1048631633,IE +1048631634,1048633343,GB 1048633344,1048641535,NO 1048641536,1048649727,FR 1048649728,1048657919,CZ @@ -23542,7 +24288,8 @@ 1048707072,1048772607,GB 1048772608,1048903679,NL 1048903680,1048911871,GB -1048911872,1048912895,NL +1048911872,1048912383,NL +1048912384,1048912895,JP 1048912896,1048913919,ES 1048913920,1048914943,NL 1048914944,1048915967,TR @@ -23554,28 +24301,47 @@ 1048936448,1048944639,PL 1048944640,1048952831,RU 1048952832,1048969215,NL +1048969216,1048979711,GB 1048979712,1048980223,DE +1048980224,1048980479,GB 1048980736,1048980991,GB -1048981248,1048981503,GB -1048982888,1048982943,DE +1048981248,1048982527,GB +1048982784,1048983039,DE +1048983040,1048985695,GB 1048985696,1048985711,DE +1048985712,1048985727,GB 1048985728,1048985735,DE +1048985736,1048985791,GB 1048985792,1048985799,DE +1048985800,1048985847,GB 1048985848,1048985855,DE +1048985856,1048987479,GB 1048987480,1048987487,DE +1048987488,1048991959,GB 1048991960,1048991967,DE +1048991968,1048992527,GB 1048992528,1048992535,DE +1048992536,1048992607,GB 1048992608,1048992623,DE +1048992624,1048992639,GB 1048992640,1048992703,DE +1048992704,1048992743,GB 1048992744,1048992751,DE +1048992752,1049008127,GB 1049008128,1049009151,DE +1049009152,1049017903,GB 1049017904,1049017911,DE -1049018368,1049021439,DE -1049021440,1049021695,GB -1049021696,1049022463,DE +1049017912,1049018367,GB +1049018368,1049020415,DE +1049020416,1049020927,GB +1049020928,1049022463,DE +1049022464,1049026815,GB 1049026816,1049029375,DE +1049029376,1049030655,GB 1049030656,1049031679,DE +1049031680,1049032093,GB 1049032094,1049032094,DE +1049032095,1049034751,GB 1049034752,1049067519,EG 1049067520,1049100287,DK 1049100288,1049231359,GB @@ -23589,11 +24355,11 @@ 1049296896,1049362431,EG 1049362432,1049366527,GB 1049366528,1049368575,DE -1049368576,1049368656,GB +1049368576,1049368656,RO 1049368657,1049368657,DE -1049368658,1049369983,GB +1049368658,1049369983,RO 1049369984,1049370047,DE -1049370048,1049370623,GB +1049370048,1049370623,RO 1049370624,1049378815,AT 1049378816,1049395199,EG 1049395200,1049411583,NL @@ -23650,19 +24416,20 @@ 1050471032,1050471039,DE 1050471040,1050471167,GB 1050471168,1050673151,DE -1050673152,1050804223,FR +1050673152,1050730495,FR +1050730496,1050732543,GP +1050732544,1050804223,FR 1050804224,1050869759,MK 1050869760,1050935295,NL -1050938112,1050938623,ES -1050938880,1050939135,ES +1050938112,1050939135,ES 1050939136,1050939647,BR 1050939648,1050940159,MX 1050940160,1050940671,GB 1050940672,1050940927,HK +1050941184,1050941439,ES 1050941440,1050941695,GB 1050941696,1050941951,DE -1050941952,1050942207,US -1050942464,1050942719,US +1050941952,1050942719,US 1050942720,1050942975,BR 1050943232,1050943487,ES 1050945536,1050945791,ES @@ -23709,9 +24476,7 @@ 1051729920,1051738111,FI 1051738112,1051746303,BG 1051746304,1051746815,RU -1051746816,1051747327,BG -1051747328,1051748351,RU -1051748352,1051754495,BG +1051746816,1051754495,BG 1051754496,1051762687,DE 1051762688,1051770879,SK 1051770880,1051779071,NO @@ -23726,16 +24491,21 @@ 1051924480,1051948031,NL 1051948032,1051949055,CH 1051949056,1051983871,NL +1051983872,1051984663,GB 1051984664,1051984671,DE +1051984672,1051984751,GB 1051984752,1051984767,DE -1051987968,1051992063,GB +1051984768,1051994879,GB 1051994880,1051995135,DE -1052001280,1052002303,DE +1051995136,1052011263,GB 1052011264,1052012287,DE +1052012288,1052017535,GB 1052017536,1052017567,DE +1052017568,1052041215,GB 1052041216,1052041471,DE +1052041472,1052043215,GB 1052043216,1052043231,DE -1052045312,1052046079,DE +1052043232,1052049407,GB 1052049408,1052057599,PL 1052057600,1052065791,RU 1052065792,1052082175,SE @@ -24500,15 +25270,15 @@ 1052504384,1052507583,GB 1052507648,1052507775,GB 1052507904,1052508415,GB -1052516352,1052675071,GB -1052675072,1052676095,IE -1052676096,1052704767,GB +1052516352,1052583935,GB +1052583936,1052585983,IE +1052585984,1052704767,GB 1052704768,1052712959,NL 1052712960,1052770303,GB 1052770304,1052778495,CH 1052778496,1052786687,RU -1052786688,1052794879,GR -1052794880,1052803071,NL +1052786688,1052789759,GR +1052789760,1052803071,NL 1052803072,1052803327,GB 1052803584,1052804095,GB 1052804096,1052805119,BG @@ -24533,7 +25303,9 @@ 1053130752,1053138943,NL 1053138944,1053147135,FI 1053147136,1053163519,SK -1053163520,1053294591,DK +1053163520,1053173503,DK +1053173504,1053173631,SE +1053173632,1053294591,DK 1053294616,1053294623,AT 1053294656,1053294679,AT 1053295104,1053296639,AT @@ -24542,15 +25314,17 @@ 1053302780,1053302783,FR 1053302784,1053303807,GB 1053307980,1053307983,GB +1053308824,1053308827,GB +1053308864,1053308867,GB 1053310144,1053310207,SK 1053312872,1053312887,DK 1053312912,1053312927,DK 1053313304,1053313307,GB 1053313496,1053313503,GB +1053313764,1053313767,GB 1053318912,1053318943,FI -1053319168,1053321215,GB +1053321216,1053321471,ES 1053325824,1053326335,DE -1053326398,1053326398,BE 1053326504,1053326527,BE 1053326544,1053326551,BE 1053326556,1053326559,BE @@ -24558,6 +25332,7 @@ 1053329516,1053329535,ES 1053332992,1053334015,BE 1053335552,1053336575,ZA +1053344256,1053344767,GB 1053349952,1053349967,IE 1053350408,1053350415,BE 1053350492,1053350503,BE @@ -24570,7 +25345,9 @@ 1053376512,1053392895,HU 1053392896,1053401087,FR 1053401088,1053409279,DE -1053409280,1053425663,IQ +1053409280,1053414143,IQ +1053414144,1053414399,IT +1053414400,1053425663,IQ 1053425664,1053556735,CH 1053556736,1053564927,FI 1053564928,1053573119,GB @@ -24588,93 +25365,73 @@ 1053671424,1053687807,LV 1053687808,1053753343,DE 1053753344,1053818879,NL -1053818880,1053819391,DE -1053819424,1053819439,DE -1053819520,1053819563,DE -1053819584,1053819647,DE -1053820160,1053820927,DE -1053821440,1053821447,GB -1053821568,1053821695,GB -1053824000,1053824007,DE +1053818880,1053820415,GB +1053820416,1053820927,DE +1053820928,1053824015,GB 1053824016,1053824023,DE -1053824064,1053824095,DE -1053824128,1053824255,NL -1053825024,1053825791,ES -1053825792,1053825919,GB -1053825920,1053826047,ES -1053826816,1053827327,DE +1053824024,1053826815,GB +1053826816,1053827071,DE +1053827072,1053827327,GB 1053827328,1053827583,BE -1053828096,1053829119,GB +1053827584,1053831167,GB 1053831168,1053831423,DE -1053834944,1053834975,DE -1053835264,1053835775,DE -1053837440,1053837455,GB -1053837568,1053838335,GB +1053831424,1053838335,GB 1053838336,1053838591,DE -1053839360,1053840383,DE -1053840400,1053840415,DE +1053838592,1053840447,GB 1053840448,1053840511,DE -1053843200,1053843215,GB +1053840512,1053843215,GB 1053843216,1053843223,DK -1053843224,1053843455,GB +1053843224,1053843711,GB 1053843712,1053843967,DE -1053843968,1053844223,GB -1053844224,1053844479,DE -1053844992,1053845503,DE -1053845728,1053845735,DE +1053843968,1053846015,GB 1053846016,1053846527,DE -1053846784,1053847551,DE -1053847552,1053849599,GB -1053849600,1053850367,DE -1053851136,1053851647,DE +1053846528,1053846783,GB +1053846784,1053847039,DE +1053847040,1053851903,GB 1053851904,1053851919,FR -1053852032,1053852047,IT -1053852112,1053852127,GB +1053851920,1053852127,GB 1053852128,1053852159,DE -1053855744,1053859839,GB -1053859840,1053860863,DE -1053862848,1053862879,DE -1053863424,1053864959,DE -1053865216,1053865727,DE +1053852160,1053864703,GB +1053864704,1053864959,DE +1053864960,1053865727,GB 1053865728,1053865759,US -1053865984,1053866239,DE -1053866496,1053866823,DE -1053866832,1053866847,DE -1053867520,1053867775,DE -1053867976,1053867999,DE -1053868008,1053868015,DE -1053868288,1053868383,ES +1053865760,1053866799,GB +1053866800,1053866807,DE +1053866808,1053866839,GB +1053866840,1053866847,DE +1053866848,1053868351,GB +1053868352,1053868383,ES +1053868384,1053868399,GB 1053868400,1053868407,ES -1053868456,1053868479,ES -1053868480,1053868543,FR -1053868800,1053869567,DE +1053868408,1053868463,GB +1053868464,1053868479,ES +1053868480,1053870079,GB 1053870080,1053870335,DE -1053870336,1053870591,GB -1053870848,1053871359,DE -1053871616,1053871871,DE -1053872384,1053872447,DE -1053872512,1053872639,FR -1053872896,1053873663,DE +1053870336,1053873407,GB +1053873408,1053873663,DE +1053873664,1053876223,GB 1053876224,1053876479,DE -1053876480,1053876735,GB -1053876736,1053876991,DE -1053877248,1053878271,DE +1053876480,1053877759,GB +1053877760,1053878271,DE 1053878272,1053878783,GB -1053878784,1053879047,DE -1053879056,1053879071,DE -1053879104,1053879167,GB -1053879296,1053882111,DE +1053878784,1053879039,DE +1053879040,1053880319,GB +1053880320,1053881855,DE +1053881856,1053882367,GB 1053882368,1053882879,DE 1053882880,1053883391,GB -1053883392,1053884415,DE -1053884416,1053891071,BH -1053891072,1053891327,SA -1053891328,1053892607,BH +1053883392,1053883647,DE +1053883648,1053884159,GB +1053884160,1053884415,DE +1053884416,1053892607,BH 1053892608,1053900799,DE 1053900800,1053917183,NO 1053917184,1053925375,UZ -1053925376,1053925887,GB -1053925888,1053927159,SE +1053925376,1053926399,SE +1053926400,1053926495,NO +1053926496,1053926511,GB +1053926512,1053926655,NO +1053926656,1053927159,SE 1053927160,1053927199,FI 1053927200,1053933567,SE 1053933568,1053949951,CZ @@ -24736,21 +25493,21 @@ 1054646272,1054654463,SE 1054654464,1054662655,MK 1054662656,1054670847,FI -1054670848,1054671103,GB +1054670848,1054671371,GB 1054671372,1054671375,IE -1054671416,1054671423,IE -1054671432,1054671439,IE -1054672320,1054672335,US +1054671376,1054671415,GB +1054671416,1054671419,IE +1054671420,1054671431,GB +1054671432,1054671435,IE +1054671436,1054672351,GB 1054672352,1054672367,IE -1054672384,1054672447,IE +1054672368,1054672775,GB 1054672776,1054672783,IE -1054672792,1054672799,IE -1054674456,1054674471,IE -1054674504,1054674511,IE -1054674520,1054674527,GB +1054672784,1054674687,GB 1054674688,1054675199,IE -1054675456,1054675711,IE +1054675200,1054675967,GB 1054675968,1054676223,US +1054676224,1054679039,GB 1054679040,1054687231,UA 1054687232,1054703615,MD 1054703616,1054711807,BG @@ -24802,7 +25559,9 @@ 1056014336,1056022527,EG 1056022528,1056030719,GB 1056030720,1056047103,FI -1056047104,1056178175,DK +1056047104,1056047615,DK +1056047616,1056048127,SE +1056048128,1056178175,DK 1056178176,1056194559,UA 1056194560,1056210943,FR 1056210944,1056219135,PL @@ -24862,15 +25621,21 @@ 1063057433,1063057433,CA 1063057434,1063748863,US 1063748864,1063749119,GH -1063749120,1063895039,US +1063749120,1063817215,US +1063817216,1063819263,CA +1063819264,1063895039,US 1063895040,1063899135,KR 1063899136,1064124927,US 1064124928,1064125439,EC 1064125440,1064127487,US 1064127488,1064127999,EC -1064128000,1064445183,US +1064128000,1064204287,US +1064204288,1064205311,MX +1064205312,1064445183,US 1064445184,1064445439,PK -1064445440,1065371647,US +1064445440,1064785407,US +1064785408,1064785919,GB +1064785920,1065371647,US 1065371648,1065372959,PR 1065372960,1065372991,US 1065372992,1065373695,PR @@ -24894,7 +25659,11 @@ 1065539584,1065539839,GB 1065539840,1065547775,US 1065547776,1065548031,GB -1065548032,1065611263,US +1065548032,1065588735,US +1065588736,1065590015,CA +1065590016,1065590079,US +1065590080,1065590783,CA +1065590784,1065611263,US 1065611264,1065615359,PR 1065615360,1065811967,US 1065811968,1065820159,CA @@ -24917,11 +25686,12 @@ 1066311955,1066311955,US 1066311956,1066315775,CA 1066315776,1066352639,US -1066352640,1066356223,BB -1066356224,1066356735,VG -1066356736,1066358271,JM -1066358272,1066358527,AG -1066358528,1066369023,JM +1066352640,1066354687,JM +1066354688,1066356735,BB +1066356736,1066357759,AG +1066357760,1066358271,JM +1066358272,1066358783,AG +1066358784,1066369023,JM 1066369024,1066830303,US 1066830304,1066830311,SG 1066830312,1066831071,US @@ -24936,9 +25706,7 @@ 1067237888,1067238399,JP 1067238400,1067294719,US 1067294720,1067294975,CA -1067294976,1067384831,US -1067384832,1067393023,JP -1067393024,1067450879,US +1067294976,1067450879,US 1067450880,1067450880,AL 1067450881,1067471689,US 1067471690,1067471690,SV @@ -24964,9 +25732,7 @@ 1067693056,1067693567,CO 1067693568,1067715631,US 1067715632,1067715632,SA -1067715633,1067726847,US -1067726848,1067727359,EC -1067727360,1067736831,US +1067715633,1067736831,US 1067736832,1067737087,PR 1067737088,1067740159,US 1067740160,1067741183,HN @@ -24975,9 +25741,7 @@ 1067810190,1067823171,US 1067823172,1067823172,TZ 1067823173,1067823173,AL -1067823174,1067824895,US -1067824896,1067825151,PR -1067825152,1067826283,US +1067823174,1067826283,US 1067826284,1067826284,SE 1067826285,1067831584,US 1067831585,1067831585,BE @@ -25057,17 +25821,16 @@ 1071201552,1071201567,TH 1071201568,1071206911,US 1071206912,1071207167,HK -1071207168,1071217151,US -1071217152,1071217407,AU -1071217408,1071255525,US +1071207168,1071216639,US +1071216640,1071217151,AU +1071217152,1071255525,US 1071255526,1071255526,DE 1071255527,1071255839,US 1071255840,1071255847,TW -1071255848,1071276031,US -1071276032,1071278959,PH +1071255848,1071278959,US 1071278960,1071278963,SG -1071278964,1071284223,PH -1071284224,1071292415,AU +1071278964,1071290367,US +1071290368,1071292415,AU 1071292416,1071300607,US 1071300608,1071301631,FR 1071301632,1071318783,US @@ -25146,8 +25909,8 @@ 1072953600,1072953607,IE 1072953608,1073022975,US 1073022976,1073025535,HN -1073025536,1073026559,US -1073026560,1073027071,PR +1073025536,1073026047,US +1073026048,1073027071,PR 1073027072,1073028095,NI 1073028096,1073028607,US 1073028608,1073029119,GD @@ -25163,8 +25926,7 @@ 1073041408,1073042943,CO 1073042944,1073043455,US 1073043456,1073043967,PR -1073043968,1073044479,US -1073044480,1073044735,BB +1073043968,1073044735,US 1073044736,1073045503,PR 1073045504,1073047551,CO 1073047552,1073048836,US @@ -25175,17 +25937,13 @@ 1073049088,1073049599,PR 1073049600,1073052671,BS 1073052672,1073075199,US -1073075200,1073076223,CA -1073076224,1073116159,US +1073075200,1073075455,CA +1073075456,1073116159,US 1073116160,1073117183,GB 1073117184,1073118207,US 1073118208,1073118719,NL 1073118720,1073119231,DE -1073119232,1073124195,US -1073124196,1073124205,BR -1073124206,1073124295,US -1073124296,1073124305,RU -1073124306,1073373183,US +1073119232,1073373183,US 1073373184,1073381375,CA 1073381376,1073446399,US 1073446400,1073446911,SG @@ -25308,7 +26066,9 @@ 1074419200,1074420479,US 1074420480,1074420735,CA 1074420736,1074421503,US -1074421504,1074423551,CA +1074421504,1074422271,CA +1074422272,1074422527,US +1074422528,1074423551,CA 1074423552,1074425599,US 1074425600,1074425855,CA 1074425856,1074428415,US @@ -25338,7 +26098,9 @@ 1074442752,1074445567,US 1074445568,1074445823,CA 1074445824,1074447103,US -1074447104,1074448383,CA +1074447104,1074447615,CA +1074447616,1074447871,US +1074447872,1074448383,CA 1074448384,1074448895,US 1074448896,1074449151,CA 1074449152,1074449407,US @@ -25346,7 +26108,9 @@ 1074449664,1074449919,US 1074449920,1074450431,CA 1074450432,1074450687,US -1074450688,1074452223,CA +1074450688,1074451455,CA +1074451456,1074451711,US +1074451712,1074452223,CA 1074452224,1074452991,US 1074452992,1074453247,CA 1074453248,1074453503,US @@ -25368,74 +26132,82 @@ 1074458112,1074458367,US 1074458368,1074458623,CA 1074458624,1074459903,US -1074459904,1074460671,CA -1074460672,1074460927,US -1074460928,1074461951,CA +1074459904,1074460415,CA +1074460416,1074461183,US +1074461184,1074461951,CA 1074461952,1074463743,US -1074463744,1074465535,CA +1074463744,1074464511,CA +1074464512,1074464767,US +1074464768,1074465535,CA 1074465536,1074465791,US 1074465792,1074466815,CA 1074466816,1074467071,US 1074467072,1074467839,CA -1074467840,1074468095,US -1074468096,1074468351,CA -1074468352,1074468863,US +1074467840,1074468863,US 1074468864,1074469119,CA 1074469120,1074469375,US 1074469376,1074469631,CA 1074469632,1074470399,US -1074470400,1074472191,CA -1074472192,1074472447,US -1074472448,1074474751,CA +1074470400,1074471935,CA +1074471936,1074472447,US +1074472448,1074473983,CA +1074473984,1074474239,US +1074474240,1074474751,CA 1074474752,1074475519,US 1074475520,1074476031,CA 1074476032,1074476287,US 1074476288,1074479871,CA 1074479872,1074480127,US 1074480128,1074480383,CA -1074480384,1074480639,US -1074480640,1074481151,CA +1074480384,1074480895,US +1074480896,1074481151,CA 1074481152,1074481407,US -1074481408,1074482175,CA -1074482176,1074482431,US -1074482432,1074484479,CA +1074481408,1074481919,CA +1074481920,1074482431,US +1074482432,1074482687,CA +1074482688,1074482943,US +1074482944,1074484479,CA 1074484480,1074484735,US -1074484736,1074486783,CA -1074486784,1074487039,US -1074487040,1074488319,CA +1074484736,1074486527,CA +1074486528,1074487039,US +1074487040,1074487551,CA +1074487552,1074487807,US +1074487808,1074488319,CA 1074488320,1074488831,US 1074488832,1074491391,CA 1074491392,1074491647,US 1074491648,1074493439,CA 1074493440,1074495743,US -1074495744,1074497023,CA -1074497024,1074497535,US +1074495744,1074496511,CA +1074496512,1074497535,US 1074497536,1074497791,CA 1074497792,1074498303,US 1074498304,1074498815,CA -1074498816,1074499327,US -1074499328,1074501375,CA -1074501376,1074501887,US -1074501888,1074503935,CA -1074503936,1074504447,US -1074504448,1074505215,CA +1074498816,1074499583,US +1074499584,1074500351,CA +1074500352,1074500607,US +1074500608,1074501375,CA +1074501376,1074502143,US +1074502144,1074503935,CA +1074503936,1074504703,US +1074504704,1074505215,CA 1074505216,1074505471,US 1074505472,1074506495,CA 1074506496,1074507007,US -1074507008,1074508031,CA -1074508032,1074508287,US +1074507008,1074507775,CA +1074507776,1074508287,US 1074508288,1074508799,CA 1074508800,1074509055,US 1074509056,1074509567,CA 1074509568,1074510079,US -1074510080,1074513151,CA +1074510080,1074512383,CA +1074512384,1074512639,US +1074512640,1074513151,CA 1074513152,1074703615,US 1074703616,1074703871,GB 1074703872,1074704383,US 1074704384,1074704639,GB -1074704640,1074708991,US -1074708992,1074709247,PH -1074709248,1074733055,US +1074704640,1074733055,US 1074733056,1074737151,AU 1074737152,1074745343,CA 1074745344,1074757631,US @@ -25444,8 +26216,10 @@ 1074763104,1074765823,CA 1074765824,1074777343,US 1074777344,1074777599,AU -1074777600,1074868223,US -1074868224,1074872319,CA +1074777600,1074839551,US +1074839552,1074847743,SA +1074847744,1074870271,US +1074870272,1074872319,CA 1074872320,1074937855,US 1074937856,1074946047,CA 1074946048,1074954239,US @@ -25479,8 +26253,10 @@ 1075970048,1075973375,CA 1075973376,1075973631,US 1075973632,1075980287,CA -1075980288,1075982335,US -1075982336,1075985151,CA +1075980288,1075980543,US +1075980544,1075981567,CA +1075981568,1075982079,US +1075982080,1075985151,CA 1075985152,1075985407,US 1075985408,1075990783,CA 1075990784,1075991039,US @@ -25517,7 +26293,11 @@ 1076026208,1076028927,CA 1076028928,1076029183,BZ 1076029184,1076032511,CA -1076032512,1076033543,US +1076032512,1076033023,US +1076033024,1076033151,CA +1076033152,1076033183,US +1076033184,1076033279,CA +1076033280,1076033543,US 1076033544,1076033679,CA 1076033680,1076033695,US 1076033696,1076033887,CA @@ -25621,7 +26401,9 @@ 1076851712,1076855044,US 1076855045,1076855045,MX 1076855046,1076857855,US -1076857856,1076858111,PR +1076857856,1076858057,PR +1076858058,1076858059,US +1076858060,1076858111,PR 1076858112,1076879505,US 1076879506,1076879507,CA 1076879508,1076880639,US @@ -25643,7 +26425,9 @@ 1077506048,1077510143,LS 1077510144,1077511167,US 1077511168,1077511423,UY -1077511424,1077641215,US +1077511424,1077551103,US +1077551104,1077555199,CA +1077555200,1077641215,US 1077641216,1077657599,CA 1077657600,1077841151,US 1077841152,1077841407,GB @@ -25717,9 +26501,13 @@ 1078280192,1078285008,CA 1078285009,1078285011,US 1078285012,1078288383,CA -1078288384,1078433631,US +1078288384,1078429695,US +1078429696,1078429951,GR +1078429952,1078433631,US 1078433632,1078433663,CN -1078433664,1078438399,US +1078433664,1078436607,US +1078436608,1078436735,CA +1078436736,1078438399,US 1078438400,1078438655,CA 1078438656,1078438911,US 1078438912,1078438929,CN @@ -25795,7 +26583,9 @@ 1078817792,1078819327,CA 1078819328,1078820095,US 1078820096,1078820863,CA -1078820864,1079319295,US +1078820864,1078864383,US +1078864384,1078864895,CA +1078864896,1079319295,US 1079319296,1079319551,CN 1079319552,1079320575,US 1079320576,1079322831,CA @@ -25814,9 +26604,7 @@ 1079385600,1079386623,CA 1079386624,1079388159,US 1079388160,1079389183,CA -1079389184,1079389951,US -1079389952,1079390207,CA -1079390208,1079392255,US +1079389184,1079392255,US 1079392256,1079393791,CA 1079393792,1079396351,US 1079396352,1079397375,MP @@ -25844,12 +26632,8 @@ 1079433216,1079435263,CR 1079435264,1079435775,CO 1079435776,1079439359,US -1079439360,1079439407,CA -1079439408,1079439615,US -1079439616,1079439871,CA -1079439872,1079440191,US -1079440192,1079440207,CA -1079440208,1079459839,US +1079439360,1079441407,CA +1079441408,1079459839,US 1079459840,1079508991,CA 1079508992,1079567359,US 1079567360,1079567615,AU @@ -25940,8 +26724,7 @@ 1081387520,1081387775,PA 1081387776,1081391103,US 1081391104,1081393151,PA -1081393152,1081394687,US -1081394688,1081397247,CL +1081393152,1081397247,CL 1081397248,1081397759,US 1081397760,1081398783,CL 1081398784,1081399295,US @@ -25958,8 +26741,8 @@ 1081445376,1081446399,CL 1081446400,1081460735,US 1081460736,1081462783,PA -1081462784,1081466879,BR -1081466880,1081479167,US +1081462784,1081464831,BR +1081464832,1081479167,US 1081479168,1081483263,CA 1081483264,1081542579,US 1081542580,1081542591,CA @@ -25975,9 +26758,13 @@ 1081597952,1081634303,US 1081634304,1081634815,SG 1081634816,1081637375,HK -1081637376,1081915007,US -1081915008,1081915135,GB -1081915136,1081978623,US +1081637376,1081888391,US +1081888392,1081888399,CA +1081888400,1081896159,US +1081896160,1081896167,CA +1081896168,1081897071,US +1081897072,1081897079,CA +1081897080,1081978623,US 1081978624,1081978631,CH 1081978632,1082093679,US 1082093680,1082093695,AU @@ -25987,16 +26774,20 @@ 1082683392,1082687487,CA 1082687488,1082753023,US 1082753024,1082785791,CA -1082785792,1082786591,SG +1082785792,1082786591,US 1082786592,1082786607,HK -1082786608,1082789887,SG -1082789888,1082793983,AU -1082793984,1082945535,US +1082786608,1082787161,US +1082787162,1082787162,SG +1082787163,1082788655,US +1082788656,1082788663,SG +1082788664,1082789887,US +1082789888,1082791935,AU +1082791936,1082945535,US 1082945536,1082949631,CA 1082949632,1082982399,US 1082982400,1083015167,CA -1083015168,1083142399,US -1083142400,1083142655,IN +1083015168,1083142143,US +1083142144,1083142655,IN 1083142656,1083267583,US 1083267584,1083268095,JP 1083268096,1083396095,US @@ -26016,7 +26807,9 @@ 1085024320,1085439999,US 1085440000,1085448191,CA 1085448192,1085456383,US -1085456384,1085464575,PR +1085456384,1085457919,PR +1085457920,1085458175,US +1085458176,1085464575,PR 1085464576,1085526015,US 1085526016,1085530111,CA 1085530112,1085538303,US @@ -26028,9 +26821,7 @@ 1085923328,1085997055,US 1085997056,1086013439,CA 1086013440,1086042111,US -1086042112,1086045407,CA -1086045408,1086045439,US -1086045440,1086046207,CA +1086042112,1086046207,CA 1086046208,1086050815,US 1086050816,1086051327,CA 1086051328,1086070783,US @@ -26038,7 +26829,7 @@ 1086074880,1086267391,US 1086267392,1086271487,CA 1086271488,1086421503,US -1086421504,1086422015,GU +1086421504,1086422015,MP 1086422016,1086922751,US 1086922752,1086930943,CA 1086930944,1086955519,US @@ -26057,15 +26848,11 @@ 1087375204,1087375207,GB 1087375208,1087405407,US 1087405408,1087405423,MX -1087405424,1087413247,US -1087413248,1087413375,CA -1087413376,1087413759,US -1087413760,1087413879,GB +1087405424,1087413879,US 1087413880,1087413883,ES -1087413884,1087413895,GB +1087413884,1087413895,US 1087413896,1087413903,DE -1087413904,1087414015,GB -1087414016,1087416767,US +1087413904,1087416767,US 1087416768,1087416831,CA 1087416832,1087416985,US 1087416986,1087416986,GB @@ -26073,18 +26860,20 @@ 1087418368,1087419391,GB 1087419392,1087430191,US 1087430192,1087430195,FR -1087430196,1087434751,US -1087434752,1087438847,FR +1087430196,1087436799,US +1087436800,1087438847,FR 1087438848,1087442323,US 1087442324,1087442327,MX 1087442328,1087444223,US 1087444224,1087444479,GB -1087444480,1087466495,US -1087466496,1087466688,GB +1087444480,1087465471,US +1087465472,1087466688,CA 1087466689,1087466689,US -1087466690,1087466709,GB +1087466690,1087466709,CA 1087466710,1087466710,US -1087466711,1087467519,GB +1087466711,1087466883,CA +1087466884,1087466887,GB +1087466888,1087467519,CA 1087467520,1087501471,US 1087501472,1087501479,HK 1087501480,1087501535,US @@ -26101,7 +26890,17 @@ 1087514624,1087516671,BB 1087516672,1087522125,US 1087522126,1087522126,NL -1087522127,1087575807,US +1087522127,1087538943,US +1087538944,1087539199,NL +1087539200,1087539455,US +1087539456,1087539711,NL +1087539712,1087542015,US +1087542016,1087542271,NL +1087542272,1087544319,US +1087544320,1087544575,NL +1087544576,1087544831,US +1087544832,1087545343,NL +1087545344,1087575807,US 1087575808,1087575815,MX 1087575816,1087586967,US 1087586968,1087586971,NL @@ -26111,45 +26910,45 @@ 1087588352,1087590399,GB 1087590400,1087591237,US 1087591238,1087591238,FR -1087591239,1087594495,US -1087594496,1087598591,DK -1087598592,1087613115,US +1087591239,1087613115,US 1087613116,1087613119,FR 1087613120,1087686655,US 1087686656,1087686911,PR 1087686912,1087693151,US 1087693152,1087693155,GB -1087693156,1087700991,US -1087700992,1087706679,AU -1087706680,1087706683,US -1087706684,1087709183,AU +1087693156,1087707135,US +1087707136,1087709183,AU 1087709184,1087714335,US 1087714336,1087714367,NL 1087714368,1087715327,US 1087715328,1087717375,PA 1087717376,1087726015,US 1087726016,1087726047,FR -1087726048,1087735743,US -1087735744,1087735807,CA -1087735808,1087741951,US -1087741952,1087743487,GB +1087726048,1087743487,US 1087743488,1087743569,FR 1087743570,1087743570,GB 1087743571,1087743597,FR 1087743598,1087743598,US -1087743599,1087743743,FR -1087743744,1087746047,GB -1087746048,1087758335,US +1087743599,1087743615,FR +1087743616,1087743743,US +1087743744,1087743999,GB +1087744000,1087758335,US 1087758336,1087766527,PR -1087766528,1087798943,US +1087766528,1087781887,US +1087781888,1087782143,GB +1087782144,1087798943,US 1087798944,1087798975,CA -1087798976,1087837359,US +1087798976,1087821567,US +1087821568,1087821823,GB +1087821824,1087837359,US 1087837360,1087837367,BR 1087837368,1087837695,US 1087837696,1087837951,BR 1087837952,1087860735,US 1087860736,1087860991,GB -1087860992,1087862783,US +1087860992,1087861279,US +1087861280,1087861311,GB +1087861312,1087862783,US 1087862784,1087864831,PA 1087864832,1087873023,US 1087873024,1087873535,CA @@ -26310,16 +27109,10 @@ 1089266432,1089266943,GB 1089266944,1089306623,US 1089306624,1089339391,PR -1089339392,1089394687,US -1089394688,1089395711,CA -1089395712,1089404927,US +1089339392,1089404927,US 1089404928,1089437695,CA 1089437696,1089462271,US -1089462272,1089462527,CA -1089462528,1089462783,US -1089462784,1089463039,CA -1089463040,1089463295,US -1089463296,1089465343,CA +1089462272,1089465343,CA 1089465344,1089961983,US 1089961984,1089970175,CA 1089970176,1089974271,PR @@ -26358,9 +27151,7 @@ 1091809536,1091809791,CA 1091809792,1091812607,US 1091812608,1091812855,JP -1091812856,1091960831,US -1091960832,1092026367,CA -1092026368,1092075519,US +1091812856,1092075519,US 1092075520,1092091903,PR 1092091904,1093017599,US 1093017600,1093021695,CA @@ -26378,7 +27169,9 @@ 1093110841,1093110843,US 1093110844,1093113783,CA 1093113784,1093113791,US -1093113792,1093120511,CA +1093113792,1093118207,CA +1093118208,1093118463,HK +1093118464,1093120511,CA 1093120512,1093120767,GB 1093120768,1093127270,CA 1093127271,1093127271,US @@ -26396,8 +27189,8 @@ 1093701632,1093708287,BB 1093708288,1093709311,LC 1093709312,1093716479,BB -1093716480,1093718015,GD -1093718016,1093719807,BB +1093716480,1093717759,GD +1093717760,1093719807,BB 1093719808,1093720575,LC 1093720576,1093721343,VG 1093721344,1093723391,BB @@ -26472,7 +27265,9 @@ 1094178304,1094178559,SG 1094178560,1094178815,US 1094178816,1094179071,IE -1094179072,1094565887,US +1094179072,1094531071,US +1094531072,1094531839,CA +1094531840,1094565887,US 1094565888,1094582271,CA 1094582272,1095450623,US 1095450624,1095467007,BS @@ -26500,25 +27295,7 @@ 1097737000,1097737009,RU 1097737010,1097737897,US 1097737898,1097737907,SG -1097737908,1097738585,US -1097738586,1097738595,BR -1097738596,1097738675,US -1097738676,1097738685,SG -1097738686,1097739403,US -1097739404,1097739413,BR -1097739414,1097739569,US -1097739570,1097739579,GB -1097739580,1097741863,US -1097741864,1097741873,HR -1097741874,1097741913,US -1097741914,1097741923,MK -1097741924,1097742023,US -1097742024,1097742033,GB -1097742034,1097742209,US -1097742210,1097742219,GB -1097742220,1097742269,US -1097742270,1097742279,RU -1097742280,1097742375,US +1097737908,1097742375,US 1097742376,1097742385,AU 1097742386,1097742505,US 1097742506,1097742515,KW @@ -26536,7 +27313,9 @@ 1097830400,1097834495,CA 1097834496,1097896191,US 1097896192,1097897215,VI -1097897216,1097947135,US +1097897216,1097909503,US +1097909504,1097909759,CA +1097909760,1097947135,US 1097947136,1097949183,VI 1097949184,1097951231,US 1097951232,1097953279,VI @@ -26550,7 +27329,9 @@ 1098096288,1098096295,BR 1098096296,1098178383,US 1098178384,1098178391,CA -1098178392,1098891623,US +1098178392,1098507263,US +1098507264,1098507519,CA +1098507520,1098891623,US 1098891624,1098891631,AU 1098891632,1098892255,US 1098892256,1098892263,AU @@ -26586,9 +27367,7 @@ 1101475840,1101479935,CO 1101479936,1101484031,US 1101484032,1101488127,CO -1101488128,1101521663,US -1101521664,1101521919,AS -1101521920,1101542399,US +1101488128,1101542399,US 1101542400,1101542911,CO 1101542912,1101551213,US 1101551214,1101551214,AU @@ -26645,11 +27424,9 @@ 1103603712,1103605759,EC 1103605760,1103623167,US 1103623168,1103623679,CO -1103623680,1103947199,US -1103947200,1103947215,CA -1103947216,1103987967,US -1103987968,1103988223,BR -1103988224,1104166911,US +1103623680,1103992319,US +1103992320,1103992575,FI +1103992576,1104166911,US 1104166912,1104168959,CO 1104168960,1104265215,US 1104265216,1104265727,PH @@ -26694,7 +27471,9 @@ 1108033536,1108041727,CA 1108041728,1108054015,US 1108054016,1108066303,CA -1108066304,1108492287,US +1108066304,1108074495,US +1108074496,1108076543,CA +1108076544,1108492287,US 1108492288,1108500479,ZA 1108500480,1108525055,US 1108525056,1108541439,CA @@ -26739,9 +27518,7 @@ 1109931776,1109932031,US 1109932032,1109934591,CA 1109934592,1109934847,GB -1109934848,1109936127,CA -1109936128,1109936383,US -1109936384,1109936895,CA +1109934848,1109936895,CA 1109936896,1109937151,US 1109937152,1109938175,CA 1109938176,1109950463,US @@ -26760,7 +27537,9 @@ 1110270208,1110270335,CA 1110270336,1110310911,US 1110310912,1110376447,CA -1110376448,1110444287,US +1110376448,1110443535,US +1110443536,1110443543,CA +1110443544,1110444287,US 1110444288,1110444543,CA 1110444544,1110445055,US 1110445056,1110446591,CA @@ -26784,7 +27563,13 @@ 1110473984,1110474239,CA 1110474240,1110540287,US 1110540288,1110573055,CA -1110573056,1110595583,PR +1110573056,1110579967,PR +1110579968,1110580223,US +1110580224,1110589439,PR +1110589440,1110591487,US +1110591488,1110593279,PR +1110593280,1110593535,US +1110593536,1110595583,PR 1110595584,1110595776,US 1110595777,1110638591,PR 1110638592,1110642687,US @@ -26804,7 +27589,8 @@ 1110857472,1110859007,US 1110859008,1110859263,AU 1110859264,1110863871,US -1110863872,1110867967,KY +1110863872,1110865919,JM +1110865920,1110867967,KY 1110867968,1110887423,US 1110887424,1110887679,IE 1110887680,1110929407,US @@ -26879,8 +27665,8 @@ 1112931328,1112931839,CA 1112931840,1113033727,US 1113033728,1113034239,PR -1113034240,1113048063,US -1113048064,1113048575,PR +1113034240,1113047039,US +1113047040,1113048575,PR 1113048576,1113591807,US 1113591808,1113595903,CA 1113595904,1113596415,CL @@ -27044,27 +27830,9 @@ 1114533376,1114533887,ZA 1114533888,1114537983,AO 1114537984,1114550271,CA -1114550272,1114579209,US -1114579210,1114579219,TR -1114579220,1114579525,US -1114579526,1114579535,AL -1114579536,1114579801,US -1114579802,1114579811,SA -1114579812,1114579901,US -1114579902,1114579911,FR -1114579912,1114580243,US -1114580244,1114580253,SA -1114580254,1114580403,US -1114580404,1114580413,ES -1114580414,1114581051,US -1114581052,1114581061,BR -1114581062,1114581573,US -1114581574,1114581583,UA -1114581584,1114582301,US -1114582302,1114582311,SG -1114582312,1114582537,US -1114582538,1114582547,JO -1114582548,1114583099,US +1114550272,1114578943,US +1114578944,1114583039,CA +1114583040,1114583099,US 1114583100,1114583109,FR 1114583110,1114584153,US 1114584154,1114584163,GR @@ -27084,7 +27852,21 @@ 1114730496,1114734591,CA 1114734592,1114782271,US 1114782272,1114782330,HK -1114782331,1115113471,US +1114782331,1115062271,US +1115062272,1115063743,SA +1115063744,1115063751,US +1115063752,1115066767,SA +1115066768,1115066783,US +1115066784,1115067391,SA +1115067392,1115067647,US +1115067648,1115069439,SA +1115069440,1115069951,US +1115069952,1115073095,SA +1115073096,1115073103,US +1115073104,1115075457,SA +1115075458,1115075467,US +1115075468,1115078655,SA +1115078656,1115113471,US 1115113472,1115114495,HN 1115114496,1115117055,US 1115117056,1115117311,GB @@ -27167,15 +27949,17 @@ 1117011456,1117011967,CA 1117011968,1117142271,US 1117142272,1117142527,CA -1117142528,1117274111,US +1117142528,1117198591,US +1117198592,1117198847,CA +1117198848,1117274111,US 1117274112,1117282303,CA 1117282304,1117413375,US 1117413376,1117413631,CA 1117413632,1117414143,US 1117414144,1117414911,CA -1117414912,1117416703,US -1117416704,1117417215,CA -1117417216,1117417983,US +1117414912,1117416447,US +1117416448,1117416959,CA +1117416960,1117417983,US 1117417984,1117418495,CA 1117418496,1117419007,US 1117419008,1117419519,CA @@ -27283,21 +28067,15 @@ 1118966016,1118966271,BR 1118966272,1118970367,US 1118970368,1118970623,GB -1118970624,1118971647,US -1118971648,1118971903,GY -1118971904,1118975487,US +1118970624,1118975487,US 1118975488,1118975743,KE -1118975744,1118975999,US -1118976000,1118976255,GB -1118976256,1118986239,US +1118975744,1118986239,US 1118986240,1118986495,GB 1118986496,1118986751,US 1118986752,1118987007,GB 1118987008,1118988287,US 1118988288,1118988543,CA -1118988544,1118994175,US -1118994176,1118994431,LR -1118994432,1119072255,US +1118988544,1119072255,US 1119072256,1119074303,CA 1119074304,1119110143,US 1119110144,1119111167,CA @@ -27325,8 +28103,8 @@ 1119477760,1119502335,US 1119502336,1119510527,CA 1119510528,1119555583,US -1119555584,1119556095,PR -1119556096,1119558143,US +1119555584,1119555839,PR +1119555840,1119558143,US 1119558144,1119558655,PR 1119558656,1119571967,US 1119571968,1119576063,CA @@ -27411,11 +28189,10 @@ 1120498944,1120499199,CA 1120499200,1120509951,US 1120509952,1120516095,SV -1120516096,1120517375,US -1120517376,1120517631,AR -1120517632,1120518143,US +1120516096,1120518143,US 1120518144,1120534527,CA -1120534528,1120641023,US +1120534528,1120636927,US +1120636928,1120641023,HK 1120641024,1120657407,CA 1120657408,1120740351,US 1120740352,1120741375,TT @@ -27445,14 +28222,20 @@ 1121205248,1121205759,PR 1121205760,1121206271,LC 1121206272,1121230847,US -1121230848,1121233681,CA -1121233682,1121233682,US -1121233683,1121239039,CA -1121239040,1121247231,US -1121247232,1121255423,CA -1121255424,1121717115,US -1121717116,1121717116,JP -1121717117,1121763327,US +1121230848,1121239039,CA +1121239040,1121249279,US +1121249280,1121251327,CA +1121251328,1121252863,US +1121252864,1121253119,BZ +1121253120,1121254159,US +1121254160,1121254167,CA +1121254168,1121716991,US +1121716992,1121717057,JP +1121717058,1121717058,US +1121717059,1121717247,JP +1121717248,1121751039,US +1121751040,1121753087,CA +1121753088,1121763327,US 1121763328,1121767423,CA 1121767424,1121878015,US 1121878016,1121910783,CA @@ -27475,16 +28258,15 @@ 1122451456,1122455551,CO 1122455552,1122476031,US 1122476032,1122480127,PR -1122480128,1122498559,US -1122498560,1122499583,PR -1122499584,1122500351,US -1122500352,1122500607,MX +1122480128,1122500607,US 1122500608,1122504703,HK -1122504704,1122533375,US +1122504704,1122515967,US +1122515968,1122516991,CA +1122516992,1122533375,US 1122533376,1122535423,GB 1122535424,1122538495,KR -1122538496,1122635775,US -1122635776,1122639871,CA +1122538496,1122631679,US +1122631680,1122639871,CA 1122639872,1122672639,US 1122672640,1122676735,AU 1122676736,1123123199,US @@ -27508,7 +28290,8 @@ 1123589888,1123590143,US 1123590144,1123598335,VI 1123598336,1123600383,CA -1123600384,1123602431,US +1123600384,1123600895,US +1123600896,1123602431,AU 1123602432,1123606527,CA 1123606528,1123635624,US 1123635625,1123635625,JP @@ -27529,9 +28312,9 @@ 1123635911,1123635928,US 1123635929,1123635929,PH 1123635930,1123636479,US -1123636480,1123636642,CL +1123636480,1123636642,BR 1123636643,1123636643,US -1123636644,1123636735,CL +1123636644,1123636735,BR 1123636736,1123638539,US 1123638540,1123638540,PK 1123638541,1123638573,US @@ -27566,9 +28349,11 @@ 1123848192,1123852287,CA 1123852288,1123950591,US 1123950592,1123958783,CA -1123958784,1124853798,US -1124853799,1124853799,JP -1124853800,1125064703,US +1123958784,1123973631,US +1123973632,1123973887,NL +1123973888,1123974143,US +1123974144,1123974399,NL +1123974400,1125064703,US 1125064704,1125065215,GB 1125065216,1125082367,US 1125082368,1125082623,DE @@ -27586,16 +28371,18 @@ 1125156305,1125156305,DE 1125156306,1125228647,US 1125228648,1125228651,FI -1125228652,1125237277,US +1125228652,1125230591,US +1125230592,1125230719,IE +1125230720,1125237277,US 1125237278,1125237278,GB 1125237279,1125237919,US 1125237920,1125237923,GB -1125237924,1125249023,US -1125249024,1125253119,VE +1125237924,1125251071,US +1125251072,1125253119,VE 1125253120,1125474303,US 1125474304,1125478399,CA -1125478400,1125481215,US -1125481216,1125481727,CA +1125478400,1125481471,US +1125481472,1125481727,CA 1125481728,1125486591,US 1125486592,1125490687,CA 1125490688,1125498879,US @@ -27621,7 +28408,11 @@ 1126924288,1126928383,CA 1126928384,1126948863,US 1126948864,1126952959,CA -1126952960,1127677951,US +1126952960,1127514623,US +1127514624,1127515109,MX +1127515110,1127515110,US +1127515111,1127515135,MX +1127515136,1127677951,US 1127677952,1127694335,CA 1127694336,1127923711,US 1127923712,1127931903,CA @@ -27634,18 +28425,12 @@ 1128817664,1130535935,US 1130535936,1130536191,FR 1130536192,1130536959,US -1130536960,1130537599,GU -1130537600,1130537626,US +1130536960,1130537471,GU +1130537472,1130537626,US 1130537627,1130537627,GU -1130537628,1130537663,US -1130537664,1130537695,GU -1130537696,1130537727,US +1130537628,1130537727,US 1130537728,1130539007,GU -1130539008,1132840959,US -1132840960,1132841473,PR -1132841474,1132841474,US -1132841475,1132841983,PR -1132841984,1133461247,US +1130539008,1133461247,US 1133461248,1133461503,CA 1133461504,1133785351,US 1133785352,1133785359,IE @@ -27662,9 +28447,7 @@ 1134440960,1134441215,CA 1134441216,1134441471,US 1134441472,1134441727,IN -1134441728,1134444031,US -1134444032,1134444287,IE -1134444288,1134444543,US +1134441728,1134444543,US 1134444544,1134448639,CA 1134448640,1134546943,US 1134546944,1134551039,CA @@ -27676,9 +28459,11 @@ 1137278976,1137295359,CA 1137295360,1137369087,US 1137369088,1137371135,CA -1137371136,1137376355,US -1137376356,1137376356,CA -1137376357,1137385471,US +1137371136,1137375231,US +1137375232,1137376383,CA +1137376384,1137376511,US +1137376512,1137377279,CA +1137377280,1137385471,US 1137385472,1137387519,BR 1137387520,1137426431,US 1137426432,1137442815,PR @@ -27699,16 +28484,16 @@ 1137686016,1137686271,FR 1137686272,1137688063,US 1137688064,1137688319,FR -1137688320,1137690623,US -1137690624,1137691135,DE -1137691136,1137692159,US +1137688320,1137690879,US +1137690880,1137691135,DE +1137691136,1137691391,US +1137691392,1137691647,CA +1137691648,1137692159,US 1137692160,1137692671,CA 1137692672,1137704959,US 1137704960,1137713151,CA 1137713152,1137717247,US -1137721344,1137737727,US -1137737728,1137741823,CA -1137741824,1137803263,US +1137721344,1137803263,US 1137803264,1137811455,KZ 1137811456,1137836031,US 1137840128,1137840383,CA @@ -27740,7 +28525,11 @@ 1137985728,1137991679,CA 1137991680,1138049023,US 1138049024,1138061311,CA -1138061312,1138068479,US +1138061312,1138062847,US +1138062848,1138063103,CA +1138063104,1138065151,US +1138065152,1138065407,CA +1138065408,1138068479,US 1138068480,1138069247,AU 1138069248,1138069503,US 1138069504,1138073599,JM @@ -27765,13 +28554,13 @@ 1138212864,1138216959,CA 1138216960,1138237439,US 1138237440,1138245631,CA -1138245632,1138373887,US -1138373888,1138374655,AS +1138245632,1138303551,US +1138303552,1138303583,MX +1138303584,1138374399,US +1138374400,1138374655,AS 1138374656,1138374911,US 1138374912,1138375167,AS -1138375168,1138375423,US -1138375424,1138375551,AS -1138375552,1138415871,US +1138375168,1138415871,US 1138415872,1138416127,CA 1138416128,1138417407,US 1138417408,1138417663,CA @@ -27805,9 +28594,7 @@ 1138720768,1138728959,CA 1138728960,1138774015,US 1138774016,1138778111,CA -1138778112,1138780159,US -1138780160,1138780415,CA -1138780416,1138780671,US +1138778112,1138780671,US 1138780672,1138780679,CA 1138780680,1138781183,US 1138781184,1138781695,CA @@ -27846,9 +28633,13 @@ 1138980864,1139146751,US 1139146752,1139154943,GT 1139154944,1139167231,JM -1139167232,1139169279,US -1139169280,1139170303,PR -1139170304,1139176959,US +1139167232,1139168895,US +1139168896,1139169023,PR +1139169024,1139169279,US +1139169280,1139169791,PR +1139169792,1139175423,US +1139175424,1139175935,PR +1139175936,1139176959,US 1139176960,1139177215,PR 1139177216,1139179519,US 1139179520,1139187711,CA @@ -27856,13 +28647,7 @@ 1139216384,1139220479,CA 1139220480,1139265535,US 1139265536,1139269631,CA -1139269632,1145099519,US -1145099520,1145099551,SA -1145099552,1145099567,US -1145099568,1145099697,SA -1145099698,1145099699,US -1145099700,1145099775,SA -1145099776,1145165823,US +1139269632,1145165823,US 1145165824,1145166335,VG 1145166336,1145168895,US 1145168896,1145171967,AU @@ -27928,9 +28713,25 @@ 1152581632,1152614399,CA 1152614400,1152778239,US 1152778240,1152843775,CA -1152843776,1156071423,US +1152843776,1152847871,NL +1152847872,1152851967,US +1152851968,1152856063,GB +1152856064,1152860159,US +1152860160,1152864255,DE +1152864256,1152868351,IN +1152868352,1152888831,US +1152888832,1152892927,SG +1152892928,1152897023,US +1152897024,1152901119,DE +1152901120,1152905215,SG +1152905216,1152906239,DE +1152906240,1152908287,US +1152908288,1152909311,GB +1152909312,1156071423,US 1156071424,1156079615,CA -1156079616,1156243455,US +1156079616,1156128767,US +1156128768,1156130815,IS +1156130816,1156243455,US 1156243456,1156245503,CA 1156245504,1156249599,US 1156249600,1156250623,CA @@ -27953,29 +28754,19 @@ 1157910832,1157910847,US 1157910848,1157910863,CA 1157910864,1157910879,US -1157910880,1157910975,CA -1157910976,1157910983,US -1157910984,1157911071,CA +1157910880,1157911071,CA 1157911072,1157911103,US -1157911104,1157911279,CA -1157911280,1157911287,US -1157911288,1157911343,CA +1157911104,1157911343,CA 1157911344,1157911351,US -1157911352,1157911743,CA -1157911744,1157911759,US -1157911760,1157911775,CA +1157911352,1157911775,CA 1157911776,1157911791,US 1157911792,1157911927,CA 1157911928,1157911935,US 1157911936,1157911951,CA 1157911952,1157911983,US -1157911984,1157911991,CA -1157911992,1157911999,US -1157912000,1157912015,CA +1157911984,1157912015,CA 1157912016,1157912031,US -1157912032,1157912183,CA -1157912184,1157912191,US -1157912192,1157912347,CA +1157912032,1157912347,CA 1157912348,1157912348,US 1157912349,1157912391,CA 1157912392,1157912399,US @@ -27983,51 +28774,39 @@ 1157912448,1157912463,US 1157912464,1157912647,CA 1157912648,1157912671,US -1157912672,1157912687,CA -1157912688,1157912735,US +1157912672,1157912703,CA +1157912704,1157912735,US 1157912736,1157912743,CA 1157912744,1157912751,US 1157912752,1157912815,CA 1157912816,1157912823,US 1157912824,1157912831,CA 1157912832,1157912839,US -1157912840,1157912879,CA -1157912880,1157912911,US -1157912912,1157912943,CA -1157912944,1157913023,US -1157913024,1157913039,CA -1157913040,1157913047,FI -1157913048,1157913087,CA +1157912840,1157912895,CA +1157912896,1157912911,US +1157912912,1157912959,CA +1157912960,1157913023,US +1157913024,1157913087,CA 1157913088,1157913119,US -1157913120,1157913207,CA -1157913208,1157913215,US -1157913216,1157913231,CA -1157913232,1157913295,US -1157913296,1157913427,CA -1157913428,1157913431,US -1157913432,1157913439,CA +1157913120,1157913231,CA +1157913232,1157913247,US +1157913248,1157913279,CA +1157913280,1157913295,US +1157913296,1157913439,CA 1157913440,1157913455,US 1157913456,1157913471,CA 1157913472,1157913487,US 1157913488,1157913495,CA -1157913496,1157913519,US -1157913520,1157913551,CA -1157913552,1157913559,US -1157913560,1157913583,CA +1157913496,1157913503,US +1157913504,1157913583,CA 1157913584,1157913599,US 1157913600,1157913631,CA 1157913632,1157913647,US 1157913648,1157913663,CA 1157913664,1157913679,US -1157913680,1157913695,CA -1157913696,1157913711,US -1157913712,1157913759,CA +1157913680,1157913759,CA 1157913760,1157913775,US -1157913776,1157913823,CA -1157913824,1157913847,US -1157913848,1157913879,CA -1157913880,1157913887,US -1157913888,1157913919,CA +1157913776,1157913919,CA 1157913920,1157913943,US 1157913944,1157914031,CA 1157914032,1157914047,US @@ -28036,18 +28815,16 @@ 1157914096,1157914143,CA 1157914144,1157914175,US 1157914176,1157914183,CA -1157914184,1157914223,US +1157914184,1157914191,US +1157914192,1157914207,CA +1157914208,1157914223,US 1157914224,1157914239,CA 1157914240,1157914255,US 1157914256,1157914303,CA 1157914304,1157914335,US 1157914336,1157914351,CA 1157914352,1157914367,US -1157914368,1157914495,CA -1157914496,1157914511,US -1157914512,1157914519,CA -1157914520,1157914527,US -1157914528,1157914623,CA +1157914368,1157914623,CA 1157914624,1157931007,US 1157931008,1157935103,BS 1157935104,1157943295,US @@ -28094,7 +28871,9 @@ 1159004160,1159213055,US 1159213056,1159217151,CA 1159217152,1159251199,US -1159251200,1159252479,PR +1159251200,1159251967,PR +1159251968,1159252223,US +1159252224,1159252479,PR 1159252480,1159269119,US 1159269120,1159269375,AR 1159269376,1159281919,US @@ -28161,19 +28940,26 @@ 1160665600,1160665855,CH 1160665856,1160667135,US 1160667136,1160675327,CA -1160675328,1160681727,US +1160675328,1160678399,US +1160678400,1160678655,MX +1160678656,1160681727,US 1160681728,1160681983,SG 1160681984,1160683519,US 1160683520,1160691711,CA 1160691712,1160847359,US 1160847360,1160855551,CA -1160855552,1160921087,US +1160855552,1160863999,US +1160864000,1160864255,CA +1160864256,1160921087,US 1160921088,1160925183,AG 1160925184,1160945663,US 1160945664,1160953855,CA 1160953856,1160955255,US 1160955256,1160955264,PL -1160955265,1160967679,US +1160955265,1160963071,US +1160963072,1160963327,DE +1160963328,1160963583,CA +1160963584,1160967679,US 1160967680,1160967935,GB 1160967936,1160968191,IT 1160968192,1160968703,SE @@ -28185,11 +28971,7 @@ 1161052672,1161052927,GB 1161052928,1161053439,US 1161053440,1161053695,GB -1161053696,1161070335,US -1161070336,1161070591,HK -1161070592,1161073407,US -1161073408,1161073663,AU -1161073664,1161163263,US +1161053696,1161163263,US 1161163264,1161163519,NL 1161163520,1161293823,US 1161293824,1161297919,CA @@ -28202,11 +28984,7 @@ 1161421824,1161422335,AG 1161422336,1161422591,LC 1161422592,1161422847,AG -1161422848,1161423103,LC -1161423104,1161423359,VG -1161423360,1161423615,AI -1161423616,1161423871,AG -1161423872,1161424127,LC +1161422848,1161424127,LC 1161424128,1161424383,AI 1161424384,1161424639,KN 1161424640,1161424895,LC @@ -28220,16 +28998,15 @@ 1161428224,1161428991,KN 1161428992,1161429023,CA 1161429024,1161429031,US -1161429032,1161429039,SE -1161429040,1161429111,CA +1161429032,1161429111,CA 1161429112,1161429135,US 1161429136,1161429151,CA -1161429152,1161429199,US -1161429200,1161429207,CA -1161429208,1161429255,US -1161429256,1161429263,CA -1161429264,1161429279,US -1161429280,1161429295,CA +1161429152,1161429167,US +1161429168,1161429175,CA +1161429176,1161429199,US +1161429200,1161429215,CA +1161429216,1161429255,US +1161429256,1161429295,CA 1161429296,1161429327,US 1161429328,1161429335,CA 1161429336,1161429351,US @@ -28237,34 +29014,26 @@ 1161429376,1161429407,US 1161429408,1161429431,CA 1161429432,1161429439,US -1161429440,1161429511,CA -1161429512,1161429519,US -1161429520,1161429535,CA +1161429440,1161429535,CA 1161429536,1161429543,US 1161429544,1161429551,CA 1161429552,1161429599,US -1161429600,1161429615,CA -1161429616,1161429663,US -1161429664,1161429679,CA -1161429680,1161429711,US +1161429600,1161429647,CA +1161429648,1161429663,US +1161429664,1161429695,CA +1161429696,1161429711,US 1161429712,1161429719,FI 1161429720,1161429727,US 1161429728,1161429759,CA 1161429760,1161429775,US -1161429776,1161429815,CA -1161429816,1161429823,US -1161429824,1161429831,CA -1161429832,1161429839,US -1161429840,1161429855,CA +1161429776,1161429855,CA 1161429856,1161429863,US 1161429864,1161429887,CA 1161429888,1161429903,US -1161429904,1161429983,CA -1161429984,1161430015,US -1161430016,1161430023,FI -1161430024,1161430031,US -1161430032,1161430079,CA -1161430080,1161430159,US +1161429904,1161429999,CA +1161430000,1161430015,US +1161430016,1161430111,CA +1161430112,1161430159,US 1161430160,1161430191,CA 1161430192,1161430207,US 1161430208,1161430431,CA @@ -28279,26 +29048,24 @@ 1161430576,1161430591,US 1161430592,1161430639,CA 1161430640,1161430647,US -1161430648,1161430671,CA -1161430672,1161430679,US -1161430680,1161430703,CA -1161430704,1161430719,US -1161430720,1161430727,CA -1161430728,1161430735,FI -1161430736,1161430799,CA -1161430800,1161430823,US -1161430824,1161430847,CA +1161430648,1161430799,CA +1161430800,1161430815,US +1161430816,1161430847,CA 1161430848,1161430911,US 1161430912,1161430943,CA -1161430944,1161431007,US +1161430944,1161430975,US +1161430976,1161430991,CA +1161430992,1161431007,US 1161431008,1161431039,CA -1161431040,1161432319,US -1161432320,1161432479,CA -1161432480,1161432575,US +1161431040,1161432063,US +1161432064,1161432511,CA +1161432512,1161432575,US 1161432576,1161432831,CA 1161432832,1161433087,US -1161433088,1161437183,CA -1161437184,1161453567,US +1161433088,1161436159,CA +1161436160,1161437120,US +1161437121,1161437121,CA +1161437122,1161453567,US 1161453568,1161457663,CA 1161457664,1161576447,US 1161576448,1161580543,CA @@ -28327,9 +29094,7 @@ 1161834744,1161834744,BZ 1161834745,1161835948,US 1161835949,1161835949,BZ -1161835950,1161837567,US -1161837568,1161837823,JP -1161837824,1161884927,US +1161835950,1161884927,US 1161884928,1161884959,DE 1161884960,1161885183,US 1161885184,1161885199,JP @@ -28351,9 +29116,7 @@ 1162032288,1162032303,BE 1162032304,1162059775,US 1162059776,1162067967,CA -1162067968,1162152959,US -1162152960,1162153471,VI -1162153472,1162215423,US +1162067968,1162215423,US 1162215424,1162280959,CA 1162280960,1162297343,US 1162297344,1162305535,CA @@ -28372,15 +29135,14 @@ 1162470912,1162471423,GD 1162471424,1162472703,BB 1162472704,1162473471,VC -1162473472,1162473727,BB -1162473728,1162475007,GD +1162473472,1162475007,GD 1162475008,1162477567,BB 1162477568,1162715135,US 1162715136,1162723327,CA 1162723328,1162807295,US 1162807296,1162807807,PR -1162807808,1162808319,LC -1162808320,1162809343,PR +1162807808,1162808063,LC +1162808064,1162809343,PR 1162809344,1162811391,US 1162811392,1162811647,CW 1162811648,1162812415,US @@ -28398,22 +29160,20 @@ 1162853376,1162854399,PR 1162854400,1162858495,JM 1162858496,1162862591,US -1162862592,1162862847,PR -1162862848,1162863103,US -1162863104,1162863359,PR -1162863360,1162863423,US -1162863424,1162863487,PR -1162863488,1162870783,US +1162862592,1162863103,PR +1162863104,1162870783,US 1162870784,1162871295,BB -1162871296,1162878975,LC -1162878976,1162882559,DM +1162871296,1162879487,LC +1162879488,1162879999,BB +1162880000,1162882559,DM 1162882560,1162883839,GD 1162883840,1162884863,BB 1162884864,1162885887,VC 1162885888,1162887167,BB 1162887168,1162929151,US 1162929152,1162932223,CA -1162932224,1163386367,US +1162932224,1163372543,US +1163378688,1163386367,US 1163386368,1163386879,CA 1163386880,1163399167,US 1163399168,1163399423,WS @@ -28423,8 +29183,10 @@ 1163401472,1163401727,ID 1163401728,1163407359,US 1163407360,1163411455,CA -1163411456,1163469567,US -1163469568,1163472895,PR +1163411456,1163469823,US +1163469824,1163470335,PR +1163470336,1163470847,US +1163470848,1163472895,PR 1163472896,1163479295,US 1163479296,1163479551,CA 1163479552,1163526143,US @@ -28439,11 +29201,9 @@ 1163556096,1163556863,CA 1163556864,1163557119,US 1163557120,1163558911,CA -1163558912,1163561215,US -1163561216,1163561471,CA -1163561472,1163563007,US -1163563008,1163566335,CA -1163566336,1163567103,US +1163558912,1163560959,US +1163560960,1163566591,CA +1163566592,1163567103,US 1163567104,1163569407,CA 1163569408,1163569663,US 1163569664,1163570943,CA @@ -28473,9 +29233,7 @@ 1163579464,1163579471,US 1163579472,1163580415,CA 1163580416,1163580543,US -1163580544,1163580819,CA -1163580820,1163580830,US -1163580831,1163581375,CA +1163580544,1163581375,CA 1163581376,1163581391,US 1163581392,1163583487,CA 1163583488,1163583999,US @@ -28488,7 +29246,7 @@ 1163590144,1163591679,CA 1163591680,1163808767,US 1163808768,1163812863,MV -1163812864,1163816959,US +1163812864,1163816959,HK 1163816960,1163821055,CY 1163821056,1167851519,US 1167851520,1168113663,CA @@ -28507,16 +29265,14 @@ 1168269888,1168269951,GB 1168269952,1168279295,US 1168279296,1168279359,CA -1168279360,1168394239,US -1168394240,1168395263,CA -1168395264,1168420863,US +1168279360,1168420863,US 1168420864,1168424959,CA -1168424960,1168461823,US +1168424960,1168444671,US +1168444672,1168444927,CA +1168444928,1168461823,US 1168461824,1168465919,CA 1168465920,1168474111,US -1168474112,1168488447,CA -1168488448,1168488703,US -1168488704,1168506879,CA +1168474112,1168506879,CA 1168506880,1168510975,US 1168510976,1168515071,CA 1168515072,1168535551,US @@ -28542,7 +29298,15 @@ 1168859136,1168863231,CA 1168863232,1168867327,US 1168867328,1168875519,CA -1168875520,1168916479,US +1168875520,1168877567,US +1168877568,1168879615,CA +1168879616,1168881663,US +1168881664,1168882547,CA +1168882548,1168882548,US +1168882549,1168883711,CA +1168883712,1168898047,US +1168898048,1168900095,IN +1168900096,1168916479,US 1168916480,1168924671,HK 1168924672,1168932863,IT 1168932864,1168936959,US @@ -28580,31 +29344,36 @@ 1168982016,1168998399,US 1168998400,1169002495,CA 1169002496,1169003007,DE -1169003008,1169032063,US +1169003008,1169031167,US +1169031168,1169032063,DE 1169032064,1169032071,CA -1169032072,1169034529,US +1169032072,1169033819,DE +1169033820,1169033823,US +1169033824,1169034529,DE 1169034530,1169034530,CA -1169034531,1169035263,US -1169035264,1169035265,DE +1169034531,1169034557,DE +1169034558,1169034558,US +1169034559,1169035265,DE 1169035266,1169035266,US 1169035267,1169037311,DE -1169037312,1169041537,US -1169041538,1169041538,CA -1169041539,1169042719,US +1169037312,1169040895,US +1169040896,1169041407,CA +1169041408,1169041535,US +1169041536,1169041663,CA +1169041664,1169042719,US 1169042720,1169042735,CO 1169042736,1169042767,US 1169042768,1169042783,AR -1169042784,1169053345,US -1169053346,1169053346,CA -1169053347,1169062143,US +1169042784,1169062143,US 1169062144,1169062207,HK 1169062208,1169062383,US 1169062384,1169062399,IN 1169062400,1169203199,US 1169203200,1169211391,CA -1169211392,1170190847,US +1169211392,1170190335,US +1170190336,1170190847,GB 1170190848,1170191103,JP -1170191104,1170191359,US +1170191104,1170191359,GB 1170191360,1170191871,DE 1170191872,1170192383,HK 1170192384,1170227199,US @@ -28649,10 +29418,9 @@ 1176632576,1176632831,GB 1176632832,1176643583,US 1176643584,1176645631,NL -1176645632,1176647423,US -1176647424,1176647679,NL -1176647680,1176649727,AU -1176649728,1176731647,US +1176645632,1176648191,US +1176648192,1176648447,IN +1176648448,1176731647,US 1176731648,1176735743,PR 1176735744,1176736767,US 1176736768,1176737023,CR @@ -28733,7 +29501,9 @@ 1177165056,1177165056,CA 1177165057,1177165057,US 1177165058,1177165087,CA -1177165088,1177354239,US +1177165088,1177314887,US +1177314888,1177314895,VI +1177314896,1177354239,US 1177354240,1177419775,PR 1177419776,1177550847,US 1177550848,1178075135,CA @@ -28741,9 +29511,7 @@ 1178599424,1179910143,CA 1179910144,1191673855,US 1191673856,1191706623,CA -1191706624,1192232127,US -1192232128,1192232159,PA -1192232160,1192296447,US +1191706624,1192296447,US 1192296448,1192361983,CA 1192361984,1192427519,US 1192427520,1192460287,CA @@ -28751,9 +29519,7 @@ 1192468480,1192476671,CA 1192476672,1192488959,US 1192488960,1192493055,CA -1192493056,1194307039,US -1194307040,1194307071,VI -1194307072,1199816703,US +1192493056,1199816703,US 1199816704,1199849471,CN 1199849472,1200111615,US 1200111616,1200127999,CN @@ -28765,7 +29531,9 @@ 1208008704,1208016895,CA 1208016896,1208020991,US 1208020992,1208025087,CA -1208025088,1208074239,US +1208025088,1208050943,US +1208050944,1208051199,CA +1208051200,1208074239,US 1208074240,1208082431,CA 1208082432,1208090623,US 1208090624,1208107007,CA @@ -28785,8 +29553,7 @@ 1208852480,1208860671,CA 1208860672,1208918015,US 1208918016,1208922111,CA -1208922112,1208935679,US -1208935680,1208935935,CN +1208922112,1208935935,US 1208935936,1208935943,AU 1208935944,1208935951,IN 1208935952,1208935959,SG @@ -28796,13 +29563,12 @@ 1208935984,1208935991,IN 1208935992,1208935999,JP 1208936000,1208936003,HK -1208936004,1208936007,US +1208936004,1208936007,AU 1208936008,1208936015,ID -1208936016,1208936023,US +1208936016,1208936023,AU 1208936024,1208936039,IN 1208936040,1208936047,JP -1208936048,1208936191,US -1208936192,1208936199,AU +1208936048,1208936199,AU 1208936200,1208936207,SG 1208936208,1208936215,HK 1208936216,1208936223,IN @@ -28811,11 +29577,12 @@ 1208936240,1208936247,JP 1208936248,1208936255,IN 1208936256,1208936263,MY -1208936264,1208936295,US +1208936264,1208936295,AU 1208936296,1208936299,HK -1208936300,1208936311,US +1208936300,1208936311,AU 1208936312,1208936313,ID -1208936314,1208954879,US +1208936314,1208936447,AU +1208936448,1208954879,US 1208954880,1208958975,CA 1208958976,1208975359,US 1208975360,1208983551,CA @@ -28849,18 +29616,12 @@ 1209884680,1209884687,ES 1209884688,1209917439,US 1209917440,1209925631,CA -1209925632,1210092287,US -1210092288,1210092543,ES -1210092544,1210099711,US +1209925632,1210099711,US 1210099712,1210099719,MX 1210099720,1210109263,US 1210109264,1210109271,CA -1210109272,1210228735,US -1210228736,1210230855,AU -1210230856,1210230863,US -1210230864,1210232831,AU -1210232832,1210257407,US -1210257408,1210261503,CA +1210109272,1210259455,US +1210259456,1210261503,CA 1210261504,1210314751,US 1210314752,1210315007,GB 1210315008,1210315775,US @@ -28884,9 +29645,7 @@ 1210994688,1210997759,CA 1210997760,1211014143,US 1211014144,1211014655,PR -1211014656,1211032271,US -1211032272,1211032287,DO -1211032288,1211236351,US +1211014656,1211236351,US 1211236352,1211269119,PR 1211269120,1211301887,US 1211301888,1211304959,CA @@ -28902,7 +29661,9 @@ 1211315456,1211317759,CA 1211317760,1211318015,US 1211318016,1211318271,CA -1211318272,1211321087,BB +1211318272,1211319807,BB +1211319808,1211320575,GD +1211320576,1211321087,BB 1211321088,1211321343,BS 1211321344,1211322367,VC 1211322368,1211322623,BB @@ -28929,9 +29690,7 @@ 1211473920,1211482367,US 1211482368,1211498495,CA 1211498496,1211596799,US -1211596800,1211597355,CA -1211597356,1211597359,GB -1211597360,1211600959,CA +1211596800,1211600959,CA 1211600960,1211600967,US 1211600968,1211605939,CA 1211605940,1211605943,PH @@ -28955,15 +29714,17 @@ 1219256320,1219264511,CA 1219264512,1219272703,US 1219272704,1219276799,CA -1219276800,1224089599,US -1224089600,1224093695,CA -1224093696,1224104959,US +1219276800,1224104959,US 1224104960,1224105471,NL 1224105472,1224107007,US 1224107008,1224107519,NL -1224107520,1224118271,US +1224107520,1224112127,US +1224112128,1224113151,NL +1224113152,1224118271,US 1224118272,1224119807,NL -1224119808,1224138751,US +1224119808,1224124415,US +1224124416,1224126463,NL +1224126464,1224138751,US 1224138752,1224139775,NL 1224139776,1224140287,US 1224140288,1224140799,NL @@ -28990,8 +29751,7 @@ 1224202240,1224327167,US 1224327168,1224327295,NL 1224327296,1224327935,US -1224327936,1224327943,CA -1224327944,1224328063,US +1224327936,1224328063,CA 1224328064,1224328191,NL 1224328192,1224329215,US 1224329216,1224329471,CA @@ -29010,12 +29770,16 @@ 1224484864,1224493055,GT 1224493056,1224499199,US 1224499200,1224501247,GT -1224501248,1224540159,JM +1224501248,1224527616,JM +1224527617,1224527871,US +1224527872,1224540159,JM 1224540160,1224671231,US 1224671232,1224687615,PK 1224687616,1224728575,US 1224728576,1224736767,HK -1224736768,1241743359,US +1224736768,1225084383,US +1225084384,1225084415,JP +1225084416,1241743359,US 1241743360,1241759743,CA 1241759744,1242300415,US 1242300416,1242562559,CA @@ -29101,7 +29865,9 @@ 1246890432,1246890463,CA 1246890464,1246890464,US 1246890465,1246890495,CA -1246890496,1246895103,US +1246890496,1246893759,US +1246893760,1246893791,JP +1246893792,1246895103,US 1246895104,1246895615,NL 1246895616,1246900223,US 1246900224,1246900287,HK @@ -29113,9 +29879,7 @@ 1246905600,1246912511,CA 1246912512,1246923519,US 1246923520,1246923775,AU -1246923776,1247062115,US -1247062116,1247062116,MX -1247062117,1247101439,US +1246923776,1247101439,US 1247101440,1247101695,CA 1247101696,1247123967,US 1247123968,1247124223,CA @@ -29133,11 +29897,7 @@ 1248885760,1248886783,CA 1248886784,1248899071,US 1248899072,1248900095,CA -1248900096,1248902143,US -1248902144,1248902655,CA -1248902656,1248902911,US -1248902912,1248903167,CA -1248903168,1248913407,US +1248900096,1248913407,US 1248913408,1248915455,MF 1248915456,1248919551,US 1248919552,1248920575,CA @@ -29184,12 +29944,15 @@ 1249103104,1249103871,CA 1249103872,1249106943,US 1249106944,1249107967,CA -1249107968,1249130495,US +1249107968,1249116927,US +1249116928,1249117183,DE +1249117184,1249130495,US 1249130496,1249131519,JM 1249131520,1249139711,US -1249139712,1249140268,MF +1249139712,1249140268,GP 1249140269,1249140269,FR -1249140270,1249140735,MF +1249140270,1249140479,GP +1249140480,1249140735,MF 1249140736,1249142015,US 1249142016,1249142271,GB 1249142272,1249146879,US @@ -29224,7 +29987,9 @@ 1249267712,1249268735,AF 1249268736,1249272831,US 1249272832,1249273855,CA -1249273856,1249310719,US +1249273856,1249296383,US +1249296384,1249297407,CA +1249297408,1249310719,US 1249310720,1249311743,CA 1249311744,1249312767,US 1249312768,1249313791,CA @@ -29392,9 +30157,7 @@ 1249886208,1249902591,CA 1249902592,1252535295,US 1252535296,1252536319,VI -1252536320,1252774911,US -1252774912,1252775935,AS -1252775936,1254490111,US +1252536320,1254490111,US 1254490112,1254555647,CA 1254555648,1254621183,US 1254621184,1254629375,CA @@ -29414,7 +30177,9 @@ 1255276544,1255342079,CA 1255342080,1255489535,US 1255489536,1255505919,PR -1255505920,1255514111,US +1255505920,1255512063,US +1255512064,1255512831,CA +1255512832,1255514111,US 1255514112,1255522303,CA 1255522304,1255571455,US 1255571456,1255579647,CA @@ -29536,8 +30301,7 @@ 1280081920,1280090111,US 1280090112,1280091135,AG 1280091136,1280092159,VG -1280092160,1280093183,KN -1280093184,1280094207,VG +1280092160,1280094207,KN 1280094208,1280096255,AI 1280096256,1280097279,AG 1280097280,1280097791,LC @@ -29567,7 +30331,8 @@ 1294000128,1294004223,CH 1294004224,1294073855,PL 1294073856,1294204927,RU -1294204928,1294237695,RO +1294204928,1294229503,RO +1294229504,1294237695,US 1294237696,1294270463,IR 1294270464,1294299135,DE 1294299136,1294303231,IR @@ -29588,8 +30353,8 @@ 1294794752,1294827519,PL 1294827520,1294860287,RU 1294860288,1294893055,PL -1294893056,1294894079,RS -1294894080,1294894731,XK +1294893056,1294894591,RS +1294894592,1294894731,XK 1294894732,1294894732,RS 1294894733,1294895103,XK 1294895104,1294925823,RS @@ -29607,9 +30372,7 @@ 1295384576,1295450111,PT 1295450112,1295481855,PL 1295482880,1295515647,PL -1295515648,1295763199,CH -1295763200,1295763455,GB -1295763456,1295777791,CH +1295515648,1295777791,CH 1295777792,1296039935,NL 1296039936,1296072703,SA 1296072704,1296105471,DE @@ -29653,10 +30416,8 @@ 1296249464,1296249471,GB 1296249472,1296249567,IE 1296249568,1296249599,NO -1296249600,1296249615,GB -1296249616,1296249747,IE -1296249748,1296249751,GB -1296249752,1296250367,IE +1296249600,1296249855,GB +1296249856,1296250367,IE 1296250368,1296250399,CZ 1296250400,1296250431,DE 1296250432,1296250463,PL @@ -29665,15 +30426,24 @@ 1296250528,1296250559,DK 1296250560,1296250607,IE 1296250608,1296250615,DE -1296250616,1296250623,IE -1296250624,1296250879,GB +1296250616,1296250687,IE +1296250688,1296250695,ES +1296250696,1296250703,PL +1296250704,1296250815,IE +1296250816,1296250847,BE +1296250848,1296250879,GB 1296250880,1296250943,IE 1296250944,1296250947,FR -1296250948,1296251199,IE +1296250948,1296251087,IE +1296251088,1296251095,CZ +1296251096,1296251103,ES +1296251104,1296251199,IE 1296251200,1296251231,NL 1296251232,1296251391,IE 1296251392,1296251775,NL -1296251776,1296252479,IE +1296251776,1296252191,IE +1296252192,1296252199,ES +1296252200,1296252479,IE 1296252480,1296252487,ES 1296252488,1296252503,IE 1296252504,1296252507,DE @@ -29692,9 +30462,8 @@ 1296252648,1296252655,GB 1296252656,1296252667,IE 1296252668,1296252671,GB -1296252672,1296252897,IE -1296252898,1296252898,BE -1296252899,1296254207,IE +1296252672,1296252927,BE +1296252928,1296254207,IE 1296254208,1296254463,US 1296254464,1296256839,IE 1296256840,1296256847,US @@ -29708,9 +30477,15 @@ 1296261632,1296262383,IE 1296262384,1296262399,IN 1296262400,1296262655,US -1296262656,1296263431,IE +1296262656,1296263351,IE +1296263352,1296263359,CZ +1296263360,1296263399,IE +1296263400,1296263407,CZ +1296263408,1296263423,CH +1296263424,1296263431,IE 1296263432,1296263439,FR -1296263440,1296263523,IE +1296263440,1296263455,AT +1296263456,1296263523,IE 1296263524,1296263527,CH 1296263528,1296263673,IE 1296263674,1296263674,PL @@ -29719,12 +30494,15 @@ 1296263936,1296264175,IE 1296264176,1296264183,BE 1296264184,1296264191,NO -1296264192,1296264287,GB +1296264192,1296264263,IE +1296264264,1296264271,GB +1296264272,1296264287,IE 1296264288,1296264303,US -1296264304,1296265175,GB +1296264304,1296264319,IE +1296264320,1296264447,GB +1296264448,1296265175,IE 1296265176,1296265183,RS -1296265184,1296265215,GB -1296265216,1296265279,IE +1296265184,1296265279,IE 1296265280,1296265343,DE 1296265344,1296267263,IE 1296267264,1296267341,DE @@ -29978,9 +30756,11 @@ 1297584128,1297588223,UA 1297588224,1297590271,NL 1297590272,1297592319,RU -1297592320,1297593215,IM -1297593216,1297593223,GB -1297593224,1297594367,IM +1297592320,1297593225,GB +1297593226,1297593226,IM +1297593227,1297593247,GB +1297593248,1297593279,MT +1297593280,1297594367,GB 1297594368,1297596415,DE 1297596416,1297598463,UA 1297598464,1297602559,RU @@ -30004,16 +30784,19 @@ 1297727488,1297743871,MD 1297743872,1297760255,DE 1297760256,1297774591,LT -1297774592,1297774847,FR -1297774848,1297775103,LT -1297775104,1297775615,FR -1297775616,1297776639,LT -1297776640,1297783295,DE -1297783296,1297784319,RU -1297784320,1297787135,DE -1297787136,1297787391,RO -1297787392,1297793023,DE -1297793024,1297809407,UA +1297774592,1297774655,FR +1297774656,1297776639,LT +1297776640,1297783551,DE +1297783552,1297784575,RU +1297784576,1297785087,DE +1297785088,1297790463,RU +1297790464,1297790975,DE +1297790976,1297792511,RU +1297792512,1297792767,DE +1297792768,1297793023,RU +1297793024,1297797119,UA +1297797120,1297807359,SA +1297807360,1297809407,UA 1297809408,1297825791,PL 1297825792,1297838079,RU 1297838080,1297838335,LU @@ -30038,7 +30821,7 @@ 1297932288,1297940479,GE 1297940480,1297948671,LV 1297948672,1297956863,UA -1297956864,1297965055,NL +1297957760,1297965055,NL 1297965056,1297973247,RU 1297973248,1297981439,GB 1297981440,1297989631,RO @@ -30059,7 +30842,7 @@ 1298067456,1298071551,NL 1298071552,1298073599,TJ 1298073600,1298075647,RU -1298075648,1298076671,CY +1298075648,1298076671,FI 1298076672,1298077695,RU 1298078208,1298079743,NL 1298079744,1298081791,GB @@ -30098,7 +30881,11 @@ 1298677760,1298694143,IR 1298694144,1298705012,US 1298705013,1298705013,SG -1298705014,1298708879,US +1298705014,1298708479,US +1298708480,1298708661,IT +1298708662,1298708662,NL +1298708663,1298708735,IT +1298708736,1298708879,US 1298708880,1298708880,SG 1298708881,1298710527,US 1298710528,1298726911,CZ @@ -30118,20 +30905,18 @@ 1298956288,1298972671,GB 1298972672,1298989055,RU 1298989056,1299005439,UA -1299005440,1299008767,NL +1299005440,1299005951,BE +1299005952,1299008767,NL 1299008768,1299009023,BE 1299009024,1299009535,NL -1299009536,1299011071,BE -1299011072,1299011583,NL -1299011584,1299015679,BE +1299009536,1299015679,BE 1299015680,1299017727,NL -1299017728,1299018239,BE -1299018240,1299018495,NL +1299017728,1299017983,BE +1299017984,1299018495,NL 1299018496,1299019775,BE 1299019776,1299020031,NL 1299020032,1299021055,BE -1299021056,1299021311,NL -1299021312,1299021823,BE +1299021056,1299021823,NL 1299021824,1299025148,CH 1299025149,1299025149,DE 1299025150,1299026111,CH @@ -30156,7 +30941,9 @@ 1299109530,1299109530,NO 1299109531,1299109569,SJ 1299109570,1299109570,NO -1299109571,1299109613,SJ +1299109571,1299109609,SJ +1299109610,1299109610,NO +1299109611,1299109613,SJ 1299109614,1299109614,NO 1299109615,1299109629,SJ 1299109630,1299109630,NO @@ -30164,7 +30951,8 @@ 1299109632,1299120127,NO 1299120128,1299136511,SI 1299136512,1299169279,HU -1299169280,1299173375,US +1299169280,1299170815,GB +1299170816,1299173375,US 1299173376,1299174399,FR 1299174400,1299178495,GB 1299178496,1299180543,CH @@ -30200,9 +30988,7 @@ 1306198016,1306206207,LV 1306206208,1306214399,HR 1306214400,1306222591,SE -1306222592,1306238975,HR -1306238976,1306247167,LT -1306247168,1306263551,HR +1306222592,1306263551,HR 1306263552,1306271743,KE 1306271744,1306279935,RU 1306279936,1306288127,IT @@ -30244,7 +31030,8 @@ 1307092992,1307095039,GB 1307095040,1307097087,SA 1307097088,1307099135,RU -1307099136,1307107327,RO +1307099136,1307103231,US +1307103232,1307107327,RO 1307107328,1307115519,DE 1307115520,1307123711,RU 1307123712,1307131903,NL @@ -30262,7 +31049,7 @@ 1307192576,1307192755,DE 1307192756,1307192756,AF 1307192757,1307192831,DE -1307192832,1307193087,US +1307192832,1307193343,US 1307193344,1307195391,NO 1307195392,1307197439,CH 1307197440,1307205631,HU @@ -30301,7 +31088,7 @@ 1307435648,1307435775,LT 1307435776,1307436543,DE 1307436544,1307436799,AU -1307436800,1307437055,US +1307436800,1307437055,RU 1307437056,1307441151,ES 1307441152,1307442175,GB 1307442176,1307443199,DE @@ -30348,11 +31135,7 @@ 1307658240,1307659263,TR 1307659264,1307660287,GB 1307660288,1307664383,BE -1307664384,1307665407,NO -1307665408,1307665441,GB -1307665442,1307665443,NO -1307665444,1307665663,GB -1307665664,1307668479,NO +1307664384,1307668479,NO 1307668480,1307672575,ES 1307672576,1307676671,DK 1307676672,1307680767,RU @@ -30372,14 +31155,16 @@ 1307734016,1307738111,NL 1307738112,1307742207,IT 1307742208,1307746303,HU -1307746304,1307750399,UA +1307746304,1307747327,CH +1307747328,1307747583,UA +1307747584,1307750399,CH 1307750400,1307754495,IT 1307754496,1307758591,GB -1307758592,1307759103,SM -1307759104,1307759999,IT -1307760000,1307760127,SM -1307760128,1307760639,IT -1307760640,1307762687,SM +1307758592,1307758847,SM +1307758848,1307761931,IT +1307761932,1307761932,SM +1307761933,1307762175,IT +1307762176,1307762687,SM 1307762688,1307766783,PL 1307766784,1307770879,GB 1307770880,1307774975,RU @@ -30389,12 +31174,12 @@ 1307791360,1307792383,RU 1307792384,1307793407,DE 1307793408,1307794431,RU -1307794432,1307795455,AT +1307794432,1307795455,US 1307795456,1307803647,RU 1307803648,1307807743,DK 1307807744,1307811839,SE 1307811840,1307815935,NL -1307816192,1307816703,GB +1307816192,1307816959,GB 1307816960,1307817215,NL 1307817216,1307817219,DE 1307817220,1307817223,CZ @@ -30457,10 +31242,7 @@ 1307926528,1307930623,KZ 1307930624,1307934719,RU 1307934720,1307938815,FR -1307938816,1307941242,CY -1307941243,1307941243,TR -1307941244,1307942399,CY -1307942400,1307942911,TR +1307938816,1307942911,TR 1307942912,1307947007,RU 1307947008,1307951103,CH 1307951104,1307959295,RU @@ -30486,10 +31268,16 @@ 1308020736,1308024831,BG 1308024832,1308030975,RU 1308030976,1308033023,UA -1308033024,1308033685,DE +1308033024,1308033535,DE +1308033536,1308033679,NL +1308033680,1308033685,DE 1308033686,1308033686,GB -1308033687,1308035071,DE -1308035072,1308036095,GB +1308033687,1308033695,DE +1308033696,1308033791,NL +1308033792,1308035427,DE +1308035428,1308035428,GB +1308035429,1308035839,DE +1308035840,1308036095,GB 1308036096,1308037119,DE 1308037120,1308041215,UA 1308041216,1308049407,RU @@ -30516,15 +31304,12 @@ 1308090368,1308092415,SK 1308092416,1308096511,RU 1308096512,1308096767,AL -1308096768,1308097279,RS -1308097280,1308097535,XK +1308096768,1308097535,RS 1308097536,1308098303,AL -1308098304,1308098559,RS +1308098304,1308098559,XK 1308098560,1308360703,NL 1308360704,1308622847,PL -1308622848,1308781951,HR -1308781952,1308782079,AT -1308782080,1308884991,HR +1308622848,1308884991,HR 1308884992,1309147135,IT 1309147136,1309409279,PL 1309409280,1309671423,IT @@ -30585,9 +31370,7 @@ 1310572544,1310588927,BE 1310588928,1310605311,ES 1310605312,1310621695,PL -1310621696,1310631935,RS -1310631936,1310633983,XK -1310633984,1310638079,RS +1310621696,1310638079,RS 1310638080,1310654463,UA 1310654464,1310656511,RU 1310656512,1310657535,GB @@ -30655,8 +31438,7 @@ 1311254528,1311256575,SE 1311256576,1311258623,FR 1311258624,1311260671,GB -1311260672,1311261183,NO -1311261184,1311262719,NL +1311260672,1311262719,NL 1311262720,1311262735,CH 1311262736,1311262767,FR 1311262768,1311264767,CH @@ -30720,14 +31502,13 @@ 1311593433,1311637503,CZ 1311637504,1312292863,DE 1312292864,1312817151,LT -1312817152,1312817435,DK -1312817436,1312817439,SE -1312817440,1312819199,DK -1312819200,1313199103,SE -1313199104,1313199231,DK -1313199232,1313325567,SE -1313325568,1313325695,PL -1313325696,1313865727,SE +1312817152,1312928767,SE +1312928768,1312929791,DK +1312929792,1313199103,SE +1313199104,1313199167,DK +1313199168,1313259455,SE +1313259456,1313259519,DK +1313259520,1313865727,SE 1313865728,1313931263,CZ 1313931264,1313996799,RU 1313996800,1314062335,SE @@ -30846,9 +31627,7 @@ 1317471232,1317472255,CY 1317472256,1317474303,TR 1317474304,1317478399,CY -1317478400,1317481471,TR -1317481472,1317482495,GB -1317482496,1317502975,TR +1317478400,1317502975,TR 1317502976,1317535743,IE 1317535744,1317552127,GB 1317552128,1317568511,ES @@ -30869,11 +31648,9 @@ 1317629952,1317634047,GB 1317634048,1317634303,IE 1317634304,1317636095,GB -1317636096,1317638143,IE -1317638144,1317641471,GB -1317641472,1317641727,IE -1317641728,1317642239,GB -1317642240,1317642495,IE +1317636096,1317637119,IE +1317637120,1317640191,GB +1317640192,1317642495,IE 1317642496,1317643316,GB 1317643317,1317643317,IE 1317643318,1317647015,GB @@ -30897,11 +31674,12 @@ 1317748736,1317765119,RU 1317765120,1317781503,GE 1317781504,1317814271,RU -1317814272,1317816335,GB +1317814272,1317816319,NL +1317816320,1317816335,DE 1317816336,1317816351,JP -1317816352,1317818367,GB -1317818368,1317822463,RU -1317822464,1317830655,DE +1317816352,1317818367,DE +1317818368,1317820415,RU +1317820416,1317830655,DE 1317830656,1317847039,NL 1317847040,1317863423,RU 1317863424,1317879807,GB @@ -30913,12 +31691,28 @@ 1317931008,1317931263,US 1317931264,1317945343,BG 1317945344,1317978111,AT +1317978112,1317979135,GB +1317979136,1317980159,IT +1317980160,1317981183,ES +1317981184,1317982207,HU +1317982208,1317983231,TR +1317983232,1317984255,ES +1317984256,1317985279,NL +1317985280,1317986303,RU +1317986304,1317987327,PL +1317987328,1317988351,NL +1317988352,1317990399,RU +1317990400,1317993471,CZ +1317993472,1317994495,MD 1317994496,1318010879,DE 1318010880,1318027263,DK 1318027264,1318043647,IE 1318043648,1318051839,GB 1318051840,1318055935,PS -1318055936,1318058879,GB +1318055936,1318056191,US +1318056192,1318057727,GB +1318057728,1318057983,US +1318057984,1318058879,GB 1318058880,1318058887,AE 1318058888,1318584319,GB 1318584320,1318592511,PL @@ -30955,8 +31749,7 @@ 1318748160,1318756351,LV 1318756352,1318764543,UA 1318764544,1318780927,KW -1318780928,1318788607,CH -1318788608,1318789119,BE +1318780928,1318789119,CH 1318789120,1318797311,ME 1318797312,1318805503,SY 1318805504,1318813695,PL @@ -30981,8 +31774,8 @@ 1318936448,1318936575,LT 1318936576,1318944767,DK 1318944768,1318958079,CZ -1318958080,1318959103,PL -1318959104,1318961151,CZ +1318958080,1318960127,PL +1318960128,1318961151,CZ 1318961152,1318969343,GB 1318969344,1318977535,RU 1318977536,1318985727,LT @@ -31045,7 +31838,8 @@ 1331859456,1331861503,PL 1331861504,1331863551,CZ 1331863552,1331865599,GB -1331865600,1331869695,NL +1331865600,1331868671,NL +1331868672,1331869695,IS 1331869696,1331870719,RU 1331870720,1331871743,CH 1331871744,1331873791,DK @@ -31087,9 +31881,9 @@ 1331949568,1331951615,RU 1331951616,1331953663,GE 1331953664,1332019199,BG -1332019200,1332075903,RS -1332075904,1332076031,XK -1332076032,1332084735,RS +1332019200,1332054271,RS +1332054272,1332054527,XK +1332054528,1332084735,RS 1332084736,1332150271,SE 1332150272,1332215807,GR 1332215808,1332346879,RU @@ -31125,11 +31919,11 @@ 1332637696,1332641791,BG 1332641792,1332645887,UA 1332645888,1332649983,RS -1332649984,1332652287,GB -1332652288,1332653055,SE +1332649984,1332652031,GB +1332652032,1332653055,SE 1332653056,1332654079,NL -1332654080,1332657151,RU -1332657152,1332658175,UA +1332654080,1332657151,US +1332657152,1332658175,RU 1332658176,1332662271,PL 1332662272,1332670463,UA 1332670464,1332740095,RU @@ -31165,9 +31959,7 @@ 1334091776,1334099967,LT 1334099968,1334108159,IR 1334108160,1334116351,BE -1334116352,1334117119,AX -1334117120,1334117375,FI -1334117376,1334124543,AX +1334116352,1334124543,AX 1334124544,1334125055,AT 1334125056,1334127359,DE 1334127360,1334127615,AT @@ -31218,13 +32010,17 @@ 1334380320,1334380335,GB 1334380336,1334380447,FR 1334380448,1334380463,LT -1334380464,1334381823,FR +1334380464,1334380543,FR +1334380544,1334380799,BE +1334380800,1334381823,FR 1334381824,1334381839,IT 1334381840,1334381887,FR 1334381888,1334381919,IT 1334381920,1334381983,FR 1334381984,1334382015,FI -1334382016,1334382975,FR +1334382016,1334382047,FR +1334382048,1334382063,PL +1334382064,1334382975,FR 1334382976,1334383103,GB 1334383104,1334383615,FR 1334383616,1334383679,DE @@ -31309,7 +32105,8 @@ 1334404992,1334405119,GB 1334405120,1334405311,FR 1334405312,1334405327,GB -1334405328,1334405759,FR +1334405328,1334405755,FR +1334405756,1334405759,GB 1334405760,1334405791,FI 1334405792,1334405919,FR 1334405920,1334405951,PL @@ -31326,7 +32123,7 @@ 1334408192,1334408255,ES 1334408256,1334408279,FR 1334408280,1334408287,ES -1334408288,1334408319,FR +1334408288,1334408319,CZ 1334408320,1334408351,FI 1334408352,1334408367,LT 1334408368,1334408383,FR @@ -31341,9 +32138,7 @@ 1334410736,1334410751,GB 1334410752,1334411263,FR 1334411264,1334444031,RU -1334444032,1334489087,SE -1334489088,1334491135,DK -1334491136,1334509567,SE +1334444032,1334509567,SE 1334509568,1334542335,PL 1334542336,1334575103,RU 1334575104,1334579199,UA @@ -31357,11 +32152,7 @@ 1334611968,1334616063,ME 1334616064,1334620159,MD 1334620160,1334624255,DE -1334624256,1334624767,GB -1334624768,1334624995,US -1334624996,1334624999,GB -1334625000,1334625007,US -1334625008,1334628351,GB +1334624256,1334628351,GB 1334628352,1334632447,IE 1334632448,1334636543,KZ 1334636544,1334640639,RU @@ -31430,9 +32221,9 @@ 1334767616,1334771711,SE 1334771712,1334779903,RU 1334779904,1334783999,UA -1334784000,1334784255,GB +1334784000,1334784255,DE 1334784256,1334784511,RO -1334784512,1334784767,GB +1334784512,1334784767,DE 1334784768,1334785023,TR 1334785024,1334788095,GB 1334788096,1334792191,RU @@ -31452,7 +32243,9 @@ 1334824960,1334829055,NL 1334829056,1334833151,RU 1334833152,1334837247,FR -1334837248,1335885823,ES +1334837248,1335161343,ES +1335161344,1335161344,US +1335161345,1335885823,ES 1335885824,1336016895,NO 1336016896,1336049663,PL 1336049664,1336066047,ES @@ -31467,7 +32260,8 @@ 1336549376,1336551423,IM 1336551424,1336553471,GB 1336553472,1336555519,SA -1336555520,1336557567,BE +1336555520,1336556543,BE +1336556544,1336557567,FR 1336557568,1336559615,ES 1336559616,1336561663,GB 1336561664,1336563711,NO @@ -31564,20 +32358,27 @@ 1337982976,1342177279,DE 1342177280,1342701567,GB 1342701568,1342750719,RE -1342750720,1342750975,FR -1342750976,1342755583,YT -1342755584,1342755839,FR -1342755840,1342756607,YT +1342750720,1342751231,YT +1342751232,1342751487,RE +1342751488,1342752255,YT +1342752256,1342752511,FR +1342752512,1342752767,YT +1342752768,1342753023,FR +1342753024,1342753279,YT +1342753280,1342753535,FR +1342753536,1342756607,YT 1342756608,1342756863,FR -1342756864,1342757631,YT -1342757632,1342757887,FR -1342757888,1342761727,YT -1342761728,1342761983,FR -1342761984,1342762239,YT -1342762240,1342762751,FR -1342762752,1342764543,YT -1342764544,1342765311,FR -1342765312,1342767103,YT +1342756864,1342759423,YT +1342759424,1342759679,FR +1342759680,1342759935,YT +1342759936,1342760191,FR +1342760192,1342761471,YT +1342761472,1342761727,FR +1342761728,1342762495,YT +1342762496,1342762751,FR +1342762752,1342766591,YT +1342766592,1342766847,FR +1342766848,1342767103,YT 1342767104,1342834687,FR 1342834688,1342842879,JO 1342842880,1342844927,FR @@ -31590,25 +32391,25 @@ 1342875648,1342877695,JO 1342877696,1342959049,FR 1342959050,1342959050,RE -1342959051,1342982143,FR -1342982144,1342982399,MG -1342982400,1342988287,FR +1342959051,1342988287,FR 1342988288,1342989055,US 1342989056,1342996479,FR -1342996480,1343001855,GF +1342996480,1342997503,GF +1342997504,1342997759,FR +1342997760,1343001855,GF 1343001856,1343002111,FR -1343002112,1343009791,GF -1343009792,1343010047,FR -1343010048,1343012863,GF +1343002112,1343005183,GF +1343005184,1343005439,FR +1343005440,1343006975,GF +1343006976,1343007231,FR +1343007232,1343011839,GF +1343011840,1343012095,FR +1343012096,1343012863,GF 1343012864,1343017983,FR -1343017984,1343018495,RE -1343018496,1343025151,FR -1343025152,1343025663,RE -1343025664,1343027711,FR +1343017984,1343019007,RE +1343019008,1343027711,FR 1343027712,1343027967,RE -1343027968,1343028479,FR -1343028480,1343028735,RE -1343028736,1343218687,FR +1343027968,1343218687,FR 1343218688,1343219711,DE 1343219712,1343220607,FR 1343220608,1343220639,DE @@ -31649,8 +32450,7 @@ 1346398711,1346398719,DE 1346398720,1346400255,RU 1346400256,1346404351,IT -1346404352,1346407423,AT -1346407424,1346408447,DE +1346404352,1346408447,AT 1346408448,1346412543,LU 1346412544,1346416639,RU 1346416640,1346420735,DE @@ -31742,7 +32542,8 @@ 1346740224,1346744319,FI 1346744320,1346748415,RU 1346748416,1346752511,DE -1346752512,1346756607,RE +1346752512,1346754559,RE +1346754560,1346756607,FR 1346756608,1346760703,SE 1346760704,1346764799,IR 1346764800,1346768895,DK @@ -31799,7 +32600,9 @@ 1347002368,1347006463,RU 1347006464,1347010559,SE 1347010560,1347014655,RU -1347014656,1347018751,GG +1347014656,1347016703,GG +1347016704,1347017471,FK +1347017472,1347018751,GG 1347018752,1347022847,IT 1347022848,1347024895,AT 1347024896,1347035135,GB @@ -31842,11 +32645,11 @@ 1347159936,1347160063,AT 1347160064,1347162111,CH 1347162112,1347166207,IT -1347166208,1347168255,DE -1347168256,1347169279,RU -1347169280,1347170303,NL +1347166208,1347167231,DE +1347167232,1347168255,CN +1347168256,1347170303,RU 1347170304,1347171327,BG -1347171328,1347172351,SE +1347171328,1347172351,ID 1347172352,1347173375,NL 1347173376,1347174399,RU 1347174400,1347182591,IT @@ -31854,13 +32657,17 @@ 1347186688,1347190783,GB 1347190784,1347194879,RU 1347194880,1347198975,SE -1347198976,1347200841,QA -1347200842,1347200842,GB -1347200843,1347203071,QA +1347198976,1347200564,QA +1347200565,1347200565,SA +1347200566,1347200767,QA +1347200768,1347201023,GB +1347201024,1347203071,QA 1347203072,1347207167,RU 1347207168,1347215359,GB 1347215360,1347223551,RU -1347223552,1347227647,GB +1347223552,1347225599,GB +1347225600,1347226623,PK +1347226624,1347227647,GB 1347227648,1347231743,DE 1347231744,1347235839,UA 1347235840,1347239935,GE @@ -32091,11 +32898,7 @@ 1347362816,1347366911,NL 1347366912,1347371007,IT 1347371008,1347375103,RU -1347375104,1347376639,GB -1347376640,1347376767,FR -1347376768,1347376775,GB -1347376776,1347376895,FR -1347376896,1347379199,GB +1347375104,1347379199,GB 1347379200,1347383295,NL 1347383296,1347387391,EE 1347387392,1347391487,GB @@ -32234,7 +33037,8 @@ 1347838720,1347846143,RO 1347846144,1347850239,NO 1347850240,1347854335,IT -1347854336,1347858431,DE +1347854336,1347856383,DE +1347857408,1347858431,DE 1347858752,1347858815,DE 1347860992,1347861247,DE 1347862090,1347862090,DE @@ -32294,16 +33098,16 @@ 1348055040,1348059135,LB 1348059136,1348063231,RU 1348063232,1348067327,CH -1348067328,1348071423,NL +1348067328,1348070399,NL +1348070400,1348070911,DE +1348070912,1348071423,NL 1348071424,1348075519,DE 1348075520,1348076287,LV 1348076288,1348076543,RU 1348076544,1348082687,LV 1348082688,1348082943,RU 1348082944,1348083711,LV -1348083712,1348085759,LU -1348085760,1348085887,FR -1348085888,1348091903,LU +1348083712,1348091903,LU 1348091904,1348095999,RU 1348096000,1348100095,AL 1348100096,1348104191,DE @@ -32389,7 +33193,9 @@ 1348456448,1348460543,BH 1348460544,1348464639,SI 1348464640,1348468735,CZ -1348468736,1348599807,RO +1348468736,1348548607,RO +1348548608,1348549631,MD +1348549632,1348599807,RO 1348599808,1348730879,HU 1348730880,1348861951,NL 1348861952,1348993023,ES @@ -32402,13 +33208,19 @@ 1349771264,1349779455,NL 1349779456,1349910527,IT 1349910528,1350041599,FR -1350041600,1350215679,AT +1350041600,1350064383,AT +1350064384,1350064639,DE +1350064640,1350159359,AT +1350159360,1350159871,HU +1350159872,1350215679,AT 1350215680,1350215935,IQ 1350215936,1350216959,AT 1350216960,1350217215,IQ 1350217216,1350217471,AT 1350217472,1350217727,IQ -1350217728,1350303743,AT +1350217728,1350289407,AT +1350289408,1350289919,CH +1350289920,1350303743,AT 1350303744,1350434815,FR 1350434816,1350565887,NL 1350565888,1350763083,DE @@ -32426,14 +33238,13 @@ 1353187328,1353262295,GB 1353262296,1353262303,US 1353262304,1353267199,GB -1353267200,1353267711,IE -1353267712,1353267751,GB -1353267752,1353267759,IE -1353267760,1353268223,GB +1353267200,1353268223,IE 1353268224,1353269247,BE -1353269248,1353271317,GB -1353271318,1353271318,AT -1353271319,1353271683,GB +1353269248,1353270615,GB +1353270616,1353270623,IT +1353270624,1353271295,GB +1353271296,1353271551,AT +1353271552,1353271683,GB 1353271684,1353271684,AT 1353271685,1353271711,GB 1353271712,1353271719,AT @@ -32455,27 +33266,19 @@ 1353275256,1353277439,GB 1353277440,1353279487,CH 1353279488,1353281535,IT -1353281536,1353287679,GB -1353287680,1353287935,IE -1353287936,1353287945,GB -1353287946,1353287946,IE -1353287947,1353288191,GB -1353288192,1353288703,IE -1353288704,1353300063,GB +1353281536,1353282047,GB +1353282048,1353282559,IT +1353282560,1353287679,GB +1353287680,1353289727,IE +1353289728,1353300063,GB 1353300064,1353300071,SE -1353300072,1353306111,GB -1353306112,1353308159,BE +1353300072,1353308159,GB 1353308160,1353309183,FR -1353309184,1353312447,GB -1353312448,1353312479,CH -1353312480,1353312511,GB -1353312512,1353312767,CH -1353312768,1353313023,IT -1353313024,1353313167,GB +1353309184,1353312383,GB +1353312384,1353312767,CH +1353312768,1353313167,GB 1353313168,1353313183,IT -1353313184,1353313279,GB -1353313280,1353313791,IE -1353313792,1353315327,GB +1353313184,1353315327,GB 1353315328,1353316351,ES 1353316352,1353318399,GB 1353318400,1353383935,SE @@ -32495,9 +33298,7 @@ 1354658496,1354658511,AT 1354658512,1354662159,DE 1354662160,1354662167,AT -1354662168,1354665215,DE -1354665216,1354665223,AT -1354665224,1354694655,DE +1354662168,1354694655,DE 1354694656,1354760191,IR 1354760192,1355022335,GB 1355022336,1355083555,DK @@ -32582,7 +33383,7 @@ 1357323808,1357323839,NO 1357323840,1357324287,GB 1357324288,1357324295,RU -1357324296,1357326335,PL +1357324296,1357324333,PL 1357326336,1357326337,ES 1357326338,1357326339,SL 1357326340,1357326367,GB @@ -32622,10 +33423,9 @@ 1357350400,1357350647,GB 1357350656,1357350847,GB 1357351168,1357351423,PL -1357359872,1357360063,BE -1357360064,1357360127,GB +1357359104,1357360345,GB 1357360346,1357360346,LU -1357361152,1357363199,GB +1357360347,1357363199,GB 1357363200,1357363455,DE 1357364224,1357365247,ES 1357366880,1357366911,GB @@ -32677,6 +33477,7 @@ 1357878528,1357878591,AT 1357878592,1357878655,PL 1357879296,1357879423,DE +1357882832,1357882832,GB 1357883392,1357883647,FR 1357883744,1357883759,AT 1357884416,1357884419,MY @@ -32737,15 +33538,11 @@ 1357984368,1357984375,IT 1357984376,1357984527,GB 1357984528,1357984535,IT -1357984536,1357984839,GB -1357984840,1357984847,IT -1357984848,1357985575,GB +1357984536,1357985575,GB 1357985576,1357985583,IT 1357985584,1357985791,GB 1357985792,1357987839,DE -1357987840,1357991615,GB -1357991616,1357991647,IE -1357991648,1357991935,GB +1357987840,1357991935,GB 1357991936,1357996031,NO 1357996032,1358000127,CH 1358000128,1358004223,LI @@ -32787,7 +33584,9 @@ 1358161920,1358162943,RS 1358162944,1358163967,CZ 1358163968,1358166015,MQ -1358166016,1358168063,GP +1358166016,1358166527,GP +1358166528,1358166655,FR +1358166656,1358168063,GP 1358168064,1358172159,GB 1358172160,1358176255,CY 1358176256,1358180351,RU @@ -32810,12 +33609,10 @@ 1358254080,1358258175,MD 1358258176,1358259199,HU 1358259200,1358260223,DK -1358260224,1358261247,FR -1358261248,1358262271,DE -1358262272,1358263295,RU -1358263296,1358263807,UA -1358263808,1358264319,RU -1358264320,1358266367,UA +1358260224,1358261247,HK +1358261248,1358262271,US +1358262272,1358264319,UA +1358264320,1358266367,RU 1358266368,1358274559,DE 1358274560,1358278655,GR 1358278656,1358282751,PL @@ -32890,9 +33687,7 @@ 1358548992,1358551039,NL 1358551040,1358553087,GB 1358553088,1358557183,UA -1358557184,1358560255,IE -1358560256,1358560767,GB -1358560768,1358561279,IE +1358557184,1358561279,IE 1358561280,1358569471,CZ 1358569472,1358573567,MA 1358573568,1358577663,LV @@ -32914,19 +33709,15 @@ 1358655488,1358667775,RU 1358667776,1358668447,GB 1358668448,1358668455,PT -1358668456,1358668799,GB -1358668800,1358669823,PT -1358669824,1358670975,GB -1358670976,1358670991,PT -1358670992,1358671001,GB -1358671002,1358671002,PT -1358671003,1358671359,GB +1358668456,1358670975,GB +1358670976,1358671103,PT +1358671104,1358671359,GB 1358671360,1358671871,PT 1358671872,1358671935,GB 1358671936,1358671943,PT 1358671944,1358672383,GB -1358672384,1358672639,ES -1358672640,1358673423,GB +1358672384,1358672895,ES +1358672896,1358673423,GB 1358673424,1358673431,DE 1358673432,1358673919,GB 1358673920,1358675967,ES @@ -32984,16 +33775,13 @@ 1358861474,1358861474,DE 1358861475,1358861567,GB 1358861568,1358861823,DE -1358861824,1358861887,FR -1358861888,1358861895,GB -1358861896,1358862079,FR -1358862080,1358862335,GB +1358861824,1358862335,FR 1358862336,1358862847,US 1358862848,1358862911,DK 1358862912,1358862914,GB 1358862915,1358862915,DK 1358862916,1358862975,GB -1358862976,1358863103,NO +1358862976,1358863103,SE 1358863104,1358863359,CH 1358863360,1358863871,US 1358863872,1358864383,GB @@ -33045,9 +33833,7 @@ 1359119232,1359119359,ES 1359119360,1359120383,IT 1359120384,1359121407,DE -1359121408,1359122431,ES -1359122432,1359123711,DE -1359123712,1359124479,ES +1359121408,1359124479,ES 1359124480,1359132671,GB 1359132672,1359133183,ES 1359133184,1359133191,DE @@ -33065,7 +33851,9 @@ 1359167488,1359183871,GB 1359183872,1359200255,RU 1359200256,1359216639,AT -1359216640,1359233023,ZA +1359216640,1359220223,ZA +1359220224,1359220479,NO +1359220480,1359233023,ZA 1359233024,1359249407,NL 1359249408,1359265791,CY 1359265792,1359282175,RU @@ -33160,9 +33948,7 @@ 1360207872,1360211967,CZ 1360211968,1360216063,GB 1360216064,1360224255,RU -1360224256,1360224767,ES -1360224768,1360224895,FR -1360224896,1360227841,ES +1360224256,1360227841,ES 1360227842,1360227842,SE 1360227843,1360228351,ES 1360228352,1360232447,FI @@ -33172,7 +33958,8 @@ 1360244736,1360250623,GB 1360250624,1360251391,NL 1360251392,1360252927,DE -1360252928,1360257023,GB +1360252928,1360253439,NL +1360253440,1360257023,GB 1360257024,1360265215,DK 1360265216,1360265503,NL 1360265504,1360265511,DE @@ -33240,9 +34027,11 @@ 1360396288,1360400383,RU 1360400384,1360404479,BH 1360404480,1360405503,BA -1360405504,1360406527,DE +1360405504,1360406527,US 1360406528,1360407551,ES -1360407552,1360408319,RU +1360407552,1360407807,RU +1360407808,1360408063,DE +1360408064,1360408319,RU 1360408320,1360408575,GB 1360408576,1360412671,RU 1360420864,1360424959,TR @@ -33289,7 +34078,9 @@ 1360592896,1360596991,RU 1360596992,1360601087,CZ 1360601088,1360605183,BY -1360605184,1360611071,RU +1360605184,1360610559,RU +1360610560,1360610815,EE +1360610816,1360611071,RU 1360611072,1360611327,SE 1360611328,1360612351,IT 1360612352,1360613375,RU @@ -33299,9 +34090,7 @@ 1360625664,1360629759,DE 1360629760,1360633855,SE 1360633856,1360637951,RU -1360637952,1360638463,FO -1360638464,1360638975,DK -1360638976,1360642047,FO +1360637952,1360642047,FO 1360642048,1360644735,FR 1360644736,1360644863,IT 1360644864,1360645887,FR @@ -33447,7 +34236,8 @@ 1362414848,1362414975,GB 1362414976,1362415359,FR 1362415360,1362415487,DE -1362415488,1362417663,FR +1362415488,1362415615,FR +1362415616,1362417663,GP 1362417664,1362419711,SG 1362419712,1362423807,FR 1362423808,1362425855,SG @@ -33461,7 +34251,9 @@ 1363410944,1363673087,CN 1363673088,1363935231,IT 1363935232,1364197375,GB -1364197376,1364262911,FR +1364197376,1364227583,FR +1364227584,1364227839,GP +1364227840,1364262911,FR 1364262912,1364328447,IT 1364328448,1364459519,BE 1364459520,1364525055,PT @@ -33579,9 +34371,7 @@ 1365025152,1365025215,AT 1365025216,1365028863,DE 1365028864,1365032959,NL -1365032960,1365033247,US -1365033248,1365033279,GB -1365033280,1365033471,US +1365032960,1365033471,GB 1365033472,1365033599,PT 1365033600,1365033983,GB 1365033984,1365035007,SE @@ -33784,8 +34574,10 @@ 1370488832,1370619903,RU 1370619904,1370750975,GB 1370750976,1370767359,RO -1370767360,1370775551,MD -1370775552,1370882047,RO +1370767360,1370771455,MD +1370771456,1370772479,RO +1370772480,1370772991,MD +1370772992,1370882047,RO 1370882048,1371013119,HU 1371013120,1371078655,ES 1371078656,1371144191,FR @@ -33878,7 +34670,9 @@ 1372691594,1372691594,IE 1372693504,1372694015,DE 1372694464,1372694495,DE -1372696576,1372700671,DE +1372697344,1372697599,DE +1372698880,1372699647,DE +1372699904,1372700159,DE 1372702720,1372703231,DE 1372703616,1372703743,DE 1372708864,1372713983,DE @@ -33888,7 +34682,9 @@ 1372782592,1372815359,RU 1372815360,1372848127,KZ 1372848128,1373110271,TR -1373110272,1373175807,SE +1373110272,1373124607,SE +1373124608,1373125119,DK +1373125120,1373175807,SE 1373175808,1373241343,AT 1373241344,1373306879,IL 1373306880,1373372415,PL @@ -33896,41 +34692,29 @@ 1373437952,1373503487,CH 1373503488,1373569023,RU 1373569024,1373634559,AT -1373634560,1373680511,SE -1373680512,1373680639,DK -1373680640,1374683135,SE +1373634560,1373690367,SE +1373690368,1373690495,DK +1373690496,1374683135,SE 1374683136,1375207423,BE 1375207424,1375208447,MQ 1375208448,1375208703,GP 1375208704,1375210239,MQ 1375210240,1375210495,GP -1375210496,1375211519,MQ -1375211520,1375215615,GP -1375215616,1375216639,GF -1375216640,1375216895,FR -1375216896,1375217407,GF -1375217408,1375217919,FR -1375217920,1375220735,GF +1375210496,1375210751,MQ +1375210752,1375211007,FR +1375211008,1375211519,MQ +1375211520,1375211775,BL +1375211776,1375215615,GP +1375215616,1375217407,GF +1375217408,1375217663,FR +1375217664,1375217919,GF +1375217920,1375218175,FR +1375218176,1375220735,GF 1375220736,1375221759,FR 1375221760,1375222015,GF 1375222016,1375222783,FR -1375222784,1375223039,GF -1375223040,1375223295,FR -1375223296,1375223807,GF -1375223808,1375224831,FR -1375224832,1375225599,MQ -1375225600,1375225855,FR -1375225856,1375231999,MQ -1375232000,1375233023,FR -1375233024,1375233279,MQ -1375233280,1375234047,FR -1375234048,1375234303,MQ -1375234304,1375234559,FR -1375234560,1375234815,MQ -1375234816,1375235071,FR -1375235072,1375235327,MQ -1375235328,1375236095,FR -1375236096,1375240191,MQ +1375222784,1375223807,GF +1375223808,1375240191,MQ 1375240192,1375256575,GP 1375256576,1375272959,RE 1375272960,1375731711,FR @@ -33963,7 +34747,10 @@ 1382139648,1382140159,GB 1382140160,1382141951,RU 1382141952,1382146047,SY -1382146048,1382154239,IR +1382146048,1382147391,HK +1382147392,1382147407,RU +1382147408,1382152191,HK +1382152192,1382154239,IR 1382154240,1382170623,FR 1382170624,1382181439,DE 1382181440,1382181447,DK @@ -33981,7 +34768,11 @@ 1382230208,1382230215,NO 1382230216,1382232775,SE 1382232776,1382232783,FI -1382232784,1382252543,SE +1382232784,1382233087,SE +1382233088,1382233343,NO +1382233344,1382233375,SE +1382233376,1382233471,NO +1382233472,1382252543,SE 1382252544,1382268927,CZ 1382268928,1382285311,IR 1382285312,1382301695,CZ @@ -34042,16 +34833,12 @@ 1383145472,1383153663,CZ 1383153664,1383161855,GB 1383161856,1383170047,DE -1383170048,1383184319,GB -1383184320,1383184335,SE -1383184336,1383186431,GB +1383170048,1383186431,GB 1383186432,1383194623,IT 1383194624,1383202815,GB 1383202816,1383211007,RU 1383211008,1383219199,CY -1383219200,1383222423,AL -1383222424,1383222431,RS -1383222432,1383226207,AL +1383219200,1383226207,AL 1383226208,1383226239,RS 1383226240,1383227391,AL 1383227392,1383243775,RU @@ -34096,9 +34883,7 @@ 1383374848,1383383039,ES 1383383040,1383391231,CY 1383391232,1383399423,FI -1383399424,1383399935,LI -1383399936,1383400191,CH -1383400192,1383407615,LI +1383399424,1383407615,LI 1383407616,1383415807,NO 1383415808,1383419903,RU 1383419904,1383423999,TR @@ -34119,7 +34904,9 @@ 1383497728,1383505919,RU 1383505920,1383514111,SA 1383514112,1383522303,FI -1383522304,1383523839,BG +1383522304,1383523327,BG +1383523328,1383523583,MT +1383523584,1383523839,BG 1383523840,1383524095,GB 1383524096,1383524607,BG 1383524608,1383524863,BR @@ -34140,10 +34927,10 @@ 1384185856,1384186879,ES 1384187136,1384187391,DE 1384188160,1384188415,ES -1384192000,1384193023,ES 1384193024,1384194047,DE 1384196096,1384197119,ES 1384198144,1384202239,GB +1384202496,1384202751,GB 1384203264,1384218623,GB 1384218624,1384251391,EG 1384251392,1384267775,FI @@ -34223,9 +35010,7 @@ 1385070592,1385086975,RU 1385086976,1385103359,GB 1385103360,1385119743,IT -1385119744,1385129151,BE -1385129152,1385129215,NL -1385129216,1385136127,BE +1385119744,1385136127,BE 1385136128,1385152511,PL 1385152512,1385168895,DK 1385168896,1385177087,ES @@ -34244,9 +35029,12 @@ 1385275392,1385283583,IT 1385283584,1385286143,DE 1385286144,1385287679,GB +1385287680,1385287935,PH 1385289728,1385290751,GB +1385291008,1385291071,NG +1385291072,1385291135,ZA +1385291136,1385291263,NG 1385291264,1385291519,ZA -1385291520,1385291775,GB 1385291776,1385299967,TR 1385299968,1385303039,BG 1385303040,1385303295,HU @@ -34285,15 +35073,25 @@ 1385537536,1385545727,DE 1385545728,1385553919,RU 1385553920,1385562111,DE +1385562112,1385566431,GB 1385566432,1385566447,FR +1385566448,1385566999,GB 1385567000,1385567007,FR +1385567008,1385567231,GB 1385567232,1385568255,IE +1385568256,1385569023,GB 1385569024,1385569279,FR +1385569280,1385570111,GB 1385570112,1385570119,FR +1385570120,1385570143,GB 1385570144,1385570151,FR +1385570152,1385570199,GB 1385570200,1385570207,FR +1385570208,1385570223,GB 1385570224,1385570231,FR +1385570232,1385570239,GB 1385570240,1385570247,FR +1385570248,1385570303,GB 1385570304,1385578495,HU 1385578496,1385586687,TR 1385586688,1385587711,GB @@ -34320,9 +35118,7 @@ 1385668608,1385676799,NL 1385676800,1385684991,RU 1385684992,1385824255,GB -1385824256,1385880575,PT -1385880576,1385881087,GB -1385881088,1385955327,PT +1385824256,1385955327,PT 1385955328,1386086399,CN 1386086400,1386217471,ES 1386217472,1386283007,PL @@ -34343,8 +35139,8 @@ 1386434752,1386434767,BE 1386434768,1386434783,IE 1386434784,1386434799,PT -1386434800,1386436607,GB -1386436608,1386438399,ES +1386434800,1386438143,GB +1386438144,1386438399,ES 1386438400,1386438655,FR 1386438656,1386442751,PS 1386442752,1386444799,GB @@ -34352,17 +35148,14 @@ 1386445824,1386447871,GB 1386447872,1386448895,DK 1386448896,1386449151,IL -1386449152,1386449343,NL -1386449344,1386449347,GB -1386449348,1386449359,NL -1386449360,1386449363,GB +1386449152,1386449363,GB 1386449364,1386449367,BE 1386449368,1386449371,AU 1386449372,1386449375,AT -1386449376,1386449379,NL +1386449376,1386449379,GB 1386449380,1386449383,CH 1386449384,1386449387,FR -1386449388,1386449391,NL +1386449388,1386449391,GB 1386449392,1386449395,ES 1386449396,1386449399,PT 1386449400,1386449403,RU @@ -34374,7 +35167,15 @@ 1386455040,1386456063,DK 1386456064,1386457087,GB 1386457088,1386459135,PS -1386459136,1386471423,GB +1386459136,1386465279,GB +1386465280,1386465535,NL +1386465536,1386465791,DE +1386465792,1386466047,IE +1386466048,1386466303,FR +1386466304,1386466559,SE +1386466560,1386466815,PL +1386466816,1386467071,ES +1386467072,1386471423,GB 1386471424,1386473471,PS 1386473472,1386477567,GB 1386477568,1386477823,US @@ -34390,7 +35191,13 @@ 1386676224,1386741759,SA 1386741760,1387249663,NL 1387249664,1387250687,BE -1387250688,1387331583,NL +1387250688,1387293439,NL +1387293440,1387293695,BE +1387293696,1387294591,NL +1387294592,1387294719,BE +1387294720,1387298559,NL +1387298560,1387298815,DE +1387298816,1387331583,NL 1387331584,1387397119,PL 1387397120,1387462655,OM 1387462656,1387528191,RU @@ -34419,7 +35226,9 @@ 1388445696,1388453887,AZ 1388453888,1388462079,BH 1388462080,1388470271,ES -1388470272,1388473263,DE +1388470272,1388473231,DE +1388473232,1388473247,NL +1388473248,1388473263,DE 1388473264,1388473279,NL 1388473280,1388478463,DE 1388478464,1388486655,AT @@ -34471,10 +35280,7 @@ 1388581120,1388583167,FR 1388583168,1388583423,DZ 1388583424,1388584959,FR -1388587456,1388587471,GB -1388587520,1388587775,GB -1388588032,1388589823,GB -1388590080,1388590591,FR +1388587008,1388589823,GB 1388591104,1388591359,AU 1388593152,1388601343,RU 1388601344,1388609535,SE @@ -34530,24 +35336,18 @@ 1388716032,1388724223,ES 1388724224,1388732415,DE 1388732416,1388740607,ES -1388740608,1388741887,GB -1388741888,1388742143,IE -1388742144,1388743047,GB -1388743048,1388743055,IE -1388743056,1388743679,GB -1388743680,1388743919,IE -1388743920,1388743935,GB -1388743936,1388744191,IE +1388740608,1388743423,GB +1388743424,1388744191,IE 1388744192,1388744759,GB 1388744760,1388744767,IE 1388744768,1388744959,GB -1388744960,1388745215,IE -1388745216,1388746207,GB +1388744960,1388745727,IE +1388745728,1388746207,GB 1388746208,1388746223,IE 1388746224,1388746495,GB 1388746496,1388746559,IE -1388746560,1388747775,GB -1388747776,1388748799,IE +1388746560,1388746751,GB +1388746752,1388748799,IE 1388748800,1388756991,RU 1388756992,1388765183,DE 1388765184,1388773375,GB @@ -34578,7 +35378,9 @@ 1388813312,1388813823,CH 1388813824,1388814079,DE 1388814080,1388814335,CH -1388814336,1388822527,AX +1388814336,1388816383,FI +1388816384,1388820479,AX +1388820480,1388822527,FI 1388822528,1388830719,AM 1388830720,1388838911,FI 1388838912,1388871679,RU @@ -34658,9 +35460,10 @@ 1389787136,1389788671,SI 1389788672,1389789183,RS 1389789184,1389805567,PL -1389805568,1389806591,US +1389805568,1389806591,GB 1389806592,1389806847,SA -1389806848,1389814271,US +1389806848,1389807615,GB +1389807616,1389814271,US 1389814272,1389814527,DE 1389814528,1389815295,US 1389815296,1389815551,DE @@ -34710,9 +35513,7 @@ 1397096448,1397227519,IE 1397227520,1397489663,DK 1397489664,1397751807,CH -1397751808,1397853183,NL -1397853184,1397853439,BQ -1397853440,1398276095,NL +1397751808,1398276095,NL 1398276096,1398286556,DK 1398286557,1398286557,SE 1398286558,1398800383,DK @@ -34743,9 +35544,7 @@ 1399029760,1399062527,LV 1399062528,1399095295,FI 1399095296,1399128063,GB -1399128064,1399138303,BE -1399138304,1399138559,DE -1399138560,1399160831,BE +1399128064,1399160831,BE 1399160832,1399193599,SA 1399193600,1399226367,FI 1399226368,1399259135,RU @@ -34772,14 +35571,11 @@ 1401278464,1401283583,DE 1401286656,1401290751,DE 1401290752,1401356287,BE -1401356288,1401361671,DE -1401361672,1401361679,AT -1401361680,1401421823,DE +1401356288,1401421823,DE 1401421824,1401423135,GB 1401423136,1401423167,IN 1401423168,1401423871,GB -1401423872,1401424383,SA -1401424384,1401425151,AE +1401423872,1401425151,AE 1401425152,1401425407,GR 1401425408,1401425919,AE 1401425920,1401427967,NL @@ -34846,8 +35642,7 @@ 1401544704,1401546751,GB 1401546752,1401548799,IT 1401548800,1401550847,FR -1401550848,1401552639,JE -1401552640,1401552895,GB +1401550848,1401552895,JE 1401552896,1401554943,NL 1401554944,1401556991,IE 1401556992,1401563135,GB @@ -34989,6 +35784,21 @@ 1402339328,1402355711,CH 1402355712,1402372095,FI 1402372096,1402388479,SE +1402388480,1402389503,IR +1402389504,1402390527,PL +1402390528,1402391551,SY +1402391552,1402392575,UA +1402392576,1402393599,BE +1402393600,1402394623,TR +1402394624,1402395647,BG +1402395648,1402396671,PH +1402396672,1402397695,HK +1402397696,1402398719,RU +1402398720,1402399743,NL +1402399744,1402400767,RO +1402400768,1402401791,ES +1402401792,1402402815,FR +1402402816,1402404863,GB 1402404864,1402408959,RU 1402408960,1402413055,DE 1402413056,1402417151,PL @@ -35110,13 +35920,26 @@ 1403617280,1403633663,DE 1403633664,1403650047,RU 1403650048,1403666431,DE -1403666432,1403687423,GB -1403687424,1403687679,NO -1403687680,1403699199,GB +1403666432,1403699199,GB 1403699200,1403715583,UA 1403715584,1403731967,LT 1403731968,1403748351,RU 1403748352,1403764735,DE +1403764736,1403765759,LB +1403765760,1403766783,IT +1403766784,1403768831,DE +1403768832,1403769855,FR +1403769856,1403770879,RU +1403770880,1403771903,LU +1403771904,1403772927,ES +1403772928,1403773951,BR +1403773952,1403774975,SE +1403774976,1403775999,RU +1403776000,1403777023,DE +1403777024,1403778047,RU +1403778048,1403779071,TR +1403779072,1403780607,DE +1403780608,1403781119,US 1403781120,1403797503,RU 1403797504,1403813887,SE 1403813888,1403827199,NL @@ -35218,8 +36041,8 @@ 1404801024,1404803071,SE 1404803072,1404805119,LV 1404805120,1404813311,AT -1404813312,1404837887,SE -1404837888,1404862463,LT +1404813312,1404846079,SE +1404846080,1404862463,LT 1404862464,1404870655,HR 1404870656,1404875775,SE 1404875776,1404876287,LT @@ -35229,51 +36052,37 @@ 1404921856,1404923903,LT 1404923904,1404944383,SE 1404944384,1404960767,LT -1404960768,1404977151,SE -1404977152,1404993535,LT -1404993536,1405018111,SE +1404960768,1404987311,SE +1404987312,1404987312,LT +1404987313,1404988469,SE +1404988470,1404988470,LT +1404988471,1405018111,SE 1405018112,1405026303,LT 1405026304,1405050879,HR 1405050880,1405059071,AT 1405059072,1405075455,SE 1405075456,1405091839,EE 1405091840,1405812735,FR -1405812736,1405813503,MQ -1405813504,1405813759,FR -1405813760,1405821695,MQ -1405821696,1405821951,FR -1405821952,1405822719,MQ -1405822720,1405822975,FR -1405822976,1405827839,MQ -1405827840,1405828351,FR -1405828352,1405832191,MQ -1405832192,1405832447,FR -1405832448,1405832703,MQ -1405832704,1405832959,FR -1405832960,1405833983,MQ -1405833984,1405834239,FR -1405834240,1405853439,MQ +1405812736,1405816063,MQ +1405816064,1405816319,FR +1405816320,1405819647,MQ +1405819648,1405819903,FR +1405819904,1405823487,MQ +1405823488,1405823743,FR +1405823744,1405853439,MQ 1405853440,1405853695,FR -1405853696,1405854975,MQ -1405854976,1405855231,FR -1405855232,1405857535,MQ -1405857536,1405857791,FR -1405857792,1405859839,MQ -1405859840,1405860095,FR -1405860096,1405864703,MQ -1405864704,1405864959,FR -1405864960,1405865215,MQ -1405865216,1405865471,FR +1405853696,1405864959,MQ +1405864960,1405865471,FR 1405865472,1405865727,MQ 1405865728,1405865983,FR -1405865984,1405866495,MQ -1405866496,1405867263,FR -1405867264,1405870591,MQ -1405870592,1405871103,FR -1405871104,1405878271,MQ -1405878272,1406066687,FR -1406066688,1406066943,GP -1406066944,1406140415,FR +1405865984,1405869823,MQ +1405869824,1405870079,FR +1405870080,1405878271,MQ +1405878272,1406050303,FR +1406050304,1406051327,MQ +1406051328,1406066687,FR +1406066688,1406067199,GP +1406067200,1406140415,FR 1406140416,1406205951,CZ 1406205952,1406210175,SE 1406210176,1406210559,NO @@ -35296,17 +36105,7 @@ 1406746624,1406753791,BE 1406753792,1406754815,NL 1406754816,1406763007,GB -1406763008,1406764031,FR -1406764032,1406764287,LU -1406764288,1406764799,FR -1406764800,1406765055,LU -1406765056,1406766591,FR -1406766592,1406766847,LU -1406766848,1406768639,FR -1406768640,1406768895,LU -1406768896,1406770431,FR -1406770432,1406770687,LU -1406770688,1406771199,FR +1406763008,1406771199,LU 1406771200,1406779391,GB 1406779392,1406787583,RU 1406787584,1406791159,ES @@ -35315,8 +36114,7 @@ 1406793088,1406793088,FR 1406793089,1406794751,ES 1406794752,1406795775,NL -1406795776,1406796287,GB -1406796288,1406797823,IM +1406795776,1406797823,IM 1406797824,1406802943,GB 1406802944,1406803967,IM 1406803968,1406812159,DE @@ -35360,9 +36158,7 @@ 1407090688,1407098879,CH 1407098880,1407107071,BG 1407107072,1407115263,RU -1407115264,1407121663,GB -1407121664,1407121919,US -1407121920,1407123455,GB +1407115264,1407123455,GB 1407123456,1407131647,SE 1407131648,1407139839,NL 1407139840,1407148031,DE @@ -35379,7 +36175,11 @@ 1407520536,1407520543,NG 1407520544,1407520623,GB 1407520624,1407520631,NG -1407520632,1407543935,GB +1407520632,1407523540,GB +1407523541,1407523541,SA +1407523542,1407531007,GB +1407531008,1407533055,AU +1407533056,1407543935,GB 1407543936,1407543943,NG 1407543944,1407544015,GB 1407544016,1407544023,NG @@ -35466,7 +36266,11 @@ 1409548288,1409810431,FR 1409810432,1409941503,GB 1409941504,1410007039,PL -1410007040,1410072575,DE +1410007040,1410043903,DE +1410043904,1410045951,US +1410045952,1410047999,DE +1410048000,1410050047,KE +1410050048,1410072575,DE 1410072576,1410203647,GB 1410203648,1410212863,FR 1410212864,1410213119,GB @@ -35492,9 +36296,7 @@ 1410319360,1410322431,LT 1410322432,1410326527,LV 1410326528,1410334719,LT -1410334720,1410338319,ES -1410338320,1410338327,GB -1410338328,1410342399,ES +1410334720,1410342399,ES 1410342400,1410342655,DE 1410342656,1410342911,ES 1410342912,1410351103,SK @@ -35503,8 +36305,7 @@ 1410356880,1410359295,CH 1410359296,1410367487,CZ 1410367488,1410375679,RU -1410375680,1410377727,IT -1410377728,1410378015,DK +1410375680,1410378015,DK 1410378016,1410378031,NO 1410378032,1410383871,DK 1410383872,1410392063,NO @@ -35571,7 +36372,7 @@ 1410707456,1410708479,IT 1410708480,1410709503,HU 1410709504,1410710527,DE -1410710528,1410711551,NL +1410710528,1410711551,GB 1410711552,1410719743,BG 1410719744,1410727935,RU 1410727936,1410736127,BG @@ -35580,9 +36381,7 @@ 1410739712,1410744055,RS 1410744056,1410744056,XK 1410744057,1410744319,RS -1410744320,1410747391,FR -1410747392,1410747647,GP -1410747648,1410752511,FR +1410744320,1410752511,FR 1410752512,1410760703,NL 1410760704,1410768895,RU 1410768896,1410777087,GB @@ -35606,7 +36405,9 @@ 1411514368,1411579903,FI 1411579904,1411645439,NL 1411645440,1411710975,EG -1411710976,1411776511,FR +1411710976,1411731991,FR +1411731992,1411731995,GB +1411731996,1411776511,FR 1411776512,1411777535,RU 1411777536,1411778559,HK 1411778560,1411780607,NO @@ -35624,9 +36425,7 @@ 1411813376,1411817471,NO 1411817472,1411821567,PL 1411821568,1411825663,RU -1411825664,1411826687,DE -1411826688,1411827711,CH -1411827712,1411829759,DE +1411825664,1411829759,DE 1411829760,1411833855,PL 1411833856,1411837951,NL 1411837952,1411842047,BG @@ -35700,9 +36499,7 @@ 1412415488,1412431871,IR 1412431872,1412562943,NO 1412562944,1412628479,EE -1412628480,1412639295,TR -1412639296,1412639487,GB -1412639488,1412644863,TR +1412628480,1412644863,TR 1412644864,1412661247,RU 1412661248,1412677631,GB 1412677632,1412685823,RU @@ -35720,7 +36517,23 @@ 1412804864,1412805631,US 1412806656,1412808703,US 1412808704,1412825087,RU +1412825088,1412826111,TR +1412826112,1412828159,RU +1412828160,1412829183,TR +1412829184,1412830207,RU +1412830208,1412831231,DE +1412831232,1412832255,ES +1412832256,1412832767,RU 1412832768,1412833023,SL +1412833024,1412835327,RU +1412835328,1412836351,NL +1412836352,1412837375,RU +1412837376,1412838399,DE +1412838400,1412839423,RU +1412839424,1412839935,CN +1412839936,1412840191,GB +1412840192,1412840447,RU +1412840448,1412841471,NL 1412841472,1412857855,UZ 1412857856,1412874239,BG 1412874240,1412890623,RU @@ -35813,9 +36626,9 @@ 1424591663,1424592895,FR 1424592896,1424593119,GB 1424593120,1424593127,FR -1424593128,1424595726,GB -1424595727,1424595727,IT -1424595728,1424597069,GB +1424593128,1424594943,GB +1424594944,1424596991,IT +1424596992,1424597069,GB 1424597070,1424597070,CZ 1424597071,1424599039,GB 1424599040,1424601087,FR @@ -35831,11 +36644,14 @@ 1424604976,1424604991,NL 1424604992,1424607743,GB 1424607744,1424607775,DE -1424607776,1424607999,GB -1424608000,1424608511,FR -1424608512,1424608547,GB -1424608548,1424608548,ES -1424608549,1424608579,GB +1424607776,1424608083,GB +1424608084,1424608087,FR +1424608088,1424608127,GB +1424608128,1424608191,FR +1424608192,1424608255,GB +1424608256,1424608511,FR +1424608512,1424608575,ES +1424608576,1424608579,GB 1424608580,1424608580,ES 1424608581,1424608671,GB 1424608672,1424608687,ES @@ -35851,7 +36667,9 @@ 1424611006,1424611006,FR 1424611007,1424613855,GB 1424613856,1424613859,IT -1424613860,1424618464,GB +1424613860,1424617023,GB +1424617024,1424617027,FR +1424617028,1424618464,GB 1424618465,1424618465,NL 1424618466,1424618479,GB 1424618480,1424618495,NL @@ -35866,11 +36684,12 @@ 1424642048,1424646143,DK 1424646144,1424647167,RO 1424647168,1424648191,IT -1424648192,1424649215,MD -1424649216,1424650239,UA +1424648192,1424650239,UA 1424650240,1424654335,PL 1424654336,1424687103,NO -1424687104,1424719871,SA +1424687104,1424711679,SA +1424711680,1424713727,BH +1424713728,1424719871,SA 1424719872,1424752639,DE 1424752640,1424785407,HU 1424785408,1424818175,ES @@ -35960,7 +36779,7 @@ 1425480704,1425481727,RO 1425481728,1425482751,US 1425482752,1425483775,RO -1425483776,1425484799,GB +1425483776,1425484799,US 1425484800,1425485311,MD 1425485312,1425486847,RO 1425486848,1425487103,FR @@ -35976,6 +36795,20 @@ 1425522688,1425539071,IT 1425539072,1425801215,FI 1425801216,1425817599,BG +1425817600,1425820671,RU +1425820672,1425821695,DK +1425821696,1425822719,TR +1425822720,1425823743,FR +1425823744,1425824767,PT +1425824768,1425825791,TR +1425825792,1425826815,IL +1425826816,1425827839,JP +1425827840,1425828863,CH +1425828864,1425829887,IE +1425829888,1425830911,FR +1425830912,1425831935,SK +1425831936,1425832959,DE +1425832960,1425833983,NL 1425833984,1425850367,RU 1425850368,1425866751,GB 1425866752,1425883135,CH @@ -36001,6 +36834,19 @@ 1426063360,1426587647,CH 1426587648,1426604031,SE 1426604032,1426620415,DE +1426620416,1426621439,CY +1426621440,1426622463,DE +1426622464,1426624511,ES +1426624512,1426625535,TR +1426625536,1426626559,US +1426626560,1426629631,TR +1426629632,1426630655,AU +1426630656,1426631679,LT +1426631680,1426632703,MD +1426632704,1426633727,SE +1426633728,1426634751,HK +1426634752,1426635775,RU +1426635776,1426636799,AU 1426636800,1426653183,GB 1426653184,1426669567,RO 1426669568,1426685951,IR @@ -36029,7 +36875,9 @@ 1426915328,1426931711,AT 1426931712,1426948095,CZ 1426948096,1426964479,DE -1426964480,1426980863,GB +1426964480,1426967287,GB +1426967288,1426967295,ES +1426967296,1426980863,GB 1426980864,1426997247,BG 1426997248,1427013631,PL 1427013632,1427030015,FR @@ -36075,13 +36923,9 @@ 1428104192,1428105215,RU 1428105216,1428106239,IQ 1428106240,1428107263,DE -1428107264,1428108287,RU -1428108288,1428109311,NL -1428109312,1428110335,ES -1428111360,1428115455,GB -1428115456,1428118783,IQ -1428118784,1428119039,GB -1428119040,1428119551,IQ +1428107264,1428109311,RU +1428109312,1428111359,ES +1428111360,1428119551,GB 1428119552,1428121599,LV 1428121600,1428123647,FR 1428123648,1428127743,RU @@ -36127,7 +36971,7 @@ 1431945216,1431953407,NO 1431953408,1431961599,DK 1431961600,1431969791,CH -1431969792,1431977983,FR +1431969792,1431977983,GB 1431977984,1431986175,NL 1431986176,1431994367,RU 1431994368,1432002559,AT @@ -36153,6 +36997,13 @@ 1432092672,1432100863,RU 1432100864,1432109055,CZ 1432109056,1432117247,GB +1432117248,1432118271,CZ +1432118272,1432120319,GB +1432120320,1432121343,RU +1432121344,1432122367,PL +1432122368,1432123391,RU +1432123392,1432124415,KZ +1432124416,1432125439,ES 1432125440,1432130703,NL 1432130704,1432130711,GB 1432130712,1432131583,NL @@ -36172,7 +37023,9 @@ 1432182784,1432190975,CZ 1432190976,1432199167,RU 1432199168,1432207359,CZ -1432207360,1432215551,LU +1432207360,1432213503,LU +1432213504,1432213759,FR +1432213760,1432215551,LU 1432215552,1432223743,NO 1432223744,1432240127,RU 1432240128,1432248319,HR @@ -36183,8 +37036,7 @@ 1432273408,1432273535,DE 1432273536,1432281087,IT 1432281088,1432289279,LU -1432289280,1432297471,GB -1432297472,1432305663,NO +1432289280,1432305663,GB 1432305664,1432313855,BG 1432313856,1432322047,GB 1432322048,1432338431,RU @@ -36239,25 +37091,33 @@ 1433608448,1433608703,NL 1433608704,1433608959,GB 1433608960,1433609215,PL -1433609216,1433609727,GB +1433609216,1433609471,GB +1433609472,1433609727,SE 1433609728,1433610239,IT -1433610240,1433611263,GB +1433610240,1433611263,US 1433611264,1433611519,ES 1433611520,1433611775,NO -1433611776,1433614335,GB -1433614336,1433614591,DE -1433614592,1433614847,GB -1433614848,1433615103,DE -1433615104,1433615359,GB +1433611776,1433612031,GB +1433612032,1433612287,IL +1433612288,1433614335,GB +1433614336,1433615359,DE 1433615360,1433615871,FR 1433615872,1433616127,CH -1433616128,1433616383,GB +1433616128,1433616383,FR 1433616384,1433624575,AE 1433624576,1433632767,LV 1433632768,1433637375,GI 1433637376,1433637631,FR 1433637632,1433640959,GI 1433640960,1433649151,RU +1433649152,1433650175,ES +1433650176,1433651199,IT +1433651200,1433652223,RU +1433652224,1433653247,EE +1433653248,1433654271,DE +1433654272,1433655295,PL +1433655296,1433656319,DE +1433656320,1433657343,ES 1433657344,1433665535,RU 1433665536,1433669375,GB 1433669376,1433669631,IE @@ -36275,6 +37135,13 @@ 1433755648,1433763839,KZ 1433763840,1433772031,FR 1433772032,1433788415,SE +1433788416,1433789439,GB +1433789440,1433790463,NO +1433790464,1433791487,RU +1433791488,1433792511,TR +1433792512,1433793535,DE +1433793536,1433795583,ES +1433795584,1433796607,DE 1433796608,1433804799,GB 1433804800,1433812273,FR 1433812274,1433812274,GB @@ -36299,7 +37166,10 @@ 1433860096,1433862143,DE 1433862144,1433864191,CH 1433864192,1433866239,HU -1433866240,1433870335,GB +1433866240,1433867521,NL +1433867522,1433867522,GB +1433867523,1433868287,NL +1433868288,1433870335,GB 1433870336,1433872383,TR 1433872384,1433874431,IT 1433874432,1433876479,NL @@ -36348,9 +37218,15 @@ 1434976256,1435107327,ES 1435107328,1435238399,PT 1435238400,1435500543,RU -1435500544,1436024831,NL +1435500544,1435597823,NL +1435597824,1435597951,BE +1435597952,1436024831,NL 1436024832,1436090367,ES -1436090368,1436155903,TR +1436090368,1436106750,TR +1436106751,1436107007,EE +1436107008,1436107263,TR +1436107264,1436107519,EE +1436107520,1436155903,TR 1436155904,1436221439,OM 1436221440,1436286975,ES 1436286976,1436418047,FI @@ -36423,7 +37299,8 @@ 1437073408,1437335551,FR 1437335552,1437597695,RU 1437597696,1438121983,DE -1438121984,1438125055,NL +1438121984,1438124031,GB +1438124032,1438125055,NL 1438125056,1438125311,ES 1438125312,1438125567,NL 1438125568,1438125823,FR @@ -36451,9 +37328,9 @@ 1438186496,1438187519,CH 1438187520,1438253055,IR 1438253056,1438318591,RO -1438318592,1438321919,BG -1438321920,1438322687,RU -1438322688,1438331903,BG +1438318592,1438321663,BG +1438321664,1438322175,RU +1438322176,1438331903,BG 1438331904,1438333951,ES 1438333952,1438351359,BG 1438351360,1438359551,US @@ -36547,9 +37424,7 @@ 1439121408,1439154175,DE 1439154176,1439170559,GB 1439170560,1439236095,NO -1439236096,1439286015,BE -1439286016,1439286143,FR -1439286144,1439301631,BE +1439236096,1439301631,BE 1439301632,1439305727,RU 1439305728,1439309823,DK 1439309824,1439318015,PL @@ -36559,18 +37434,19 @@ 1439323136,1439323391,RU 1439323392,1439323647,ES 1439323648,1439323903,DE -1439323904,1439324159,IT +1439323904,1439324159,RU 1439324160,1439325183,DE 1439325184,1439326207,LB 1439326208,1439330303,PL 1439330304,1439334399,RS 1439334400,1439338495,RU 1439338496,1439342591,PL -1439342592,1439343359,GB +1439342592,1439343103,GB +1439343104,1439343359,DE 1439343360,1439343615,BE 1439343616,1439344639,RU 1439344640,1439345663,NL -1439345664,1439346687,GB +1439345664,1439346687,US 1439346688,1439351295,RU 1439351296,1439351551,DE 1439351552,1439351807,AT @@ -36631,14 +37507,18 @@ 1439381504,1439382527,MX 1439382528,1439383551,US 1439383552,1439399935,FR -1439399936,1439432703,DK +1439399936,1439405567,DK +1439405568,1439405695,DE +1439405696,1439405823,DK +1439405824,1439406079,DE +1439406080,1439432703,DK 1439432704,1439437823,RO 1439437824,1439438335,FR 1439438336,1439438847,RO 1439438848,1439439359,FR 1439439360,1439439615,RO 1439439616,1439439871,PL -1439439872,1439440383,RO +1439439872,1439440383,US 1439440384,1439440895,IR 1439440896,1439441919,RO 1439441920,1439442943,ES @@ -36703,13 +37583,11 @@ 1439498240,1439502335,GB 1439502336,1439506431,DE 1439506432,1439507455,GB -1439507456,1439510527,DE -1439510528,1439514623,GB +1439507456,1439513599,DE +1439513600,1439514623,GB 1439514624,1439516671,IT 1439516672,1439518719,GB -1439518720,1439520767,DE -1439520768,1439521791,GB -1439521792,1439527935,DE +1439518720,1439527935,DE 1439527936,1439531007,GB 1439531008,1439534079,DE 1439534080,1439535103,GB @@ -36733,7 +37611,9 @@ 1440317952,1440318463,BG 1440318464,1440320511,ES 1440320512,1440320767,BG -1440320768,1440322559,ES +1440320768,1440321535,ES +1440321536,1440322047,BG +1440322048,1440322559,ES 1440322560,1440323071,BG 1440323072,1440325631,ES 1440325632,1440350207,BG @@ -36787,6 +37667,14 @@ 1441462272,1441464319,PL 1441464320,1441472511,SE 1441472512,1441480703,RU +1441480704,1441481727,DE +1441481728,1441482751,GB +1441482752,1441483775,TR +1441483776,1441484799,GB +1441484800,1441485823,RU +1441485824,1441486847,TR +1441486848,1441487871,CH +1441487872,1441488895,HU 1441488896,1441497087,GB 1441497088,1441505279,IT 1441505280,1441521663,RU @@ -36813,7 +37701,8 @@ 1441651456,1441651711,CA 1441651712,1441652735,GB 1441652736,1441660927,SK -1441660928,1441669119,ES +1441660928,1441667071,ES +1441667072,1441669119,PT 1441669120,1441677311,GE 1441677312,1441685503,HU 1441685504,1441693695,UA @@ -36831,21 +37720,12 @@ 1441734656,1441742847,RU 1441742848,1441751039,CZ 1441751040,1441759231,DE -1441759232,1441762303,BG -1441762304,1441763327,ES +1441759232,1441763327,ES 1441763328,1441767423,BG 1441767424,1441775615,IT 1441775616,1441783807,IR 1441783808,1441791999,CZ -1441792000,1441795071,PT -1441795072,1441795327,GB -1441795328,1441847807,PT -1441847808,1441848319,GB -1441848320,1441872895,PT -1441872896,1441873023,GB -1441873024,1441873087,PT -1441873088,1441873151,GB -1441873152,1442316287,PT +1441792000,1442316287,PT 1442316288,1442381823,SK 1442381824,1442447359,RU 1442447360,1442512895,IL @@ -36901,13 +37781,29 @@ 1446805504,1446838271,FI 1446838272,1446871039,SI 1446871040,1446903807,CZ +1446903808,1446904831,UZ +1446904832,1446905087,RU +1446905344,1446905855,RU +1446905856,1446906879,DE 1446906880,1446907135,IQ +1446907136,1446908927,RU +1446908928,1446909951,ES +1446909952,1446910719,DK 1446910720,1446911231,IQ +1446911232,1446911487,ES +1446911744,1446911999,ES +1446912000,1446913023,AT +1446913024,1446914047,BG +1446914048,1446915071,ES +1446915072,1446916095,UA +1446916096,1446918143,RU +1446918144,1446919167,RO +1446919168,1446920191,HK 1446920192,1446936575,RU 1446936576,1446952959,NO 1446952960,1446969343,QA 1446969344,1446980351,GB -1446981632,1446985727,GB +1446980608,1446985727,GB 1446985728,1447010303,PL 1447010304,1447018495,LV 1447018496,1447026687,CZ @@ -36943,7 +37839,7 @@ 1449687040,1449688063,GR 1449688064,1449688575,RO 1449688576,1449688831,GB -1449688832,1449689087,US +1449688832,1449689087,NL 1449689088,1449690623,RO 1449690624,1449690879,IE 1449690880,1449691135,IT @@ -37055,7 +37951,9 @@ 1449793280,1449793535,NL 1449793536,1449794047,IR 1449794048,1449794303,PH -1449794304,1449803775,RO +1449794304,1449794559,RO +1449794560,1449795071,US +1449795072,1449803775,RO 1449803776,1449805823,ES 1449805824,1449806591,RO 1449806592,1449807103,IE @@ -37124,7 +38022,9 @@ 1449881088,1449883647,RO 1449883648,1449885695,BE 1449885696,1449886463,KZ -1449886464,1449886536,RO +1449886464,1449886485,RO +1449886486,1449886486,KZ +1449886487,1449886536,RO 1449886537,1449886537,KZ 1449886538,1449886719,RO 1449886720,1449889791,KZ @@ -37194,9 +38094,7 @@ 1450180608,1450311679,GB 1450311680,1450442751,FI 1450442752,1450704895,CH -1450704896,1451186175,RO -1451186176,1451188223,IT -1451188224,1451229183,RO +1450704896,1451229183,RO 1451229184,1451415166,GB 1451415167,1451415167,US 1451415168,1455423487,GB @@ -37245,7 +38143,11 @@ 1466204160,1466236927,FI 1466236928,1466241023,NL 1466241024,1466249215,PL -1466249216,1466253311,GR +1466249216,1466251264,GR +1466251265,1466251519,BG +1466251520,1466252032,GR +1466252033,1466252543,BG +1466252544,1466253311,GR 1466253312,1466257407,PL 1466257408,1466258431,JP 1466258432,1466259455,NL @@ -37309,7 +38211,9 @@ 1467473920,1467482111,RU 1467482112,1467484927,BG 1467484928,1467485183,IL -1467485184,1467596799,BG +1467485184,1467582463,BG +1467582464,1467584511,GB +1467584512,1467596799,BG 1467596800,1467600895,DE 1467600896,1467604991,BG 1467604992,1467609087,DE @@ -37319,7 +38223,9 @@ 1467777024,1467875327,ES 1467875328,1467940863,BG 1467940864,1468006399,GB -1468006400,1472200703,DE +1468006400,1471149653,DE +1471149654,1471149654,ES +1471149655,1472200703,DE 1472200704,1472259071,IE 1472259072,1472259327,GB 1472259328,1472266239,IE @@ -37454,7 +38360,7 @@ 1475284992,1475287039,GB 1475287040,1475291135,RU 1475291136,1475293183,PL -1475293184,1475295231,CZ +1475293184,1475295231,KZ 1475295232,1475297279,SK 1475297280,1475299327,DK 1475299328,1475301375,PL @@ -37502,13 +38408,7 @@ 1475575808,1475592191,AT 1475592192,1475608575,GB 1475608576,1475624959,RU -1475624960,1475637303,JE -1475637304,1475637311,GB -1475637312,1475637471,JE -1475637472,1475637479,GB -1475637480,1475639479,JE -1475639480,1475639487,GB -1475639488,1475639559,JE +1475624960,1475639559,JE 1475639560,1475639567,GB 1475639568,1475639583,JE 1475639584,1475639591,GB @@ -37540,6 +38440,13 @@ 1475788800,1475805183,PL 1475805184,1475821567,KZ 1475821568,1475837951,LT +1475837952,1475838975,ES +1475838976,1475839999,RU +1475840000,1475841023,BA +1475841024,1475843071,RU +1475843072,1475844095,MD +1475844096,1475845119,UA +1475845120,1475846143,RU 1475846144,1475854335,IR 1475854336,1475862527,AT 1475862528,1475864575,FR @@ -37570,15 +38477,14 @@ 1476026368,1476034559,BA 1476034560,1476042751,NL 1476042752,1476050943,PL -1476050944,1476054527,RU -1476054528,1476055039,MD -1476055040,1476064255,RU +1476050944,1476064255,RU 1476064256,1476064383,DE 1476064384,1476064511,TR 1476064512,1476067327,RU 1476067328,1476075519,TR 1476075520,1476083711,NL -1476083712,1476100095,RU +1476083712,1476087807,MD +1476087808,1476100095,RU 1476100096,1476108287,IR 1476108288,1476116479,RU 1476116480,1476124671,SE @@ -37634,7 +38540,9 @@ 1481637888,1481646079,SE 1481646080,1481654271,RU 1481654272,1481662463,IT -1481662464,1481678847,BG +1481662464,1481672703,BG +1481672704,1481676799,ES +1481676800,1481678847,BG 1481678848,1481684991,SE 1481684992,1481687039,GB 1481687040,1481695231,DE @@ -37643,10 +38551,7 @@ 1481711616,1481719807,RU 1481719808,1481727999,CZ 1481728000,1481736191,IE -1481736192,1481742335,GG -1481742336,1481743359,GB -1481743360,1481743871,GG -1481743872,1481744383,GB +1481736192,1481744383,GG 1481744384,1481752575,IT 1481752576,1481760767,RU 1481760768,1481768959,UA @@ -37678,8 +38583,12 @@ 1481934848,1481936895,DE 1481936896,1481937183,FR 1481937184,1481937199,NL -1481937200,1481938943,FR -1481938944,1481940991,NL +1481937200,1481937567,FR +1481937568,1481937571,PA +1481937572,1481938943,FR +1481938944,1481940427,NL +1481940428,1481940431,AM +1481940432,1481940991,NL 1481940992,1481949183,NO 1481949184,1481957375,RU 1481957376,1481965567,SE @@ -37721,13 +38630,17 @@ 1482948608,1483210751,CZ 1483210752,1483735039,GB 1483735040,1483997183,FI -1483997184,1484128255,AT +1483997184,1484123135,AT +1484123136,1484123647,DE +1484123648,1484128255,AT 1484128256,1484259327,LT 1484259328,1484783615,FR 1484783616,1484849151,DE 1484849152,1484914687,SE 1484914688,1484980223,DE -1484980224,1485045759,SE +1484980224,1485033983,SE +1485033984,1485034495,NO +1485034496,1485045759,SE 1485045760,1485111295,HU 1485111296,1485148159,DE 1485148160,1485151231,AT @@ -37796,13 +38709,13 @@ 1486356480,1486487551,DE 1486487552,1486618623,UA 1486618624,1486684159,PL -1486684160,1486739903,PT -1486739904,1486739967,GB -1486739968,1486749695,PT +1486684160,1486749695,PT 1486749696,1486815231,RO 1486815232,1486880767,NL 1486880768,1488977919,FR -1488977920,1489240063,FI +1488977920,1489093631,FI +1489093632,1489093759,AX +1489093760,1489240063,FI 1489240064,1489305599,EE 1489305600,1489338367,GR 1489338368,1489371135,BE @@ -37811,13 +38724,12 @@ 1489502208,1489534975,SI 1489534976,1489567743,RU 1489567744,1489589759,BH -1489589760,1489590015,AE -1489590016,1489600511,BH +1489589760,1489590271,SA +1489590272,1489600511,BH 1489600512,1489633279,RU 1489633280,1489634303,FR 1489634304,1489635327,IT -1489635328,1489640959,FR -1489641216,1489641471,FR +1489635328,1489641471,FR 1489641472,1489641599,PT 1489641600,1489641727,GR 1489641728,1489642495,FR @@ -37825,9 +38737,7 @@ 1489644544,1489645055,IT 1489645824,1489646079,IT 1489647616,1489648383,FR -1489648384,1489648639,GR -1489649664,1489650687,ZA -1489651200,1489653759,FR +1489649664,1489653759,FR 1489655296,1489655551,GR 1489655808,1489656831,NO 1489656832,1489657087,FI @@ -37838,11 +38748,10 @@ 1489659648,1489661951,FR 1489661952,1489662975,NG 1489662976,1489663487,IT -1489663744,1489663807,SK -1489664000,1489664511,GB +1489664256,1489664511,GB 1489664512,1489664767,LY 1489664768,1489665023,TN -1489665024,1489674239,GB +1489665792,1489674239,GB 1489674240,1489676287,NL 1489676288,1489678591,GB 1489678592,1489678847,NL @@ -37891,9 +38800,7 @@ 1489862656,1489928191,RU 1489928192,1489960959,SE 1489960960,1489993727,HR -1489993728,1490014719,LU -1490014720,1490014975,FR -1490014976,1490026495,LU +1489993728,1490026495,LU 1490026496,1490028543,NL 1490028544,1490028671,GB 1490028672,1490028799,DE @@ -37916,7 +38823,9 @@ 1490193617,1490193617,DE 1490193618,1490196991,GB 1490196992,1490197247,IE -1490197248,1490206719,GB +1490197248,1490198555,GB +1490198556,1490198556,IE +1490198557,1490206719,GB 1490206720,1490223103,GE 1490223104,1490255871,GB 1490255872,1490272255,NL @@ -37935,7 +38844,22 @@ 1490386944,1490403327,CH 1490403328,1490411519,BG 1490411520,1490419711,FR +1490419712,1490420735,FI 1490420736,1490421759,IR +1490421760,1490422783,UA +1490422784,1490423807,DE +1490423808,1490424831,AL +1490424832,1490425855,NL +1490425856,1490426623,DE +1490426880,1490427903,NL +1490427904,1490428927,RU +1490428928,1490429951,GB +1490429952,1490430975,TR +1490430976,1490431999,IT +1490432000,1490433023,RU +1490433024,1490434047,LT +1490434048,1490435071,DE +1490435072,1490436095,BA 1490436096,1490452479,UA 1490452480,1490468863,PT 1490468864,1490473983,GB @@ -37957,15 +38881,16 @@ 1490879488,1490880511,US 1490880512,1490881535,FR 1490885632,1490886655,US -1490891520,1490891775,GB 1490904064,1490905087,US 1490909184,1490910207,US 1490913280,1490915327,US 1490915328,1490917375,IT 1490917376,1490919423,IL -1490927616,1490931711,PL +1490927616,1490929663,FR 1490931712,1490931967,DE -1490931968,1490935807,PL +1490931968,1490932223,PL +1490932224,1490933759,DE +1490934528,1490934783,IL 1490944000,1491075071,LT 1491075072,1493172223,TR 1493172224,1493303295,DE @@ -37976,7 +38901,9 @@ 1493565440,1493696511,ES 1493696512,1493958655,NO 1493958656,1494220799,DE -1494220800,1494222847,MQ +1494220800,1494221311,MQ +1494221312,1494221567,FR +1494221568,1494222847,MQ 1494222848,1494224895,GP 1494224896,1494228991,FR 1494228992,1494237183,RU @@ -37984,9 +38911,7 @@ 1494245376,1494253567,RU 1494253568,1494261759,DE 1494261760,1494269951,GB -1494269952,1494272255,AT -1494272256,1494274047,NL -1494274048,1494278143,AT +1494269952,1494278143,AT 1494278144,1494286335,GB 1494286336,1494294527,HR 1494294528,1494302719,RU @@ -38005,6 +38930,13 @@ 1494401024,1494409215,LV 1494409216,1494417407,FI 1494417408,1494425599,TR +1494425600,1494426623,RU +1494426624,1494427647,NL +1494427648,1494428671,RU +1494428672,1494430719,GB +1494430720,1494431743,DK +1494431744,1494432767,BR +1494432768,1494433791,NL 1494433792,1494441983,IE 1494441984,1494450175,UA 1494450176,1494458367,DK @@ -38015,12 +38947,11 @@ 1494507520,1494523903,RU 1494523904,1494532095,NL 1494532096,1494540287,GB -1494540288,1494541823,NO -1494541824,1494542079,DK -1494542080,1494548479,NO +1494540288,1494548479,NO 1494548480,1494556671,GB 1494556672,1494564863,DE -1494564864,1494573055,UA +1494564864,1494565887,US +1494565888,1494573055,UA 1494573056,1494580479,RO 1494580480,1494580735,HU 1494580736,1494581247,RO @@ -38052,9 +38983,7 @@ 1494704128,1494736895,RU 1494736896,1494745087,DK 1494745088,1494810623,CZ -1494810624,1494815743,BG -1494815744,1494816255,ZA -1494816256,1494843391,BG +1494810624,1494843391,BG 1494843392,1494876159,PL 1494876160,1494908927,AT 1494908928,1494941695,PT @@ -38072,8 +39001,8 @@ 1495056384,1495058431,RU 1495058432,1495060479,UA 1495060480,1495060991,GB -1495060992,1495061503,US -1495061504,1495062527,GB +1495060992,1495061247,US +1495061248,1495062527,GB 1495062528,1495064575,JO 1495064576,1495066623,PL 1495066624,1495068671,GB @@ -38081,12 +39010,14 @@ 1495070720,1495072767,RU 1495072768,1495105535,CZ 1495105536,1495138303,ES -1495138304,1495139343,FR +1495138304,1495139327,FR 1495139344,1495139347,GB -1495139348,1495146495,FR +1495139376,1495139391,FR +1495140352,1495142399,FR +1495144448,1495146495,FR 1495146752,1495147007,US 1495148544,1495150591,FR -1495150592,1495151615,GB +1495150848,1495151103,GB 1495151616,1495153663,FR 1495154496,1495154527,IN 1495158784,1495159295,GB @@ -38103,7 +39034,7 @@ 1495163408,1495163411,ES 1495163412,1495163415,IT 1495163552,1495163567,FR -1495165191,1495165191,US +1495165191,1495165191,FR 1495165192,1495165195,NL 1495165408,1495165439,FR 1495165696,1495165951,ES @@ -38148,11 +39079,9 @@ 1495257088,1495259135,GB 1495259136,1495260159,MD 1495260160,1495261183,RU -1495261184,1495261481,GB -1495261482,1495261482,PT -1495261483,1495261511,GB -1495261512,1495261512,PT -1495261513,1495261951,GB +1495261184,1495261439,GB +1495261440,1495261695,PT +1495261696,1495261951,GB 1495261952,1495263231,PT 1495263232,1495265279,GB 1495265280,1495267327,US @@ -38275,7 +39204,9 @@ 1495398912,1495399423,GB 1495399424,1495399935,RO 1495399936,1495400447,GB -1495400448,1495401983,RO +1495400448,1495400959,RO +1495400960,1495401215,RS +1495401216,1495401983,RO 1495401984,1495402239,IT 1495402240,1495404543,RO 1495404544,1495405567,NL @@ -38358,10 +39289,8 @@ 1495485440,1495485695,MD 1495485696,1495485951,RO 1495485952,1495486463,PL -1495486464,1495487183,RO -1495487184,1495487184,GG -1495487185,1495487231,RO -1495487232,1495487487,IT +1495486464,1495486975,RO +1495486976,1495487487,GG 1495487488,1495488767,MD 1495488768,1495489279,GB 1495489280,1495489535,MD @@ -38400,7 +39329,9 @@ 1495515648,1495516159,IR 1495516160,1495517183,GB 1495517184,1495518207,MD -1495518208,1495524095,RO +1495518208,1495518719,RO +1495518720,1495519231,IT +1495519232,1495524095,RO 1495524096,1495524351,ES 1495524352,1495525119,RO 1495525120,1495525375,ES @@ -38516,8 +39447,7 @@ 1495652864,1495653375,IR 1495653376,1495654399,KZ 1495654400,1495654911,RO -1495654912,1495655167,ES -1495655168,1495655423,BG +1495654912,1495655423,ES 1495655424,1495656447,US 1495656448,1495656959,RO 1495656960,1495657215,GB @@ -38560,7 +39490,7 @@ 1495709696,1495713791,IR 1495713792,1495715839,ES 1495715840,1495716863,RO -1495716864,1495717887,IR +1495716864,1495717887,HK 1495717888,1495719935,ES 1495719936,1495722751,RO 1495722752,1495723007,SE @@ -38680,7 +39610,7 @@ 1495840000,1495842815,RO 1495842816,1495843839,KZ 1495843840,1495845631,RO -1495845632,1495845887,GB +1495845632,1495845887,ES 1495845888,1495846655,RO 1495846656,1495847423,GB 1495847424,1495847679,RO @@ -38711,7 +39641,7 @@ 1495868416,1495869439,RO 1495869440,1495870463,IR 1495870464,1495871487,BE -1495871488,1495871743,ES +1495871488,1495871743,FI 1495871744,1495872511,GB 1495872512,1495873535,BE 1495873536,1495874047,RO @@ -38726,7 +39656,7 @@ 1495900160,1495902207,SE 1495902208,1495903231,NL 1495903232,1495906303,RO -1495906304,1495907327,IR +1495906304,1495907327,HK 1495907328,1495907583,RO 1495907584,1495908351,GB 1495908352,1495922687,IR @@ -38746,7 +39676,7 @@ 1495934976,1495935231,GB 1495935232,1495935743,RO 1495935744,1495935999,FI -1495936000,1495937023,IR +1495936000,1495937023,HK 1495937024,1495937535,DE 1495937536,1495938559,RO 1495938560,1495939071,BE @@ -38868,7 +39798,8 @@ 1496074240,1496075263,GR 1496075264,1496076799,RO 1496076800,1496077055,ES -1496077056,1496079359,RO +1496077056,1496078335,RO +1496078336,1496079359,MD 1496079360,1496081407,GR 1496081408,1496082175,RO 1496082176,1496082431,GB @@ -38909,7 +39840,9 @@ 1496110592,1496111103,RO 1496111104,1496113151,GR 1496113152,1496117247,RO -1496117248,1496118271,IR +1496117248,1496117309,HK +1496117310,1496117310,IR +1496117311,1496118271,HK 1496118272,1496119295,RO 1496119296,1496121343,SE 1496121344,1496122367,MD @@ -39000,7 +39933,7 @@ 1496217600,1496218879,RO 1496218880,1496219135,DE 1496219136,1496220671,RO -1496220672,1496221695,US +1496220672,1496221695,DE 1496221696,1496223743,ES 1496223744,1496225791,PL 1496225792,1496228863,RO @@ -39082,12 +40015,15 @@ 1500028928,1500037119,NL 1500037120,1500045311,DK 1500045312,1500061695,GB -1500061696,1500069887,NO +1500061696,1500063743,NO +1500064768,1500069887,NO 1500069888,1500078079,IT 1500078080,1500086271,GB 1500086272,1500094463,RU 1500094464,1500102655,AT -1500102656,1500110847,NL +1500102656,1500108799,NL +1500108800,1500109311,DE +1500109312,1500110847,NL 1500110848,1500119039,UA 1500119040,1500127231,TR 1500127232,1500135423,FI @@ -39148,8 +40084,8 @@ 1500299264,1500315647,PL 1500315648,1500332031,RU 1500332032,1500348415,PT -1500348416,1500405759,RU -1500405760,1500408831,UA +1500348416,1500407807,RU +1500407808,1500408831,UA 1500408832,1500413951,RU 1500413952,1500430335,DE 1500430336,1500446719,RS @@ -39204,7 +40140,13 @@ 1502975232,1502975247,GB 1502975248,1502975327,IE 1502975328,1502975359,GB -1502975360,1502978047,IE +1502975360,1502976279,IE +1502976280,1502976287,SE +1502976288,1502976479,IE +1502976480,1502976487,PL +1502976488,1502976703,IE +1502976704,1502976719,BE +1502976720,1502978047,IE 1502978048,1502979071,US 1502979072,1502979135,IE 1502979136,1502979199,GB @@ -39233,8 +40175,8 @@ 1503133696,1503370138,PT 1503370139,1503370139,GB 1503370140,1503395839,PT -1503395840,1503477759,FR -1503477760,1503486207,GP +1503395840,1503483903,FR +1503483904,1503486207,GP 1503486208,1503486463,MQ 1503486464,1503486719,GP 1503486720,1503486975,MQ @@ -39245,7 +40187,8 @@ 1503490048,1503490559,GP 1503490560,1503491071,MQ 1503491072,1503491583,GP -1503491584,1503492095,MQ +1503491584,1503491839,FR +1503491840,1503492095,MQ 1503492096,1503493119,GP 1503493120,1503493887,MQ 1503493888,1503494143,GP @@ -39266,9 +40209,7 @@ 1503898336,1503898343,MX 1503898344,1503898351,DE 1503898352,1503898359,CH -1503898360,1503898791,DE -1503898792,1503898799,AT -1503898800,1503898911,DE +1503898360,1503898911,DE 1503898912,1503898919,LT 1503898920,1503899071,DE 1503899072,1503899079,AT @@ -39306,9 +40247,7 @@ 1504151552,1504153599,IE 1504153600,1504154623,GB 1504154624,1504155647,IE -1504155648,1504173055,GB -1504173056,1504174079,IE -1504174080,1504247807,GB +1504155648,1504247807,GB 1504247808,1504313343,RU 1504313344,1504378879,FR 1504378880,1504444415,PL @@ -39326,7 +40265,15 @@ 1505255424,1505263615,IT 1505263616,1505271807,DK 1505271808,1505279999,NL -1505280000,1505288191,IR +1505280000,1505282047,AE +1505282048,1505282815,IR +1505282816,1505283071,AE +1505283072,1505284095,IR +1505284096,1505284351,AE +1505284352,1505284607,IR +1505284608,1505284863,AE +1505284864,1505285119,IR +1505285120,1505288191,AE 1505288192,1505296383,RU 1505296384,1505304575,UA 1505304576,1505312767,FR @@ -39337,9 +40284,9 @@ 1505316608,1505316863,SI 1505316864,1505320959,RU 1505320960,1505329151,AT -1505329152,1505331855,IE -1505331856,1505331871,GB -1505331872,1505332591,IE +1505329152,1505331199,IE +1505331200,1505332479,GB +1505332480,1505332591,IE 1505332592,1505332639,GB 1505332640,1505337343,IE 1505337344,1505345535,FR @@ -39359,7 +40306,13 @@ 1505427456,1505435647,UA 1505435648,1505443839,MD 1505443840,1505460223,GB -1505460224,1505471487,CZ +1505460224,1505469439,CZ +1505469440,1505469695,US +1505469696,1505470463,CZ +1505470464,1505470719,AT +1505470720,1505470783,CZ +1505470784,1505470847,DE +1505470848,1505471487,CZ 1505471488,1505475583,US 1505475584,1505478655,CZ 1505478656,1505482751,DE @@ -39386,6 +40339,14 @@ 1505646848,1505647103,PL 1505647104,1505648639,CZ 1505648640,1505656831,LT +1505656832,1505657855,CZ +1505657856,1505658879,GB +1505658880,1505659903,DE +1505659904,1505660927,NL +1505660928,1505661951,CH +1505661952,1505662975,LT +1505662976,1505663999,ES +1505664000,1505665023,GB 1505665024,1505666611,IT 1505666612,1505666615,AT 1505666616,1505673215,IT @@ -39413,7 +40374,8 @@ 1505747200,1505747455,RU 1505747456,1505747711,GB 1505747712,1505749503,RU -1505749504,1505750015,MD +1505749504,1505749759,US +1505749760,1505750015,RU 1505750016,1505751039,BG 1505751040,1505755135,RU 1505755136,1506017279,GB @@ -39464,9 +40426,9 @@ 1506451072,1506451135,DK 1506451136,1506451839,GB 1506451840,1506451871,ES -1506451872,1506452095,GB -1506452096,1506452127,PT -1506452128,1506453311,GB +1506451872,1506451967,GB +1506451968,1506452479,PT +1506452480,1506453311,GB 1506453312,1506453319,SE 1506453320,1506455507,GB 1506455508,1506455511,IT @@ -39474,17 +40436,15 @@ 1506455544,1506455547,IT 1506455548,1506456533,GB 1506456534,1506456534,IT -1506456535,1506456771,GB -1506456772,1506456775,IE -1506456776,1506456815,GB -1506456816,1506456819,IE -1506456820,1506456959,GB -1506456960,1506456975,IT -1506456976,1506458244,GB -1506458245,1506458245,CH -1506458246,1506458359,GB -1506458360,1506458367,CH -1506458368,1506459763,GB +1506456535,1506456575,GB +1506456576,1506456831,IE +1506456832,1506456959,GB +1506456960,1506457087,IT +1506457088,1506457599,GB +1506457600,1506459177,CH +1506459178,1506459178,GB +1506459179,1506459647,CH +1506459648,1506459763,GB 1506459764,1506459767,FR 1506459768,1506459781,GB 1506459782,1506459782,FR @@ -39498,7 +40458,9 @@ 1506462720,1506462975,IT 1506462976,1506463035,GB 1506463036,1506463039,IT -1506463040,1506463551,GB +1506463040,1506463527,GB +1506463528,1506463535,DE +1506463536,1506463551,GB 1506463552,1506463615,DE 1506463616,1506463719,GB 1506463720,1506463727,DE @@ -39529,10 +40491,8 @@ 1506672640,1506689023,PL 1506689024,1506705407,CH 1506705408,1506727935,GB -1506727936,1506728959,FR -1506728960,1506735989,GB -1506735990,1506735990,SG -1506735991,1506740223,GB +1506727936,1506728959,PT +1506728960,1506740223,GB 1506740224,1506741247,CH 1506741248,1506742271,TR 1506742272,1506744319,SE @@ -39557,19 +40517,26 @@ 1506789376,1506791423,DE 1506791424,1506793471,GB 1506793472,1506795519,RU -1506795520,1506799615,CH +1506795520,1506797055,CH +1506797056,1506797071,US +1506797072,1506797087,CH +1506797088,1506797103,US +1506797104,1506797119,KR +1506797120,1506797295,CH +1506797296,1506797311,US +1506797312,1506799615,CH 1506799616,1506801663,LV 1506801664,1506803711,DE 1506803712,1506865151,RU 1506865152,1506869247,US 1506869248,1506934783,UA 1506934784,1507000319,GR -1507000320,1507065855,QA +1507000320,1507015167,QA +1507015168,1507015423,IT +1507015424,1507065855,QA 1507065856,1507131391,SI 1507131392,1507196927,GB -1507196928,1507243007,PT -1507243008,1507243519,GB -1507243520,1507262463,PT +1507196928,1507262463,PT 1507262464,1507327999,BG 1507328000,1507393535,RS 1507393536,1507459071,CH @@ -39651,8 +40618,8 @@ 1508812520,1508812527,CZ 1508812528,1508815103,GB 1508815104,1508815359,NL -1508815360,1508815615,ES -1508815616,1508817151,GB +1508815360,1508815871,ES +1508815872,1508817151,GB 1508817152,1508817407,NL 1508817408,1508817663,CZ 1508817664,1508818943,GB @@ -39753,79 +40720,57 @@ 1509948416,1509948671,ES 1509948672,1509949439,NL 1509949440,1510604799,FR -1510604800,1510622975,RE -1510622976,1510623743,FR -1510623744,1510670335,RE +1510604800,1510657535,RE +1510657536,1510657791,FR +1510657792,1510662143,RE +1510662144,1510662399,FR +1510662400,1510670335,RE 1510670336,1511981055,FR -1511981056,1511997439,GP +1511981056,1511985407,GP +1511985408,1511985663,FR +1511985664,1511995647,GP +1511995648,1511995903,FR +1511995904,1511997439,GP 1511997440,1511997951,BL -1511997952,1511998463,FR -1511998464,1511998975,MF -1511998976,1511999231,BL -1511999232,1511999487,FR -1511999488,1511999743,MF -1511999744,1511999999,FR -1512000000,1512001023,BL -1512001024,1512001279,FR -1512001280,1512002815,BL -1512002816,1512005631,FR -1512005632,1512007167,MF -1512007168,1512007423,BL -1512007424,1512010239,FR -1512010240,1512010751,MF -1512010752,1512011007,BL -1512011008,1512012543,MF -1512012544,1512012799,FR -1512012800,1512013823,BL -1512013824,1512030207,GF +1511997952,1511998207,FR +1511998208,1511998463,BL +1511998464,1511999487,MF +1511999488,1511999743,BL +1511999744,1511999999,MF +1512000000,1512003583,BL +1512003584,1512005631,FR +1512005632,1512005887,BL +1512005888,1512006143,MF +1512006144,1512006655,BL +1512006656,1512006911,FR +1512006912,1512007679,BL +1512007680,1512009727,FR +1512009728,1512011263,BL +1512011264,1512011519,MF +1512011520,1512011775,BL +1512011776,1512012031,MF +1512012032,1512013823,BL +1512013824,1512029439,GF +1512029440,1512029695,FR +1512029696,1512030207,GF 1512030208,1512046591,MQ 1512046592,1512308735,FR -1512308736,1512313855,GP -1512313856,1512314111,FR -1512314112,1512323071,GP -1512323072,1512323327,FR -1512323328,1512326399,GP -1512326400,1512327167,FR -1512327168,1512327935,GP -1512327936,1512328191,FR -1512328192,1512328447,GP -1512328448,1512329215,FR -1512329216,1512334079,GP -1512334080,1512334847,FR -1512334848,1512335103,GP -1512335104,1512335359,FR -1512335360,1512335615,GP -1512335616,1512335871,FR -1512335872,1512336127,GP -1512336128,1512336383,FR -1512336384,1512340735,GP +1512308736,1512340735,GP 1512340736,1512340991,FR -1512340992,1512353535,GP -1512353536,1512353791,FR -1512353792,1512359167,GP -1512359168,1512359423,FR -1512359424,1512359935,GP -1512359936,1512360191,FR -1512360192,1512361215,GP -1512361216,1512361471,FR -1512361472,1512366335,GP -1512366336,1512366591,FR -1512366592,1512368127,GP -1512368128,1512368383,FR -1512368384,1512368639,GP -1512368640,1512368895,FR -1512368896,1512369663,GP -1512369664,1512369919,FR -1512369920,1512370441,GP +1512340992,1512353279,GP +1512353280,1512353535,FR +1512353536,1512370175,GP +1512370176,1512370431,FR +1512370432,1512370441,GP 1512370442,1512370442,FR -1512370443,1512371967,GP -1512371968,1512372223,FR -1512372224,1512374271,GP +1512370443,1512371199,GP +1512371200,1512371455,FR +1512371456,1512374271,GP 1512374272,1513892207,FR 1513892208,1513892208,ES 1513892209,1514143743,FR -1514143744,1514176511,SK -1514176512,1514405887,FR +1514143744,1514209279,SK +1514209280,1514405887,FR 1514405888,1514536959,ES 1514536960,1514602495,FR 1514602496,1514668031,ES @@ -39834,10 +40779,9 @@ 1514930176,1514995711,FR 1514995712,1515061247,ES 1515061248,1515335679,FR -1515335680,1515335935,GP -1515335936,1515338239,FR -1515338240,1515338495,GF -1515338496,1515467519,FR +1515335680,1515337727,GP +1515337728,1515339775,GF +1515339776,1515467519,FR 1515467520,1515468031,US 1515468032,1515468287,FR 1515468288,1515468543,NL @@ -39852,9 +40796,7 @@ 1515489792,1515490303,NL 1515490304,1515511807,FR 1515511808,1515515903,RO -1515515904,1515519743,FR -1515519744,1515519999,ES -1515520000,1516109823,FR +1515515904,1516109823,FR 1516109824,1516175359,ES 1516175360,1516240895,RO 1516240896,1516896255,FR @@ -39868,8 +40810,7 @@ 1518446875,1518446875,NO 1518446876,1518452735,NL 1518452736,1518460927,AT -1518460928,1518469119,LV -1518469120,1518472191,SE +1518460928,1518472191,SE 1518472192,1518473215,LT 1518473216,1518479359,SE 1518479360,1518481407,EE @@ -39910,8 +40851,8 @@ 1518731104,1518731135,HR 1518731136,1518731263,SE 1518731264,1518747647,LT -1518747648,1518764031,SE -1518764032,1518780415,LT +1518747648,1518772223,HR +1518772224,1518780415,LT 1518780416,1518796799,HR 1518796800,1518862335,LT 1518862336,1518927871,SE @@ -39921,8 +40862,7 @@ 1518962688,1518966783,HR 1518966784,1518967807,SE 1518967808,1518977023,HR -1518977024,1518985215,LT -1518985216,1518993407,SE +1518977024,1518993407,SE 1518993408,1519058943,LT 1519058944,1519083519,LV 1519083520,1519091711,SE @@ -39968,9 +40908,7 @@ 1520009216,1520041983,SY 1520041984,1520074751,RU 1520074752,1520107519,BG -1520107520,1520137855,GB -1520137856,1520137983,IE -1520137984,1520140287,GB +1520107520,1520140287,GB 1520140288,1520173055,RU 1520173056,1520205823,PL 1520205824,1520230399,RU @@ -39986,9 +40924,9 @@ 1522270208,1522401279,RU 1522401280,1522532351,EE 1522532352,1524629503,GB -1524629504,1524764415,SE -1524764416,1524764671,GB -1524764672,1525678079,SE +1524629504,1525467135,SE +1525467136,1525467647,DK +1525467648,1525678079,SE 1525678080,1526726655,GB 1526726656,1531183103,DE 1531183104,1531445247,FR @@ -39997,9 +40935,7 @@ 1531969536,1532100607,IT 1532100608,1532199935,HU 1532199936,1532200959,RS -1532200960,1532220927,HU -1532220928,1532221183,SK -1532221184,1532231679,HU +1532200960,1532231679,HU 1532231680,1532362751,GB 1532362752,1532493823,BE 1532493824,1532559359,FR @@ -40023,13 +40959,13 @@ 1532661760,1532665855,DE 1532665856,1532674047,PL 1532674048,1532675071,NL -1532675072,1532676095,UA +1532675072,1532675583,UA +1532675584,1532676095,RU 1532676096,1532678143,MD -1532678144,1532679167,UA -1532679168,1532680191,RU +1532678144,1532678655,UA +1532678656,1532680191,RU 1532680192,1532681215,UZ -1532681216,1532681471,UA -1532681472,1532681727,RU +1532681216,1532681727,RU 1532681728,1532682239,BY 1532682240,1532690431,LV 1532690432,1532755967,FR @@ -40193,13 +41129,12 @@ 1533771776,1533804543,IR 1533804544,1533805567,RU 1533805568,1533807615,NL -1533807616,1533808639,US -1533808640,1533814783,RU +1533807616,1533808639,GB +1533808640,1533809663,SG +1533809664,1533810687,AZ +1533810688,1533814783,RU 1533814784,1533815039,AG -1533815040,1533815295,GB -1533815296,1533815551,RU -1533815552,1533815807,GB -1533815808,1533817855,RU +1533815040,1533817855,RU 1533817856,1533818879,GB 1533818880,1533819903,NL 1533819904,1533820927,RU @@ -40286,7 +41221,7 @@ 1534713856,1534713887,PT 1534713888,1534713943,FR 1534713944,1534713947,DE -1534713948,1534713951,FR +1534713948,1534713951,PL 1534713952,1534713955,DE 1534713956,1534714015,FR 1534714016,1534714031,DE @@ -40298,26 +41233,38 @@ 1534714144,1534714159,GB 1534714160,1534714415,FR 1534714416,1534714431,ES -1534714432,1534714639,FR +1534714432,1534714531,FR +1534714532,1534714535,PL +1534714536,1534714639,FR 1534714640,1534714655,IE 1534714656,1534714687,ES 1534714688,1534714751,FR 1534714752,1534714767,DE -1534714768,1534714871,FR +1534714768,1534714783,FR +1534714784,1534714799,PL +1534714800,1534714871,FR 1534714872,1534714875,ES 1534714876,1534714879,DE 1534714880,1534714939,FR 1534714940,1534714943,DE -1534714944,1534715207,FR +1534714944,1534715135,FR +1534715136,1534715143,PL +1534715144,1534715207,FR 1534715208,1534715211,GB 1534715212,1534715215,FR 1534715216,1534715231,GB -1534715232,1534715551,FR +1534715232,1534715303,FR +1534715304,1534715307,PL +1534715308,1534715319,FR +1534715320,1534715327,PL +1534715328,1534715551,FR 1534715552,1534715567,PT 1534715568,1534715583,FR 1534715584,1534715599,GB 1534715600,1534715615,FI -1534715616,1534715871,FR +1534715616,1534715739,FR +1534715740,1534715743,PL +1534715744,1534715871,FR 1534715872,1534715875,ES 1534715876,1534715887,FR 1534715888,1534715903,IT @@ -40328,7 +41275,9 @@ 1534716112,1534716115,DE 1534716116,1534716239,FR 1534716240,1534716255,GB -1534716256,1534716319,FR +1534716256,1534716307,FR +1534716308,1534716311,PL +1534716312,1534716319,FR 1534716320,1534716351,GB 1534716352,1534716375,FR 1534716376,1534716379,ES @@ -40350,11 +41299,19 @@ 1534717344,1534717359,GB 1534717360,1534717583,FR 1534717584,1534717587,CZ -1534717588,1534717739,FR +1534717588,1534717655,FR +1534717656,1534717659,PL +1534717660,1534717731,FR +1534717732,1534717735,PL +1534717736,1534717739,FR 1534717740,1534717743,GB -1534717744,1534717963,FR +1534717744,1534717931,FR +1534717932,1534717935,PL +1534717936,1534717963,FR 1534717964,1534717967,PL -1534717968,1534717995,FR +1534717968,1534717983,FR +1534717984,1534717987,PL +1534717988,1534717995,FR 1534717996,1534717999,GB 1534718000,1534718031,FR 1534718032,1534718047,ES @@ -40373,20 +41330,27 @@ 1534718420,1534718423,GB 1534718424,1534718575,FR 1534718576,1534718591,DE -1534718592,1534718719,FR +1534718592,1534718623,FR +1534718624,1534718631,PL +1534718632,1534718719,FR 1534718720,1534718735,GB 1534718736,1534718763,FR 1534718764,1534718767,ES 1534718768,1534718799,FR 1534718800,1534718807,ES -1534718808,1534719071,FR +1534718808,1534718815,FR +1534718816,1534718819,PL +1534718820,1534719071,FR 1534719072,1534719075,FI -1534719076,1534719679,FR +1534719076,1534719555,FR +1534719556,1534719559,PL +1534719560,1534719679,FR 1534719680,1534719695,GB 1534719696,1534719699,FR 1534719700,1534719703,DE 1534719704,1534719711,GB -1534719712,1534719739,FR +1534719712,1534719735,FR +1534719736,1534719739,PL 1534719740,1534719743,ES 1534719744,1534719747,FR 1534719748,1534719751,ES @@ -40394,7 +41358,9 @@ 1534719784,1534719787,ES 1534719788,1534720011,FR 1534720012,1534720015,IE -1534720016,1534720079,FR +1534720016,1534720023,FR +1534720024,1534720027,PL +1534720028,1534720079,FR 1534720080,1534720095,ES 1534720096,1534720175,FR 1534720176,1534720179,NL @@ -40405,13 +41371,25 @@ 1534720388,1534720391,FI 1534720392,1534720451,FR 1534720452,1534720455,DE -1534720456,1534720767,FR +1534720456,1534720495,FR +1534720496,1534720511,PL +1534720512,1534720767,FR 1534720768,1534720783,ES 1534720784,1534720831,FR 1534720832,1534720863,GB -1534720864,1534721023,FR +1534720864,1534720983,FR +1534720984,1534720991,PL +1534720992,1534721023,FR 1534721024,1534721031,DE -1534721032,1534721807,FR +1534721032,1534721103,FR +1534721104,1534721107,PL +1534721108,1534721279,FR +1534721280,1534721287,PL +1534721288,1534721495,FR +1534721496,1534721503,PL +1534721504,1534721515,FR +1534721516,1534721519,PL +1534721520,1534721807,FR 1534721808,1534721823,GB 1534721824,1534721831,FR 1534721832,1534721835,DE @@ -40500,7 +41478,9 @@ 1535515936,1535515967,LT 1535515968,1535521407,FR 1535521408,1535521535,NL -1535521536,1535537007,FR +1535521536,1535535991,FR +1535535992,1535535995,PL +1535535996,1535537007,FR 1535537008,1535537023,DE 1535537024,1535537343,FR 1535537344,1535537407,DE @@ -40562,7 +41542,8 @@ 1535549632,1535549695,PL 1535549696,1535549891,FR 1535549892,1535549895,ES -1535549896,1535550015,FR +1535549896,1535549903,PL +1535549904,1535550015,FR 1535550016,1535550079,IT 1535550080,1535550519,FR 1535550520,1535550523,DE @@ -40612,7 +41593,9 @@ 1535554688,1535554815,IT 1535554816,1535554847,FR 1535554848,1535554863,PT -1535554864,1535555103,FR +1535554864,1535554871,FR +1535554872,1535554875,ES +1535554876,1535555103,FR 1535555104,1535555135,LT 1535555136,1535555679,FR 1535555680,1535555711,PL @@ -40676,7 +41659,9 @@ 1535562880,1535563007,ES 1535563008,1535563371,FR 1535563372,1535563375,FI -1535563376,1535563407,FR +1535563376,1535563395,FR +1535563396,1535563399,HR +1535563400,1535563407,FR 1535563408,1535563411,PL 1535563412,1535563455,FR 1535563456,1535563519,IE @@ -40773,7 +41758,8 @@ 1535836160,1535868927,CZ 1535868928,1535901695,BG 1535901696,1535934463,GR -1535934464,1535967231,KW +1535934464,1535966975,KW +1535966976,1535967231,IT 1535967232,1535999999,AT 1536000000,1536032767,NL 1536032768,1536036863,LV @@ -40914,6 +41900,22 @@ 1539072000,1539080191,PL 1539080192,1539088383,UZ 1539088384,1539096575,RU +1539096576,1539097599,TR +1539097600,1539098623,RU +1539098624,1539098879,CR +1539098880,1539099135,GB +1539099136,1539099647,US +1539099648,1539100671,TR +1539100672,1539101695,LB +1539101696,1539102719,RU +1539102720,1539103743,TR +1539103744,1539104767,RU +1539104768,1539105791,RO +1539105792,1539106815,RU +1539106816,1539107839,NO +1539107840,1539110911,RU +1539110912,1539111935,FR +1539111936,1539112959,BG 1539112960,1539115007,PL 1539115008,1539117055,AE 1539117056,1539123199,PL @@ -40936,7 +41938,7 @@ 1539151872,1539153919,UA 1539153920,1539155967,RU 1539155968,1539160063,NO -1539160064,1539161087,AT +1539160064,1539161087,US 1539161088,1539162111,BH 1539162112,1539164159,DE 1539164160,1539166207,DK @@ -40990,7 +41992,7 @@ 1539301376,1539309567,RU 1539309568,1539310591,PL 1539310592,1539311615,IQ -1539311616,1539312639,GB +1539311616,1539312639,RU 1539312640,1539313663,DE 1539313664,1539314687,GB 1539314688,1539315711,RU @@ -41061,7 +42063,9 @@ 1539385344,1539385855,PL 1539385856,1539386367,BE 1539386368,1539386623,IT -1539386624,1539386751,GB +1539386624,1539386631,GB +1539386632,1539386639,IT +1539386640,1539386751,GB 1539386752,1539386815,IT 1539386816,1539386879,GB 1539386880,1539387391,IT @@ -41292,7 +42296,7 @@ 1539547136,1539547647,NL 1539547648,1539548159,IL 1539548160,1539548671,FR -1539549184,1539549695,GB +1539548672,1539549695,GB 1539549696,1539550207,RU 1539550208,1539550719,UA 1539551232,1539551743,RS @@ -41324,8 +42328,7 @@ 1539567616,1539568127,DE 1539568128,1539568639,NL 1539568640,1539569151,UA -1539569152,1539569407,EE -1539569408,1539569663,FI +1539569152,1539569663,EE 1539569664,1539570175,UA 1539570176,1539570687,PL 1539570688,1539571199,RU @@ -41367,14 +42370,15 @@ 1539614720,1539615743,NL 1539615744,1539616767,DK 1539616768,1539618815,UA -1539618816,1539620863,GB +1539618816,1539619839,GB +1539619840,1539620863,RU 1539620864,1539622911,UA 1539622912,1539623935,RO 1539623936,1539624959,DE 1539624960,1539625983,ES 1539625984,1539627007,PL 1539627008,1539628031,LB -1539628032,1539629055,DE +1539628032,1539629055,US 1539629056,1539630079,BG 1539630080,1539631103,UA 1539631104,1539633151,RU @@ -41414,7 +42418,8 @@ 1539666944,1539667967,CZ 1539667968,1539668991,ES 1539668992,1539670015,RU -1539670016,1539672063,UA +1539670016,1539671039,UA +1539671040,1539672063,RU 1539672064,1539673087,FR 1539673088,1539674111,GB 1539674112,1539675135,UA @@ -41808,7 +42813,7 @@ 1539816704,1539816959,RU 1539816960,1539817215,DK 1539817216,1539817471,TR -1539817472,1539817727,DE +1539817472,1539817983,DE 1539817984,1539818239,UA 1539818240,1539818495,NO 1539818496,1539819007,RU @@ -41903,7 +42908,7 @@ 1539875840,1539876863,RU 1539876864,1539877887,ES 1539877888,1539878911,PL -1539878912,1539879935,GB +1539878912,1539879935,RU 1539879936,1539880959,UA 1539880960,1539881983,PL 1539881984,1539883007,NL @@ -41918,7 +42923,8 @@ 1539891200,1539893247,RU 1539893248,1539894271,UA 1539894272,1539895295,PL -1539895296,1539896319,GB +1539895296,1539895807,GB +1539895808,1539896319,JP 1539896320,1539897343,ES 1539897344,1539898367,UA 1539898368,1539899391,LT @@ -41949,7 +42955,7 @@ 1539922944,1539923967,SE 1539923968,1539924991,GE 1539924992,1539926015,DE -1539926016,1539927039,GB +1539926016,1539927039,RU 1539927040,1539928063,UA 1539928064,1539930111,RU 1539930112,1539931135,PL @@ -41970,7 +42976,8 @@ 1539946496,1539947519,RU 1539947520,1539948543,UA 1539948544,1539949567,RO -1539949568,1539950847,GB +1539949568,1539950591,RU +1539950592,1539950847,GB 1539950848,1539951103,RU 1539951104,1539951615,UA 1539951616,1539953663,RU @@ -41994,7 +43001,7 @@ 1539976192,1539977215,RU 1539977216,1539978239,DE 1539978240,1539979263,CZ -1539979264,1539980287,UA +1539979264,1539980287,RU 1539980288,1539981311,VG 1539981312,1539982335,SI 1539982336,1539983359,RU @@ -42022,6 +43029,7 @@ 1540007936,1540008959,IL 1540008960,1540011007,PL 1540011008,1540013055,RU +1540013056,1540014079,ES 1540014080,1540015103,PL 1540015104,1540016127,RU 1540016128,1540016135,DE @@ -42085,7 +43093,7 @@ 1540075520,1540077567,RU 1540077568,1540078591,FR 1540078592,1540081663,RU -1540081664,1540082687,DE +1540081664,1540083711,DE 1540083712,1540084735,RU 1540084736,1540085759,NL 1540085760,1540087807,PL @@ -42151,8 +43159,7 @@ 1540153344,1540154367,KR 1540154368,1540156415,RU 1540156416,1540157439,UZ -1540157440,1540158463,RU -1540158464,1540159487,GB +1540157440,1540159487,RU 1540159488,1540160511,IT 1540160512,1540162559,RU 1540162560,1540163583,UA @@ -42956,7 +43963,7 @@ 1540624128,1540624383,RS 1540624384,1540624639,IR 1540624640,1540624895,BG -1540624896,1540625151,GB +1540624896,1540625407,GB 1540625664,1540625919,FR 1540625920,1540626175,UA 1540626176,1540626431,RO @@ -43358,9 +44365,7 @@ 1540750336,1540750591,DE 1540750592,1540751103,TR 1540751104,1540752383,PL -1540752384,1540752767,GB -1540752768,1540752895,FR -1540752896,1540753407,GB +1540752384,1540753407,GB 1540753408,1540754431,DE 1540754432,1540755455,RO 1540755456,1540756479,UA @@ -43374,7 +44379,7 @@ 1540764672,1540765695,PL 1540765696,1540766719,RU 1540766720,1540767743,IT -1540767744,1540768767,DE +1540767744,1540768767,US 1540768768,1540769791,RU 1540769792,1540770815,IT 1540770816,1540771839,RU @@ -43408,7 +44413,7 @@ 1540803584,1540804607,RU 1540804608,1540805631,UA 1540805632,1540806655,RU -1540806656,1540807679,BG +1540806656,1540807679,NL 1540807680,1540809727,RU 1540809728,1540810751,GB 1540810752,1540811775,UA @@ -43684,8 +44689,7 @@ 1540944640,1540944895,DE 1540944896,1540945151,UA 1540945152,1540945407,DE -1540945408,1540945663,GB -1540945664,1540945919,AT +1540945408,1540945919,GB 1540945920,1540946175,DE 1540946176,1540946431,AT 1540946432,1540946943,UA @@ -43739,7 +44743,7 @@ 1540973568,1540974079,UA 1540974080,1540974591,RU 1540974592,1540975103,PL -1540975104,1540975615,GB +1540975104,1540975615,US 1540975616,1540976639,RU 1540976640,1540977151,UA 1540977152,1540977663,PL @@ -43862,17 +44866,15 @@ 1541014528,1541015551,AM 1541015552,1541016575,RU 1541016576,1541018623,UA -1541018624,1541019647,GB -1541019648,1541020671,RU +1541018624,1541020671,RU 1541020672,1541022719,UA -1541022720,1541023417,GB +1541022720,1541023417,RU 1541023418,1541023418,UA -1541023419,1541023743,GB -1541023744,1541024767,RU +1541023419,1541024767,RU 1541024768,1541025791,UA 1541025792,1541026815,RU 1541026816,1541027839,LV -1541027840,1541028863,GB +1541027840,1541028863,RU 1541028864,1541029887,PL 1541029888,1541030911,DE 1541030912,1541031935,PL @@ -44107,7 +45109,7 @@ 1541182976,1541183231,SE 1541183232,1541183487,UA 1541183488,1541183743,RU -1541183744,1541183999,DE +1541183744,1541183999,NL 1541184000,1541184255,BE 1541184256,1541184511,RU 1541184512,1541184767,SI @@ -44125,7 +45127,7 @@ 1541187584,1541187839,IT 1541187840,1541188351,RU 1541188608,1541188863,HU -1541188864,1541189119,RU +1541188864,1541189119,EE 1541189120,1541189375,UA 1541189376,1541189631,GB 1541189888,1541190143,PL @@ -44488,8 +45490,7 @@ 1541374208,1541374463,DE 1541374464,1541374719,PL 1541374720,1541374975,NL -1541374976,1541375231,GR -1541375232,1541375487,LT +1541374976,1541375487,GR 1541375488,1541375999,PL 1541376000,1541376255,UA 1541376256,1541376767,RU @@ -44886,7 +45887,7 @@ 1541615616,1541615871,CH 1541615872,1541616127,SE 1541616128,1541617407,RU -1541617408,1541617663,AT +1541617408,1541617663,DE 1541617664,1541619199,PL 1541619200,1541619455,GB 1541619456,1541620735,PL @@ -44897,8 +45898,7 @@ 1541622272,1541622527,RU 1541622528,1541622783,NL 1541622784,1541623295,PL -1541623296,1541623551,GB -1541623552,1541623807,RU +1541623296,1541623807,GB 1541623808,1541624831,PL 1541624832,1541625855,IR 1541625856,1541626367,PL @@ -45379,7 +46379,7 @@ 1541903360,1541904383,UA 1541904384,1541904639,PL 1541904640,1541904895,SE -1541904896,1541905407,GB +1541904896,1541905407,DE 1541905664,1541905919,PL 1541905920,1541906431,RS 1541906432,1541906687,UA @@ -45680,7 +46680,7 @@ 1542099456,1542099711,PL 1542099712,1542099967,RU 1542099968,1542100223,NL -1542100224,1542100479,GB +1542100224,1542100479,DK 1542100480,1542100991,RO 1542100992,1542102015,RU 1542102016,1542103039,RO @@ -46263,7 +47263,7 @@ 1542436864,1542437119,RU 1542437120,1542437375,PL 1542437376,1542437631,NL -1542437632,1542437887,UA +1542437632,1542437887,CZ 1542437888,1542438399,SE 1542438400,1542438655,SC 1542438656,1542438911,RU @@ -46472,8 +47472,7 @@ 1542602752,1542619135,MD 1542619136,1542619391,GB 1542619392,1542627327,ES -1542627328,1542627583,NL -1542627584,1542627839,RU +1542627328,1542627839,RU 1542627840,1542628095,FR 1542628096,1542630399,RU 1542630400,1542630655,GB @@ -46509,32 +47508,27 @@ 1542670848,1542671359,NL 1542671360,1542671871,FR 1542671872,1542672383,AT -1542672384,1542673407,NL -1542673408,1542674687,RU +1542672384,1542674431,NL +1542674432,1542674687,RU 1542674688,1542674943,US 1542674944,1542675455,RU -1542675456,1542675711,US -1542675712,1542675967,RU -1542675968,1542676223,US -1542676224,1542681087,RU +1542675456,1542676479,US +1542676480,1542681087,RU 1542681088,1542681343,GB 1542681600,1542683135,RU 1542683136,1542683391,SK 1542683392,1542683647,RS 1542683648,1542684159,RU 1542684160,1542684671,IR -1542684672,1542684927,LT +1542684672,1542684927,ES 1542684928,1542685183,RU -1542685184,1542685695,LT +1542685184,1542685695,ES 1542685696,1542685951,RU -1542685952,1542686719,LT -1542686720,1542687743,US -1542687744,1542688767,LT +1542685952,1542688767,ES 1542688768,1542689791,FR -1542689792,1542690815,LT -1542690816,1542691327,ES +1542689792,1542691327,ES 1542691328,1542691839,PT -1542691840,1542692863,LT +1542691840,1542692863,ES 1542692864,1542696959,IR 1542696960,1542697983,ES 1542697984,1542699007,UA @@ -46612,6 +47606,14 @@ 1542839296,1542839551,DE 1542839808,1542840063,CY 1542840064,1542840319,UA +1542840320,1542841343,RU +1542841344,1542842367,IR +1542842368,1542843391,RO +1542843392,1542844415,RU +1542844416,1542845439,NL +1542845440,1542846463,IE +1542846464,1542847487,LB +1542847488,1542848511,RO 1542848512,1542849535,RU 1542849536,1542850559,UA 1542850560,1542851583,GB @@ -46639,8 +47641,9 @@ 1542904832,1542914047,UA 1542914048,1542923263,RU 1542923264,1542923775,BG -1542923776,1542929407,UA -1542929408,1542930431,KG +1542923776,1542927359,UA +1542927360,1542928383,SA +1542928384,1542930431,KG 1542930432,1542930943,CZ 1542930944,1542931455,IR 1542931456,1542932479,RU @@ -46709,23 +47712,30 @@ 1546016000,1546016255,DE 1546016256,1546017969,RU 1546017970,1546017970,CZ -1546017971,1546018303,RU -1546018304,1546018815,FR +1546017971,1546018047,RU +1546018048,1546018303,UA +1546018304,1546018559,FR +1546018560,1546018815,RU 1546018816,1546027007,UA 1546027008,1546028031,RU 1546028032,1546028543,US 1546028544,1546029055,KR 1546029056,1546030079,RU 1546030080,1546030335,NL -1546030336,1546032127,RU +1546030336,1546031103,RU +1546031104,1546032127,LU 1546032128,1546032639,US 1546032640,1546033151,BR -1546033152,1546035199,RU +1546033152,1546033663,RU +1546033664,1546034175,NL +1546034176,1546035199,LU 1546035200,1546035711,KR 1546035712,1546036223,LU 1546036224,1546037247,KR 1546037248,1546038271,US -1546038272,1546039295,LU +1546038272,1546038527,LU +1546038528,1546038783,US +1546038784,1546039295,IT 1546039296,1546039807,US 1546039808,1546040063,JP 1546040064,1546040319,US @@ -46752,20 +47762,21 @@ 1546104832,1546108927,IE 1546108928,1546113023,IM 1546113024,1546121215,RU -1546121216,1546121727,ES +1546121216,1546121727,FR 1546121728,1546121983,IT -1546121984,1546122463,ES +1546121984,1546121987,ES +1546121988,1546122463,FR 1546122464,1546122479,DZ -1546122480,1546122633,ES +1546122480,1546122633,FR 1546122634,1546122641,GB 1546122642,1546122642,DE -1546122643,1546122649,ES +1546122643,1546122649,FR 1546122650,1546122650,PT -1546122651,1546122838,ES -1546122839,1546122839,FR -1546122840,1546124191,ES +1546122651,1546122696,FR +1546122697,1546122704,ES +1546122705,1546124191,FR 1546124192,1546124223,DZ -1546124224,1546125311,ES +1546124224,1546125311,FR 1546125312,1546256383,GB 1546256384,1546264575,RU 1546264576,1546266623,TR @@ -46782,15 +47793,17 @@ 1546283464,1546283471,FR 1546283472,1546283521,DE 1546283522,1546283523,FR -1546283524,1546283623,DE +1546283524,1546283531,DE +1546283532,1546283533,FR +1546283534,1546283623,DE 1546283624,1546283631,FR 1546283632,1546283693,DE 1546283694,1546283695,FR -1546283696,1546284287,DE +1546283696,1546284047,DE +1546284048,1546284055,FR +1546284056,1546284287,DE 1546284288,1546284291,FR -1546284292,1546284329,DE -1546284330,1546284331,FR -1546284332,1546285055,DE +1546284292,1546285055,DE 1546285056,1546287103,PL 1546287104,1546289151,GB 1546289152,1546291199,RU @@ -46861,8 +47874,10 @@ 1546733568,1546735615,GP 1546735616,1546737663,MQ 1546737664,1546741759,GP -1546741760,1546743807,GF -1546743808,1546747903,MQ +1546741760,1546743551,FR +1546743552,1546743807,GF +1546743808,1546744831,FR +1546744832,1546747903,MQ 1546747904,1546764287,RU 1546764288,1546780671,KZ 1546780672,1546797055,IR @@ -46872,7 +47887,9 @@ 1546860544,1546862591,MD 1546862592,1546878975,GE 1546878976,1546895359,DE -1546895360,1546911743,IE +1546895360,1546895487,IE +1546895488,1546895615,GB +1546895616,1546911743,IE 1546911744,1546928127,SK 1546928128,1546944511,GB 1546944512,1546960895,UA @@ -46882,9 +47899,7 @@ 1547010048,1547026431,SI 1547026432,1547034623,ES 1547034624,1547036671,RU -1547036672,1547036927,SE -1547036928,1547037183,NO -1547037184,1547038719,SE +1547036672,1547038719,SE 1547038720,1547040767,GB 1547040768,1547042815,NL 1547042816,1547059199,ES @@ -47011,7 +48026,9 @@ 1548182016,1548182527,HK 1548182528,1548222463,NL 1548222464,1548746751,DE -1548746752,1549271039,RO +1548746752,1549267876,RO +1549267877,1549267877,IT +1549267878,1549271039,RO 1549271040,1549795327,FR 1549795328,1550057471,AE 1550057472,1550188543,RU @@ -47064,6 +48081,7 @@ 1551516672,1551517695,IT 1551517696,1551518719,ES 1551528960,1551529983,FR +1551529984,1551532031,IT 1551544320,1551547391,DE 1551548416,1551551487,DE 1551556608,1551558655,FR @@ -47072,7 +48090,6 @@ 1551564800,1551572991,FR 1551577088,1551580159,NL 1551580350,1551580350,US -1551581184,1551589375,GB 1551604480,1551604735,SE 1551630336,1551892479,RU 1551892480,1554514250,FR @@ -47166,7 +48183,9 @@ 1558115328,1558115455,NL 1558115456,1558118399,FR 1558118400,1558119423,DE -1558119424,1558120959,RU +1558119424,1558120191,RU +1558120192,1558120447,LU +1558120448,1558120959,RU 1558120960,1558121983,BR 1558121984,1558122495,LU 1558122496,1558123007,SG @@ -47187,28 +48206,29 @@ 1558134016,1558134271,KR 1558134272,1558134783,JP 1558134784,1558135039,RU -1558135040,1558135295,CN +1558135040,1558135295,LU 1558135296,1558135551,US 1558135552,1558135552,RU -1558135553,1558135807,CN +1558135553,1558135807,LU 1558135808,1558136319,US -1558136320,1558136575,CN +1558136320,1558136575,LU 1558136576,1558136831,DE 1558136832,1558137087,RU 1558137088,1558137343,KR 1558137344,1558137855,CZ -1558137856,1558138879,CN +1558137856,1558138879,LU 1558138880,1558139135,RU 1558139136,1558139391,NL -1558139392,1558139647,US -1558139648,1558140159,LU +1558139392,1558139903,US +1558139904,1558140159,LU 1558140160,1558140671,SG 1558140672,1558141183,LU 1558141184,1558141184,CY 1558141185,1558141439,LU 1558141440,1558141695,CY 1558141696,1558141951,RU -1558141952,1558142463,PL +1558141952,1558142207,PL +1558142208,1558142463,IT 1558142464,1558142719,US 1558142720,1558142975,SG 1558142976,1558143231,US @@ -47254,7 +48274,7 @@ 1559236608,1559240703,IL 1559240704,1559248895,BA 1559248896,1559257087,LV -1559257088,1559265279,UA +1559257088,1559265279,CH 1559265280,1559269375,RU 1559269376,1559270399,NL 1559270400,1559271423,US @@ -47284,7 +48304,14 @@ 1559379456,1559379967,US 1559379968,1559388159,RU 1559388160,1559396351,UA -1559396352,1559404543,GB +1559396352,1559405567,GB +1559405568,1559406591,RU +1559406592,1559407615,LB +1559407616,1559408639,IT +1559408640,1559409663,BG +1559409664,1559410687,PL +1559410688,1559411711,GB +1559411712,1559412735,US 1559412736,1559420927,IR 1559420928,1559429119,HR 1559429120,1559437311,FR @@ -47312,6 +48339,14 @@ 1559617536,1559625727,GB 1559625728,1559633919,DK 1559633920,1559642111,IT +1559642112,1559643135,ES +1559643136,1559644159,DE +1559644160,1559645183,GB +1559645184,1559646207,RU +1559646208,1559647231,ES +1559647232,1559648255,DE +1559648256,1559649279,RU +1559649280,1559650303,MD 1559650304,1559658495,IT 1559658496,1559662591,RU 1559662592,1559663615,IR @@ -47321,7 +48356,20 @@ 1559683072,1559691263,GB 1559691264,1559756799,BG 1559756800,1559789567,AT -1559789568,1559822335,RU +1559789568,1559824383,RU +1559824384,1559825407,ES +1559825408,1559826431,RU +1559826432,1559827455,CY +1559827456,1559828479,AT +1559828480,1559829503,CY +1559829504,1559830527,CZ +1559830528,1559831551,JP +1559831552,1559832575,NL +1559832576,1559833599,FR +1559833600,1559835647,DE +1559835648,1559836671,RS +1559836672,1559837695,IR +1559837696,1559838719,TR 1559838720,1559855103,UA 1559855104,1559887871,HU 1559887872,1559920639,PT @@ -47339,7 +48387,8 @@ 1559941888,1559943167,DE 1559943168,1559944191,LU 1559944192,1559945215,FR -1559945216,1559946751,GB +1559945216,1559945727,LU +1559945728,1559946751,GB 1559946752,1559947519,DE 1559947520,1559948287,LU 1559948288,1559948288,GB @@ -47355,8 +48404,8 @@ 1560084480,1560117247,JO 1560117248,1560125439,CZ 1560125440,1560133631,RU -1560133632,1560136959,IR -1560136960,1560138138,GB +1560133632,1560137471,IR +1560137472,1560138138,GB 1560138139,1560138139,RU 1560138140,1560138239,GB 1560138240,1560140799,RU @@ -47375,13 +48424,18 @@ 1565523968,1565655039,RU 1565655040,1565786111,AT 1565786112,1565917183,BY -1565917184,1565992464,RS +1565917184,1565964287,RS +1565964288,1565965311,XK +1565965312,1565992464,RS 1565992465,1565992465,AL -1565992466,1566048255,RS +1565992466,1566031871,RS +1566031872,1566032895,XK +1566032896,1566048255,RS 1566048256,1566052351,RU 1566052352,1566053375,DE 1566053376,1566054399,ES -1566054400,1566056447,CZ +1566054400,1566055423,RU +1566055424,1566056447,CZ 1566056448,1566060543,IT 1566060544,1566064639,UA 1566064640,1566067199,IR @@ -47418,7 +48472,7 @@ 1566191616,1566195711,FI 1566195712,1566196735,NL 1566196736,1566197759,CH -1566197760,1566198783,DE +1566197760,1566198783,TW 1566198784,1566199807,ES 1566199808,1566207999,RU 1566208000,1566212095,DK @@ -47540,7 +48594,7 @@ 1566445568,1566447615,PL 1566447616,1566451711,IT 1566451712,1566451967,IL -1566451968,1566452032,NL +1566451968,1566452032,IE 1566452033,1566452033,IT 1566452034,1566452034,FR 1566452035,1566452035,DE @@ -47548,7 +48602,8 @@ 1566452037,1566452037,ES 1566452038,1566452038,IL 1566452039,1566452039,AT -1566452040,1566452043,NL +1566452040,1566452042,IE +1566452043,1566452043,NL 1566452044,1566452045,GB 1566452046,1566452046,SE 1566452047,1566452047,CH @@ -47558,7 +48613,9 @@ 1566452052,1566452052,CH 1566452053,1566452053,GB 1566452054,1566452057,UA -1566452058,1566452223,NL +1566452058,1566452071,IE +1566452072,1566452075,NL +1566452076,1566452223,IE 1566452224,1566453759,IL 1566453760,1566455807,IQ 1566455808,1566457855,PT @@ -47629,11 +48686,7 @@ 1567293440,1567358975,IE 1567358976,1567424511,PT 1567424512,1567490047,CY -1567490048,1567498239,IR -1567498240,1567506431,GB -1567506432,1567531007,IR -1567531008,1567532031,GB -1567532032,1567535103,IR +1567490048,1567535103,IR 1567535104,1567539199,GB 1567539200,1567555583,IR 1567555584,1567621119,AT @@ -47664,7 +48717,7 @@ 1567711488,1567711743,PL 1567711744,1567712511,RO 1567712512,1567712767,PL -1567712768,1567713023,GB +1567712768,1567713023,ES 1567713024,1567713279,RO 1567713280,1567713535,AT 1567713536,1567714815,RO @@ -47801,7 +48854,9 @@ 1567883264,1567948799,MD 1567948800,1567961087,IR 1567961088,1567965183,MD -1567965184,1567966207,RO +1567965184,1567965439,RO +1567965440,1567965695,ES +1567965696,1567966207,RO 1567966208,1567969279,MD 1567969280,1567973375,ES 1567973376,1567981567,IR @@ -47859,7 +48914,8 @@ 1568120832,1568122879,MD 1568122880,1568125439,RO 1568125440,1568125951,US -1568125952,1568129535,RO +1568125952,1568126463,DE +1568126464,1568129535,RO 1568129536,1568129791,IT 1568129792,1568130047,RO 1568130048,1568133119,MD @@ -47867,15 +48923,22 @@ 1568137216,1568138239,RO 1568138240,1568141311,MD 1568141312,1568145407,DE -1568145408,1568178175,RO +1568145408,1568169983,RO +1568169984,1568178175,US 1568178176,1568210943,RU 1568210944,1568243711,GB 1568243712,1568276479,GP 1568276480,1568309247,DE 1568309248,1568342015,RO -1568342016,1568368895,BG -1568368896,1568369151,DE -1568369152,1568374783,BG +1568342016,1568369043,BG +1568369044,1568369044,DE +1568369045,1568369049,BG +1568369050,1568369050,DE +1568369051,1568369062,BG +1568369063,1568369063,DE +1568369064,1568369076,BG +1568369077,1568369077,DE +1568369078,1568374783,BG 1568374784,1568440319,RU 1568440320,1568473087,NO 1568473088,1568505855,BY @@ -47885,15 +48948,7 @@ 1568571392,1568604159,LB 1568604160,1568636927,UA 1568636928,1569193983,DE -1569193984,1569284991,HR -1569284992,1569285119,DE -1569285120,1569403135,HR -1569403136,1569403391,DE -1569403392,1569484799,HR -1569484800,1569484927,DK -1569484928,1569620607,HR -1569620608,1569620735,GB -1569620736,1569718271,HR +1569193984,1569718271,HR 1569718272,1570242559,IT 1570242560,1570275327,GB 1570275328,1570308095,BG @@ -48019,11 +49074,12 @@ 1571456000,1571456511,UA 1571456512,1571456767,CZ 1571456768,1571457023,UA -1571457024,1571457535,BY +1571457024,1571457535,CZ 1571457536,1571458185,RU 1571458186,1571458186,UA 1571458187,1571458559,RU -1571458560,1571459071,BY +1571458560,1571458815,CZ +1571458816,1571459071,BY 1571459072,1571463167,UA 1571463168,1571464191,UZ 1571464192,1571465215,BY @@ -48124,7 +49180,7 @@ 1571549184,1571550207,UA 1571550208,1571550463,RU 1571550464,1571550719,UA -1571550720,1571551231,RU +1571550720,1571551231,CZ 1571551232,1571553279,UA 1571553280,1571684351,IL 1571684352,1571686399,ES @@ -48195,6 +49251,24 @@ 1571848192,1571864575,ES 1571864576,1571880959,PL 1571880960,1571897343,RU +1571897344,1571898367,DE +1571898368,1571899391,FR +1571899392,1571899647,US +1571899648,1571899903,DE +1571899904,1571900159,GB +1571900160,1571901439,FR +1571901440,1571902463,HK +1571902464,1571903487,FR +1571903488,1571904511,PL +1571904512,1571905535,RU +1571905536,1571906559,DE +1571906560,1571907583,TR +1571907584,1571908607,DE +1571908608,1571909631,RU +1571909632,1571910655,ES +1571910656,1571911679,RU +1571911680,1571912703,GB +1571912704,1571913727,DE 1571913728,1571930111,GE 1571930112,1571946495,LV 1571946496,1571962879,SA @@ -48285,17 +49359,15 @@ 1572442112,1572446207,RU 1572446208,1572447231,NL 1572447232,1572448255,RU -1572448256,1572449279,DE +1572448256,1572449279,US 1572449280,1572458495,RU 1572458496,1572462591,UA 1572462592,1572466687,LB 1572466688,1572470783,EE 1572470784,1572474879,DE -1572474880,1572475391,ZA -1572475392,1572483071,GB +1572474880,1572483071,GB 1572483072,1572487167,RU -1572487168,1572491007,RS -1572491008,1572491263,LU +1572487168,1572491263,RS 1572491264,1572495359,IT 1572495360,1572499455,RU 1572499456,1572503551,TR @@ -48382,7 +49454,7 @@ 1572659200,1572661247,IT 1572661248,1572663295,NO 1572663296,1572665343,DE -1572665344,1572667391,JP +1572665344,1572667391,NL 1572667392,1572669439,GB 1572669440,1572673535,RU 1572673536,1572675583,AT @@ -48399,8 +49471,8 @@ 1572691968,1572694015,SA 1572694016,1572696063,GB 1572696064,1572698111,HU -1572698112,1572699135,ES -1572699136,1572700159,RO +1572698112,1572699647,ES +1572699648,1572700159,RO 1572700160,1572702207,NL 1572702208,1572704255,IT 1572704256,1572706303,RU @@ -48512,7 +49584,9 @@ 1578588160,1578590207,PL 1578590208,1578590283,FR 1578590284,1578590287,GB -1578590288,1578590639,FR +1578590288,1578590511,FR +1578590512,1578590527,PL +1578590528,1578590639,FR 1578590640,1578590647,CZ 1578590648,1578590787,FR 1578590788,1578590791,ES @@ -48533,14 +49607,18 @@ 1578591248,1578591263,GB 1578591264,1578591407,FR 1578591408,1578591411,ES -1578591412,1578591575,FR +1578591412,1578591463,FR +1578591464,1578591479,PL +1578591480,1578591575,FR 1578591576,1578591579,DE 1578591580,1578591583,ES 1578591584,1578591695,FR 1578591696,1578591699,ES 1578591700,1578591791,FR 1578591792,1578591795,ES -1578591796,1578591935,FR +1578591796,1578591887,FR +1578591888,1578591891,PL +1578591892,1578591935,FR 1578591936,1578591939,DE 1578591940,1578591999,FR 1578592000,1578592031,DE @@ -48569,7 +49647,9 @@ 1578592768,1578592783,DE 1578592784,1578592803,FR 1578592804,1578592807,PL -1578592808,1578593023,FR +1578592808,1578592859,FR +1578592860,1578592863,PL +1578592864,1578593023,FR 1578593024,1578593279,DE 1578593280,1578593359,FR 1578593360,1578593375,DE @@ -48590,15 +49670,23 @@ 1578594056,1578594059,ES 1578594060,1578594087,FR 1578594088,1578594095,CZ -1578594096,1578594271,FR +1578594096,1578594223,FR +1578594224,1578594239,PL +1578594240,1578594271,FR 1578594272,1578594303,BE 1578594304,1578594307,FR 1578594308,1578594311,FI -1578594312,1578594351,FR +1578594312,1578594319,FR +1578594320,1578594335,PL +1578594336,1578594351,FR 1578594352,1578594355,GB 1578594356,1578594479,FR 1578594480,1578594495,ES -1578594496,1578594559,FR +1578594496,1578594511,FR +1578594512,1578594515,PL +1578594516,1578594527,FR +1578594528,1578594531,PL +1578594532,1578594559,FR 1578594560,1578594815,ES 1578594816,1578594879,FR 1578594880,1578594895,DE @@ -48608,7 +49696,9 @@ 1578595104,1578595119,GB 1578595120,1578595127,FR 1578595128,1578595131,PL -1578595132,1578595295,FR +1578595132,1578595211,FR +1578595212,1578595215,PL +1578595216,1578595295,FR 1578595296,1578595327,DE 1578595328,1578595419,FR 1578595420,1578595423,GB @@ -48623,7 +49713,9 @@ 1578595544,1578595639,FR 1578595640,1578595643,DE 1578595644,1578595647,GB -1578595648,1578595763,FR +1578595648,1578595703,FR +1578595704,1578595711,PL +1578595712,1578595763,FR 1578595764,1578595767,DE 1578595768,1578595807,FR 1578595808,1578595823,ES @@ -48658,11 +49750,17 @@ 1578611168,1578611175,DE 1578611176,1578611183,FR 1578611184,1578611191,ES -1578611192,1578611423,FR +1578611192,1578611399,FR +1578611400,1578611403,GB +1578611404,1578611423,FR 1578611424,1578611439,CZ -1578611440,1578611871,FR +1578611440,1578611455,FR +1578611456,1578611583,NL +1578611584,1578611871,FR 1578611872,1578611887,GB -1578611888,1578611967,FR +1578611888,1578611903,FR +1578611904,1578611907,PL +1578611908,1578611967,FR 1578611968,1578611971,DE 1578611972,1578611979,FR 1578611980,1578611983,DE @@ -48676,9 +49774,13 @@ 1578612320,1578612351,IT 1578612352,1578612495,FR 1578612496,1578612499,DE -1578612500,1578612623,FR +1578612500,1578612519,FR +1578612520,1578612523,PL +1578612524,1578612623,FR 1578612624,1578612639,DE -1578612640,1578612907,FR +1578612640,1578612895,FR +1578612896,1578612899,PL +1578612900,1578612907,FR 1578612908,1578612911,ES 1578612912,1578613436,FR 1578613437,1578613437,ES @@ -48686,7 +49788,8 @@ 1578613492,1578613495,IE 1578613496,1578613503,FR 1578613504,1578613567,DE -1578613568,1578613679,FR +1578613568,1578613631,PL +1578613632,1578613679,FR 1578613680,1578613695,ES 1578613696,1578613735,FR 1578613736,1578613739,ES @@ -48708,7 +49811,9 @@ 1578614476,1578614479,UA 1578614480,1578614495,FR 1578614496,1578614511,DE -1578614512,1578614575,FR +1578614512,1578614543,FR +1578614544,1578614559,PL +1578614560,1578614575,FR 1578614576,1578614583,DE 1578614584,1578614591,GB 1578614592,1578615915,FR @@ -48755,7 +49860,9 @@ 1578784256,1578786047,BG 1578786048,1578786303,GI 1578786304,1578786559,BG -1578786560,1578788863,GI +1578786560,1578786815,GI +1578786816,1578787071,BG +1578787072,1578788863,GI 1578788864,1578790143,BG 1578790144,1578790399,GI 1578790400,1578790911,GB @@ -48772,9 +49879,7 @@ 1579102464,1579106303,GB 1579106304,1579122687,DE 1579122688,1579155455,RU -1579155456,1579589503,IT -1579589504,1579589631,GB -1579589632,1579679743,IT +1579155456,1579679743,IT 1579679744,1579745279,PL 1579745280,1579810815,RU 1579810816,1579876351,PL @@ -48836,7 +49941,9 @@ 1580138496,1580204031,SY 1580204032,1580335103,SA 1580335104,1580466175,RU -1580466176,1580597247,RO +1580466176,1580587007,RO +1580587008,1580587519,HU +1580587520,1580597247,RO 1580597248,1580728319,TR 1580728320,1580990463,AE 1580990464,1581252607,PT @@ -48903,7 +50010,7 @@ 1583693824,1583697919,RU 1583697920,1583702015,TR 1583702016,1583706111,RU -1583706112,1583707135,DE +1583706112,1583707135,US 1583707136,1583708159,MD 1583708160,1583709183,IR 1583709184,1583710207,ES @@ -48919,7 +50026,9 @@ 1583751168,1583755263,NO 1583755264,1583756031,SC 1583756032,1583756287,NL -1583756288,1583759359,SC +1583756288,1583757567,SC +1583757568,1583758335,NL +1583758336,1583759359,SC 1583759360,1583763455,TR 1583763456,1583765503,SY 1583765504,1583766015,RU @@ -48997,13 +50106,12 @@ 1584857936,1584857943,RS 1584857944,1584857951,TR 1584857952,1584857959,AE -1584857960,1584858111,DE +1584857960,1584857967,LU +1584857968,1584858111,DE 1584858112,1584859007,GB 1584859008,1584859135,NL 1584859136,1584922623,GB -1584922624,1584926975,TR -1584926976,1584927743,DE -1584927744,1585184767,TR +1584922624,1585184767,TR 1585184768,1585190911,PL 1585190912,1585192959,ES 1585192960,1585195007,IT @@ -49022,8 +50130,8 @@ 1585217536,1585219583,FR 1585219584,1585221631,NL 1585221632,1585223679,SK -1585223680,1585224191,MQ -1585224192,1585224703,FR +1585223680,1585224447,FR +1585224448,1585224703,GP 1585224704,1585224959,GF 1585224960,1585225471,RE 1585225472,1585225727,FR @@ -49064,7 +50172,7 @@ 1585266688,1585270783,DE 1585270784,1585272831,IT 1585272832,1585274879,RU -1585274880,1585275903,CZ +1585274880,1585275903,KZ 1585275904,1585276927,DE 1585276928,1585278975,FR 1585278976,1585281023,AL @@ -49104,7 +50212,8 @@ 1585346560,1585348607,GB 1585348608,1585350655,CH 1585350656,1585352703,IT -1585352704,1585354094,GB +1585352704,1585353727,PT +1585353728,1585354094,GB 1585354095,1585354095,PT 1585354096,1585354751,GB 1585354752,1585356799,RU @@ -49148,7 +50257,13 @@ 1585438720,1585440767,DE 1585440768,1585442815,IT 1585442816,1585446911,RU -1585446912,1585577983,KW +1585446912,1585467647,KW +1585467648,1585467679,IT +1585467680,1585467695,KW +1585467696,1585467711,IT +1585467712,1585467743,KW +1585467744,1585467903,IT +1585467904,1585577983,KW 1585577984,1585624156,DE 1585624157,1585624157,GS 1585624158,1585643519,DE @@ -49186,9 +50301,7 @@ 1586216960,1586225151,BG 1586225152,1586233343,RU 1586233344,1586241535,FR -1586241536,1586242103,SE -1586242104,1586242111,NO -1586242112,1586249727,SE +1586241536,1586249727,SE 1586249728,1586257919,SI 1586257920,1586260479,SE 1586260736,1586261759,SE @@ -49287,12 +50400,28 @@ 1587167232,1587175423,RU 1587175424,1587177471,PL 1587177472,1587179519,RS +1587183616,1587184639,RU +1587184640,1587186687,DE +1587186688,1587187711,IT +1587187712,1587188735,EE +1587188736,1587189759,DE +1587189760,1587190783,AL +1587190784,1587191807,GB +1587191808,1587192831,DE +1587192832,1587193855,CH +1587193856,1587194879,NL +1587194880,1587195903,DE +1587195904,1587197951,CZ +1587197952,1587198975,ES +1587198976,1587199999,RU 1587200000,1587216383,UA 1587216384,1587322367,BG 1587322368,1587322623,RS 1587322624,1587347455,BG 1587347456,1587412991,NL -1587412992,1587418623,RU +1587412992,1587418111,RU +1587418112,1587418367,UA +1587418368,1587418623,RU 1587418624,1587418879,FR 1587418880,1587419135,IN 1587419136,1587420159,BG @@ -49335,7 +50464,8 @@ 1588620288,1588620543,RO 1588620544,1588620799,US 1588620800,1588621311,RO -1588621312,1588625407,MD +1588621312,1588623359,MD +1588623360,1588625407,SK 1588625408,1588626175,RO 1588626176,1588626431,IT 1588626432,1588627455,RO @@ -49345,13 +50475,14 @@ 1588631552,1588636671,RO 1588636672,1588637695,US 1588637696,1588638719,ES -1588638720,1588640767,RO +1588638720,1588639743,RO +1588639744,1588640255,IT +1588640256,1588640767,RO 1588640768,1588641279,LT 1588641280,1588641535,RO 1588641536,1588641791,GB 1588641792,1588642303,CH -1588642304,1588642559,DE -1588642560,1588642815,NL +1588642304,1588642815,ES 1588642816,1588643071,RO 1588643072,1588643327,NL 1588643328,1588643839,UA @@ -49443,7 +50574,9 @@ 1589477376,1589510143,RS 1589510144,1589542911,RU 1589542912,1589547007,BG -1589547008,1589551103,EE +1589547008,1589548543,EE +1589548544,1589548799,GG +1589548800,1589551103,EE 1589551104,1589560319,BG 1589560320,1589561343,GI 1589561344,1589563391,NL @@ -49454,8 +50587,8 @@ 1589574400,1589574655,US 1589574656,1589575679,BG 1589575680,1589608447,CN -1589608448,1589616639,SE -1589616640,1589624831,DK +1589608448,1589622783,SE +1589622784,1589624831,DK 1589624832,1589626879,SE 1589626880,1589630975,DK 1589630976,1589633023,SE @@ -49506,9 +50639,8 @@ 1590120448,1590122495,IT 1590122496,1590124543,DE 1590124544,1590125567,CZ -1590125568,1590125823,AT -1590125824,1590126079,RU -1590126080,1590126591,AT +1590125568,1590126079,AT +1590126080,1590126591,US 1590126592,1590128639,RU 1590128640,1590130687,FI 1590130688,1590132735,FR @@ -49622,7 +50754,7 @@ 1592285184,1592287231,RU 1592287232,1592289279,RO 1592289280,1592291327,RU -1592291328,1592293375,SM +1592291328,1592293375,NL 1592293376,1592295423,LT 1592295424,1592299519,RU 1592299520,1592303615,PL @@ -49648,8 +50780,7 @@ 1592596480,1592598527,DE 1592598528,1592600575,FI 1592600576,1592602623,NL -1592602624,1592604671,GB -1592604672,1592606719,FI +1592602624,1592606719,GB 1592606720,1592610815,SG 1592610816,1592612863,DE 1592612864,1592623103,FI @@ -49690,9 +50821,7 @@ 1593135104,1593135359,GB 1593135360,1593135615,IE 1593135616,1593136639,GB -1593136640,1593136895,IE -1593136896,1593137151,GB -1593137152,1593139199,IE +1593136640,1593139199,IE 1593139200,1593140223,NL 1593140224,1593147391,IE 1593147392,1593163775,RU @@ -49777,9 +50906,7 @@ 1593638912,1593671679,RU 1593671680,1593704447,HR 1593704448,1593737215,SE -1593737216,1593754111,PL -1593754112,1593754367,GB -1593754368,1593769983,PL +1593737216,1593769983,PL 1593769984,1593802751,RU 1593802752,1593835519,SE 1593835520,1594884095,TR @@ -49877,8 +51004,8 @@ 1596941056,1596941311,BY 1596941312,1596942079,RU 1596942080,1596942335,PT -1596942336,1596945663,UA -1596945664,1596945919,CZ +1596942336,1596945407,UA +1596945408,1596945919,CZ 1596945920,1596946431,RU 1596946432,1596946943,CZ 1596946944,1596948479,UA @@ -49994,7 +51121,9 @@ 1599565824,1599567871,SY 1599567872,1599569919,IT 1599569920,1599586303,SI -1599586304,1599602687,BG +1599586304,1599600895,BG +1599600896,1599601151,GB +1599601152,1599602687,BG 1599602688,1599864831,DE 1599864832,1600126975,PT 1600126976,1600389119,NL @@ -50186,7 +51315,7 @@ 1603081256,1603081263,FI 1603081264,1603081279,GB 1603081280,1603081295,US -1603081296,1603081407,DE +1603081296,1603081407,KE 1603081408,1603081471,ES 1603081472,1603082239,KE 1603082240,1603082495,DE @@ -50245,10 +51374,33 @@ 1603207168,1603215359,RU 1603215360,1603219455,DE 1603219456,1603223551,CH -1603223552,1603226255,FR +1603223552,1603224319,FR +1603224320,1603224335,GB +1603224336,1603224351,BE +1603224352,1603224367,NL +1603224368,1603224383,DE +1603224384,1603224399,CH +1603224400,1603224415,IT +1603224416,1603224431,ES +1603224432,1603224447,US +1603224448,1603224463,MX +1603224464,1603224679,FR +1603224680,1603224687,NL +1603224688,1603224695,GB +1603224696,1603224703,DE +1603224704,1603225607,FR +1603225608,1603225615,GB +1603225616,1603225623,DE +1603225624,1603225631,IT +1603225632,1603225639,US +1603225640,1603225647,CN +1603225648,1603225883,FR +1603225884,1603225887,GB +1603225888,1603226255,FR 1603226256,1603226263,DE 1603226264,1603226271,NL -1603226272,1603227647,FR +1603226272,1603226279,DE +1603226280,1603227647,FR 1603227648,1603231743,AT 1603231744,1603235839,IT 1603235840,1603239935,RU @@ -50278,7 +51430,9 @@ 1604059136,1604075519,MK 1604075520,1604091903,RU 1604091904,1604108287,BA -1604108288,1604111103,DE +1604108288,1604109823,DE +1604109824,1604110079,US +1604110080,1604111103,DE 1604111104,1604112383,ES 1604112384,1604114431,DE 1604114432,1604115455,IR @@ -50435,12 +51589,16 @@ 1605533696,1605566463,HR 1605566464,1605599231,RU 1605599232,1605607423,NL -1605607424,1605610495,DE -1605610496,1605611487,NL +1605607424,1605610527,DE +1605610528,1605611487,NL 1605611488,1605611519,DE 1605611520,1605615615,NL -1605615616,1605618687,GB -1605618688,1605631999,NL +1605615616,1605619167,GB +1605619168,1605619199,NL +1605619200,1605619711,GB +1605619712,1605623807,NL +1605623808,1605627903,GB +1605627904,1605631999,NL 1605632000,1605664767,RS 1605664768,1605697535,MK 1605697536,1605742591,RU @@ -50482,8 +51640,10 @@ 1607573504,1607575551,SE 1607575552,1607577599,GB 1607577600,1607581695,SE -1607581696,1607598079,DK -1607598080,1607599103,GB +1607581696,1607588863,DK +1607588864,1607589887,SE +1607589888,1607598079,DK +1607598080,1607600127,GB 1607600384,1607600639,DE 1607600640,1607600895,AT 1607600896,1607601151,CH @@ -50502,10 +51662,10 @@ 1607607296,1607607551,PL 1607607552,1607608319,IT 1607608320,1607608575,HU -1607608576,1607609343,SK +1607608576,1607608831,SK 1607610368,1607611391,GR 1607611392,1607612415,IE -1607614464,1607618559,GB +1607614464,1607617535,GB 1607618560,1607620607,ES 1607620608,1607621375,IT 1607621632,1607622655,IT @@ -50526,11 +51686,13 @@ 1607632896,1607633407,SN 1607633408,1607633919,TG 1607633920,1607634431,ZM +1607634432,1607634687,GB 1607636480,1607636991,ZA 1607638528,1607639039,GB -1607639040,1607640805,IT +1607639353,1607639353,IT 1607640806,1607640806,CH -1607640807,1607642388,IT +1607641053,1607641053,IT +1607641088,1607642388,IT 1607642389,1607642389,NL 1607642390,1607647231,IT 1607647232,1607651327,DE @@ -50540,11 +51702,7 @@ 1607663616,1607701433,NL 1607701434,1607701434,RS 1607701435,1607729151,NL -1607729152,1607770112,SY -1607770113,1607773183,EG -1607773184,1607773184,SY -1607773185,1607774207,EG -1607774208,1607786495,SY +1607729152,1607786495,SY 1607786496,1607794687,EG 1607794688,1607860223,RU 1607925760,1607926783,RU @@ -50628,8 +51786,15 @@ 1611227136,1611235327,CA 1611235328,1611243519,OM 1611243520,1611247615,MY -1611247616,1611251711,AU -1611251712,1611777023,US +1611247616,1611249663,AU +1611249664,1611251711,HK +1611251712,1611692543,US +1611692544,1611693567,NL +1611693568,1611764735,US +1611764736,1611764991,NL +1611764992,1611765759,US +1611765760,1611766015,NL +1611766016,1611777023,US 1611777024,1611777279,NL 1611777280,1611778047,US 1611778048,1611778559,NL @@ -50727,9 +51892,12 @@ 1654579472,1654579487,CA 1654579488,1654582015,US 1654582016,1654582271,CN -1654582272,1654585343,US -1654585344,1654586367,DE -1654586368,1654595583,US +1654582272,1654584575,US +1654584576,1654585343,JP +1654585344,1654585855,US +1654585856,1654586367,DE +1654586368,1654587391,NL +1654587392,1654595583,US 1654595584,1654596095,CA 1654596096,1654596215,US 1654596216,1654596223,IS @@ -50761,11 +51929,7 @@ 1666731330,1666731330,FR 1666731331,1673527295,US 1673527296,1673560063,CA -1673560064,1673580095,US -1673580096,1673580127,CA -1673580128,1673581599,US -1673581600,1673581615,CA -1673581616,1673986047,US +1673560064,1673986047,US 1673986048,1674051583,CA 1674051584,1674575871,US 1674575872,1677721599,CA @@ -50839,33 +52003,64 @@ 1698136064,1698160639,JP 1698160640,1698162687,CN 1698162688,1698168831,JP -1698168832,1698185215,IN -1698185216,1698193407,IT -1698193408,1698201599,IN -1698201600,1698209791,IT -1698209792,1698226175,IN -1698226176,1698230271,IT -1698230272,1698232319,IN -1698232320,1698234367,IT -1698234368,1698242559,IN -1698242560,1698246655,IT -1698246656,1698247679,IN -1698247680,1698250751,IT -1698250752,1698283519,IN -1698283520,1698297855,IT +1698168832,1698177023,IT +1698177024,1698181119,IN +1698181120,1698197503,IT +1698197504,1698199551,IN +1698199552,1698216948,IT +1698216949,1698216949,IN +1698216950,1698217983,IT +1698217984,1698220031,IN +1698220032,1698297855,IT 1698297856,1698299903,IN 1698299904,1698316287,IT -1698316288,1698324479,IN -1698324480,1698349055,IT -1698349056,1698357247,IN -1698357248,1698383554,IT +1698316288,1698318335,IN +1698318336,1698320383,IT +1698320384,1698322431,IN +1698322432,1698383554,IT 1698383555,1698383555,IN -1698383556,1698422783,IT -1698422784,1698447359,IN -1698447360,1698451455,IT -1698451456,1698578431,IN -1698578432,1698586623,IT -1698586624,1698693119,IN +1698383556,1698433023,IT +1698433024,1698444799,IN +1698444800,1698445311,IT +1698445312,1698447359,IN +1698447360,1698482175,IT +1698482176,1698484223,IN +1698484224,1698494463,IT +1698494464,1698496511,IN +1698496512,1698529279,IT +1698529280,1698535423,IN +1698535424,1698539519,IT +1698539520,1698543615,IN +1698543616,1698547711,IT +1698547712,1698549759,IN +1698549760,1698551807,IT +1698551808,1698553855,IN +1698553856,1698559999,IT +1698560000,1698562047,IN +1698562048,1698576383,IT +1698576384,1698578431,IN +1698578432,1698594815,IT +1698594816,1698596863,IN +1698596864,1698623487,IT +1698623488,1698625535,IN +1698625536,1698633727,IT +1698633728,1698637823,IN +1698637824,1698641919,IT +1698641920,1698646015,IN +1698646016,1698648063,IT +1698648064,1698652159,IN +1698652160,1698654207,IT +1698654208,1698656255,IN +1698656256,1698658303,IT +1698658304,1698660351,IN +1698660352,1698670591,IT +1698670592,1698672639,IN +1698672640,1698678783,IT +1698678784,1698680831,IN +1698680832,1698684927,IT +1698684928,1698686975,IN +1698686976,1698689023,IT +1698689024,1698693119,IN 1698693120,1699611647,CN 1699611648,1699612671,JP 1699612672,1699614719,LA @@ -50917,9 +52112,7 @@ 1701216256,1701249023,JP 1701249024,1701314559,AU 1701314560,1701576703,CN -1701576704,1701669375,TH -1701669376,1701669631,JP -1701669632,1701707775,TH +1701576704,1701707775,TH 1701707776,1701724159,JP 1701724160,1701736447,CN 1701736448,1701737471,NZ @@ -50971,21 +52164,46 @@ 1710972672,1710972927,TW 1710972928,1711210495,CN 1711210496,1711276031,ID +1715863552,1715994623,MW 1715994624,1716518911,MA 1716518912,1717043199,UG 1717043200,1717567487,NG 1717567488,1718091775,MA -1718091776,1718468607,TN -1718468608,1718476799,US -1718476800,1718616063,TN +1718091776,1718616063,TN 1718616064,1719140351,MU 1719140352,1719664639,SD -1719762944,1719795711,ZA +1719681024,1719683071,CD +1719683072,1719684095,NG +1719685120,1719697407,ZA +1719706624,1719707647,SC +1719709696,1719711743,EG +1719730176,1719738367,ZA +1719740416,1719746559,ZA +1719746560,1719754751,CG +1719754752,1719779327,ZA +1719779328,1719787519,US +1719787520,1719791615,ZA +1719791616,1719793663,US +1719793664,1719795711,ZA +1719795712,1719799807,NG +1719799808,1719803903,ZA +1719803904,1719805951,RW +1719805952,1719807999,ZA +1719808000,1719809023,SC +1719809024,1719810047,NG +1719810048,1719811071,BF +1719811072,1719812095,MZ 1719812096,1719814143,AO -1719816192,1719820287,ZA +1719814144,1719820287,ZA +1719821568,1719821823,MW 1719821824,1719822079,KE +1719822080,1719822335,NG 1719822336,1719844863,ZA 1719844864,1719853055,AO +1719853056,1719855103,CI +1719855104,1719856127,ML +1719856128,1719857151,ZA +1719859200,1719861247,SD 1719861248,1719865343,ZA 1719865344,1719865855,GH 1719865856,1719869439,ZA @@ -50993,6 +52211,7 @@ 1719870464,1719871487,NG 1719871488,1719873535,AO 1719873536,1719875583,MU +1719875584,1719876607,TD 1719876608,1719877631,ZA 1719877632,1719926783,NG 1719926784,1719930879,ZA @@ -51003,11 +52222,13 @@ 1720065024,1720066047,GA 1720066048,1720077311,ZA 1720077312,1720078335,MU +1720078336,1720079359,ZA 1720079360,1720080383,BW 1720080384,1720082431,ZA 1720082432,1720086527,BI 1720086528,1720087551,NG 1720087552,1720090879,ZA +1720090880,1720091135,KE 1720091136,1720091647,GH 1720091648,1720092671,ZA 1720092672,1720093695,BW @@ -51018,14 +52239,14 @@ 1720123392,1720127487,TZ 1720127488,1720131583,GH 1720131584,1720135679,NG -1720135680,1720139775,SC +1720135680,1720139775,ZA 1720139776,1720141823,KE 1720141824,1720143871,SC 1720143872,1720147967,KE 1720147968,1720165375,ZA 1720165376,1720166399,GA 1720166400,1720168447,KE -1720168448,1720170495,CG +1720168448,1720170495,CD 1720170496,1720171519,CI 1720171520,1720171775,GH 1720171776,1720172031,CM @@ -51056,6 +52277,7 @@ 1720547328,1720566783,ZA 1720566784,1720567807,SO 1720567808,1720568831,SC +1720568832,1720569855,TN 1720569856,1720570879,ZA 1720570880,1720571903,NG 1720571904,1720572927,GQ @@ -51078,9 +52300,7 @@ 1721607680,1721656575,TN 1721656576,1721656831,MU 1721656832,1721761791,TN -1721761792,1721777151,MU -1721777152,1721778175,FR -1721778176,1722023935,MU +1721761792,1722023935,MU 1722023936,1722032127,ZA 1722032128,1722034175,NG 1722034176,1722035199,ML @@ -51104,7 +52324,11 @@ 1722085376,1722086399,ZA 1722086400,1722087423,TD 1722087424,1722089471,GQ -1722089472,1722114047,ZA +1722089472,1722097663,ZA +1722097664,1722099711,US +1722099712,1722101759,ZA +1722101760,1722103807,US +1722103808,1722114047,ZA 1722114048,1722118143,ML 1722118144,1722119167,ZW 1722119168,1722121215,ZA @@ -51302,8 +52526,13 @@ 1728345088,1728346111,BD 1728346112,1728346367,AU 1728346368,1728346623,NZ -1728346624,1728347135,AU -1728347136,1728348159,SG +1728346624,1728347147,AU +1728347148,1728347148,SG +1728347149,1728347416,AU +1728347417,1728347417,SG +1728347418,1728347421,AU +1728347422,1728347422,SG +1728347423,1728348159,AU 1728348160,1728349183,VN 1728349184,1728350207,AU 1728350208,1728351231,NZ @@ -51399,11 +52628,9 @@ 1728431872,1728432127,SG 1728432128,1728433151,IN 1728433152,1728435199,VN -1728435200,1728435711,AU -1728435712,1728435967,SG +1728435200,1728435967,AU 1728435968,1728436223,ID 1728436224,1728436479,IN -1728436480,1728437247,US 1728437248,1728438271,HK 1728438272,1728439295,NZ 1728439296,1728439807,NP @@ -51688,8 +52915,8 @@ 1728701184,1728701439,ID 1728701440,1728702463,WS 1728702464,1728703487,IN -1728703488,1728703999,NZ -1728704000,1728705535,AU +1728703488,1728704511,NZ +1728704512,1728705535,AU 1728705536,1728706559,HK 1728706560,1728709631,CN 1728709632,1728710655,TW @@ -51809,7 +53036,9 @@ 1728814080,1728815103,JP 1728815104,1728815359,AU 1728815360,1728815871,PG -1728815872,1728817151,AU +1728815872,1728816383,AU +1728816384,1728816639,SG +1728816640,1728817151,AU 1728817152,1728818175,CN 1728818176,1728819199,VN 1728819200,1728819711,ID @@ -51927,12 +53156,12 @@ 1728919552,1728920575,AU 1728920576,1728921599,JP 1728921600,1728922099,AF -1728922100,1728922100,DE -1728922101,1728922102,AF -1728922103,1728922103,DE -1728922104,1728922104,AF -1728922105,1728922105,DE -1728922106,1728922623,AF +1728922100,1728922101,DE +1728922102,1728922103,AF +1728922104,1728922105,DE +1728922106,1728922106,AF +1728922107,1728922107,IT +1728922108,1728922623,AF 1728922624,1728923647,AU 1728923648,1728924159,HK 1728924160,1728924671,MY @@ -51995,7 +53224,7 @@ 1728977152,1728977407,AU 1728977408,1728977919,BD 1728977920,1728978943,MY -1728978944,1728979967,CN +1728978944,1728979967,HK 1728979968,1728980991,MN 1728980992,1728982015,AU 1728982016,1728982527,ID @@ -52438,7 +53667,9 @@ 1729391104,1729391615,ID 1729392640,1729393663,CN 1729393664,1729394687,KR -1729394688,1729395711,TH +1729394688,1729394943,TH +1729394944,1729395199,US +1729395200,1729395711,TH 1729395712,1729395967,NR 1729395968,1729396735,IN 1729396736,1729397759,CN @@ -52473,7 +53704,9 @@ 1729424384,1729425407,HK 1729426432,1729427455,AU 1729427456,1729428479,CN -1729428480,1729430527,AU +1729428480,1729429247,AU +1729429248,1729429503,NZ +1729429504,1729430527,AU 1729431552,1729432575,HK 1729432576,1729433599,PH 1729433600,1729433855,IN @@ -52625,9 +53858,7 @@ 1729606656,1729607679,ID 1729607680,1729609727,AU 1729609728,1729609983,PH -1729609984,1729609999,HK -1729610000,1729610003,JP -1729610004,1729610751,HK +1729609984,1729610751,HK 1729611776,1729612799,ID 1729612800,1729613823,BD 1729613824,1729614847,SG @@ -53361,8 +54592,8 @@ 1730599424,1730599935,VU 1730600960,1730605055,CN 1730605056,1730607103,IN -1730608128,1730608895,CN -1730608896,1730609151,HK +1730608128,1730608639,CN +1730608640,1730609151,HK 1730609152,1730610687,IN 1730610688,1730610943,MY 1730610944,1730611199,SG @@ -53581,9 +54812,7 @@ 1730895360,1730895871,NL 1730895872,1730898943,CN 1730898944,1730899967,MO -1730899968,1730900223,IN -1730900224,1730900479,SG -1730900480,1730900991,IN +1730899968,1730900991,IN 1730900992,1730901503,AU 1730901504,1730901759,DE 1730901760,1730902015,AU @@ -53707,9 +54936,7 @@ 1731119104,1731120127,IN 1731120128,1731121151,JP 1731121152,1731121407,AF -1731121408,1731121649,DE -1731121650,1731121650,AF -1731121651,1731121663,DE +1731121408,1731121663,DE 1731121664,1731122175,AF 1731122176,1731123199,AU 1731123200,1731124223,PF @@ -53751,7 +54978,7 @@ 1731165184,1731166207,IN 1731167232,1731168255,ID 1731168256,1731170303,CN -1731170304,1731170559,AU +1731170304,1731170559,SG 1731170560,1731170687,HK 1731170688,1731170815,MY 1731170816,1731171071,AU @@ -53828,11 +55055,7 @@ 1731249152,1731250175,IN 1731250432,1731250687,AU 1731250688,1731251199,CN -1731251200,1731251711,TH -1731251712,1731251738,SE -1731251739,1731251739,TH -1731251740,1731251967,SE -1731251968,1731252223,TH +1731251200,1731252223,TH 1731252224,1731253247,AU 1731253248,1731253759,IN 1731253760,1731254271,AU @@ -54171,7 +55394,8 @@ 1731653632,1731654655,CN 1731654656,1731655679,IN 1731655680,1731657727,VN -1731657728,1731658751,TH +1731657728,1731658495,TH +1731658496,1731658751,MM 1731658752,1731659775,JP 1731659776,1731660031,HK 1731660032,1731660287,ID @@ -54190,7 +55414,8 @@ 1731669928,1731669928,CC 1731669929,1731670015,AU 1731670016,1731671039,TL -1731671040,1731671551,AU +1731671040,1731671295,AU +1731671296,1731671551,SG 1731671552,1731672063,TH 1731672064,1731672575,ID 1731672576,1731672831,AU @@ -54428,7 +55653,7 @@ 1731987456,1731987711,HK 1731987712,1731987967,ID 1731987968,1731988479,SG -1731988480,1731989503,US +1731988480,1731989503,CA 1731989504,1731990527,VN 1731990528,1731990783,AU 1731990784,1731991039,IN @@ -54480,7 +55705,6 @@ 1732043776,1732044799,CN 1732044800,1732045823,HK 1732045824,1732046847,CN -1732046848,1732047871,AU 1732047872,1732048895,IN 1732048896,1732049919,HK 1732049920,1732050943,PH @@ -54700,9 +55924,9 @@ 1732424752,1732424755,CN 1732424756,1732424767,HK 1732424768,1732424831,CN -1732424832,1732424955,HK -1732424956,1732424957,CN -1732424958,1732425727,HK +1732424832,1732424915,HK +1732424916,1732424917,CN +1732424918,1732425727,HK 1732425728,1732426751,KH 1732426752,1732428799,KR 1732428800,1732429823,ID @@ -54886,9 +56110,7 @@ 1732655616,1732655871,IN 1732655872,1732656127,HK 1732656128,1732657151,IN -1732657152,1732657663,SG -1732657664,1732657919,PG -1732657920,1732658175,SG +1732657152,1732658175,SG 1732658176,1732658431,ID 1732658432,1732658687,IN 1732658688,1732660223,AU @@ -54899,7 +56121,8 @@ 1732662272,1732663295,PK 1732663296,1732663807,NZ 1732663808,1732675583,IN -1732675584,1732676095,PK +1732675584,1732675839,PK +1732675840,1732676095,US 1732676096,1732676351,NZ 1732676352,1732676607,IN 1732676608,1732677631,BD @@ -55006,7 +56229,7 @@ 1732800000,1732800511,ID 1732800512,1732806655,CN 1732806656,1732808703,IN -1732808704,1732809727,CN +1732808704,1732809727,HK 1732809728,1732809983,US 1732809984,1732810751,CN 1732810752,1732811775,HK @@ -55066,7 +56289,8 @@ 1732882432,1732883455,CN 1732883456,1732884479,IN 1732885504,1732886527,IN -1732887040,1732887551,HK +1732887040,1732887295,HK +1732887296,1732887551,US 1732887552,1732888575,BD 1732888576,1732889599,AU 1732889600,1732891647,CN @@ -55140,8 +56364,7 @@ 1732966400,1732967423,HK 1732967424,1732968447,TH 1732968448,1732969471,HK -1732969472,1732970495,AU -1732970496,1732971519,IN +1732969472,1732971519,AU 1732971520,1732972543,HK 1732972544,1732973567,CN 1732973568,1732974079,VU @@ -55219,7 +56442,8 @@ 1733057024,1733057279,AU 1733057536,1733058559,CN 1733058560,1733060607,IN -1733060608,1733061631,US +1733060608,1733061119,KR +1733061120,1733061631,SG 1733062656,1733063679,HK 1733063680,1733064703,TH 1733065728,1733065983,SG @@ -55439,7 +56663,7 @@ 1733288960,1733289471,IN 1733289472,1733289727,NZ 1733289728,1733289983,AU -1733289984,1733291519,IN +1733289984,1733292031,IN 1733292032,1733293055,CN 1733293056,1733296127,IN 1733296128,1733297151,BD @@ -55697,7 +56921,8 @@ 1733544960,1733545983,BD 1733545984,1733546495,AU 1733546496,1733550079,IN -1733550080,1733551103,PH +1733550080,1733550335,IT +1733550336,1733551103,PH 1733551104,1733551615,NP 1733551616,1733551871,AU 1733551872,1733552127,HK @@ -55990,8 +57215,7 @@ 1733867008,1733867263,IN 1733867264,1733867519,AU 1733867520,1733869567,CN -1733869568,1733870079,AF -1733870080,1733870591,PT +1733869568,1733870591,AF 1733870592,1733874687,ID 1733874688,1733875711,CN 1733875712,1733879039,IN @@ -56613,11 +57837,13 @@ 1734554624,1734557695,CN 1734557696,1734558719,AU 1734558720,1734559743,IN -1734559744,1734560767,HK +1734559744,1734560255,HK +1734560256,1734560767,TW 1734560768,1734561791,CN 1734561792,1734562815,JP 1734562816,1734563327,ID -1734563328,1734563839,AU +1734563328,1734563583,KR +1734563584,1734563839,VN 1734563840,1734564863,TW 1734564864,1734565887,IN 1734565888,1734566911,SG @@ -56787,7 +58013,9 @@ 1734722048,1734722559,ID 1734722560,1734723583,BD 1734723584,1734724607,SG -1734724608,1734725631,HK +1734724608,1734725119,KR +1734725120,1734725375,JP +1734725376,1734725631,SG 1734725632,1734726655,KH 1734726656,1734727167,IN 1734727168,1734727423,AU @@ -56812,7 +58040,9 @@ 1734738432,1734738687,IN 1734738688,1734738943,JP 1734738944,1734739199,RU -1734739200,1734739967,HK +1734739200,1734739455,HK +1734739456,1734739711,JP +1734739712,1734739967,HK 1734739968,1734740991,AU 1734740992,1734742015,ID 1734742016,1734743039,US @@ -56830,8 +58060,7 @@ 1734749184,1734749439,HK 1734749440,1734749695,GI 1734749696,1734749951,SG -1734749952,1734750207,GI -1734750208,1734750719,HK +1734749952,1734750719,HK 1734750720,1734751487,NZ 1734751488,1734751743,AU 1734752256,1734753279,IN @@ -56869,7 +58098,8 @@ 1734790144,1734791167,BD 1734791168,1734793215,CN 1734793216,1734794239,BD -1734794240,1734794751,AF +1734794240,1734794495,AF +1734794496,1734794751,DE 1734794752,1734797823,AU 1734797824,1734798079,IN 1734798080,1734798335,SG @@ -57066,8 +58296,7 @@ 1734965248,1734966271,HK 1734966272,1734967295,IN 1734967296,1734968319,ID -1734968320,1734969087,CN -1734969088,1734969343,JP +1734968320,1734969343,CN 1734969344,1734969855,IN 1734969856,1734970111,MY 1734970112,1734970367,AU @@ -57296,7 +58525,9 @@ 1735182848,1735183359,AU 1735183360,1735184383,IN 1735184384,1735186431,CN -1735186432,1735186943,HK +1735186432,1735186687,HK +1735186688,1735186942,CN +1735186943,1735186943,HK 1735186944,1735187455,KH 1735187456,1735187711,IN 1735187712,1735187967,BD @@ -57800,9 +59031,7 @@ 1735670784,1735671807,IN 1735671808,1735672831,CN 1735672832,1735673855,TW -1735673856,1735674111,CN -1735674112,1735674879,HK -1735674880,1735675903,CN +1735673856,1735675903,CN 1735675904,1735677951,IN 1735677952,1735678975,BD 1735678976,1735679999,CN @@ -57839,7 +59068,8 @@ 1735705600,1735706623,IN 1735706624,1735708159,ID 1735708160,1735708671,CN -1735708672,1735709183,NZ +1735708672,1735708927,AU +1735708928,1735709183,NZ 1735709184,1735709439,ID 1735709440,1735709695,AU 1735709696,1735710719,HK @@ -57982,7 +59212,7 @@ 1735855104,1735857151,CN 1735857152,1735858175,BD 1735858176,1735859199,AF -1735859200,1735860223,CN +1735859200,1735860223,JP 1735860224,1735860735,AU 1735860736,1735860991,MY 1735860992,1735861247,IN @@ -58276,7 +59506,7 @@ 1736133376,1736133631,PK 1736133632,1736134655,IN 1736134656,1736135679,ID -1736135680,1736135935,NP +1736135680,1736135935,US 1736135936,1736136703,IN 1736136704,1736138751,CN 1736138752,1736139775,ID @@ -58316,6 +59546,168 @@ 1736175616,1736176639,TW 1736176640,1736178687,ID 1736178688,1736179711,TW +1736179712,1736180735,JP +1736180736,1736182015,ID +1736182016,1736183807,IN +1736183808,1736184831,JP +1736184832,1736185855,TW +1736185856,1736186879,CN +1736186880,1736187903,TW +1736187904,1736188927,BD +1736188928,1736189439,AU +1736189440,1736189951,IN +1736189952,1736190975,TW +1736190976,1736191999,ID +1736192000,1736193023,CN +1736193024,1736194047,BD +1736194048,1736196095,VN +1736196096,1736197119,CN +1736197120,1736198143,ID +1736198144,1736200191,TW +1736200192,1736202239,IN +1736202240,1736203263,ID +1736203264,1736204287,VN +1736204288,1736205311,NP +1736205312,1736206335,KR +1736206336,1736207103,IN +1736207104,1736207359,US +1736207360,1736207871,IN +1736207872,1736208383,BD +1736208384,1736210431,ID +1736210432,1736211455,TW +1736211456,1736211711,US +1736211712,1736211967,AU +1736211968,1736213503,US +1736213504,1736214527,NZ +1736214528,1736215551,ID +1736215552,1736216575,IN +1736216576,1736217599,ID +1736217600,1736218623,TW +1736218624,1736219391,IN +1736219392,1736219647,HK +1736219648,1736220159,IN +1736220160,1736220671,MM +1736220672,1736221695,ID +1736221696,1736224767,IN +1736224768,1736225791,TW +1736225792,1736226815,BD +1736226816,1736227327,IN +1736227328,1736227583,GB +1736227584,1736227839,TO +1736227840,1736228863,ID +1736228864,1736229887,HK +1736229888,1736230911,ID +1736230912,1736231935,JP +1736231936,1736232959,IN +1736232960,1736233983,TW +1736233984,1736236031,CN +1736236032,1736237055,ID +1736237056,1736238079,BD +1736238080,1736239103,ID +1736239104,1736241151,BD +1736241152,1736242175,IN +1736242176,1736243199,ID +1736243200,1736244223,BD +1736244224,1736246271,TW +1736246272,1736250367,ID +1736250368,1736251391,CN +1736251392,1736251647,BD +1736251648,1736252415,NP +1736252416,1736253439,BD +1736253440,1736254463,SG +1736254464,1736256511,ID +1736256512,1736257535,CN +1736257536,1736258815,ID +1736258816,1736259071,IN +1736259072,1736259583,BD +1736259584,1736260607,ID +1736260608,1736260863,PK +1736260864,1736261631,IN +1736261632,1736262655,TW +1736262656,1736263679,PK +1736263680,1736266239,IN +1736266240,1736266495,TH +1736266496,1736266751,SG +1736266752,1736267775,MY +1736267776,1736268799,BD +1736268800,1736269823,TH +1736269824,1736270847,BD +1736270848,1736271871,AF +1736271872,1736272895,ID +1736272896,1736273919,KR +1736273920,1736274687,IN +1736274688,1736274943,HK +1736274944,1736275967,ID +1736275968,1736276991,BD +1736276992,1736278015,JP +1736278016,1736279039,IN +1736279040,1736280063,CN +1736280064,1736281087,BD +1736281088,1736282623,PK +1736282624,1736283135,US +1736283136,1736284159,PH +1736284160,1736284671,AU +1736284672,1736285183,IN +1736285184,1736286207,TW +1736286208,1736287231,IN +1736287232,1736288255,CN +1736288256,1736289279,VN +1736289280,1736290303,ID +1736290304,1736291327,PK +1736291328,1736292351,TW +1736292352,1736292863,ID +1736292864,1736293119,AF +1736293120,1736293375,AU +1736293376,1736295423,VN +1736295424,1736296447,CN +1736296448,1736296959,IN +1736296960,1736297471,ID +1736297472,1736298495,AU +1736298496,1736300543,ID +1736300544,1736301567,NL +1736301568,1736302079,NZ +1736302080,1736302335,AU +1736302336,1736302591,ID +1736302592,1736304639,TW +1736304640,1736305663,VU +1736305664,1736306687,CN +1736306688,1736307711,PK +1736307712,1736308735,AU +1736308736,1736309759,CN +1736309760,1736310783,BD +1736310784,1736311807,CN +1736311808,1736312319,AF +1736312320,1736312831,IN +1736312832,1736313855,ID +1736313856,1736314879,BD +1736314880,1736315903,CN +1736315904,1736316927,BD +1736316928,1736317183,HK +1736317184,1736317951,AU +1736317952,1736318975,ID +1736318976,1736319999,IN +1736320000,1736321023,BD +1736321024,1736322047,IN +1736322048,1736323071,CN +1736323072,1736324095,BD +1736324096,1736325119,AU +1736325120,1736326143,ID +1736326144,1736326655,BD +1736326656,1736327167,IN +1736327168,1736328191,KR +1736328192,1736330239,IN +1736330240,1736331263,BD +1736331264,1736331775,AU +1736331776,1736332031,SG +1736332032,1736333311,ID +1736333312,1736334335,TW +1736334336,1736335359,HK +1736335360,1736336383,BD +1736336384,1736337407,CN +1736337408,1736338431,MN +1736338432,1736340479,BD +1736340480,1736341759,ID +1736342528,1736344575,CN 1736507392,1736508415,IN 1736508416,1736509439,ID 1736509440,1736510719,IN @@ -58389,11 +59781,123 @@ 1736589312,1736590335,IN 1736590336,1736590847,NZ 1736590848,1736591359,IN +1736591360,1736592383,BD 1736592384,1736593407,NZ 1736593408,1736595455,TW 1736595456,1736596479,IN 1736596480,1736599551,TW -1736599552,1736601599,IN +1736599552,1736601343,IN +1736601344,1736601599,AU +1736601600,1736602623,BD +1736602624,1736605695,TW +1736605696,1736606719,ID +1736606720,1736607743,CN +1736607744,1736608767,ID +1736608768,1736609791,KH +1736609792,1736610815,TR +1736610816,1736611839,MY +1736611840,1736612095,CN +1736612096,1736612351,MY +1736612352,1736612863,AU +1736612864,1736613887,PK +1736613888,1736614911,CN +1736614912,1736615935,ID +1736615936,1736617983,BD +1736617984,1736619007,PK +1736619008,1736619519,TH +1736619520,1736621055,ID +1736621056,1736622079,IN +1736622080,1736623103,ID +1736623104,1736623615,BD +1736623616,1736624127,ID +1736624128,1736624383,HK +1736624384,1736624639,IN +1736624640,1736625151,SG +1736625152,1736625663,IN +1736625664,1736625919,ID +1736625920,1736626175,NP +1736626176,1736630271,VN +1736630272,1736631295,ID +1736631296,1736632319,CN +1736632320,1736633343,JP +1736633344,1736634367,PK +1736634368,1736635391,ID +1736635392,1736635903,AU +1736635904,1736636415,IN +1736636416,1736638463,TW +1736638464,1736640511,ID +1736640512,1736641535,PK +1736641536,1736642559,AU +1736642560,1736643583,ID +1736643584,1736644607,CN +1736644608,1736645631,IN +1736645632,1736645887,AU +1736645888,1736646143,ID +1736646144,1736646655,NZ +1736646656,1736647167,SG +1736647168,1736647423,HK +1736647424,1736647679,TH +1736647680,1736648703,CN +1736648704,1736649727,AU +1736649728,1736650751,HK +1736650752,1736651263,GB +1736651264,1736651775,ID +1736651776,1736652799,NZ +1736652800,1736653823,TW +1736653824,1736654079,IN +1736654080,1736654335,ID +1736654336,1736654847,WS +1736654848,1736655871,TH +1736655872,1736658943,VN +1736658944,1736659455,BD +1736659456,1736659711,US +1736659712,1736659967,AU +1736659968,1736660991,TW +1736660992,1736662015,BD +1736662016,1736662527,IN +1736662528,1736662783,ID +1736662784,1736663039,PH +1736663040,1736664063,ID +1736664064,1736665087,IN +1736665088,1736665599,ID +1736665600,1736665855,NZ +1736665856,1736667135,ID +1736667136,1736668159,TW +1736668160,1736669183,ID +1736669184,1736670207,JP +1736670208,1736674303,TW +1736674304,1736675327,MY +1736675328,1736676351,BD +1736676352,1736677375,TW +1736677376,1736678399,CN +1736678400,1736679423,BD +1736679424,1736680191,AU +1736680192,1736680447,SG +1736680448,1736681471,KR +1736681472,1736682495,CN +1736682496,1736683519,TW +1736683520,1736684543,CN +1736684544,1736685055,BD +1736685056,1736686591,IN +1736686592,1736687615,SG +1736687616,1736687871,PH +1736687872,1736688127,NZ +1736688128,1736688639,JP +1736688640,1736689663,TW +1736689664,1736690687,TH +1736690688,1736691711,HK +1736691712,1736692735,AU +1736692736,1736693759,PK +1736693760,1736694783,ID +1736694784,1736695039,AU +1736695040,1736695295,PH +1736695296,1736695807,AU +1736695808,1736697855,CN +1736697856,1736698879,AU +1736698880,1736699903,ID +1736699904,1736700927,CN +1736700928,1736701951,ID +1736701952,1736703999,TW 1740636160,1740644351,CN 1740644352,1740645375,IN 1740645376,1740647423,HK @@ -58417,7 +59921,9 @@ 1740678144,1740679167,CN 1740679168,1740680447,IN 1740680448,1740680703,AU -1740680960,1740681215,AU +1740680960,1740681127,AU +1740681128,1740681135,NZ +1740681136,1740681215,AU 1740681216,1740681983,HK 1740681984,1740682239,AU 1740682240,1740683263,KH @@ -58499,9 +60005,7 @@ 1740786688,1740787711,SG 1740787712,1740788735,MY 1740788736,1740789759,KH -1740789760,1740790015,AU -1740790016,1740790271,IN -1740790272,1740790783,AU +1740789760,1740790783,IN 1740790784,1740791807,PK 1740791808,1740792831,IN 1740792832,1740794879,HK @@ -58819,7 +60323,9 @@ 1741186048,1741188607,IN 1741188608,1741188863,US 1741188864,1741189119,IN -1741189120,1741191167,HK +1741189120,1741189887,HK +1741189888,1741190143,JP +1741190144,1741191167,HK 1741191168,1741192191,VN 1741192192,1741193215,HK 1741193216,1741194239,ID @@ -58991,7 +60497,7 @@ 1741532160,1741533183,IN 1741533184,1741534207,PK 1741534208,1741535231,BD -1741535232,1741535487,JP +1741535232,1741535487,HK 1741535744,1741536255,SG 1741536256,1741540351,CN 1741540352,1741541375,AU @@ -59133,9 +60639,9 @@ 1741724416,1741724671,AU 1741724672,1741725695,IN 1741725696,1741726719,ID -1741726720,1741726975,NZ +1741726720,1741726975,AU 1741726976,1741727231,US -1741727232,1741727743,NZ +1741727232,1741727743,AU 1741727744,1741729791,IN 1741729792,1741730815,SG 1741730816,1741731839,BD @@ -59231,9 +60737,11 @@ 1741816832,1741817855,PK 1741817856,1741818367,PH 1741818368,1741818879,AU -1741818880,1741819903,PK +1741818880,1741819391,BR +1741819392,1741819647,LA +1741819648,1741819903,KH 1741819904,1741820927,BD -1741820928,1741821951,CN +1741820928,1741821951,HK 1741821952,1741822975,AU 1741822976,1741824511,IN 1741824512,1741825023,ID @@ -59439,15 +60947,15 @@ 1742080000,1742081023,VN 1742081024,1742082047,PH 1742082048,1742083071,HK -1742083072,1742083327,AU -1742083328,1742084095,IN +1742083072,1742084095,AU 1742084096,1742085119,KR 1742085120,1742086143,AU 1742086144,1742087167,CN 1742087168,1742088191,JP 1742088448,1742088703,HK 1742088704,1742089215,AU -1742089216,1742089727,IN +1742089216,1742089471,GB +1742089472,1742089727,IN 1742089728,1742090239,GB 1742090240,1742091263,CN 1742091264,1742092287,ID @@ -59485,7 +60993,7 @@ 1742121984,1742123007,HK 1742123008,1742123263,AU 1742123264,1742124031,IN -1742124032,1742125055,SG +1742124032,1742125055,NL 1742125056,1742126079,ID 1742126080,1742127103,IN 1742127104,1742128127,HK @@ -59569,7 +61077,6 @@ 1742231552,1742233599,IN 1742233600,1742234111,TH 1742234112,1742234367,IN -1742234368,1742234623,US 1742234624,1742235647,HK 1742235648,1742236671,PK 1742236672,1742237695,CN @@ -59581,13 +61088,16 @@ 1742244864,1742247935,IN 1742247936,1742248959,CN 1742248960,1742249983,IN -1742249984,1742250239,AF +1742249984,1742250145,DE +1742250146,1742250146,IT +1742250147,1742250239,DE 1742250240,1742257151,IN 1742257152,1742257407,ID 1742257408,1742257663,NZ 1742257664,1742258175,AU 1742258176,1742259199,US -1742259200,1742260223,AU +1742259200,1742259455,HK +1742259456,1742260223,AU 1742260224,1742260735,IN 1742260736,1742261247,KR 1742261248,1742264319,IN @@ -59662,8 +61172,7 @@ 1742423040,1742424063,PH 1742424064,1742425343,ID 1742425344,1742425599,US -1742425600,1742425855,CA -1742425856,1742426111,US +1742425600,1742426111,CA 1742426112,1742427135,HK 1742427136,1742432255,CN 1742432256,1742433279,HK @@ -59743,10 +61252,9 @@ 1742559232,1742589951,CN 1742589952,1742590975,IN 1742590976,1742596095,VN -1742596096,1742596351,NZ +1742596096,1742596351,JP 1742596352,1742596607,IN -1742596608,1742596863,NZ -1742596864,1742597119,IN +1742596608,1742597119,JP 1742598144,1742599167,SG 1742599168,1742599423,IN 1742599424,1742599679,AU @@ -59849,7 +61357,8 @@ 1742817280,1742818815,IN 1742818816,1742819327,KH 1742819328,1742820351,JP -1742820352,1742821375,CN +1742820352,1742820607,HK +1742820608,1742821375,CN 1742821376,1742822399,ID 1742822400,1742823423,BD 1742823424,1742823679,AU @@ -59963,8 +61472,8 @@ 1742935040,1742938111,AU 1742938112,1742939135,TW 1742939136,1742940159,IN -1742940160,1742940671,JP -1742940672,1742942207,PH +1742940160,1742941183,JP +1742941184,1742942207,PH 1742942208,1742943231,CN 1742943232,1742945279,IN 1742945280,1742945791,AU @@ -59972,9 +61481,8 @@ 1742946048,1742947327,AU 1742947328,1742948351,IN 1742948352,1742951423,CN -1742951424,1742952703,HK -1742952704,1742952959,SG -1742952960,1742953471,HK +1742951424,1742952447,HK +1742952448,1742953471,SG 1742954496,1742955519,IN 1742955520,1742956543,CN 1742956544,1742957567,HK @@ -60043,7 +61551,8 @@ 1743021312,1743021567,NZ 1743021568,1743021823,PH 1743022080,1743023103,US -1743023104,1743024127,HK +1743023104,1743023615,HK +1743023616,1743024127,KR 1743024128,1743025151,IN 1743025152,1743026175,ID 1743026176,1743027199,BD @@ -60187,8 +61696,8 @@ 1743158272,1743159295,MY 1743160320,1743161343,TH 1743161344,1743162367,HK -1743162368,1743162623,AU -1743162624,1743162879,BZ +1743162368,1743162623,BZ +1743162624,1743162879,AQ 1743162880,1743163135,KR 1743163136,1743163391,BZ 1743163392,1743166463,IN @@ -60390,7 +61899,9 @@ 1743364096,1743364607,IN 1743365120,1743366143,HK 1743366144,1743367167,IN -1743367168,1743368191,SG +1743367168,1743367679,SG +1743367680,1743367935,ID +1743367936,1743368191,SG 1743369216,1743369727,MY 1743369728,1743369983,NP 1743369984,1743370239,AF @@ -60411,7 +61922,8 @@ 1743384576,1743385087,SG 1743385088,1743385343,AU 1743385344,1743386623,IN -1743386624,1743388671,HK +1743386624,1743388159,HK +1743388160,1743388671,SG 1743388672,1743389695,CN 1743389696,1743390719,KR 1743390720,1743391743,HK @@ -60591,8 +62103,7 @@ 1743619840,1743620095,IN 1743620096,1743621119,AU 1743621120,1743621631,ID -1743621632,1743621887,FR -1743621888,1743622143,SG +1743621632,1743622143,SG 1743622144,1743624191,VN 1743624192,1743625215,CN 1743625216,1743626239,IN @@ -60779,7 +62290,7 @@ 1743873024,1743874047,AU 1743874048,1743874303,JP 1743874304,1743875071,SG -1743875072,1743876095,HK +1743875072,1743876095,KZ 1743876096,1743877119,IN 1743877120,1743878143,KR 1743878144,1743879167,NZ @@ -60885,7 +62396,9 @@ 1743985664,1743990783,IN 1743990784,1743991807,ID 1743991808,1743994879,IN -1743994880,1743995903,AU +1743994880,1743995583,AU +1743995584,1743995647,MU +1743995648,1743995903,AU 1743995904,1743997951,IN 1743997952,1743999999,BD 1744000000,1744001023,AU @@ -60962,10 +62475,11 @@ 1744077824,1744078847,PK 1744078848,1744079871,VN 1744079872,1744080895,BD -1744080896,1744080961,DE -1744080962,1744080962,AF -1744080963,1744081151,DE -1744081152,1744081919,AF +1744080896,1744080988,AF +1744080989,1744080989,DE +1744080990,1744081219,AF +1744081220,1744081220,IT +1744081221,1744081919,AF 1744081920,1744082943,HK 1744082944,1744083711,US 1744083712,1744083967,IN @@ -61031,7 +62545,6 @@ 1744147200,1744147455,IN 1744147456,1744148479,VN 1744148480,1744149503,AU -1744149504,1744150527,IN 1744150528,1744151551,TO 1744151552,1744152319,LA 1744152320,1744152575,TH @@ -61167,7 +62680,9 @@ 1744275456,1744278527,HK 1744278528,1744279551,IN 1744279552,1744280575,NZ -1744280576,1744283647,HK +1744280576,1744282367,HK +1744282368,1744282623,AU +1744282624,1744283647,HK 1744283648,1744286719,CN 1744286720,1744286975,SG 1744286976,1744287231,JP @@ -61314,8 +62829,7 @@ 1744434176,1744435199,CN 1744435200,1744436223,IN 1744436224,1744437247,CN -1744437248,1744438015,KI -1744438016,1744438271,AU +1744437248,1744438271,KI 1744438272,1744439295,HK 1744439296,1744439807,AU 1744439808,1744440319,IN @@ -61696,9 +63210,7 @@ 1747235840,1747236863,CA 1747236864,1747247615,US 1747247616,1747247871,JM -1747247872,1747248127,US -1747248128,1747249151,NL -1747249152,1747255807,US +1747247872,1747255807,US 1747255808,1747256063,PR 1747256064,1747256319,US 1747256320,1747256575,IE @@ -61888,12 +63400,9 @@ 1747852288,1747853311,AU 1747853312,1747861503,NL 1747861504,1747869695,IE -1747869696,1747877887,US -1747877888,1747886079,SG -1747886080,1747894271,HK -1747894272,1747898367,US +1747869696,1747898367,US 1747898368,1747906559,JP -1747906560,1747910655,AU +1747906560,1747910655,US 1747910656,1747910911,FI 1747910912,1747911167,AT 1747911168,1747911423,IE @@ -61943,21 +63452,17 @@ 1749028864,1749037055,NL 1749037056,1749061631,US 1749061632,1749065727,NL -1749065728,1749094399,US -1749094400,1749098495,NL -1749098496,1749172223,US +1749065728,1749172223,US 1749172224,1749188607,NL 1749188608,1749196799,US 1749196800,1749204991,NL -1749204992,1749221375,US -1749221376,1749229567,NL +1749204992,1749225471,US +1749225472,1749229567,NL 1749229568,1749327871,US 1749327872,1749336063,NL 1749336064,1749340159,US 1749340160,1749344255,NL -1749344256,1749364735,US -1749364736,1749368831,NL -1749368832,1749372927,US +1749344256,1749372927,US 1749372928,1749381119,NL 1749381120,1749397503,US 1749397504,1749406719,NL @@ -62014,8 +63519,8 @@ 1749818368,1749819391,US 1749819392,1749827583,NL 1749827584,1749862399,US -1749862400,1749863167,NL -1749863168,1749863679,US +1749862400,1749862911,NL +1749862912,1749863679,US 1749863680,1749864191,NL 1749864192,1749864703,US 1749864704,1749865215,NL @@ -62027,9 +63532,7 @@ 1749867776,1749868031,NL 1749868032,1749931007,US 1749931008,1749932031,NL -1749932032,1749934079,US -1749934080,1749942271,NL -1749942272,1749983231,US +1749932032,1749983231,US 1749983232,1749987327,NL 1749987328,1750079999,US 1750080000,1750080511,NL @@ -62071,15 +63574,15 @@ 1750372352,1750373375,NL 1750373376,1750374399,US 1750374400,1750374911,NL -1750374912,1750376447,US -1750376448,1750392831,NL -1750392832,1750405119,US +1750374912,1750384639,US +1750384640,1750388735,NL +1750388736,1750405119,US 1750405120,1750413311,NL 1750413312,1750413823,US 1750413824,1750415359,NL 1750415360,1750417407,US -1750417408,1750425599,NL -1750425600,1750443519,US +1750417408,1750421503,NL +1750421504,1750443519,US 1750443520,1750444031,NL 1750444032,1750446079,US 1750446080,1750450175,NL @@ -62089,8 +63592,8 @@ 1750494720,1750503423,NL 1750503424,1750523903,US 1750523904,1750533119,NL -1750533120,1750536191,US -1750536192,1750544383,NL +1750533120,1750540287,US +1750540288,1750544383,NL 1750544384,1750573055,US 1750573056,1750581247,NL 1750581248,1750585343,US @@ -62099,14 +63602,16 @@ 1750664192,1750665215,NL 1750665216,1750667263,US 1750667264,1750675455,NL -1750675456,1750694911,US +1750675456,1750679551,US +1750679552,1750687743,NL +1750687744,1750694911,US 1750694912,1750695423,NL -1750695424,1750706175,US -1750706176,1750706687,NL +1750695424,1750705151,US +1750705152,1750706687,NL 1750706688,1750708223,US 1750708224,1750716415,NL -1750716416,1750755327,US -1750755328,1750757375,NL +1750716416,1750754815,US +1750754816,1750757375,NL 1750757376,1750761471,US 1750761472,1750778367,NL 1750778368,1750781439,US @@ -62134,7 +63639,9 @@ 1751040512,1751104511,US 1751104512,1751105023,NL 1751105024,1751121919,US -1751121920,1751124479,NL +1751121920,1751122431,NL +1751122432,1751122943,US +1751122944,1751124479,NL 1751124480,1751125503,US 1751125504,1751134207,NL 1751134208,1751144959,US @@ -62158,11 +63665,12 @@ 1751510016,1751521279,NL 1751521280,1751523327,US 1751523328,1751531519,NL -1751531520,1751597055,US -1751597056,1751599103,GB -1751599104,1751638015,NL -1751638016,1751646207,GB -1751646208,1751650303,NL +1751531520,1751598847,US +1751598848,1751640319,NL +1751640320,1751641087,US +1751641088,1751641599,NL +1751641600,1751642111,US +1751642112,1751650303,NL 1751650304,1751682047,US 1751682048,1751683071,NL 1751683072,1751691263,US @@ -62179,8 +63687,11 @@ 1751875584,1751883775,NL 1751883776,1751884799,US 1751884800,1751885823,NL -1751885824,1751891967,US -1751891968,1751900159,DE +1751885824,1751896575,US +1751896576,1751896831,NL +1751896832,1751897087,US +1751897088,1751899135,NL +1751899136,1751900159,US 1751900160,1751912447,NL 1751912448,1751916543,US 1751916544,1751928831,NL @@ -62207,9 +63718,7 @@ 1752330240,1752338431,NL 1752338432,1752344831,US 1752344832,1752345087,NL -1752345088,1752458239,US -1752458240,1752458495,NL -1752458496,1752495103,US +1752345088,1752495103,US 1752495104,1752495359,NL 1752495360,1752568575,US 1752568576,1752568831,NL @@ -62217,11 +63726,11 @@ 1752618496,1752619007,NL 1752619008,1752619263,US 1752619264,1752619519,NL -1752619520,1752674303,US +1752619520,1752637951,US +1752637952,1752638463,NL +1752638464,1752674303,US 1752674304,1752675327,AE -1752675328,1752675839,US -1752675840,1752676351,NL -1752676352,1752730111,US +1752675328,1752730111,US 1752730112,1752730367,NL 1752730368,1752750079,US 1752750080,1752751615,NL @@ -62320,80 +63829,150 @@ 1753483264,1753483519,IE 1753483520,1753483775,IL 1753483776,1753484031,PH -1753484032,1753484607,US -1753484608,1753484655,BR -1753484656,1753485567,US -1753485568,1753485823,GH -1753485824,1753487359,US +1753484032,1753484543,US +1753484544,1753484799,BR +1753484800,1753485567,US +1753485568,1753485823,PL +1753485824,1753486079,DE +1753486080,1753486335,US +1753486336,1753486591,IN +1753486592,1753486847,IE +1753486848,1753487359,US 1753487360,1753487615,CH 1753487616,1753487871,GB -1753487872,1753489407,US -1753489408,1753489663,GB +1753487872,1753488127,NG +1753488128,1753488383,SE +1753488384,1753488639,GB +1753488640,1753489151,US +1753489152,1753489407,PL +1753489408,1753489663,AE 1753489664,1753489919,HK 1753489920,1753490175,US 1753490176,1753490431,AU 1753490432,1753490687,IL -1753490688,1753491455,US -1753491456,1753492479,NL -1753492480,1753493503,GB -1753493504,1753494015,US +1753490688,1753490943,US +1753490944,1753491199,KE +1753491200,1753491455,KR +1753491456,1753491711,NL +1753491712,1753491967,US +1753491968,1753492223,TW +1753492224,1753492479,UA +1753492480,1753492991,GB +1753492992,1753493503,US +1753493504,1753493759,MY +1753493760,1753494015,US 1753494016,1753494271,NL 1753494272,1753494527,US 1753494528,1753494783,IL -1753494784,1753496575,US -1753496576,1753497407,CA +1753494784,1753495039,US +1753495040,1753495295,RU +1753495296,1753495551,GB +1753495552,1753495807,US +1753495808,1753496063,AR +1753496064,1753496319,IN +1753496320,1753496831,US +1753496832,1753497087,DE +1753497088,1753497343,CA +1753497344,1753497407,US 1753497408,1753497455,PH -1753497456,1753497599,CA -1753497600,1753499391,US +1753497456,1753497599,US +1753497600,1753497855,RU +1753497856,1753498623,US +1753498624,1753499135,BR +1753499136,1753499391,US 1753499392,1753499647,PH 1753499648,1753499903,AE 1753499904,1753500159,US 1753500160,1753500415,SK -1753500416,1753500991,US -1753500992,1753501039,CA -1753501040,1753501951,US +1753500416,1753500927,US +1753500928,1753501183,CA +1753501184,1753501951,US 1753501952,1753502207,PT 1753502208,1753502975,US 1753502976,1753503231,AU -1753503232,1753503551,US +1753503232,1753503487,FR +1753503488,1753503551,US 1753503552,1753503599,PE -1753503600,1753507391,US -1753507392,1753507439,KR -1753507440,1753510911,US -1753510912,1753511423,FR +1753503600,1753505535,US +1753505536,1753505791,CH +1753505792,1753507327,US +1753507328,1753507583,KR +1753507584,1753510655,US +1753510656,1753510911,MY +1753510912,1753511167,GB +1753511168,1753511423,FR 1753511424,1753511679,US 1753511680,1753511935,BR 1753511936,1753512703,US 1753512704,1753512959,SG 1753512960,1753513983,US -1753513984,1753516031,AU +1753513984,1753514239,MY +1753514240,1753514495,JP +1753514496,1753514751,CA +1753514752,1753515007,US +1753515008,1753515263,BE +1753515264,1753515775,AU +1753515776,1753516031,TH 1753516032,1753516543,US 1753516544,1753516799,ES 1753516800,1753517567,US 1753517568,1753517823,NO -1753517824,1753518591,US +1753517824,1753518079,US +1753518080,1753518335,IT +1753518336,1753518591,US 1753518592,1753518847,JP -1753518848,1753520127,US -1753520128,1753520639,GB -1753520640,1753522431,US +1753518848,1753519615,US +1753519616,1753519871,TW +1753519872,1753520127,DE +1753520128,1753520383,KR +1753520384,1753520639,GB +1753520640,1753521919,US +1753521920,1753522175,IN +1753522176,1753522431,CO 1753522432,1753522687,FR -1753522688,1753523807,US +1753522688,1753522943,PL +1753522944,1753523807,US 1753523808,1753523823,DE -1753523824,1753526015,US +1753523824,1753523967,US +1753523968,1753524223,GR +1753524224,1753524479,TR +1753524480,1753524735,IE +1753524736,1753524991,US +1753524992,1753525247,GB +1753525248,1753526015,US 1753526016,1753526271,DE -1753526272,1753527039,US +1753526272,1753526783,US +1753526784,1753527039,FI 1753527040,1753527295,NL -1753527296,1753528319,US +1753527296,1753527551,DK +1753527552,1753527807,IN +1753527808,1753528319,US 1753528320,1753528575,AR 1753528576,1753528831,CA 1753528832,1753529087,AR 1753529088,1753529343,NZ -1753529344,1753530367,PL -1753530368,1753532415,US +1753529344,1753529599,HU +1753529600,1753529855,PL +1753529856,1753530623,US +1753530624,1753531135,TW +1753531136,1753531391,US +1753531392,1753531647,IN +1753531648,1753531903,US +1753531904,1753532159,IT +1753532160,1753532415,US 1753532416,1753532671,JP -1753532672,1753536511,US -1753536512,1753537535,PH -1753537536,1753538815,US +1753532672,1753533183,US +1753533184,1753533439,CZ +1753533440,1753533695,PT +1753533696,1753534463,US +1753534464,1753534719,DK +1753534720,1753535743,US +1753535744,1753535999,TW +1753536000,1753536255,US +1753536256,1753536511,FI +1753536512,1753536767,US +1753536768,1753537023,IN +1753537024,1753538815,US 1753538816,1753539071,PH 1753539072,1753539327,US 1753539328,1753539583,IE @@ -62403,17 +63982,45 @@ 1753541632,1753541887,DE 1753541888,1753542399,US 1753542400,1753542655,TW -1753542656,1753549823,US +1753542656,1753543167,US +1753543168,1753543423,DE +1753543424,1753544191,US +1753544192,1753544447,DE +1753544448,1753548287,US +1753548288,1753548543,BE +1753548544,1753549311,US +1753549312,1753549567,IN +1753549568,1753549823,US 1753549824,1753550079,IE 1753550080,1753550591,US 1753550592,1753550847,TW 1753550848,1753551103,US -1753551104,1753551359,TW -1753551360,1753645055,US -1753645056,1753645063,NL -1753645064,1753735167,US +1753551104,1753551615,TW +1753551616,1753613311,US +1753613312,1753613823,DE +1753613824,1753614847,US +1753614848,1753615359,TW +1753615360,1753615871,US +1753615872,1753616383,IN +1753616384,1753617663,US +1753617664,1753617919,DE +1753617920,1753618431,US +1753618432,1753618687,IN +1753618688,1753619199,US +1753619200,1753619455,TW +1753619456,1753645055,US +1753645056,1753645567,NL +1753645568,1753673727,US +1753673728,1753673983,GB +1753673984,1753674239,US +1753674240,1753674247,IL +1753674248,1753735167,US 1753735168,1753743359,IE -1753743360,1754038079,US +1753743360,1754031167,US +1754031168,1754031231,NL +1754031232,1754031871,US +1754031872,1754032127,NL +1754032128,1754038079,US 1754038080,1754038143,PL 1754038144,1754136575,US 1754136576,1754169343,CA @@ -62476,115 +64083,119 @@ 1754258432,1754258687,MG 1754258688,1754258943,US 1754258944,1754259199,TN -1754259200,1754267911,US -1754267912,1754267935,CA -1754267936,1754267951,US -1754267952,1754267959,FI +1754259200,1754267903,US +1754267904,1754267935,CA +1754267936,1754267943,US +1754267944,1754267959,CA 1754267960,1754267991,US -1754267992,1754267999,CA -1754268000,1754268015,US -1754268016,1754268039,CA -1754268040,1754268047,US -1754268048,1754268063,CA +1754267992,1754268063,CA 1754268064,1754268079,US 1754268080,1754268095,CA 1754268096,1754268159,US -1754268160,1754268927,CA -1754268928,1754269087,US +1754268160,1754268991,CA +1754268992,1754269087,US 1754269088,1754269103,CA -1754269104,1754269183,US -1754269184,1754269199,CA -1754269200,1754269215,US -1754269216,1754269247,CA -1754269248,1754269423,US -1754269424,1754269431,CA -1754269432,1754269471,US -1754269472,1754269535,CA -1754269536,1754269599,US -1754269600,1754269607,CA -1754269608,1754269695,US -1754269696,1754269951,CA -1754269952,1754270719,US -1754270720,1754270911,CA -1754270912,1754270975,US -1754270976,1754271039,CA -1754271040,1754271103,US -1754271104,1754271135,CA -1754271136,1754272159,US +1754269104,1754269119,US +1754269120,1754269151,CA +1754269152,1754269183,US +1754269184,1754269247,CA +1754269248,1754269311,US +1754269312,1754269327,CA +1754269328,1754269343,US +1754269344,1754269359,CA +1754269360,1754269423,US +1754269424,1754269567,CA +1754269568,1754269599,US +1754269600,1754269615,CA +1754269616,1754269631,US +1754269632,1754269647,CA +1754269648,1754269663,US +1754269664,1754269951,CA +1754269952,1754270207,US +1754270208,1754270463,CA +1754270464,1754270719,US +1754270720,1754271135,CA +1754271136,1754272127,US +1754272128,1754272143,CA +1754272144,1754272159,US 1754272160,1754272191,CA 1754272192,1754272207,US 1754272208,1754272223,CA 1754272224,1754272255,US 1754272256,1754272383,CA -1754272384,1754272479,US +1754272384,1754272415,US +1754272416,1754272431,CA +1754272432,1754272479,US 1754272480,1754272495,CA 1754272496,1754272511,US -1754272512,1754272639,CA -1754272640,1754272671,US +1754272512,1754272655,CA +1754272656,1754272671,US 1754272672,1754272703,CA 1754272704,1754272719,US -1754272720,1754272727,CA -1754272728,1754272975,US +1754272720,1754272735,CA +1754272736,1754272895,US +1754272896,1754272927,CA +1754272928,1754272975,US 1754272976,1754272991,CA 1754272992,1754273023,US -1754273024,1754273055,CA -1754273056,1754273183,US -1754273184,1754273191,CA -1754273192,1754273279,US +1754273024,1754273151,CA +1754273152,1754273183,US +1754273184,1754273199,CA +1754273200,1754273247,US +1754273248,1754273263,CA +1754273264,1754273279,US 1754273280,1754273407,CA 1754273408,1754273439,US -1754273440,1754273447,CA -1754273448,1754273535,US -1754273536,1754273791,CA -1754273792,1754273871,US -1754273872,1754273879,CA -1754273880,1754274175,US +1754273440,1754273455,CA +1754273456,1754273487,US +1754273488,1754273535,CA +1754273536,1754273791,GB +1754273792,1754273839,CA +1754273840,1754273871,US +1754273872,1754273887,CA +1754273888,1754274175,US 1754274176,1754274303,CA -1754274304,1754275023,US +1754274304,1754274943,US +1754274944,1754274959,CA +1754274960,1754274991,US +1754274992,1754275007,CA +1754275008,1754275023,US 1754275024,1754275039,CA 1754275040,1754275199,US 1754275200,1754275839,CA -1754275840,1754276095,US +1754275840,1754275967,US +1754275968,1754276031,CA +1754276032,1754276095,US 1754276096,1754276127,CA 1754276128,1754276159,US 1754276160,1754276223,CA 1754276224,1754276287,US 1754276288,1754276351,CA 1754276352,1754276607,US -1754276608,1754276631,CA -1754276632,1754276635,US -1754276636,1754276671,CA -1754276672,1754276675,US -1754276676,1754276687,CA -1754276688,1754276691,US -1754276692,1754276751,CA -1754276752,1754276755,US -1754276756,1754276863,CA -1754276864,1754277631,US -1754277632,1754277887,CA -1754277888,1754278015,US -1754278016,1754278271,CA -1754278272,1754278911,US -1754278912,1754279167,CA -1754279168,1754279295,US -1754279296,1754279327,CA -1754279328,1754279359,US -1754279360,1754279679,CA -1754279680,1754280959,US -1754280960,1754281223,CA -1754281224,1754281231,NO -1754281232,1754281279,CA +1754276608,1754276863,CA +1754276864,1754277375,US +1754277376,1754278399,CA +1754278400,1754278911,US +1754278912,1754279231,CA +1754279232,1754279295,US +1754279296,1754279935,CA +1754279936,1754280447,US +1754280448,1754280703,CA +1754280704,1754280959,US +1754280960,1754281279,CA 1754281280,1754281343,US -1754281344,1754281359,CA -1754281360,1754281375,US -1754281376,1754281407,CA -1754281408,1754281471,US -1754281472,1754281535,CA -1754281536,1754281983,US +1754281344,1754281407,CA +1754281408,1754281455,US +1754281456,1754281535,CA +1754281536,1754281663,US +1754281664,1754281727,CA +1754281728,1754281983,US 1754281984,1754282495,CA 1754282496,1754282751,US -1754282752,1754282815,CA -1754282816,1754282959,US +1754282752,1754282895,CA +1754282896,1754282927,US +1754282928,1754282943,CA +1754282944,1754282959,US 1754282960,1754282967,CA 1754282968,1754282975,SE 1754282976,1754283519,US @@ -62595,49 +64206,73 @@ 1754284736,1754284799,CA 1754284800,1754285055,US 1754285056,1754285151,CA -1754285152,1754285175,US -1754285176,1754285183,CA -1754285184,1754285247,US -1754285248,1754285311,CA -1754285312,1754285567,US -1754285568,1754285919,CA -1754285920,1754286015,US +1754285152,1754285167,US +1754285168,1754285951,CA +1754285952,1754286015,US 1754286016,1754286079,CA 1754286080,1754286335,US 1754286336,1754286591,CA 1754286592,1754286847,US 1754286848,1754287359,CA -1754287360,1754288159,US +1754287360,1754287615,US +1754287616,1754287871,CA +1754287872,1754288127,US +1754288128,1754288143,CA +1754288144,1754288159,US 1754288160,1754288191,CA 1754288192,1754288207,US -1754288208,1754288215,CA -1754288216,1754288383,US +1754288208,1754288223,CA +1754288224,1754288239,US +1754288240,1754288255,CA +1754288256,1754288383,US 1754288384,1754288447,CA 1754288448,1754288575,US -1754288576,1754288895,CA -1754288896,1754289055,US +1754288576,1754288639,CA +1754288640,1754288895,US +1754288896,1754288911,CA +1754288912,1754288927,US +1754288928,1754288943,CA +1754288944,1754288991,US +1754288992,1754289007,CA +1754289008,1754289055,US 1754289056,1754289071,CA -1754289072,1754289407,US +1754289072,1754289087,US +1754289088,1754289151,CA +1754289152,1754289407,US 1754289408,1754289471,CA 1754289472,1754289487,US 1754289488,1754289495,CA 1754289496,1754289503,NO -1754289504,1754289919,US +1754289504,1754289519,US +1754289520,1754289535,CA +1754289536,1754289919,US 1754289920,1754290175,CA -1754290176,1754290591,US -1754290592,1754290599,CA -1754290600,1754291023,US -1754291024,1754291031,CA -1754291032,1754291135,US -1754291136,1754291455,CA -1754291456,1754291535,US -1754291536,1754291543,CA -1754291544,1754291711,US +1754290176,1754290447,US +1754290448,1754290479,CA +1754290480,1754290511,US +1754290512,1754290527,CA +1754290528,1754290543,US +1754290544,1754290559,CA +1754290560,1754290591,US +1754290592,1754290607,CA +1754290608,1754290623,US +1754290624,1754290687,CA +1754290688,1754290975,US +1754290976,1754290991,CA +1754290992,1754291023,US +1754291024,1754291039,CA +1754291040,1754291103,US +1754291104,1754291119,CA +1754291120,1754291135,US +1754291136,1754291471,CA +1754291472,1754291503,US +1754291504,1754291519,CA +1754291520,1754291535,US +1754291536,1754291551,CA +1754291552,1754291711,US 1754291712,1754292031,CA -1754292032,1754292127,US -1754292128,1754292143,CA -1754292144,1754292151,US -1754292152,1754292543,CA +1754292032,1754292095,US +1754292096,1754292543,CA 1754292544,1754292607,US 1754292608,1754292639,CA 1754292640,1754292671,US @@ -62646,72 +64281,96 @@ 1754293248,1754293343,CA 1754293344,1754293439,US 1754293440,1754294015,CA -1754294016,1754294095,US +1754294016,1754294063,US +1754294064,1754294079,CA +1754294080,1754294095,US 1754294096,1754294111,CA -1754294112,1754294783,US -1754294784,1754294943,CA -1754294944,1754294975,US +1754294112,1754294127,US +1754294128,1754294143,CA +1754294144,1754294271,US +1754294272,1754294527,CA +1754294528,1754294655,US +1754294656,1754294943,CA +1754294944,1754294959,US +1754294960,1754294967,CA +1754294968,1754294975,US 1754294976,1754295039,CA 1754295040,1754295295,US 1754295296,1754295551,CA -1754295552,1754296023,US -1754296024,1754296031,CA +1754295552,1754295807,US +1754295808,1754295951,CA +1754295952,1754295983,US +1754295984,1754295999,CA +1754296000,1754296015,US +1754296016,1754296031,CA 1754296032,1754296319,US -1754296320,1754296343,CA -1754296344,1754296351,US -1754296352,1754296383,CA +1754296320,1754296383,CA 1754296384,1754296407,US 1754296408,1754296415,CA -1754296416,1754296831,US +1754296416,1754296527,US +1754296528,1754296543,CA +1754296544,1754296831,US 1754296832,1754297471,CA 1754297472,1754297487,US -1754297488,1754297495,CA -1754297496,1754297583,US +1754297488,1754297503,CA +1754297504,1754297535,US +1754297536,1754297551,CA +1754297552,1754297583,US 1754297584,1754297855,CA 1754297856,1754298111,US -1754298112,1754298143,CA -1754298144,1754298367,US +1754298112,1754298303,CA +1754298304,1754298367,US 1754298368,1754298623,CA 1754298624,1754299391,US 1754299392,1754299647,CA -1754299648,1754299711,US -1754299712,1754299775,CA +1754299648,1754299695,US +1754299696,1754299775,CA 1754299776,1754299791,US 1754299792,1754299839,CA 1754299840,1754299903,US 1754299904,1754300543,CA 1754300544,1754300575,US -1754300576,1754300583,CA -1754300584,1754300655,US -1754300656,1754300671,CA -1754300672,1754300759,US -1754300760,1754300767,CA -1754300768,1754301439,US +1754300576,1754300591,CA +1754300592,1754300639,US +1754300640,1754300671,CA +1754300672,1754300751,US +1754300752,1754300767,CA +1754300768,1754300783,US +1754300784,1754300799,CA +1754300800,1754300879,US +1754300880,1754300895,CA +1754300896,1754301439,US 1754301440,1754301695,CA 1754301696,1754302719,US 1754302720,1754303231,CA 1754303232,1754303247,US -1754303248,1754303263,CA -1754303264,1754303295,US -1754303296,1754303319,CA -1754303320,1754303327,US -1754303328,1754303359,CA -1754303360,1754303487,US +1754303248,1754303359,CA +1754303360,1754303375,US +1754303376,1754303391,CA +1754303392,1754303487,US 1754303488,1754303551,CA 1754303552,1754303567,US 1754303568,1754303575,CA 1754303576,1754303679,US 1754303680,1754303999,CA -1754304000,1754304791,US -1754304792,1754304799,CA -1754304800,1754304991,US +1754304000,1754304783,US +1754304784,1754304799,CA +1754304800,1754304895,US +1754304896,1754304911,CA +1754304912,1754304943,US +1754304944,1754304959,CA +1754304960,1754304991,US 1754304992,1754305023,CA 1754305024,1754305535,US 1754305536,1754305663,CA -1754305664,1754305759,US -1754305760,1754305767,CA +1754305664,1754305695,US +1754305696,1754305711,CA +1754305712,1754305743,US +1754305744,1754305767,CA 1754305768,1754305791,US -1754305792,1754306559,CA +1754305792,1754305855,CA +1754305856,1754305919,CN +1754305920,1754306559,CA 1754306560,1754306959,US 1754306960,1754306975,CA 1754306976,1754307031,US @@ -62720,236 +64379,339 @@ 1754307072,1754307327,CA 1754307328,1754307391,US 1754307392,1754307423,CA -1754307424,1754307447,US -1754307448,1754307455,CA -1754307456,1754307583,US -1754307584,1754307855,CA -1754307856,1754307871,US -1754307872,1754307895,CA +1754307424,1754307439,US +1754307440,1754307455,CA +1754307456,1754307487,US +1754307488,1754307503,CA +1754307504,1754307583,US +1754307584,1754307895,CA 1754307896,1754307903,SE -1754307904,1754308095,US -1754308096,1754308103,CA +1754307904,1754308015,US +1754308016,1754308103,CA 1754308104,1754308111,US 1754308112,1754308127,CA -1754308128,1754308191,US +1754308128,1754308143,US +1754308144,1754308159,CA +1754308160,1754308191,US 1754308192,1754308223,CA -1754308224,1754308303,US +1754308224,1754308255,US +1754308256,1754308271,CA +1754308272,1754308303,US 1754308304,1754308311,CA 1754308312,1754308319,US 1754308320,1754308351,CA 1754308352,1754308367,US 1754308368,1754308383,CA -1754308384,1754308447,US +1754308384,1754308415,US +1754308416,1754308431,CA +1754308432,1754308447,US 1754308448,1754308455,CA -1754308456,1754308575,US +1754308456,1754308463,US +1754308464,1754308479,CA +1754308480,1754308543,US +1754308544,1754308559,CA +1754308560,1754308575,US 1754308576,1754308607,CA -1754308608,1754308943,US +1754308608,1754308879,US +1754308880,1754308895,CA +1754308896,1754308943,US 1754308944,1754308951,CA 1754308952,1754308959,SE -1754308960,1754308991,US -1754308992,1754309007,CA -1754309008,1754309055,US +1754308960,1754308975,CA +1754308976,1754308991,US +1754308992,1754309023,CA +1754309024,1754309055,US 1754309056,1754309119,CA -1754309120,1754309471,US +1754309120,1754309375,US +1754309376,1754309439,CA +1754309440,1754309471,US 1754309472,1754309479,CA -1754309480,1754309919,US -1754309920,1754309935,CA +1754309480,1754309487,US +1754309488,1754309503,CA +1754309504,1754309583,US +1754309584,1754309615,CA +1754309616,1754309903,US +1754309904,1754309935,CA 1754309936,1754309951,US 1754309952,1754309983,CA -1754309984,1754310015,US -1754310016,1754310079,CA -1754310080,1754310479,US +1754309984,1754309999,US +1754310000,1754310079,CA +1754310080,1754310111,US +1754310112,1754310127,CA +1754310128,1754310399,US +1754310400,1754310415,CA +1754310416,1754310431,US +1754310432,1754310463,CA +1754310464,1754310479,US 1754310480,1754310495,CA 1754310496,1754310527,US 1754310528,1754310655,CA 1754310656,1754310943,US 1754310944,1754310975,CA -1754310976,1754311007,US -1754311008,1754311055,CA -1754311056,1754311519,US -1754311520,1754311567,CA -1754311568,1754311583,US -1754311584,1754311615,CA -1754311616,1754311759,US -1754311760,1754311775,CA -1754311776,1754311967,US +1754310976,1754310991,US +1754310992,1754311055,CA +1754311056,1754311119,US +1754311120,1754311151,CA +1754311152,1754311487,US +1754311488,1754311503,CA +1754311504,1754311519,US +1754311520,1754311615,CA +1754311616,1754311647,US +1754311648,1754311663,CA +1754311664,1754311679,US +1754311680,1754311695,CA +1754311696,1754311711,US +1754311712,1754311743,CA +1754311744,1754311759,US +1754311760,1754311791,CA +1754311792,1754311967,US 1754311968,1754311975,CA -1754311976,1754312463,US -1754312464,1754312471,CA -1754312472,1754312703,US +1754311976,1754311983,US +1754311984,1754311999,CA +1754312000,1754312463,US +1754312464,1754312495,CA +1754312496,1754312575,US +1754312576,1754312639,CA +1754312640,1754312655,US +1754312656,1754312671,CA +1754312672,1754312703,US 1754312704,1754312719,CA 1754312720,1754312735,US 1754312736,1754312767,CA 1754312768,1754312783,US -1754312784,1754312799,CA -1754312800,1754312959,US +1754312784,1754312815,CA +1754312816,1754312831,US +1754312832,1754312847,CA +1754312848,1754312863,US +1754312864,1754312879,CA +1754312880,1754312959,US 1754312960,1754313023,CA -1754313024,1754313151,US -1754313152,1754313183,CA -1754313184,1754313215,US -1754313216,1754313239,CA -1754313240,1754313391,US -1754313392,1754313455,CA -1754313456,1754313471,US -1754313472,1754313487,CA -1754313488,1754313503,US -1754313504,1754313535,CA -1754313536,1754313615,US +1754313024,1754313055,US +1754313056,1754313071,CA +1754313072,1754313119,US +1754313120,1754313135,CA +1754313136,1754313151,US +1754313152,1754313247,CA +1754313248,1754313327,US +1754313328,1754313343,CA +1754313344,1754313391,US +1754313392,1754313535,CA +1754313536,1754313583,US +1754313584,1754313599,CA +1754313600,1754313615,US 1754313616,1754313663,CA -1754313664,1754313695,US -1754313696,1754313791,CA -1754313792,1754313839,US +1754313664,1754313679,US +1754313680,1754313791,CA +1754313792,1754313807,US +1754313808,1754313823,CA +1754313824,1754313839,US 1754313840,1754313847,CA -1754313848,1754313951,US -1754313952,1754314015,CA -1754314016,1754314079,US -1754314080,1754314111,CA -1754314112,1754314143,US +1754313848,1754313903,US +1754313904,1754314031,CA +1754314032,1754314079,US +1754314080,1754314127,CA +1754314128,1754314143,US 1754314144,1754314175,CA -1754314176,1754314239,US +1754314176,1754314191,US +1754314192,1754314207,CA +1754314208,1754314239,US 1754314240,1754314255,CA -1754314256,1754314463,US -1754314464,1754314495,CA -1754314496,1754314527,US +1754314256,1754314415,US +1754314416,1754314431,CA +1754314432,1754314463,US +1754314464,1754314511,CA +1754314512,1754314527,US 1754314528,1754314559,CA 1754314560,1754314575,US -1754314576,1754314591,CA -1754314592,1754314783,US -1754314784,1754314815,CA -1754314816,1754314991,US -1754314992,1754315007,CA -1754315008,1754315039,US -1754315040,1754315071,CA -1754315072,1754315135,US +1754314576,1754314623,CA +1754314624,1754314719,US +1754314720,1754314735,CA +1754314736,1754314767,US +1754314768,1754314815,CA +1754314816,1754314847,US +1754314848,1754314863,CA +1754314864,1754314991,US +1754314992,1754315071,CA +1754315072,1754315087,US +1754315088,1754315103,CA +1754315104,1754315135,US 1754315136,1754315199,CA 1754315200,1754315215,US 1754315216,1754315223,CA -1754315224,1754315295,US -1754315296,1754315311,CA -1754315312,1754315359,US -1754315360,1754315391,CA -1754315392,1754315423,US +1754315224,1754315263,US +1754315264,1754315311,CA +1754315312,1754315343,US +1754315344,1754315407,CA +1754315408,1754315423,US 1754315424,1754315471,CA -1754315472,1754315551,US +1754315472,1754315519,US +1754315520,1754315535,CA +1754315536,1754315551,US 1754315552,1754315559,CA 1754315560,1754315615,US 1754315616,1754315623,CA -1754315624,1754316287,US -1754316288,1754317823,CA -1754317824,1754317903,US +1754315624,1754315631,US +1754315632,1754315647,CA +1754315648,1754316287,US +1754316288,1754317839,CA +1754317840,1754317903,US 1754317904,1754317919,CA 1754317920,1754317935,US 1754317936,1754317943,CA 1754317944,1754318111,US 1754318112,1754318119,CA -1754318120,1754318175,US +1754318120,1754318143,US +1754318144,1754318159,CA +1754318160,1754318175,US 1754318176,1754318207,CA 1754318208,1754318335,US 1754318336,1754318847,CA 1754318848,1754319119,US 1754319120,1754319135,CA -1754319136,1754319199,US -1754319200,1754319207,CA -1754319208,1754319263,US +1754319136,1754319167,US +1754319168,1754319207,CA +1754319208,1754319215,US +1754319216,1754319247,CA +1754319248,1754319263,US 1754319264,1754319295,CA -1754319296,1754319391,US +1754319296,1754319311,US +1754319312,1754319327,CA +1754319328,1754319391,US 1754319392,1754319479,CA -1754319480,1754319519,US -1754319520,1754319551,CA -1754319552,1754319647,US -1754319648,1754319663,CA -1754319664,1754319743,US -1754319744,1754319767,CA -1754319768,1754319807,US -1754319808,1754319935,CA -1754319936,1754319999,US +1754319480,1754319487,US +1754319488,1754319551,CA +1754319552,1754319567,US +1754319568,1754319599,CA +1754319600,1754319615,US +1754319616,1754319663,CA +1754319664,1754319727,US +1754319728,1754319935,CA +1754319936,1754319951,US +1754319952,1754319983,CA +1754319984,1754319999,US 1754320000,1754320063,CA -1754320064,1754320127,US +1754320064,1754320095,US +1754320096,1754320111,CA +1754320112,1754320127,US 1754320128,1754320167,CA 1754320168,1754320223,US 1754320224,1754320231,CA -1754320232,1754320287,US -1754320288,1754320319,CA +1754320232,1754320255,US +1754320256,1754320319,CA 1754320320,1754320415,US 1754320416,1754320447,CA -1754320448,1754320575,US -1754320576,1754320623,CA -1754320624,1754320671,US -1754320672,1754320687,CA -1754320688,1754320719,US +1754320448,1754320479,US +1754320480,1754320495,CA +1754320496,1754320527,US +1754320528,1754320543,CA +1754320544,1754320559,US +1754320560,1754320623,CA +1754320624,1754320639,US +1754320640,1754320655,CA +1754320656,1754320671,US +1754320672,1754320703,CA +1754320704,1754320719,US 1754320720,1754320767,CA -1754320768,1754320927,US +1754320768,1754320799,US +1754320800,1754320815,CA +1754320816,1754320927,US 1754320928,1754320951,CA -1754320952,1754321055,US +1754320952,1754320975,US +1754320976,1754321023,CA +1754321024,1754321055,US 1754321056,1754321103,CA 1754321104,1754321119,US 1754321120,1754321151,CA 1754321152,1754321167,US -1754321168,1754321183,CA -1754321184,1754321231,US +1754321168,1754321199,CA +1754321200,1754321231,US 1754321232,1754321239,CA 1754321240,1754321439,US 1754321440,1754321447,CA 1754321448,1754321487,US 1754321488,1754321511,CA -1754321512,1754321919,US -1754321920,1754321951,CA -1754321952,1754322047,US +1754321512,1754321519,US +1754321520,1754321535,CA +1754321536,1754321551,US +1754321552,1754321567,CA +1754321568,1754321615,US +1754321616,1754321663,CA +1754321664,1754321919,US +1754321920,1754321983,CA +1754321984,1754322047,US 1754322048,1754322175,CA 1754322176,1754322239,US -1754322240,1754322271,CA -1754322272,1754322687,US +1754322240,1754322303,CA +1754322304,1754322687,US 1754322688,1754322695,CA 1754322696,1754322703,US 1754322704,1754322719,CA -1754322720,1754323199,US +1754322720,1754322767,US +1754322768,1754322783,CA +1754322784,1754322879,US +1754322880,1754322943,CA +1754322944,1754323199,US 1754323200,1754323207,CA -1754323208,1754323279,US +1754323208,1754323215,US +1754323216,1754323231,CA +1754323232,1754323247,US +1754323248,1754323263,CA +1754323264,1754323279,US 1754323280,1754323287,CA -1754323288,1754323359,US -1754323360,1754323391,CA -1754323392,1754323583,US +1754323288,1754323327,US +1754323328,1754323391,CA +1754323392,1754323455,US +1754323456,1754323519,CA +1754323520,1754323583,US 1754323584,1754323711,CA -1754323712,1754323999,US -1754324000,1754324031,CA +1754323712,1754323967,US +1754323968,1754324031,CA 1754324032,1754324735,US 1754324736,1754324999,CA -1754325000,1754325071,US +1754325000,1754325007,US +1754325008,1754325039,CA +1754325040,1754325071,US 1754325072,1754325079,CA -1754325080,1754325247,US -1754325248,1754325263,CA -1754325264,1754325343,US -1754325344,1754325375,CA -1754325376,1754325407,US +1754325080,1754325087,US +1754325088,1754325103,CA +1754325104,1754325247,US +1754325248,1754325279,CA +1754325280,1754325343,US +1754325344,1754325391,CA +1754325392,1754325407,US 1754325408,1754325439,CA -1754325440,1754325503,US -1754325504,1754325527,CA -1754325528,1754325535,US -1754325536,1754325567,CA -1754325568,1754325631,US +1754325440,1754325487,US +1754325488,1754325599,CA +1754325600,1754325631,US 1754325632,1754325695,CA 1754325696,1754325759,US 1754325760,1754325767,CA -1754325768,1754325791,US -1754325792,1754325823,CA -1754325824,1754325855,US +1754325768,1754325775,US +1754325776,1754325839,CA +1754325840,1754325855,US 1754325856,1754325887,CA 1754325888,1754325919,US 1754325920,1754325927,CA -1754325928,1754325951,US -1754325952,1754326031,CA -1754326032,1754326047,US -1754326048,1754326079,CA -1754326080,1754326271,US +1754325928,1754325935,US +1754325936,1754326079,CA +1754326080,1754326127,US +1754326128,1754326207,CA +1754326208,1754326239,US +1754326240,1754326255,CA +1754326256,1754326271,US 1754326272,1754326335,CA -1754326336,1754326431,US +1754326336,1754326399,US +1754326400,1754326415,CA +1754326416,1754326431,US 1754326432,1754326463,CA -1754326464,1754326527,US +1754326464,1754326495,US +1754326496,1754326511,CA +1754326512,1754326527,US 1754326528,1754326535,CA -1754326536,1754326559,US -1754326560,1754326591,CA -1754326592,1754326687,US -1754326688,1754326719,CA +1754326536,1754326543,US +1754326544,1754326591,CA +1754326592,1754326655,US +1754326656,1754326719,CA 1754326720,1754326751,US 1754326752,1754326759,CA 1754326760,1754326783,US @@ -62960,61 +64722,69 @@ 1754327040,1754327103,CA 1754327104,1754327231,US 1754327232,1754327295,CA -1754327296,1754328143,US +1754327296,1754328063,US +1754328064,1754328079,CA +1754328080,1754328111,US +1754328112,1754328127,CA +1754328128,1754328143,US 1754328144,1754328151,CA 1754328152,1754328319,US 1754328320,1754328575,CA 1754328576,1754329087,US -1754329088,1754329103,CA -1754329104,1754329119,US -1754329120,1754329151,CA +1754329088,1754329151,CA 1754329152,1754329183,US 1754329184,1754329215,CA 1754329216,1754329247,US 1754329248,1754329279,CA -1754329280,1754329327,US -1754329328,1754329335,CA +1754329280,1754329311,US +1754329312,1754329335,CA 1754329336,1754329343,US -1754329344,1754329359,CA -1754329360,1754329375,US -1754329376,1754329407,CA -1754329408,1754329599,US +1754329344,1754329407,CA +1754329408,1754329455,US +1754329456,1754329471,CA +1754329472,1754329599,US 1754329600,1754329607,CA 1754329608,1754329631,US 1754329632,1754329663,CA -1754329664,1754329687,US -1754329688,1754329695,CA -1754329696,1754329759,US +1754329664,1754329679,US +1754329680,1754329695,CA +1754329696,1754329711,US +1754329712,1754329743,CA +1754329744,1754329759,US 1754329760,1754329791,CA -1754329792,1754329887,US +1754329792,1754329839,US +1754329840,1754329871,CA +1754329872,1754329887,US 1754329888,1754329919,CA 1754329920,1754329935,US 1754329936,1754329951,CA 1754329952,1754330111,US 1754330112,1754330623,CA 1754330624,1754331135,US -1754331136,1754331167,CA -1754331168,1754331199,US -1754331200,1754331263,CA +1754331136,1754331263,CA 1754331264,1754331295,US 1754331296,1754331303,CA 1754331304,1754331375,US -1754331376,1754331391,CA -1754331392,1754331423,US +1754331376,1754331407,CA +1754331408,1754331423,US 1754331424,1754331455,CA 1754331456,1754331487,US 1754331488,1754331495,CA 1754331496,1754331647,US -1754331648,1754331775,CA -1754331776,1754331823,US +1754331648,1754331791,CA +1754331792,1754331823,US 1754331824,1754331839,CA 1754331840,1754331855,US 1754331856,1754331871,CA 1754331872,1754332191,US 1754332192,1754332199,CA -1754332200,1754332271,US +1754332200,1754332223,US +1754332224,1754332239,CA +1754332240,1754332271,US 1754332272,1754332287,CA -1754332288,1754332703,US +1754332288,1754332671,US +1754332672,1754332687,CA +1754332688,1754332703,US 1754332704,1754332735,CA 1754332736,1754332751,US 1754332752,1754332767,CA @@ -63320,7 +65090,9 @@ 1755113472,1755113983,AU 1755113984,1755115007,US 1755115008,1755115519,JP -1755115520,1755119615,US +1755115520,1755115615,US +1755115616,1755115679,GB +1755115680,1755119615,US 1755119616,1755283455,CA 1755283456,1755319807,US 1755319808,1755320319,DK @@ -63456,12 +65228,16 @@ 1757426688,1757427711,CA 1757427712,1757432831,US 1757432832,1757433855,CA -1757433856,1757443071,US +1757433856,1757434687,US +1757434688,1757434688,CN +1757434689,1757443071,US 1757443072,1757446143,CA 1757446144,1757447167,US 1757447168,1757447343,CA 1757447344,1757447344,US -1757447345,1757448191,CA +1757447345,1757448087,CA +1757448088,1757448091,US +1757448092,1757448191,CA 1757448192,1757450239,US 1757450240,1757451263,CA 1757451264,1757452287,US @@ -63474,7 +65250,9 @@ 1757466624,1757468671,CA 1757468672,1757472767,US 1757472768,1757473791,CA -1757473792,1757487103,US +1757473792,1757480959,US +1757480960,1757481983,CA +1757481984,1757487103,US 1757487104,1757489151,CA 1757489152,1757491199,US 1757491200,1757497343,CA @@ -63520,7 +65298,9 @@ 1757958144,1757962239,CA 1757962240,1757966335,BB 1757966336,1757970431,JP -1757970432,1757996287,US +1757970432,1757971455,US +1757971456,1757971711,CA +1757971712,1757996287,US 1757996288,1757996543,GB 1757996544,1758002431,US 1758002432,1758002687,GB @@ -63581,7 +65361,8 @@ 1758986240,1759128575,US 1759128576,1759129599,CA 1759129600,1759131647,US -1759131648,1759133695,CA +1759131648,1759132671,LT +1759132672,1759133695,CA 1759133696,1759138815,US 1759138816,1759139839,CA 1759139840,1759140863,US @@ -63593,7 +65374,8 @@ 1759150080,1759158783,US 1759158784,1759159295,SG 1759159296,1759159807,GB -1759159808,1759160319,US +1759159808,1759160063,HK +1759160064,1759160319,US 1759160320,1759162367,BM 1759162368,1759163391,BB 1759163392,1759166463,US @@ -63759,22 +65541,22 @@ 1759707760,1759707783,US 1759707784,1759707807,CA 1759707808,1759707823,US -1759707824,1759707839,CA -1759707840,1759707863,US -1759707864,1759707871,CA -1759707872,1759707887,US +1759707824,1759707855,CA +1759707856,1759707863,US +1759707864,1759707879,CA +1759707880,1759707887,US 1759707888,1759707911,CA -1759707912,1759707927,US -1759707928,1759707935,CA +1759707912,1759707919,US +1759707920,1759707935,CA 1759707936,1759707943,US 1759707944,1759707975,CA 1759707976,1759707991,US -1759707992,1759707999,CA -1759708000,1759708007,US -1759708008,1759708031,CA +1759707992,1759708031,CA 1759708032,1759708159,US 1759708160,1759708351,CA -1759708352,1759708751,US +1759708352,1759708399,US +1759708400,1759708407,CA +1759708408,1759708751,US 1759708752,1759708759,CA 1759708760,1759709439,US 1759709440,1759710207,CA @@ -63782,7 +65564,9 @@ 1759711704,1759711711,CA 1759711712,1759711727,US 1759711728,1759711743,CA -1759711744,1759712287,US +1759711744,1759712255,US +1759712256,1759712271,CA +1759712272,1759712287,US 1759712288,1759712319,CA 1759712320,1759712335,US 1759712336,1759712351,CA @@ -63796,55 +65580,65 @@ 1759715072,1759715327,CA 1759715328,1759715375,US 1759715376,1759715391,CA -1759715392,1759715423,US -1759715424,1759715439,CA +1759715392,1759715407,US +1759715408,1759715439,CA 1759715440,1759715839,US 1759715840,1759715903,CA 1759715904,1759715967,US -1759715968,1759715983,CA -1759715984,1759716031,US -1759716032,1759716159,CA +1759715968,1759716159,CA 1759716160,1759716223,US 1759716224,1759716255,CA 1759716256,1759716287,US -1759716288,1759716351,CA -1759716352,1759717023,US -1759717024,1759717031,CA -1759717032,1759717375,US -1759717376,1759717631,CA -1759717632,1759717887,US -1759717888,1759718399,CA +1759716288,1759716863,CA +1759716864,1759717023,US +1759717024,1759717039,CA +1759717040,1759717055,US +1759717056,1759717071,CA +1759717072,1759717375,US +1759717376,1759718399,CA 1759718400,1759718655,US -1759718656,1759718911,CA -1759718912,1759719167,US -1759719168,1759719519,CA +1759718656,1759719519,CA 1759719520,1759719679,US -1759719680,1759719711,CA -1759719712,1759719743,US -1759719744,1759719807,CA +1759719680,1759719807,CA 1759719808,1759719839,US -1759719840,1759719847,CA -1759719848,1759719967,US +1759719840,1759719855,CA +1759719856,1759719919,US +1759719920,1759719935,CA +1759719936,1759719967,US 1759719968,1759719999,CA -1759720000,1759720023,US -1759720024,1759720031,CA -1759720032,1759720047,US -1759720048,1759720063,CA -1759720064,1759720191,US -1759720192,1759720207,CA -1759720208,1759720319,US +1759720000,1759720015,US +1759720016,1759720063,CA +1759720064,1759720095,US +1759720096,1759720127,CA +1759720128,1759720159,US +1759720160,1759720207,CA +1759720208,1759720223,US +1759720224,1759720255,CA +1759720256,1759720271,US +1759720272,1759720287,CA +1759720288,1759720319,US 1759720320,1759720383,CA -1759720384,1759720703,US +1759720384,1759720415,US +1759720416,1759720431,CA +1759720432,1759720543,US +1759720544,1759720575,CA +1759720576,1759720703,US 1759720704,1759720767,CA 1759720768,1759720783,US 1759720784,1759720791,CA -1759720792,1759721423,US +1759720792,1759720815,US +1759720816,1759720831,CA +1759720832,1759721183,US +1759721184,1759721215,CA +1759721216,1759721375,US +1759721376,1759721391,CA +1759721392,1759721423,US 1759721424,1759721439,CA -1759721440,1759721503,US -1759721504,1759721511,CA -1759721512,1759721519,US -1759721520,1759721535,CA -1759721536,1759721695,US +1759721440,1759721471,US +1759721472,1759721535,CA +1759721536,1759721647,US +1759721648,1759721663,CA +1759721664,1759721695,US 1759721696,1759721727,CA 1759721728,1759721743,US 1759721744,1759721759,CA @@ -63852,86 +65646,102 @@ 1759721824,1759721831,CA 1759721832,1759721839,NO 1759721840,1759722047,US -1759722048,1759722063,CA -1759722064,1759722303,US -1759722304,1759722319,CA -1759722320,1759722335,US -1759722336,1759722367,CA +1759722048,1759722079,CA +1759722080,1759722271,US +1759722272,1759722367,CA 1759722368,1759722383,US 1759722384,1759722431,CA -1759722432,1759722511,US +1759722432,1759722479,US +1759722480,1759722495,CA +1759722496,1759722511,US 1759722512,1759722527,CA 1759722528,1759722559,US -1759722560,1759722591,CA -1759722592,1759722895,US +1759722560,1759722607,CA +1759722608,1759722655,US +1759722656,1759722687,CA +1759722688,1759722895,US 1759722896,1759722911,CA -1759722912,1759723007,US +1759722912,1759722975,US +1759722976,1759722991,CA +1759722992,1759723007,US 1759723008,1759723071,CA -1759723072,1759723159,US -1759723160,1759723167,CA -1759723168,1759723247,US -1759723248,1759723263,CA -1759723264,1759723343,US +1759723072,1759723151,US +1759723152,1759723167,CA +1759723168,1759723199,US +1759723200,1759723231,CA +1759723232,1759723247,US +1759723248,1759723279,CA +1759723280,1759723343,US 1759723344,1759723359,CA 1759723360,1759723551,US 1759723552,1759723583,CA -1759723584,1759723607,US -1759723608,1759723615,CA -1759723616,1759723823,US +1759723584,1759723599,US +1759723600,1759723615,CA +1759723616,1759723631,US +1759723632,1759723647,CA +1759723648,1759723823,US 1759723824,1759723831,CA 1759723832,1759723839,US -1759723840,1759723855,CA -1759723856,1759723999,US -1759724000,1759724031,CA -1759724032,1759724287,US -1759724288,1759725151,CA -1759725152,1759725247,US -1759725248,1759725375,CA -1759725376,1759725455,US +1759723840,1759723887,CA +1759723888,1759723999,US +1759724000,1759724159,CA +1759724160,1759724223,US +1759724224,1759724239,CA +1759724240,1759724255,US +1759724256,1759724799,CA +1759724800,1759725055,US +1759725056,1759725183,CA +1759725184,1759725247,US +1759725248,1759725439,CA +1759725440,1759725455,US 1759725456,1759725471,CA 1759725472,1759725503,US -1759725504,1759725631,CA -1759725632,1759725695,US -1759725696,1759725711,CA -1759725712,1759725823,US -1759725824,1759725919,CA -1759725920,1759726015,US -1759726016,1759726079,CA -1759726080,1759726591,US +1759725504,1759725759,CA +1759725760,1759725823,US +1759725824,1759725951,CA +1759725952,1759726015,US +1759726016,1759726335,CA +1759726336,1759726591,US 1759726592,1759726847,CA -1759726848,1759727087,US +1759726848,1759727007,US +1759727008,1759727023,CA +1759727024,1759727087,US 1759727088,1759727095,CA 1759727096,1759727103,US 1759727104,1759727359,CA 1759727360,1759727615,US 1759727616,1759727679,CA -1759727680,1759727871,US -1759727872,1759727935,CA +1759727680,1759727807,US +1759727808,1759727935,CA 1759727936,1759728063,US 1759728064,1759728383,CA -1759728384,1759728703,US -1759728704,1759728735,CA -1759728736,1759728895,US +1759728384,1759728639,US +1759728640,1759728671,CA +1759728672,1759728703,US +1759728704,1759728767,CA +1759728768,1759728799,US +1759728800,1759728831,CA +1759728832,1759728895,US 1759728896,1759729151,CA 1759729152,1759729663,US -1759729664,1759729695,CA -1759729696,1759729743,US +1759729664,1759729711,CA +1759729712,1759729743,US 1759729744,1759729751,CA -1759729752,1759729975,US -1759729976,1759730015,CA -1759730016,1759730207,US +1759729752,1759729967,US +1759729968,1759730015,CA +1759730016,1759730175,US +1759730176,1759730191,CA +1759730192,1759730207,US 1759730208,1759730239,CA 1759730240,1759730303,US -1759730304,1759730319,CA -1759730320,1759730351,US -1759730352,1759730367,CA +1759730304,1759730367,CA 1759730368,1759730399,US 1759730400,1759730415,CA 1759730416,1759730463,US 1759730464,1759730487,CA 1759730488,1759730519,US -1759730520,1759730527,CA -1759730528,1759730559,US +1759730520,1759730543,CA +1759730544,1759730559,US 1759730560,1759730623,CA 1759730624,1759730839,US 1759730840,1759730847,CA @@ -63950,31 +65760,37 @@ 1759734168,1759734207,US 1759734208,1759734271,CA 1759734272,1759734279,US -1759734280,1759734287,CA -1759734288,1759734351,US +1759734280,1759734303,CA +1759734304,1759734351,US 1759734352,1759734367,CA -1759734368,1759734623,US -1759734624,1759734639,CA -1759734640,1759734783,US -1759734784,1759735935,CA -1759735936,1759736015,US +1759734368,1759734383,US +1759734384,1759734399,CA +1759734400,1759734431,US +1759734432,1759734463,CA +1759734464,1759734607,US +1759734608,1759734639,CA +1759734640,1759734735,US +1759734736,1759734751,CA +1759734752,1759734783,US +1759734784,1759735967,CA +1759735968,1759736015,US 1759736016,1759736031,CA 1759736032,1759736063,US 1759736064,1759736383,CA 1759736384,1759736447,US -1759736448,1759736479,CA -1759736480,1759737007,US +1759736448,1759736575,CA +1759736576,1759737007,US 1759737008,1759737015,CA -1759737016,1759737343,US +1759737016,1759737071,US +1759737072,1759737087,CA +1759737088,1759737343,US 1759737344,1759737407,CA 1759737408,1759737423,US 1759737424,1759737431,CA 1759737432,1759737599,US -1759737600,1759738111,CA -1759738112,1759738623,US -1759738624,1759738879,CA -1759738880,1759739039,US -1759739040,1759739055,CA +1759737600,1759738879,CA +1759738880,1759739023,US +1759739024,1759739055,CA 1759739056,1759739103,US 1759739104,1759739135,CA 1759739136,1759739391,US @@ -63989,9 +65805,9 @@ 1759739904,1759739999,CA 1759740000,1759740015,US 1759740016,1759740023,CA -1759740024,1759740095,US -1759740096,1759740255,CA -1759740256,1759740351,US +1759740024,1759740031,US +1759740032,1759740287,CA +1759740288,1759740351,US 1759740352,1759740927,CA 1759740928,1759741439,US 1759741440,1759742929,CA @@ -63999,8 +65815,8 @@ 1759742931,1759742939,CA 1759742940,1759742942,US 1759742943,1759743999,CA -1759744000,1759744511,US -1759744512,1759744767,CA +1759744000,1759744255,US +1759744256,1759744767,CA 1759744768,1759745023,US 1759745024,1759745279,CA 1759745280,1759745535,US @@ -64015,9 +65831,7 @@ 1759747392,1759747407,US 1759747408,1759747415,CA 1759747416,1759747455,US -1759747456,1759747487,CA -1759747488,1759747519,US -1759747520,1759747647,CA +1759747456,1759747647,CA 1759747648,1759747663,US 1759747664,1759747671,CA 1759747672,1759747927,US @@ -64031,15 +65845,15 @@ 1759748408,1759748431,US 1759748432,1759748439,CA 1759748440,1759748479,US -1759748480,1759748511,CA -1759748512,1759748543,US -1759748544,1759748607,CA +1759748480,1759748607,CA 1759748608,1759748639,US 1759748640,1759748647,CA 1759748648,1759748655,SE 1759748656,1759748671,US 1759748672,1759748687,CA -1759748688,1759748863,US +1759748688,1759748719,US +1759748720,1759748735,CA +1759748736,1759748863,US 1759748864,1759749183,CA 1759749184,1759749199,US 1759749200,1759749207,CA @@ -64048,50 +65862,76 @@ 1759749440,1759749455,US 1759749456,1759749463,CA 1759749464,1759749567,US -1759749568,1759749631,CA -1759749632,1759749919,US +1759749568,1759749823,CA +1759749824,1759749887,US +1759749888,1759749903,CA +1759749904,1759749919,US 1759749920,1759749935,CA 1759749936,1759749975,US 1759749976,1759749983,CA -1759749984,1759750223,US +1759749984,1759750191,US +1759750192,1759750207,CA +1759750208,1759750223,US 1759750224,1759750239,CA 1759750240,1759750335,US 1759750336,1759750351,CA -1759750352,1759750423,US -1759750424,1759750431,CA +1759750352,1759750367,US +1759750368,1759750399,CA +1759750400,1759750415,US +1759750416,1759750431,CA 1759750432,1759750463,US 1759750464,1759750479,CA -1759750480,1759750655,US +1759750480,1759750495,US +1759750496,1759750511,CA +1759750512,1759750655,US 1759750656,1759750719,CA -1759750720,1759750847,US +1759750720,1759750799,US +1759750800,1759750807,CA +1759750808,1759750847,US 1759750848,1759750911,CA 1759750912,1759751679,US -1759751680,1759751811,CA -1759751812,1759751839,US -1759751840,1759751986,CA -1759751987,1759751987,US -1759751988,1759752191,CA +1759751680,1759751823,CA +1759751824,1759751839,US +1759751840,1759752191,CA 1759752192,1759752447,US 1759752448,1759752543,CA 1759752544,1759752639,US -1759752640,1759752959,CA -1759752960,1759753047,US +1759752640,1759753023,CA +1759753024,1759753047,US 1759753048,1759753055,CA -1759753056,1759753215,US +1759753056,1759753087,US +1759753088,1759753103,CA +1759753104,1759753135,US +1759753136,1759753151,CA +1759753152,1759753215,US 1759753216,1759754239,CA -1759754240,1759754719,US +1759754240,1759754495,US +1759754496,1759754639,CA +1759754640,1759754719,US 1759754720,1759754735,CA -1759754736,1759755263,US +1759754736,1759755007,US +1759755008,1759755151,CA +1759755152,1759755167,US +1759755168,1759755199,CA +1759755200,1759755263,US 1759755264,1759755519,CA -1759755520,1759755935,US +1759755520,1759755647,US +1759755648,1759755663,CA +1759755664,1759755935,US 1759755936,1759755943,CA -1759755944,1759756239,US +1759755944,1759755967,US +1759755968,1759755983,CA +1759755984,1759755999,US +1759756000,1759756031,CA +1759756032,1759756239,US 1759756240,1759756247,CA 1759756248,1759764479,US -1759764480,1759770623,CA -1759770624,1759770757,US -1759770758,1759770758,NL -1759770759,1760034815,US +1759764480,1759766527,CA +1759766528,1759766783,US +1759766784,1759767039,CY +1759767040,1759768575,US +1759768576,1759770623,CA +1759770624,1760034815,US 1760038912,1760044031,US 1760044032,1760044159,SE 1760044160,1760044319,US @@ -64099,7 +65939,7 @@ 1760044416,1760047103,US 1760047104,1760051199,CA 1760051200,1760086015,US -1760086016,1760088063,GB +1760086016,1760088063,CA 1760088064,1760116735,US 1760116736,1760133119,CA 1760133120,1760165887,US @@ -64167,7 +66007,7 @@ 1760818432,1760818687,MX 1760818688,1760818943,AW 1760818944,1760819199,US -1760819200,1760819455,RO +1760819200,1760819455,DE 1760819456,1760819711,AM 1760819712,1760819967,MA 1760819968,1760820223,US @@ -64187,8 +66027,8 @@ 1760870400,1760871423,US 1760871424,1760872447,CA 1760872448,1760878591,US -1760878592,1760882687,JM -1760882688,1760883711,US +1760878592,1760880639,JM +1760880640,1760883711,US 1760883712,1760884735,CA 1760884736,1760886783,US 1760886784,1760888831,CA @@ -64206,7 +66046,8 @@ 1760904192,1760909311,US 1760909312,1760910335,VG 1760910336,1760911359,GD -1760911360,1760915455,US +1760911360,1760913407,CA +1760913408,1760915455,US 1760915456,1760917503,MQ 1760917504,1760918679,US 1760918680,1760918687,NL @@ -64256,7 +66097,9 @@ 1761124352,1761128447,GB 1761128448,1761132543,US 1761132544,1761136639,NL -1761136640,1761181695,US +1761136640,1761144831,US +1761144832,1761148927,DE +1761148928,1761181695,US 1761181696,1761181951,MX 1761181952,1761182207,US 1761182208,1761182463,GB @@ -64328,8 +66171,7 @@ 1761257984,1761258239,GB 1761258240,1761258495,SI 1761258496,1761258751,IT -1761258752,1761259007,LU -1761259008,1761259519,US +1761258752,1761259519,US 1761259520,1761259775,KH 1761259776,1761260031,AZ 1761260032,1761260287,ET @@ -64383,20 +66225,23 @@ 1761508352,1761509375,VG 1761509376,1761515519,US 1761515520,1761517567,CA -1761517568,1761519615,US -1761519616,1761521151,PR -1761521152,1761522687,US +1761517568,1761522687,US 1761522688,1761523711,CA 1761523712,1761526783,US 1761526784,1761527807,CA 1761527808,1761544191,US 1761544192,1761546239,CA -1761546240,1761554431,US +1761546240,1761550335,US +1761550336,1761550591,CA +1761550592,1761554431,US 1761554432,1761555455,CA -1761555456,1761581055,US +1761555456,1761558527,US +1761558528,1761560575,CA +1761560576,1761581055,US 1761581056,1761583103,CA 1761583104,1761587199,US -1761587200,1761588223,AI +1761587200,1761587455,MS +1761587456,1761588223,AI 1761588224,1761589247,PR 1761589248,1761595391,US 1761595392,1761596415,CA @@ -64465,9 +66310,18 @@ 1763352576,1763385343,MU 1763385344,1763393535,AE 1763393536,1763401727,GB -1763401728,1763402239,ZA +1763401728,1763402239,MU 1763402240,1763402751,KE -1763402752,1763429887,ZA +1763402752,1763405823,MU +1763405824,1763407871,ZA +1763407872,1763411967,MU +1763411968,1763414015,ZA +1763414016,1763416063,MU +1763416064,1763418111,ZA +1763418112,1763420159,MU +1763420160,1763424255,ZA +1763424256,1763426303,MU +1763426304,1763429887,ZA 1763429888,1763438591,KE 1763438592,1763442687,UG 1763442688,1763446783,RW @@ -64480,14 +66334,16 @@ 1763483648,1763524607,MU 1763524608,1763532799,ZA 1763532800,1763573759,MU -1763573760,1763581951,ZA +1763573760,1763577855,US +1763577856,1763581951,ZA 1763581952,1763598335,MU 1763598336,1763602431,IN 1763602432,1763606527,NL 1763606528,1763610623,SE 1763610624,1763614719,DE 1763614720,1763631103,MU -1763631104,1763639295,ZA +1763631104,1763635199,AE +1763635200,1763639295,ZA 1763639296,1763657727,MU 1763657728,1763659775,ZA 1763659776,1763661823,MU @@ -64609,7 +66465,7 @@ 1805021952,1805022207,TH 1805022208,1805022463,US 1805022464,1805022719,DE -1805022720,1805024767,US +1805022720,1805024767,HK 1805024768,1805025279,KR 1805025280,1805033983,US 1805033984,1805035007,TR @@ -64632,23 +66488,17 @@ 1805150720,1805156351,US 1805156352,1805156415,CA 1805156416,1805156431,US -1805156432,1805156479,CA -1805156480,1805156487,FI -1805156488,1805156511,CA +1805156432,1805156511,CA 1805156512,1805156519,US 1805156520,1805156599,CA -1805156600,1805156671,US -1805156672,1805156679,CA -1805156680,1805156703,US -1805156704,1805156719,CA +1805156600,1805156607,US +1805156608,1805156719,CA 1805156720,1805156815,US 1805156816,1805156823,CA 1805156824,1805156863,US 1805156864,1805156871,CA 1805156872,1805156879,US -1805156880,1805156887,CA -1805156888,1805156895,US -1805156896,1805156911,CA +1805156880,1805156911,CA 1805156912,1805156919,US 1805156920,1805156927,CA 1805156928,1805156935,US @@ -64656,59 +66506,47 @@ 1805156952,1805156959,US 1805156960,1805156999,CA 1805157000,1805157015,US -1805157016,1805157023,CA -1805157024,1805157031,US -1805157032,1805157039,CA -1805157040,1805157047,US -1805157048,1805157055,CA -1805157056,1805157063,US -1805157064,1805157079,CA +1805157016,1805157079,CA 1805157080,1805157095,US 1805157096,1805157159,CA -1805157160,1805157375,US -1805157376,1805157411,CA -1805157412,1805157419,US -1805157420,1805157547,CA +1805157160,1805157279,US +1805157280,1805157311,CA +1805157312,1805157375,US +1805157376,1805157547,CA 1805157548,1805157551,US -1805157552,1805157631,CA -1805157632,1805157887,US -1805157888,1805157951,CA +1805157552,1805157951,CA 1805157952,1805158031,US 1805158032,1805158047,CA 1805158048,1805158143,US 1805158144,1805158399,CA 1805158400,1805158655,US -1805158656,1805158679,CA -1805158680,1805158683,US -1805158684,1805158787,CA -1805158788,1805158791,US -1805158792,1805158823,CA +1805158656,1805158823,CA 1805158824,1805158831,US -1805158832,1805158855,CA -1805158856,1805158887,US +1805158832,1805158879,CA +1805158880,1805158887,US 1805158888,1805158895,CA -1805158896,1805159047,US -1805159048,1805159055,CA +1805158896,1805158903,US +1805158904,1805158951,CA +1805158952,1805158959,US +1805158960,1805158975,CA +1805158976,1805158991,US +1805158992,1805159015,CA +1805159016,1805159039,US +1805159040,1805159055,CA 1805159056,1805159071,US -1805159072,1805159087,CA -1805159088,1805159095,US -1805159096,1805159119,CA +1805159072,1805159119,CA 1805159120,1805159127,US 1805159128,1805159167,CA 1805159168,1805159175,US 1805159176,1805159191,CA 1805159192,1805159199,US -1805159200,1805159247,CA -1805159248,1805159279,US -1805159280,1805159327,CA -1805159328,1805159335,US -1805159336,1805159359,CA +1805159200,1805159263,CA +1805159264,1805159279,US +1805159280,1805159359,CA 1805159360,1805159423,US 1805159424,1805160191,CA 1805160192,1805160215,US -1805160216,1805160239,CA -1805160240,1805160247,US -1805160248,1805160271,CA +1805160216,1805160271,CA 1805160272,1805160279,US 1805160280,1805160295,CA 1805160296,1805160303,US @@ -64719,82 +66557,106 @@ 1805160352,1805160359,CA 1805160360,1805160367,US 1805160368,1805160407,CA -1805160408,1805160439,US +1805160408,1805160415,US +1805160416,1805160423,CA +1805160424,1805160439,US 1805160440,1805160447,CA -1805160448,1805160895,US +1805160448,1805160703,US +1805160704,1805160719,CA +1805160720,1805160735,US +1805160736,1805160767,CA +1805160768,1805160783,US +1805160784,1805160799,CA +1805160800,1805160895,US 1805160896,1805160911,CA 1805160912,1805160943,US -1805160944,1805160951,CA -1805160952,1805161215,US +1805160944,1805160959,CA +1805160960,1805161215,US 1805161216,1805161471,CA 1805161472,1805161727,US 1805161728,1805161983,CA -1805161984,1805162495,US +1805161984,1805162239,US +1805162240,1805162255,CA +1805162256,1805162495,US 1805162496,1805163519,CA -1805163520,1805164031,US -1805164032,1805164047,CA -1805164048,1805164055,US -1805164056,1805164071,CA +1805163520,1805163647,US +1805163648,1805163775,CA +1805163776,1805164031,US +1805164032,1805164071,CA 1805164072,1805164079,US 1805164080,1805164111,CA 1805164112,1805164127,US 1805164128,1805164159,CA -1805164160,1805164287,US -1805164288,1805164335,CA -1805164336,1805164343,US -1805164344,1805164351,CA -1805164352,1805164799,US -1805164800,1805164839,CA -1805164840,1805164847,FI -1805164848,1805164863,CA -1805164864,1805165055,US +1805164160,1805164223,US +1805164224,1805164239,CA +1805164240,1805164287,US +1805164288,1805164351,CA +1805164352,1805164367,US +1805164368,1805164383,CA +1805164384,1805164799,US +1805164800,1805164863,CA +1805164864,1805164879,US +1805164880,1805164895,CA +1805164896,1805164975,US +1805164976,1805164991,CA +1805164992,1805165055,US 1805165056,1805165311,CA 1805165312,1805165439,US 1805165440,1805165455,CA -1805165456,1805166399,US -1805166400,1805166463,CA +1805165456,1805166335,US +1805166336,1805166463,CA 1805166464,1805166591,US 1805166592,1805166687,CA 1805166688,1805166703,US -1805166704,1805166711,CA -1805166712,1805166719,US -1805166720,1805166751,CA -1805166752,1805167103,US +1805166704,1805166751,CA +1805166752,1805166847,US +1805166848,1805167103,CA 1805167104,1805167359,FR -1805167360,1805167455,US -1805167456,1805167487,CA -1805167488,1805167583,US +1805167360,1805167439,CA +1805167440,1805167455,US +1805167456,1805167519,CA +1805167520,1805167583,US 1805167584,1805167615,CA -1805167616,1805167839,US +1805167616,1805167743,US +1805167744,1805167823,CA +1805167824,1805167839,US 1805167840,1805167887,CA -1805167888,1805168767,US -1805168768,1805168783,CA +1805167888,1805167903,US +1805167904,1805167935,CA +1805167936,1805168223,US +1805168224,1805168255,CA +1805168256,1805168671,US +1805168672,1805168703,CA +1805168704,1805168751,US +1805168752,1805168783,CA 1805168784,1805168847,US 1805168848,1805168855,CA 1805168856,1805168863,SE 1805168864,1805168895,CA -1805168896,1805169983,US -1805169984,1805170047,CA -1805170048,1805170111,US -1805170112,1805170303,CA -1805170304,1805170311,US -1805170312,1805170403,CA +1805168896,1805169151,US +1805169152,1805169183,CA +1805169184,1805169199,US +1805169200,1805169215,CA +1805169216,1805169663,US +1805169664,1805170063,CA +1805170064,1805170079,US +1805170080,1805170403,CA 1805170404,1805170407,US 1805170408,1805170687,CA 1805170688,1805171199,US 1805171200,1805171239,CA 1805171240,1805171247,US -1805171248,1805171279,CA -1805171280,1805171287,US -1805171288,1805171303,CA -1805171304,1805171327,US +1805171248,1805171255,CA +1805171256,1805171263,BH +1805171264,1805171311,CA +1805171312,1805171327,US 1805171328,1805171343,CA 1805171344,1805171351,US -1805171352,1805171359,CA -1805171360,1805171391,US -1805171392,1805171455,CA -1805171456,1805171463,US -1805171464,1805171551,CA +1805171352,1805171367,CA +1805171368,1805171375,US +1805171376,1805171383,CA +1805171384,1805171391,US +1805171392,1805171551,CA 1805171552,1805171559,US 1805171560,1805171583,CA 1805171584,1805171591,US @@ -64803,51 +66665,73 @@ 1805171664,1805171687,CA 1805171688,1805171703,US 1805171704,1805171711,CA -1805171712,1805171775,US -1805171776,1805171807,CA -1805171808,1805171951,US +1805171712,1805171759,US +1805171760,1805171839,CA +1805171840,1805171887,US +1805171888,1805171903,CA +1805171904,1805171951,US 1805171952,1805171967,CA 1805171968,1805172047,US -1805172048,1805172055,CA -1805172056,1805172191,US +1805172048,1805172095,CA +1805172096,1805172159,US +1805172160,1805172175,CA +1805172176,1805172191,US 1805172192,1805172223,CA -1805172224,1805173079,US +1805172224,1805172735,US +1805172736,1805173007,CA +1805173008,1805173039,US +1805173040,1805173055,CA +1805173056,1805173079,US 1805173080,1805173087,CA 1805173088,1805173247,US -1805173248,1805173503,CA -1805173504,1805173535,US -1805173536,1805173567,CA -1805173568,1805173759,US +1805173248,1805173567,CA +1805173568,1805173599,US +1805173600,1805173615,CA +1805173616,1805173759,US 1805173760,1805173791,CA -1805173792,1805174303,US +1805173792,1805174271,US +1805174272,1805174287,CA +1805174288,1805174303,US 1805174304,1805174335,CA 1805174336,1805174527,US 1805174528,1805174783,CA -1805174784,1805174831,US -1805174832,1805174847,CA -1805174848,1805174911,US +1805174784,1805174815,US +1805174816,1805174823,CA +1805174824,1805174831,US +1805174832,1805174863,CA +1805174864,1805174911,US 1805174912,1805174943,CA 1805174944,1805175103,US 1805175104,1805175119,CA -1805175120,1805176063,US -1805176064,1805176319,CA -1805176320,1805176831,US -1805176832,1805177087,CA +1805175120,1805175159,US +1805175160,1805175167,CA +1805175168,1805175807,US +1805175808,1805176319,CA +1805176320,1805176575,US +1805176576,1805177087,CA 1805177088,1805177375,US -1805177376,1805177407,CA -1805177408,1805177471,US +1805177376,1805177423,CA +1805177424,1805177439,US +1805177440,1805177455,CA +1805177456,1805177471,US 1805177472,1805177599,CA -1805177600,1805178111,US -1805178112,1805178367,CA +1805177600,1805177855,US +1805177856,1805178367,CA 1805178368,1805178623,US -1805178624,1805179135,CA -1805179136,1805179647,US +1805178624,1805179391,CA +1805179392,1805179647,US 1805179648,1805179903,CA -1805179904,1805181183,US -1805181184,1805181695,CA -1805181696,1805183135,US -1805183136,1805183151,CA -1805183152,1805183743,US +1805179904,1805180927,US +1805180928,1805181695,CA +1805181696,1805182207,US +1805182208,1805182463,CA +1805182464,1805183039,US +1805183040,1805183071,CA +1805183072,1805183135,US +1805183136,1805183167,CA +1805183168,1805183199,US +1805183200,1805183231,CA +1805183232,1805183743,US 1805183744,1805184063,CA 1805184064,1805184127,US 1805184128,1805184159,CA @@ -64855,84 +66739,115 @@ 1805184192,1805184511,CA 1805184512,1805184527,US 1805184528,1805184535,CA -1805184536,1805184607,US +1805184536,1805184543,US +1805184544,1805184575,CA +1805184576,1805184607,US 1805184608,1805184639,CA 1805184640,1805184687,US 1805184688,1805184703,CA 1805184704,1805184735,US 1805184736,1805184783,CA -1805184784,1805184863,US -1805184864,1805184879,CA -1805184880,1805185039,US -1805185040,1805185055,CA -1805185056,1805185063,US -1805185064,1805185071,CA -1805185072,1805185151,US +1805184784,1805184799,US +1805184800,1805184831,CA +1805184832,1805184863,US +1805184864,1805184895,CA +1805184896,1805184927,US +1805184928,1805184943,CA +1805184944,1805185023,US +1805185024,1805185071,CA +1805185072,1805185103,US +1805185104,1805185119,CA +1805185120,1805185151,US 1805185152,1805185159,CA 1805185160,1805185167,FI 1805185168,1805185215,CA -1805185216,1805185279,US -1805185280,1805185295,CA -1805185296,1805185303,US -1805185304,1805185311,CA -1805185312,1805185327,US -1805185328,1805185343,CA -1805185344,1805185407,US +1805185216,1805185231,US +1805185232,1805185247,CA +1805185248,1805185279,US +1805185280,1805185343,CA +1805185344,1805185359,US +1805185360,1805185375,CA +1805185376,1805185407,US 1805185408,1805185423,CA -1805185424,1805185647,US +1805185424,1805185439,US +1805185440,1805185471,CA +1805185472,1805185519,US +1805185520,1805185535,CA +1805185536,1805185599,US +1805185600,1805185615,CA +1805185616,1805185647,US 1805185648,1805185655,CA 1805185656,1805185663,US -1805185664,1805185671,CA -1805185672,1805185951,US -1805185952,1805185959,CA +1805185664,1805185679,CA +1805185680,1805185759,US +1805185760,1805185775,CA +1805185776,1805185919,US +1805185920,1805185959,CA 1805185960,1805185967,NO -1805185968,1805186095,US +1805185968,1805185999,US +1805186000,1805186063,CA +1805186064,1805186095,US 1805186096,1805186127,CA 1805186128,1805186143,US 1805186144,1805186239,CA -1805186240,1805186335,US +1805186240,1805186287,US +1805186288,1805186319,CA +1805186320,1805186335,US 1805186336,1805186351,CA -1805186352,1805186551,US +1805186352,1805186495,US +1805186496,1805186511,CA +1805186512,1805186551,US 1805186552,1805186575,CA -1805186576,1805186879,US +1805186576,1805186687,US +1805186688,1805186703,CA +1805186704,1805186783,US +1805186784,1805186799,CA +1805186800,1805186879,US 1805186880,1805186911,CA 1805186912,1805186943,US 1805186944,1805186959,CA -1805186960,1805186999,US +1805186960,1805186975,US +1805186976,1805186991,CA +1805186992,1805186999,US 1805187000,1805187023,CA -1805187024,1805187103,US -1805187104,1805187111,CA +1805187024,1805187071,US +1805187072,1805187111,CA 1805187112,1805187119,NO 1805187120,1805187127,CA -1805187128,1805187359,US -1805187360,1805187391,CA +1805187128,1805187327,US +1805187328,1805187391,CA 1805187392,1805187455,US -1805187456,1805187487,CA -1805187488,1805187551,US +1805187456,1805187503,CA +1805187504,1805187551,US 1805187552,1805187567,CA 1805187568,1805187871,US 1805187872,1805187887,CA 1805187888,1805188175,US -1805188176,1805188223,CA -1805188224,1805188287,US +1805188176,1805188255,CA +1805188256,1805188287,US 1805188288,1805188295,CA 1805188296,1805188367,US 1805188368,1805188375,CA 1805188376,1805188383,FI -1805188384,1805188415,CA -1805188416,1805188479,US +1805188384,1805188447,CA +1805188448,1805188479,US 1805188480,1805188511,CA -1805188512,1805188639,US -1805188640,1805188647,CA -1805188648,1805188703,US -1805188704,1805188735,CA +1805188512,1805188591,US +1805188592,1805188647,CA +1805188648,1805188671,US +1805188672,1805188735,CA 1805188736,1805188751,US 1805188752,1805188767,CA 1805188768,1805188863,US 1805188864,1805188879,CA 1805188880,1805188911,US 1805188912,1805188927,CA -1805188928,1805189119,US +1805188928,1805189039,US +1805189040,1805189055,CA +1805189056,1805189071,US +1805189072,1805189087,CA +1805189088,1805189103,US +1805189104,1805189119,CA 1805189120,1805189887,JP 1805189888,1805190399,US 1805190400,1805190655,ES @@ -65101,10 +67016,8 @@ 1806132172,1806135130,US 1806135131,1806135132,IN 1806135133,1806135295,US -1806135296,1806135551,GB -1806135552,1806135583,US -1806135584,1806135585,GB -1806135586,1806168831,US +1806135296,1806135807,GB +1806135808,1806168831,US 1806168832,1806169087,CA 1806169088,1806170111,US 1806170112,1806172159,CA @@ -65268,11 +67181,14 @@ 1816068096,1816133631,CA 1816133632,1819976622,US 1819976623,1819976623,RE -1819976624,1822429183,US +1819976624,1820327935,US +1820327936,1820545695,IE +1820545696,1820545696,US +1820545697,1820852223,IE +1820852224,1822429183,US 1822429184,1822433279,CA 1822433280,1822445567,US -1822445568,1822451199,CA -1822451200,1822451455,US +1822445568,1822451455,CA 1822451456,1822451711,BB 1822451712,1822457855,US 1822457856,1822461951,JP @@ -65333,8 +67249,7 @@ 1823179200,1823179263,DE 1823179264,1823180287,US 1823180288,1823180543,AU -1823180544,1823180799,US -1823180800,1823181055,BR +1823180544,1823181055,US 1823181056,1823181311,DK 1823181312,1823181567,BR 1823181568,1823181823,FR @@ -65343,16 +67258,20 @@ 1823182336,1823182591,JP 1823182592,1823182847,HK 1823182848,1823183103,IN -1823183104,1823184895,ZA -1823184896,1823186687,US +1823183104,1823183359,ZA +1823183360,1823186687,US 1823186688,1823186943,IN 1823186944,1823211519,US 1823211520,1823342591,CA 1823342592,1823346687,US 1823346688,1823350783,CA -1823350784,1823358799,US +1823350784,1823358495,US +1823358496,1823358503,GB +1823358504,1823358799,US 1823358800,1823358807,GB -1823358808,1823375359,US +1823358808,1823358895,US +1823358896,1823358911,GB +1823358912,1823375359,US 1823375360,1823379455,CA 1823379456,1823383551,US 1823383552,1823387647,CA @@ -65361,59 +67280,58 @@ 1823423488,1823428607,US 1823428608,1823432703,CA 1823432704,1823440895,US -1823440896,1823444991,CA -1823444992,1823465471,US +1823440896,1823442943,CA +1823442944,1823465471,US 1823465472,1823469567,CA 1823469568,1823735807,US 1823735808,1823866879,CA 1823866880,1824130623,US 1824130624,1824130655,CN 1824130656,1828716543,US -1828716544,1830639615,FR -1830639616,1830639647,MQ -1830639648,1830813695,FR +1828716544,1830813695,FR 1830813696,1831337983,NL 1831337984,1831338284,DE 1831338285,1831338285,CH 1831338286,1831862271,DE 1831862272,1832124415,PT 1832124416,1832386559,IT -1832386560,1832399871,DK -1832399872,1832400127,SE -1832400128,1832414591,DK -1832414592,1832414719,SE -1832414720,1832473599,DK -1832473600,1832473727,SE -1832473728,1832501503,DK -1832501504,1832501759,SE -1832501760,1832510463,DK -1832510464,1832510719,SE -1832510720,1832550399,DK -1832550400,1832558591,SE -1832558592,1832585727,DK -1832585728,1832585983,SE -1832585984,1832595327,DK -1832595328,1832595455,SE -1832595456,1832601599,DK -1832601600,1832601855,SE -1832601856,1832648703,DK +1832386560,1832393215,DK +1832393216,1832393471,SE +1832393472,1832396031,DK +1832396032,1832396287,SE +1832396288,1832414463,DK +1832414464,1832414719,SE +1832414720,1832554495,DK +1832554496,1832556543,SE +1832556544,1832630783,DK +1832630784,1832631295,SE +1832631296,1832648703,DK 1832648704,1832681471,HR 1832681472,1832714239,RU 1832714240,1832747007,HU 1832747008,1832779775,RU -1832779776,1832783871,MQ -1832783872,1832785919,GP -1832785920,1832787967,GF -1832787968,1832795391,GP -1832795392,1832795647,GF -1832795648,1832797183,GP -1832797184,1832797503,MQ -1832797504,1832797535,GF -1832797536,1832797567,MQ -1832797568,1832797695,GP -1832797696,1832798207,MQ +1832779776,1832781311,MQ +1832781312,1832781823,FR +1832781824,1832783871,MQ +1832783872,1832784639,GP +1832784640,1832784831,FR +1832784832,1832785919,GP +1832785920,1832786943,FR +1832786944,1832787967,GF +1832787968,1832794111,FR +1832794112,1832795135,GP +1832795136,1832795647,GF +1832795648,1832797439,FR +1832797440,1832797471,MQ +1832797472,1832797503,GP +1832797504,1832797567,GF +1832797568,1832797695,MQ +1832797696,1832798207,FR 1832798208,1832800255,GP -1832800256,1832806399,MQ +1832800256,1832800511,FR +1832800512,1832801791,MQ +1832801792,1832802047,FR +1832802048,1832806399,MQ 1832806400,1832808447,GP 1832808448,1832812543,FR 1832812544,1832845311,RU @@ -65425,8 +67343,7 @@ 1833179136,1833181183,IT 1833181184,1833183231,GB 1833183232,1833185279,UA -1833185280,1833187327,DE -1833187328,1833189375,NL +1833185280,1833189375,DE 1833189376,1833191423,GB 1833191424,1833193471,RU 1833193472,1833195519,ES @@ -65446,7 +67363,10 @@ 1833220096,1833222143,RU 1833222144,1833224191,GB 1833224192,1833228287,RU -1833228288,1833232383,DE +1833228288,1833230335,DE +1833230336,1833231967,US +1833231968,1833231999,DE +1833232000,1833232383,US 1833232384,1833234431,TJ 1833234432,1833236479,GB 1833236480,1833238527,FI @@ -65483,9 +67403,7 @@ 1833308160,1833310207,FR 1833310208,1833312255,RU 1833312256,1833314303,ES -1833314304,1833315963,IM -1833315964,1833315967,GB -1833315968,1833316351,IM +1833314304,1833316351,IM 1833316352,1833318399,DK 1833318400,1833320447,GB 1833320960,1833321215,IQ @@ -65507,8 +67425,7 @@ 1833351168,1833353215,RU 1833353216,1833355263,DE 1833355264,1833357311,IT -1833357312,1833357823,GB -1833357824,1833357903,IE +1833357312,1833357903,IE 1833357904,1833358335,GB 1833358336,1833359359,IE 1833359360,1833361407,DE @@ -65565,7 +67482,8 @@ 1833468672,1833471999,CH 1833472000,1833473023,NL 1833474048,1833475071,UA -1833476096,1833484287,NL +1833476096,1833480191,NO +1833480192,1833484287,NL 1833484288,1833488383,IR 1833488384,1833492479,GB 1833492480,1833504767,RU @@ -65578,7 +67496,8 @@ 1833529344,1833533439,GB 1833533440,1833534463,ES 1833534464,1833535487,DE -1833535488,1833537535,RU +1833535488,1833536511,RU +1833536512,1833537535,DE 1833537536,1833541631,AT 1833541632,1833541887,GB 1833541888,1833542143,IN @@ -65633,22 +67552,20 @@ 1833684992,1833689087,DE 1833689088,1833693183,FI 1833693184,1833697279,RU -1833697280,1833728383,IE -1833728384,1833728511,GB -1833728512,1833880831,IE -1833880832,1833880895,GB -1833880896,1833959423,IE +1833697280,1833959423,IE 1833959424,1834090495,CZ 1834090496,1834221567,SA 1834221568,1834352639,DE 1834352640,1834483711,UA 1834483712,1834614783,BE 1834614784,1834745855,DE -1834745856,1834786815,RS +1834745856,1834759167,RS +1834759168,1834760191,XK +1834760192,1834775039,RS +1834775040,1834775551,XK +1834775552,1834786815,RS 1834786816,1834787327,XK -1834787328,1834801151,RS -1834801152,1834802175,XK -1834802176,1834817023,RS +1834787328,1834817023,RS 1834817024,1834817535,XK 1834817536,1834876927,RS 1834876928,1834885119,RU @@ -65663,19 +67580,17 @@ 1834913792,1834917887,US 1834917888,1834918911,DE 1834918912,1834919935,IR -1834919936,1834920959,GB +1834919936,1834920191,JP +1834920192,1834920447,GB +1834920448,1834920959,JP 1834920960,1834921215,US 1834921216,1834921471,TR 1834921472,1834921727,IN -1834921728,1834921983,CN -1834921984,1834930431,RU +1834921728,1834930431,RU 1834930432,1834930687,EE 1834930688,1834931199,RU 1834931200,1834932223,TR -1834932224,1834933247,RU -1834933248,1834933503,US -1834933504,1834933759,TR -1834933760,1834934015,IN +1834932224,1834934015,RU 1834934016,1834934271,CN 1834934272,1834938367,RS 1834938368,1834944511,PL @@ -65708,8 +67623,7 @@ 1835565056,1835573247,AL 1835573248,1835581439,UA 1835581440,1835589631,BG -1835589632,1835590015,SK -1835590016,1835597823,IT +1835589632,1835597823,IT 1835597824,1835606015,HU 1835606016,1835614207,CZ 1835614208,1835622399,RU @@ -65722,7 +67636,11 @@ 1835638784,1835646975,RU 1835646976,1835655167,BA 1835655168,1835663359,CY -1835663360,1835671551,UA +1835663360,1835664383,UA +1835664384,1835665407,PL +1835665408,1835668479,UA +1835668480,1835669503,RU +1835669504,1835671551,UA 1835671552,1835679743,CH 1835679744,1835687935,FR 1835687936,1835696127,IE @@ -65964,13 +67882,19 @@ 1836679168,1836680703,BG 1836680704,1836681215,MK 1836681216,1836687359,BG -1836687360,1836689151,MK -1836689152,1836711935,BG +1836687360,1836689407,MK +1836689408,1836711935,BG 1836711936,1836728319,UA 1836728320,1836744703,RS -1836744704,1836751359,RE -1836751360,1836751615,FR -1836751616,1836761087,RE +1836744704,1836753023,RE +1836753024,1836753111,FR +1836753112,1836753112,RE +1836753113,1836753151,FR +1836753152,1836756991,RE +1836756992,1836758015,FR +1836758016,1836759807,RE +1836759808,1836760063,FR +1836760064,1836761087,RE 1836761088,1836777471,IR 1836777472,1836793855,SI 1836793856,1836794567,GB @@ -66078,7 +68002,9 @@ 1839202304,1839235071,BG 1839235072,1839267839,IL 1839267840,1839300607,RU -1839300608,1839333375,BH +1839300608,1839305599,BH +1839305600,1839305727,IT +1839305728,1839333375,BH 1839333376,1839366143,UA 1839366144,1839398911,IR 1839398912,1839431679,NO @@ -66159,7 +68085,9 @@ 1841602560,1841603583,AL 1841603584,1841604607,RU 1841604608,1841605631,RO -1841605632,1841606655,RU +1841605632,1841606143,RU +1841606144,1841606399,EE +1841606400,1841606655,GB 1841606656,1841610751,UA 1841610752,1841618943,RU 1841618944,1841627135,PL @@ -66287,9 +68215,7 @@ 1842173952,1842175999,RO 1842176000,1842178047,FI 1842178048,1842180095,IT -1842180096,1842180607,IQ -1842180608,1842181119,IT -1842181120,1842182143,IQ +1842180096,1842182143,IQ 1842182144,1842184191,LV 1842184192,1842186239,DE 1842186240,1842188287,ES @@ -66317,6 +68243,13 @@ 1842249728,1842257919,RU 1842257920,1842266111,NL 1842266112,1842274303,PL +1842274304,1842275327,NL +1842275328,1842276351,FR +1842276352,1842277375,CH +1842277376,1842279423,DE +1842279424,1842280447,HK +1842280448,1842281471,LT +1842281472,1842282495,IR 1842282496,1842286591,RU 1842286592,1842290687,GB 1842290688,1842294783,RS @@ -66545,7 +68478,7 @@ 1844196864,1844197119,IN 1844197120,1844197375,CN 1844197376,1844198399,RU -1844198400,1844199423,DE +1844198400,1844199423,US 1844199424,1844203519,RU 1844203520,1844207615,NL 1844207616,1844211711,RU @@ -66618,15 +68551,16 @@ 1844969472,1844971519,RU 1844971520,1844971775,KZ 1844971776,1844972031,GB -1844972032,1845006335,RU +1844972032,1844980479,RU +1844980480,1844980735,CZ +1844980736,1845006335,RU 1845006336,1845007780,KZ 1845007781,1845007781,LV 1845007782,1845010431,KZ -1845010432,1845020671,RU -1845020672,1845021695,UA -1845021696,1845022719,RU +1845010432,1845022719,RU 1845022720,1845023743,KZ -1845023744,1845024255,RU +1845023744,1845023999,RU +1845024000,1845024255,UA 1845024256,1845024767,GB 1845024768,1845025535,RU 1845025536,1845025791,KZ @@ -66694,9 +68628,7 @@ 1848401920,1848404991,IN 1848404992,1848406015,BD 1848406016,1848410111,NP -1848410112,1848411135,JP -1848411136,1848411391,PH -1848411392,1848412415,JP +1848410112,1848412415,JP 1848412416,1848412671,PH 1848412672,1848413439,JP 1848413440,1848413951,PH @@ -66722,9 +68654,7 @@ 1848832000,1848836095,JP 1848836096,1849032703,CN 1849032704,1849065471,JP -1849065472,1849092607,PH -1849092608,1849092863,US -1849092864,1849163775,PH +1849065472,1849163775,PH 1849163776,1849819135,CN 1849819136,1849950207,JP 1849950208,1850212351,KR @@ -66802,7 +68732,8 @@ 1856847872,1856864255,CN 1856864256,1856872447,AU 1856872448,1856876543,NZ -1856876544,1856880639,IN +1856876544,1856880383,IN +1856880384,1856880639,SG 1856880640,1856888831,CN 1856888832,1856892927,AU 1856892928,1856897023,JP @@ -66836,10 +68767,12 @@ 1860831232,1860832255,DE 1860832256,1860833279,JP 1860833280,1860834303,US -1860834304,1860848639,SG +1860834304,1860835327,SG +1860835328,1860836351,US +1860836352,1860837375,DE +1860837376,1860848639,SG 1860848640,1860849663,IN -1860849664,1860893695,SG -1860893696,1860894719,JP +1860849664,1860894719,SG 1860894720,1860951039,IN 1860951040,1860952063,KH 1860952064,1860956159,IN @@ -66991,9 +68924,7 @@ 1876886528,1876890623,CN 1876890624,1876893695,IN 1876893696,1876901887,TH -1876901888,1876913151,SG -1876913152,1876913663,AU -1876913664,1876918271,SG +1876901888,1876918271,SG 1876918272,1876934655,LK 1876934656,1876942847,JP 1876942848,1876946943,AU @@ -67159,13 +69090,13 @@ 1897267200,1897365503,VN 1897365504,1897398271,MY 1897398272,1897660415,CN -1897660416,1897687039,HK -1897687040,1897687295,AU -1897687296,1897725951,HK -1897725952,1897729792,JP -1897729793,1897730047,US +1897660416,1897725951,HK +1897725952,1897727999,JP +1897728000,1897730047,US 1897730048,1897733888,AU -1897733889,1897734143,US +1897733889,1897733999,US +1897734000,1897734007,AU +1897734008,1897734143,US 1897734144,1897736223,HK 1897736224,1897736255,US 1897736256,1897737984,HK @@ -67174,13 +69105,12 @@ 1897742848,1897743359,SI 1897743360,1897743871,SG 1897743872,1897744383,SI -1897744384,1897745151,SG -1897745152,1897745407,SI +1897744384,1897744895,SG +1897744896,1897745407,SI 1897745408,1897746431,SG -1897746432,1897748511,CN +1897746432,1897748511,US 1897748512,1897748514,HK -1897748515,1897750527,CN -1897750528,1897758719,US +1897748515,1897758719,US 1897758720,1897779199,KR 1897779200,1897781247,AU 1897781248,1897783295,JP @@ -67241,9 +69171,7 @@ 1908408320,1908424703,AU 1908424704,1908441087,KR 1908441088,1908473855,JP -1908473856,1908538367,IN -1908538368,1908538879,AU -1908538880,1908539391,IN +1908473856,1908539391,IN 1908539392,1908670463,CN 1908670464,1908735999,TW 1908736000,1908740095,AU @@ -67268,9 +69196,7 @@ 1909161984,1909194751,PK 1909194752,1909456895,CN 1909456896,1909473279,JP -1909473280,1909474303,HK -1909474304,1909475327,PH -1909475328,1909479423,HK +1909473280,1909479423,HK 1909479424,1909481471,SG 1909481472,1909587967,CN 1909587968,1909719039,MY @@ -67348,9 +69274,7 @@ 1919811584,1919815679,CN 1919815680,1919817727,ID 1919817728,1919819775,KR -1919819776,1919820543,NZ -1919820544,1919820799,AU -1919820800,1919821823,NZ +1919819776,1919821823,NZ 1919821824,1919823871,ID 1919823872,1919827967,JP 1919827968,1919844351,CN @@ -67364,10 +69288,10 @@ 1919942656,1919999999,CN 1920000000,1920002047,HK 1920002048,1920003071,CN -1920003072,1920008191,HK -1920008192,1920057343,CN -1920057344,1920058111,HK -1920058112,1920069631,CN +1920003072,1920003839,HK +1920003840,1920004095,AU +1920004096,1920008191,HK +1920008192,1920069631,CN 1920069632,1920071167,HK 1920071168,1920072703,CN 1920072704,1920072959,HK @@ -67536,8 +69460,7 @@ 1937536000,1937536511,GB 1937536512,1937537023,US 1937537024,1937539071,IN -1937539072,1937635327,JP -1937635328,1937637375,DE +1937539072,1937637375,JP 1937637376,1937670143,HK 1937670144,1937672191,NZ 1937672192,1937678335,JP @@ -67601,9 +69524,7 @@ 1941635072,1941639167,CN 1941639168,1941643263,NP 1941643264,1941651455,IN -1941651456,1941652167,JP -1941652168,1941652175,CA -1941652176,1941655551,JP +1941651456,1941655551,JP 1941655552,1941657599,KR 1941657600,1941658623,MN 1941658624,1941659647,JP @@ -67627,7 +69548,9 @@ 1946175616,1946175743,CN 1946175744,1946175759,SG 1946175760,1946175791,HK -1946175792,1946175999,SG +1946175792,1946175871,SG +1946175872,1946175935,HK +1946175936,1946175999,SG 1946176000,1946176255,JP 1946176256,1946176511,SG 1946176512,1946176767,AU @@ -67648,7 +69571,9 @@ 1946955776,1946957823,SG 1946957824,1946959871,NZ 1946959872,1946976255,LK -1946976256,1947009023,SG +1946976256,1946999807,SG +1946999808,1947000319,MY +1947000320,1947009023,SG 1947009024,1947074559,CN 1947074560,1947205631,SG 1947205632,1948254207,CN @@ -67659,14 +69584,13 @@ 1949440000,1949442047,ID 1949442048,1949446143,TW 1949446144,1949448191,JP -1949448192,1949448447,AU +1949448192,1949448447,IN 1949448448,1949448703,HK 1949448704,1949448959,AU 1949448960,1949449215,IN 1949449216,1949449471,SG 1949449472,1949449727,JP -1949449728,1949450239,AU -1949450240,1949466623,IN +1949449728,1949466623,IN 1949466624,1949499391,PH 1949499392,1949564927,SG 1949564928,1949958143,CN @@ -67687,8 +69611,7 @@ 1950516224,1950516735,IN 1950516736,1950518271,US 1950518272,1950519295,IN -1950519296,1950520319,US -1950520320,1950521343,PH +1950519296,1950521343,PH 1950521344,1950523391,IN 1950523392,1950527487,AU 1950527488,1950528511,CN @@ -67769,9 +69692,7 @@ 1952220672,1952233471,JP 1952233472,1952249855,HK 1952249856,1952251903,JP -1952251904,1952283647,PH -1952283648,1952283903,CN -1952283904,1952284671,PH +1952251904,1952284671,PH 1952284672,1952288767,NZ 1952288768,1952292863,JP 1952292864,1952317439,KR @@ -67813,6 +69734,7 @@ 1959102464,1959104511,JP 1959104512,1959106559,AU 1959106560,1959107583,IN +1959107584,1959108607,PK 1959108608,1959110655,CN 1959110656,1959112703,JP 1959112704,1959113215,HK @@ -67823,7 +69745,8 @@ 1959114240,1959114495,AU 1959114496,1959114751,HK 1959114752,1959115775,IN -1959115776,1959116799,AU +1959115776,1959116031,SG +1959116032,1959116799,IN 1959116800,1959133183,SG 1959133184,1959239679,CN 1959239680,1959241727,KR @@ -67834,28 +69757,32 @@ 1959256064,1959260159,AU 1959260160,1959264255,JP 1959264256,1959395327,KR -1959395328,1959405055,IN -1959405056,1959405183,NG -1959405184,1959405311,IN -1959405312,1959405567,NG -1959405568,1959440383,IN -1959440384,1959444479,DE -1959444480,1959477247,IN -1959477248,1959479295,DE -1959479296,1959481087,IN -1959481088,1959485439,DE -1959485440,1959489535,IN -1959489536,1959490559,DE -1959490560,1959491583,IN -1959491584,1959493631,DE -1959493632,1959526399,IN +1959395328,1959526399,DE 1959526400,1959559167,CN 1959559168,1959560191,ID 1959560192,1959561215,CN 1959561216,1959562239,NZ 1959562240,1959563263,BD 1959563264,1959564287,AU -1959564288,1959657471,CN +1959564288,1959566335,BD +1959566336,1959567359,HK +1959567360,1959568383,AF +1959568384,1959569407,PK +1959569408,1959570431,CN +1959570432,1959571455,NP +1959571456,1959572479,HK +1959572480,1959573503,TH +1959573504,1959574527,HK +1959574528,1959575551,IN +1959575552,1959576575,PA +1959576576,1959577599,IN +1959577600,1959578623,MY +1959578624,1959579647,IN +1959579648,1959580671,HK +1959580672,1959581695,LK +1959581696,1959582719,CN +1959582720,1959583743,BD +1959583744,1959657471,CN 1959657472,1959657727,US 1959657728,1959658495,HK 1959658496,1959661567,ID @@ -67950,12 +69877,10 @@ 1960187904,1960189951,KH 1960189952,1960202239,CN 1960202240,1960206335,JP -1960206336,1960210431,SG -1960210432,1960210943,TH +1960206336,1960210687,SG +1960210688,1960210943,TH 1960210944,1960211199,IN -1960211200,1960211455,SG -1960211456,1960211903,AU -1960211904,1960211967,SG +1960211200,1960211967,SG 1960211968,1960212479,AU 1960212480,1960212991,IN 1960212992,1960214015,SG @@ -67967,9 +69892,7 @@ 1961885696,1961951231,AU 1961951232,1962016767,TW 1962016768,1962541055,CN -1962541056,1962586943,AU -1962586944,1962587007,CX -1962587008,1962622975,AU +1962541056,1962622975,AU 1962622976,1962639359,CN 1962639360,1962658815,NZ 1962658816,1962659839,HK @@ -68025,7 +69948,9 @@ 1964244992,1964249087,AU 1964249088,1964253183,PK 1964253184,1964255231,WF -1964255232,1964257279,SG +1964255232,1964255487,SG +1964255488,1964255743,ID +1964255744,1964257279,SG 1964257280,1964261375,ID 1964261376,1964263423,AU 1964263424,1964265471,JP @@ -68058,8 +69983,10 @@ 1966538752,1966571519,JP 1966571520,1966587903,KR 1966587904,1966591241,AF -1966591242,1966591242,DE -1966591243,1966591999,AF +1966591242,1966591243,DE +1966591244,1966591244,IT +1966591245,1966591246,DE +1966591247,1966591999,AF 1966592000,1966596095,JP 1966596096,1966600191,AU 1966600192,1966602239,IN @@ -68243,7 +70170,9 @@ 1988853760,1988861951,MY 1988861952,1988870143,SG 1988870144,1988886527,KR -1988886528,1989148671,HK +1988886528,1989137919,HK +1989137920,1989138175,PH +1989138176,1989148671,HK 1989148672,1989410815,CN 1989410816,1989541887,NZ 1989541888,1989607423,TW @@ -68254,9 +70183,7 @@ 1989663744,1989664767,ID 1989664768,1990197247,JP 1990197248,1990983679,TW -1990983680,1991056383,TH -1991056384,1991056895,SG -1991056896,1991245823,TH +1990983680,1991245823,TH 1991245824,1991311359,KR 1991311360,1991376895,JP 1991376896,1991442431,CN @@ -68326,9 +70253,7 @@ 1997117176,1997117183,AU 1997117184,1997119871,HK 1997119872,1997119903,AU -1997119904,1997124667,HK -1997124668,1997124679,AU -1997124680,1997126495,HK +1997119904,1997126495,HK 1997126496,1997126503,AU 1997126504,1997144063,HK 1997144064,1997176831,CN @@ -68379,17 +70304,16 @@ 1998271273,1998274047,JP 1998274048,1998274303,US 1998274304,1998274559,JP -1998274560,1998332415,CN -1998332416,1998332927,HK -1998332928,1998348287,CN +1998274560,1998323711,CN +1998323712,1998348287,HK 1998348288,1998354943,SG -1998354944,1998360575,CN +1998354944,1998355455,CN +1998355456,1998355967,HK +1998355968,1998356479,SG +1998356480,1998360575,HK 1998360576,1998365695,KR -1998365696,1998380287,CN -1998380288,1998380543,HK -1998380544,1998380618,CN -1998380619,1998380619,HK -1998380620,1998383103,CN +1998365696,1998366719,CN +1998366720,1998383103,HK 1998383104,1998385151,KR 1998385152,1998389247,IN 1998389248,1998454783,CN @@ -68403,13 +70327,7 @@ 1998503936,1998520319,JP 1998520320,1998553087,TH 1998553088,1998561279,JP -1998561280,1998561535,IN -1998561536,1998561780,ID -1998561781,1998561781,IN -1998561782,1998561784,ID -1998561785,1998561785,IN -1998561786,1998561791,ID -1998561792,1998562559,IN +1998561280,1998562559,IN 1998562560,1998562815,CN 1998562816,1998562863,IN 1998562864,1998562864,HK @@ -68437,6 +70355,7 @@ 1999249408,1999250431,AU 1999250432,1999250943,BR 1999250944,1999251455,AR +1999251456,1999252479,ID 1999252480,1999253503,GB 1999253504,1999254527,MY 1999254528,1999255551,CN @@ -68481,7 +70400,9 @@ 2000674816,2001207295,KR 2001207296,2001272831,JP 2001272832,2001305599,PK -2001305600,2001420287,SG +2001305600,2001307903,SG +2001307904,2001308159,MY +2001308160,2001420287,SG 2001420288,2001453055,KR 2001453056,2001457151,SG 2001457152,2001461247,CN @@ -68532,7 +70453,8 @@ 2003763200,2003828735,PH 2003828736,2006188031,CN 2006188032,2006204415,BD -2006204416,2006212607,AU +2006204416,2006213631,AU +2006213632,2006214655,BD 2006214656,2006216703,JP 2006216704,2006228991,KR 2006228992,2006237183,CN @@ -68548,8 +70470,7 @@ 2007027712,2007031807,TH 2007031808,2007033855,NZ 2007033856,2007034879,MY -2007034880,2007035135,PK -2007035136,2007035903,AE +2007034880,2007035903,PK 2007035904,2007039999,TW 2007040000,2007048191,KR 2007048192,2007064575,AU @@ -68700,12 +70621,11 @@ 2022320679,2022321151,AU 2022321152,2022321407,SG 2022321408,2022322175,AU -2022322176,2022322431,JP -2022322432,2022322695,AU +2022322176,2022322695,JP 2022322696,2022322696,TW -2022322697,2022323199,AU +2022322697,2022323199,JP 2022323200,2022323455,KR -2022323456,2022324223,AU +2022323456,2022324223,JP 2022324224,2022324225,TH 2022324226,2022324483,AU 2022324484,2022324484,MY @@ -68844,9 +70764,7 @@ 2043201536,2043203583,JP 2043203584,2043205631,AU 2043205632,2043207679,JP -2043207680,2043208703,AU -2043208704,2043208831,NZ -2043208832,2043211775,AU +2043207680,2043211775,AU 2043211776,2043215871,SG 2043215872,2043281407,CN 2043281408,2043412479,HK @@ -68876,7 +70794,14 @@ 2047366656,2047367423,PK 2047367424,2047367935,CN 2047367936,2047377407,PK -2047377408,2047410175,CN +2047377408,2047381503,CN +2047381504,2047383551,PK +2047383552,2047387647,CN +2047387648,2047391743,PK +2047391744,2047395839,CN +2047395840,2047399935,PK +2047399936,2047406079,CN +2047406080,2047410175,PK 2047410176,2047492095,HK 2047492096,2047496191,KR 2047496192,2047508479,HK @@ -68899,7 +70824,9 @@ 2050097152,2050098175,PK 2050098176,2050099199,ID 2050099200,2050101247,SG -2050101248,2050129919,JP +2050101248,2050129730,JP +2050129731,2050129731,US +2050129732,2050129919,JP 2050129920,2050162687,IN 2050162688,2050228223,CN 2050228224,2050490367,PH @@ -68930,11 +70857,8 @@ 2053532672,2053533183,NZ 2053533184,2053533695,AU 2053533696,2053534719,VN -2053535168,2053535199,IN -2053535744,2053537791,IN -2053537792,2053623807,JP -2053623808,2053624063,AU -2053624064,2053636095,JP +2053534720,2053537791,IN +2053537792,2053636095,JP 2053636096,2054160383,AU 2054160384,2054376447,CN 2054376448,2054377471,HK @@ -68981,15 +70905,15 @@ 2056794112,2056796159,BD 2056796160,2056806399,JP 2056806400,2056814591,KR -2056814592,2056815215,JP -2056815216,2056815231,HK -2056815232,2056816863,JP +2056814592,2056816863,JP 2056816864,2056816895,MY 2056816896,2056817335,JP 2056817336,2056817343,HK -2056817344,2056817727,JP +2056817344,2056817663,JP +2056817664,2056817727,MY 2056817728,2056817791,AU -2056817792,2056819087,JP +2056817792,2056818687,MY +2056818688,2056819087,JP 2056819088,2056819103,SG 2056819104,2056823849,JP 2056823850,2056823850,SG @@ -69045,7 +70969,10 @@ 2060451840,2061500415,JP 2061500416,2063073279,CN 2063073280,2063077375,BD -2063077376,2063077887,HK +2063077376,2063077377,AU +2063077378,2063077378,HK +2063077379,2063077631,AU +2063077632,2063077887,HK 2063077888,2063078143,SG 2063078144,2063079423,HK 2063079424,2063081471,CN @@ -69062,9 +70989,7 @@ 2063114240,2063115263,IN 2063115264,2063116871,JP 2063116872,2063116879,KR -2063116880,2063118091,JP -2063118092,2063118095,PH -2063118096,2063118159,JP +2063116880,2063118159,JP 2063118160,2063118191,PH 2063118192,2063118287,JP 2063118288,2063118303,PH @@ -69283,7 +71208,7 @@ 2080780288,2080780799,ID 2080780800,2080781311,MY 2080781312,2080781823,JP -2080781824,2080782335,VN +2080781824,2080782335,AU 2080782336,2080784383,SG 2080784384,2080800767,CN 2080800768,2080817151,PH @@ -69305,9 +71230,7 @@ 2082324480,2082340863,PK 2082340864,2082406399,IN 2082406400,2082471935,CN -2082471936,2083009028,JP -2083009029,2083009029,AU -2083009030,2083024895,JP +2082471936,2083024895,JP 2083024896,2083053567,CN 2083053568,2083057663,TH 2083057664,2083058687,CN @@ -69352,7 +71275,8 @@ 2087454720,2087456767,CN 2087456768,2087457791,IN 2087457792,2087458303,HK -2087458304,2087458815,US +2087458304,2087458559,JP +2087458560,2087458815,SG 2087458816,2087460863,FJ 2087460864,2087462911,JP 2087462912,2087464959,CN @@ -69541,7 +71465,9 @@ 2108358656,2108424191,CN 2108424192,2108686335,JP 2108686336,2109734911,KR -2109734912,2110783487,JP +2109734912,2109935103,JP +2109935104,2109935359,CN +2109935360,2110783487,JP 2110783488,2110799871,CN 2110799872,2110816255,KR 2110816256,2110832639,ID @@ -69562,7 +71488,9 @@ 2111201280,2111209471,CN 2111209472,2111217663,JP 2111217664,2111225855,LK -2111225856,2111242239,HK +2111225856,2111241471,HK +2111241472,2111241727,SG +2111241728,2111242239,HK 2111242240,2111258623,CN 2111258624,2111275007,JP 2111275008,2111307775,HK @@ -69577,9 +71505,9 @@ 2113560320,2113683455,KR 2113683456,2113684607,JP 2113684608,2113684671,TW -2113684672,2113685663,JP -2113685664,2113685695,SG -2113685696,2113687999,JP +2113684672,2113685503,JP +2113685504,2113685759,SG +2113685760,2113687999,JP 2113688000,2113688031,AU 2113688032,2113688959,JP 2113688960,2113688991,SG @@ -69609,7 +71537,9 @@ 2113813504,2113830911,AU 2113830912,2113863679,CN 2113863680,2113929215,AU -2113929216,2130706431,JP +2113929216,2114392087,JP +2114392088,2114392095,BR +2114392096,2130706431,JP 2147483648,2147483903,NL 2147483904,2147484671,RO 2147484672,2147485695,TR @@ -69672,7 +71602,9 @@ 2147563264,2147563519,RU 2147563520,2147564031,US 2147564032,2147564287,PH -2147564288,2147564543,GB +2147564288,2147564369,GB +2147564370,2147564372,AE +2147564373,2147564543,GB 2147564544,2147564799,VN 2147564800,2147565055,SG 2147565056,2147565311,HK @@ -69699,7 +71631,9 @@ 2147579904,2147580927,US 2147580928,2147581183,ID 2147581184,2147581439,KR -2147581440,2147592703,US +2147581440,2147582719,US +2147582720,2147584767,HK +2147584768,2147592703,US 2147592704,2147592959,HK 2147592960,2147600127,US 2147600128,2147600383,SG @@ -69707,7 +71641,9 @@ 2147603712,2147603967,IN 2147603968,2147942399,US 2147942400,2148007935,DE -2148007936,2148457471,US +2148007936,2148455423,US +2148455424,2148455679,BR +2148455680,2148457471,US 2148457472,2148458495,BR 2148458496,2148459007,DE 2148459008,2148459519,TW @@ -69717,7 +71653,8 @@ 2148460544,2148461055,ID 2148461056,2148461823,US 2148461824,2148462335,TW -2148462336,2148532223,US +2148462336,2148462591,HK +2148462592,2148532223,US 2148532224,2148597759,GB 2148597760,2148925439,US 2148925440,2148990975,JP @@ -69856,7 +71793,8 @@ 2153426432,2153426687,LV 2153426688,2153426943,SI 2153426944,2153427199,SK -2153427200,2153428991,US +2153427200,2153427455,LI +2153427456,2153428991,US 2153428992,2153431039,TW 2153431040,2153433087,HK 2153433088,2153434879,MO @@ -69944,7 +71882,8 @@ 2160541696,2160590847,SG 2160590848,2160656383,US 2160656384,2160657407,BR -2160657408,2160658431,HN +2160657408,2160657919,HN +2160657920,2160658431,US 2160658432,2160661503,BR 2160661504,2160662527,AR 2160662528,2160664575,BR @@ -69981,9 +71920,7 @@ 2160914432,2160918527,SA 2160918528,2161508351,US 2161508352,2161573887,FI -2161573888,2162228223,US -2162228224,2162228479,CA -2162228480,2162687999,US +2161573888,2162687999,US 2162688000,2162753535,GB 2162753536,2162819071,CA 2162819072,2162884607,SA @@ -70018,9 +71955,7 @@ 2166562560,2166562815,FI 2166562816,2166594559,US 2166594560,2166594815,PL -2166594816,2166612991,US -2166612992,2166614015,DE -2166614016,2166729471,US +2166594816,2166729471,US 2166729472,2166729727,CA 2166729728,2166989823,US 2166989824,2166990335,IN @@ -70056,11 +71991,7 @@ 2171076608,2171142143,FR 2171142144,2172256255,US 2172256256,2172272639,GH -2172272640,2172277759,RE -2172277760,2172278271,FR -2172278272,2172280319,RE -2172280320,2172280575,FR -2172280576,2172289023,RE +2172272640,2172289023,RE 2172289024,2172321791,AO 2172321792,2172452863,US 2172452864,2172518399,NL @@ -70093,15 +72024,16 @@ 2176434176,2176450559,FR 2176450560,2176516095,US 2176516096,2176581631,DE -2176581632,2176862463,US -2176862464,2176862719,GB +2176581632,2176860159,US +2176860160,2176861183,CA +2176861184,2176862719,US 2176862720,2176862975,DE 2176862976,2176863231,SG 2176863232,2176868607,US 2176868608,2176868863,IT 2176868864,2176897023,US -2176897024,2176898047,AU -2176898048,2176974847,US +2176897024,2176897535,AU +2176897536,2176974847,US 2176974848,2177105919,CH 2177105920,2177302527,US 2177302528,2177368063,FR @@ -70122,16 +72054,20 @@ 2178351104,2178416639,GB 2178416640,2178482175,US 2178482176,2178547711,DE -2178547712,2178777087,US -2178777088,2178787327,HU -2178787328,2178899967,US -2178899968,2178908159,NZ -2178908160,2179071999,US +2178547712,2178783231,US +2178783232,2178785279,HU +2178785280,2179071999,US 2179072000,2179137535,SG 2179137536,2179398399,US 2179398400,2179399679,GB 2179399680,2179465215,US -2179465216,2179497983,LS +2179465216,2179477503,LS +2179477504,2179477887,ZA +2179477888,2179478015,LS +2179478016,2179479551,ZA +2179479552,2179482111,LS +2179482112,2179482367,ZA +2179482368,2179497983,LS 2179497984,2179530751,ZA 2179530752,2179596287,DE 2179596288,2179661823,GB @@ -70155,8 +72091,8 @@ 2180646953,2180646953,ES 2180646954,2180649005,US 2180649006,2180649006,ES -2180649007,2180903423,US -2180903424,2180903935,NL +2180649007,2180903679,US +2180903680,2180903935,NL 2180903936,2180907007,US 2180907008,2180972543,KR 2180972544,2181038079,US @@ -70267,10 +72203,12 @@ 2188719616,2188719743,FR 2188719744,2188719871,DE 2188724224,2188725247,NL +2188729472,2188729535,ES 2188729856,2188730111,ES 2188736512,2188738047,GB 2188738307,2188738307,GB 2188740608,2188741631,GB +2188752896,2188754943,DE 2188769472,2188769503,DE 2188769600,2188769631,DE 2188769664,2188770175,DE @@ -70327,7 +72265,7 @@ 2193190016,2193190079,CZ 2193190080,2193190911,DE 2193190912,2193191935,RO -2193191936,2193192959,DE +2193191936,2193192959,US 2193192960,2193193983,NL 2193193984,2193195007,DE 2193195008,2193199103,DK @@ -70418,16 +72356,44 @@ 2196439040,2197094399,SE 2197094400,2197159935,US 2197159936,2197225471,GB -2197225472,2197318655,US -2197318656,2197323775,IN +2197225472,2197303295,US +2197303296,2197303807,IE +2197303808,2197304319,NL +2197304320,2197304831,ES +2197304832,2197305343,CH +2197305344,2197305855,DE +2197305856,2197306367,BE +2197306368,2197306879,RO +2197306880,2197307391,DK +2197307392,2197307903,GB +2197307904,2197308415,DE +2197308416,2197308927,ZA +2197308928,2197309951,GB +2197309952,2197310463,IT +2197310464,2197310975,MD +2197310976,2197311487,DE +2197311488,2197311999,FR +2197312000,2197312511,IT +2197312512,2197313023,SE +2197313024,2197313535,PL +2197313536,2197314047,CH +2197314048,2197318655,IE +2197318656,2197319167,SG +2197319168,2197320703,IN +2197320704,2197321215,HK +2197321216,2197321727,AU +2197321728,2197322239,KR +2197322240,2197322751,JP +2197322752,2197323775,IN 2197323776,2197487615,US 2197487616,2197553151,IT 2197553152,2197749759,US -2197749760,2197753855,RU +2197749760,2197751807,IQ +2197751808,2197753855,RU 2197753856,2197754623,GB -2197754624,2197754698,PT +2197754624,2197754698,ES 2197754699,2197754699,GB -2197754700,2197754879,PT +2197754700,2197754879,ES 2197754880,2197755135,DK 2197755136,2197756159,GB 2197756160,2197756175,PT @@ -70451,7 +72417,11 @@ 2197798912,2197815295,IR 2197815296,2197816319,BO 2197816320,2197828607,BR -2197828608,2197829631,CL +2197828608,2197829247,CL +2197829248,2197829287,AR +2197829288,2197829295,CL +2197829296,2197829375,AR +2197829376,2197829631,CL 2197829632,2197833727,BR 2197833728,2197834751,CR 2197834752,2197841919,BR @@ -70478,7 +72448,11 @@ 2197880832,2197941247,IT 2197941248,2197941503,DE 2197941504,2197946367,IT -2197946368,2202533887,US +2197946368,2200921216,US +2200921217,2200921217,GU +2200921218,2201190527,US +2201190528,2201190529,GB +2201190530,2202533887,US 2202533888,2202534911,AR 2202534912,2202540031,BR 2202540032,2202541055,PY @@ -70505,15 +72479,17 @@ 2202593280,2202595327,CL 2202595328,2202596351,AR 2202596352,2202599423,BR -2202599424,2202969087,US -2202969088,2202976255,BH -2202976256,2204172287,US +2202599424,2202968291,US +2202968292,2202968293,BH +2202968294,2204172287,US 2204172288,2204237823,SE 2204237824,2204303359,US 2204303360,2204368895,DE 2204368896,2204369151,MX -2204369152,2204369919,PA -2204370944,2204375039,BR +2204369152,2204369407,PA +2204369408,2204369663,US +2204369664,2204369919,PA +2204370944,2204376063,BR 2204376064,2204377087,CL 2204377088,2204378111,BR 2204378112,2204379135,TT @@ -70659,7 +72635,8 @@ 2210668544,2210669567,CR 2210669568,2210670591,AR 2210670592,2210673663,BR -2210673664,2210674687,HN +2210673664,2210674175,HN +2210674176,2210674687,US 2210674688,2210675711,BR 2210675712,2210676735,EC 2210676736,2210678783,BR @@ -70725,19 +72702,19 @@ 2212560896,2212691967,US 2212691968,2212757503,GB 2212757504,2212759551,FI -2212759552,2212760575,US +2212759552,2212760575,IN 2212760576,2212761599,FI 2212761600,2212762623,GB -2212762624,2212764927,US +2212762624,2212764927,IN 2212764928,2212765183,GB -2212765184,2212765695,US +2212765184,2212765695,IN 2212765696,2212766719,DE 2212766720,2212767743,GB -2212767744,2212773887,US -2212773888,2212777983,IN -2212777984,2212779519,US +2212767744,2212769791,IN +2212769792,2212773887,US +2212773888,2212779519,IN 2212779520,2212780031,FI -2212780032,2212788223,US +2212780032,2212788223,IN 2212788224,2212790271,FI 2212796416,2212798463,NL 2212803972,2212803975,DE @@ -70745,6 +72722,7 @@ 2212804000,2212804003,FR 2212804096,2212804351,NL 2212806656,2212808703,US +2212812800,2212814847,DE 2212816384,2212816639,SG 2212816640,2212816895,IN 2212816896,2212817151,KR @@ -70789,7 +72767,11 @@ 2214405632,2214405735,US 2214405736,2214405743,IE 2214405744,2214405751,SG -2214405752,2214428671,US +2214405752,2214406199,US +2214406200,2214406207,IE +2214406208,2214406223,US +2214406224,2214406239,IE +2214406240,2214428671,US 2214428672,2214428927,IN 2214428928,2214429375,US 2214429376,2214429439,NL @@ -70842,15 +72824,9 @@ 2214589440,2214590463,BR 2214590464,2214591487,AR 2214591488,2214592511,BR -2214592512,2214792525,US -2214792526,2214792528,KR -2214792529,2215633279,US -2215633280,2215633280,JP -2215633281,2215856996,US -2215856997,2215856997,GB -2215856998,2215967615,US -2215967616,2215967616,JP -2215967617,2218786815,US +2214592512,2217904127,US +2217904128,2217906175,PR +2217906176,2218786815,US 2218786816,2219769855,IL 2219769856,2223075327,US 2223075328,2223079423,VI @@ -70883,9 +72859,7 @@ 2226716672,2226782207,GB 2226782208,2226847743,ZA 2226847744,2226913279,DE -2226913280,2226999039,US -2226999040,2226999295,IE -2226999296,2227109887,US +2226913280,2227109887,US 2227109888,2227175423,PE 2227175424,2227372031,US 2227372032,2227437567,DE @@ -70905,9 +72879,9 @@ 2229796864,2229862399,CN 2229862400,2229927935,US 2229927936,2229993471,AU -2229993472,2230167551,US -2230167552,2230168575,MY -2230168576,2230583295,US +2229993472,2230166527,US +2230166528,2230167551,GB +2230167552,2230583295,US 2230583296,2230603775,GB 2230603776,2230607871,US 2230607872,2230637567,GB @@ -71201,9 +73175,7 @@ 2248169472,2248171519,NL 2248171520,2248177663,RU 2248177664,2248179711,DE -2248179712,2248201727,OM -2248201728,2248201983,GB -2248201984,2248212479,OM +2248179712,2248212479,OM 2248212480,2248409087,DE 2248409088,2248605695,US 2248605696,2248671231,AU @@ -71253,9 +73225,11 @@ 2251948032,2252013567,BE 2252013568,2252079103,FR 2252079104,2252210175,DE -2252210176,2252414975,US -2252414976,2252423167,GB -2252423168,2253062143,US +2252210176,2252417023,US +2252417024,2252419071,GB +2252419072,2252449791,US +2252449792,2252451839,BR +2252451840,2253062143,US 2253062144,2253127679,KR 2253127680,2253193215,DE 2253193216,2253455359,US @@ -71472,9 +73446,13 @@ 2258607904,2258607999,HK 2258608000,2258608063,AU 2258608064,2258608127,HK -2258608128,2258608183,JP +2258608128,2258608183,AU 2258608184,2258608187,TW -2258608188,2258608383,JP +2258608188,2258608255,AU +2258608256,2258608259,JP +2258608260,2258608279,AU +2258608280,2258608283,JP +2258608284,2258608383,AU 2258608384,2258608639,HK 2258608640,2258608655,AU 2258608656,2258608663,JP @@ -71566,11 +73544,11 @@ 2260467712,2260533247,NL 2260533248,2260598783,US 2260598784,2260664319,CA -2260664320,2260720639,GB -2260720640,2260720703,DE +2260664320,2260719615,GB +2260719616,2260720703,DE 2260720704,2260720719,GB -2260720720,2260720895,DE -2260720896,2260723711,GB +2260720720,2260721663,DE +2260721664,2260723711,GB 2260723712,2260724223,IL 2260724224,2260729343,GB 2260729344,2260729599,IL @@ -71591,9 +73569,7 @@ 2262040576,2262106111,FR 2262106112,2262171647,GB 2262171648,2262237183,FR -2262237184,2262410495,US -2262410496,2262410751,FR -2262410752,2262414335,US +2262237184,2262414335,US 2262414336,2262415359,IN 2262415360,2262499327,US 2262499328,2262630399,GB @@ -71700,7 +73676,9 @@ 2281733376,2281750527,US 2281750528,2281755135,CN 2281755136,2281755391,US -2281755392,2281758719,CN +2281755392,2281757439,CN +2281757440,2281757695,US +2281757696,2281758719,CN 2281758720,2281760511,US 2281760512,2281760767,CH 2281760768,2282225663,US @@ -71710,10 +73688,36 @@ 2282226244,2282226245,US 2282226246,2282226943,AU 2282226944,2282227199,US -2282227200,2282233855,AU -2282233856,2283151359,US +2282227200,2282227711,AU +2282227712,2282233855,US +2282233856,2282235903,GB +2282235904,2283151359,US 2283151360,2283159551,IN -2283159552,2283174399,US +2283159552,2283163455,US +2283163456,2283163471,CA +2283163472,2283163487,MX +2283163488,2283163495,PR +2283163496,2283163503,VI +2283163504,2283163511,UM +2283163512,2283163583,US +2283163584,2283163599,CA +2283163600,2283163615,MX +2283163616,2283163623,PR +2283163624,2283163631,VI +2283163632,2283163639,UM +2283163640,2283164479,US +2283164480,2283164495,CA +2283164496,2283164511,MX +2283164512,2283164519,PR +2283164520,2283164527,VI +2283164528,2283164535,UM +2283164536,2283164607,US +2283164608,2283164623,CA +2283164624,2283164639,MX +2283164640,2283164647,PR +2283164648,2283164655,VI +2283164656,2283164663,UM +2283164664,2283174399,US 2283174400,2283174407,DE 2283174408,2283174415,FR 2283174416,2283174431,GB @@ -71755,7 +73759,10 @@ 2291073024,2291105791,NL 2291105792,2291108863,US 2291108864,2291109887,CA -2291109888,2291130367,US +2291109888,2291122943,US +2291122944,2291123199,VI +2291123200,2291126271,US +2291126272,2291130367,CA 2291130368,2291138559,AU 2291138560,2291142655,US 2291142656,2291142911,SG @@ -71774,7 +73781,9 @@ 2291147520,2291147775,ES 2291147776,2291148799,CH 2291148800,2291149055,NL -2291149056,2291154943,US +2291149056,2291151103,US +2291151104,2291151359,NL +2291151360,2291154943,US 2291154944,2291171327,GB 2291171328,2291204095,NL 2291204096,2291269631,PR @@ -71799,7 +73808,8 @@ 2292908032,2292973567,US 2292973568,2293039103,DE 2293054976,2293055231,LU -2293080064,2293088255,BE +2293080064,2293082111,BE +2293084160,2293086207,BE 2293104640,2293825535,US 2293825536,2293891071,IN 2293891072,2293956607,AU @@ -71834,11 +73844,7 @@ 2297626624,2297661437,DE 2297661438,2297661438,NL 2297661439,2297692159,DE -2297692160,2298142719,US -2298142720,2298150911,GB -2298150912,2298258175,US -2298258176,2298258431,GB -2298258432,2298413055,US +2297692160,2298413055,US 2298413056,2298478591,RO 2298478592,2299461631,US 2299461632,2299527167,CA @@ -71879,13 +73885,13 @@ 2302372864,2302373887,MY 2302373888,2302374911,TH 2302374912,2302375935,VN -2302375936,2302376191,AF -2302376192,2302376447,DE -2302376448,2302376959,AF +2302375936,2302376959,AF 2302376960,2302377983,ID 2302377984,2302382079,IN 2302382080,2302383103,PK -2302383104,2302384127,IN +2302383104,2302383304,IN +2302383305,2302383305,HK +2302383306,2302384127,IN 2302384128,2302385151,BD 2302385152,2302386175,IN 2302386176,2302387199,ID @@ -71915,8 +73921,8 @@ 2302738432,2302935039,US 2302935040,2303000575,KR 2303000576,2303189503,US -2303189504,2303189759,IE -2303189760,2303262719,US +2303189504,2303190015,IE +2303190016,2303262719,US 2303262720,2303328255,GB 2303328256,2303330303,PL 2303330304,2303330591,FR @@ -71941,7 +73947,9 @@ 2303334272,2303334399,ES 2303334400,2303336543,FR 2303336544,2303336575,PL -2303336576,2303336943,FR +2303336576,2303336671,FR +2303336672,2303336687,PL +2303336688,2303336943,FR 2303336944,2303336959,PL 2303336960,2303337855,FR 2303337856,2303337887,PT @@ -71955,7 +73963,9 @@ 2303340800,2303340927,PL 2303340928,2303341283,FR 2303341284,2303341287,FI -2303341288,2303341951,FR +2303341288,2303341663,FR +2303341664,2303341695,PL +2303341696,2303341951,FR 2303341952,2303341967,ES 2303341968,2303342031,FR 2303342032,2303342039,ES @@ -71981,14 +73991,18 @@ 2303343828,2303343831,DE 2303343832,2303344127,FR 2303344128,2303344191,CZ -2303344192,2303344471,FR +2303344192,2303344307,FR +2303344308,2303344311,GB +2303344312,2303344471,FR 2303344472,2303344479,IE -2303344480,2303344511,PL -2303344512,2303344559,FR +2303344480,2303344527,PL +2303344528,2303344559,FR 2303344560,2303344575,PL 2303344576,2303344847,FR 2303344848,2303344863,ES -2303344864,2303348863,FR +2303344864,2303347091,FR +2303347092,2303347095,BE +2303347096,2303348863,FR 2303348864,2303348991,GB 2303348992,2303349119,FR 2303349120,2303349247,ES @@ -72014,7 +74028,8 @@ 2303353696,2303353727,DE 2303353728,2303353783,FR 2303353784,2303353787,GB -2303353788,2303354555,FR +2303353788,2303354551,FR +2303354552,2303354555,NL 2303354556,2303354559,FI 2303354560,2303355147,FR 2303355148,2303355151,DE @@ -72033,7 +74048,9 @@ 2303365280,2303365295,GB 2303365296,2303365679,FR 2303365680,2303365695,NL -2303365696,2303367923,FR +2303365696,2303367879,FR +2303367880,2303367883,DE +2303367884,2303367923,FR 2303367924,2303367927,DE 2303367928,2303368191,FR 2303368192,2303368207,DE @@ -72058,7 +74075,9 @@ 2303382880,2303382895,ES 2303382896,2303383151,FR 2303383152,2303383167,LT -2303383168,2303383503,FR +2303383168,2303383295,FR +2303383296,2303383359,ES +2303383360,2303383503,FR 2303383504,2303383519,GB 2303383520,2303383807,FR 2303383808,2303383935,ES @@ -72068,7 +74087,10 @@ 2303385088,2303385103,FI 2303385104,2303386879,FR 2303386880,2303387007,BE -2303387008,2303387535,FR +2303387008,2303387171,FR +2303387172,2303387175,CZ +2303387176,2303387179,PT +2303387180,2303387535,FR 2303387536,2303387551,PT 2303387552,2303387567,FI 2303387568,2303387591,FR @@ -72082,7 +74104,9 @@ 2303388416,2303388543,ES 2303388544,2303390015,FR 2303390016,2303390079,GB -2303390080,2303390655,FR +2303390080,2303390119,FR +2303390120,2303390127,DE +2303390128,2303390655,FR 2303390656,2303390719,PL 2303390720,2303391007,FR 2303391008,2303391039,IE @@ -72097,7 +74121,8 @@ 2303392844,2303392847,FI 2303392848,2303392895,FR 2303392896,2303392899,DE -2303392900,2303393247,FR +2303392900,2303392903,BE +2303392904,2303393247,FR 2303393248,2303393263,GB 2303393264,2303393535,FR 2303393536,2303393567,PT @@ -72110,8 +74135,7 @@ 2304507904,2304573439,AU 2304573440,2304638975,NO 2304638976,2304704511,CA -2304704512,2304712703,DE -2304712704,2304770047,US +2304704512,2304770047,US 2304770048,2304835583,FI 2304835584,2304901119,IN 2304901120,2304966655,CZ @@ -72142,7 +74166,9 @@ 2306932736,2306998271,FR 2306998272,2307129343,US 2307129344,2307194879,SG -2307194880,2307197951,NO +2307194880,2307195903,BR +2307195904,2307196927,NO +2307196928,2307197951,FI 2307197952,2307198975,DE 2307198976,2307260415,NO 2307260416,2307278847,US @@ -72185,7 +74211,8 @@ 2311127040,2311192575,DE 2311192576,2311258111,FR 2311258112,2311315455,GB -2311315456,2311323647,MY +2311315456,2311319551,MY +2311319552,2311323647,GB 2311323648,2311389183,MW 2311389184,2311847935,US 2311847936,2311913471,IT @@ -72268,15 +74295,15 @@ 2317221888,2317287423,JP 2317287424,2317357567,US 2317357568,2317357823,AU -2317357824,2317393919,US -2317393920,2317398015,NO -2317398016,2317402111,GB -2317402112,2317412351,US +2317357824,2317395967,US +2317395968,2317398015,NO +2317398016,2317400063,GB +2317400064,2317412351,US 2317412352,2317413375,CA 2317413376,2317413631,ID -2317413632,2317414655,US -2317414656,2317414911,AU -2317414912,2317484031,US +2317413632,2317414399,US +2317414400,2317415423,AU +2317415424,2317484031,US 2317484032,2317487359,CA 2317487360,2317487615,US 2317487616,2317549567,CA @@ -72320,9 +74347,8 @@ 2318663680,2319122431,US 2319122432,2319123455,AR 2319123456,2319123967,HN -2319123968,2319124991,US -2319124992,2319125247,VE -2319125248,2319125503,US +2319123968,2319124479,US +2319124480,2319125503,VE 2319125504,2319126527,UY 2319126528,2319127551,CR 2319127552,2319128575,BR @@ -72337,8 +74363,7 @@ 2319156224,2319157247,CR 2319157248,2319158271,BR 2319158272,2319159295,AR -2319159296,2319160319,BR -2319160320,2319161343,PA +2319159296,2319161343,BR 2319162368,2319164415,BR 2319164416,2319165439,PY 2319165440,2319167487,AR @@ -72397,8 +74422,7 @@ 2321446912,2321447935,HN 2321447936,2321452031,BR 2321452032,2321453055,MX -2321453056,2321453567,US -2321453568,2321454079,HN +2321453056,2321454079,US 2321454080,2321467136,BR 2321467137,2321467137,US 2321467138,2321471487,BR @@ -72477,7 +74501,8 @@ 2321797632,2321797887,SE 2321797888,2321798143,NL 2321798144,2321799167,CW -2321799168,2321800191,BZ +2321799168,2321799935,BZ +2321799936,2321800191,CL 2321800192,2321801215,AR 2321801216,2321802239,CL 2321803264,2321804287,BR @@ -72486,8 +74511,9 @@ 2321809408,2321874943,ES 2321874944,2321940479,JP 2321940480,2322006015,FR -2322006016,2322014207,US -2322014208,2322071551,SE +2322006016,2322010383,SE +2322010384,2322010399,US +2322010400,2322071551,SE 2322071552,2322129919,GB 2322129920,2322130175,IN 2322130176,2322130431,GB @@ -72498,7 +74524,11 @@ 2322268160,2322333695,JP 2322333696,2322341887,US 2322341888,2322342399,MX -2322342400,2322368511,US +2322342400,2322342911,US +2322342912,2322343167,BR +2322343168,2322356223,US +2322356224,2322358271,GB +2322358272,2322368511,US 2322368512,2322368767,MY 2322368768,2322923519,US 2322923520,2322924543,BR @@ -72616,71 +74646,83 @@ 2323315712,2323316735,MX 2323316736,2323382271,US 2323382272,2323447807,NO -2323447808,2323644447,US -2323644448,2323644479,CA -2323644480,2323644487,US -2323644488,2323644495,CA +2323447808,2323644431,US +2323644432,2323644495,CA 2323644496,2323644511,US 2323644512,2323644543,CA -2323644544,2323644631,US +2323644544,2323644575,US +2323644576,2323644607,CA +2323644608,2323644631,US 2323644632,2323644639,CA 2323644640,2323644655,US 2323644656,2323644671,CA -2323644672,2323644735,US -2323644736,2323644783,CA -2323644784,2323645119,US +2323644672,2323644719,US +2323644720,2323644799,CA +2323644800,2323644895,US +2323644896,2323644927,CA +2323644928,2323645071,US +2323645072,2323645087,CA +2323645088,2323645119,US 2323645120,2323645135,CA 2323645136,2323645151,US -2323645152,2323645191,CA -2323645192,2323645199,SE +2323645152,2323645199,CA 2323645200,2323645263,US -2323645264,2323645271,CA -2323645272,2323645471,US +2323645264,2323645279,CA +2323645280,2323645471,US 2323645472,2323645503,CA -2323645504,2323645967,US -2323645968,2323645983,CA +2323645504,2323645535,US +2323645536,2323645567,CA +2323645568,2323645663,US +2323645664,2323645695,CA +2323645696,2323645951,US +2323645952,2323645983,CA 2323645984,2323645999,US 2323646000,2323646015,CA 2323646016,2323646079,US -2323646080,2323646119,CA -2323646120,2323646127,FI +2323646080,2323646127,CA 2323646128,2323646335,US 2323646336,2323646383,CA 2323646384,2323646415,US -2323646416,2323646423,CA -2323646424,2323646463,US +2323646416,2323646431,CA +2323646432,2323646463,US 2323646464,2323646479,CA 2323646480,2323646495,US 2323646496,2323646527,CA -2323646528,2323646823,US -2323646824,2323646831,CA +2323646528,2323646783,US +2323646784,2323646799,CA +2323646800,2323646815,US +2323646816,2323646831,CA 2323646832,2323646911,US -2323646912,2323646943,CA -2323646944,2323647199,US +2323646912,2323646975,CA +2323646976,2323647119,US +2323647120,2323647135,CA +2323647136,2323647199,US 2323647200,2323647215,CA -2323647216,2323647327,US -2323647328,2323647359,CA -2323647360,2323647391,US -2323647392,2323647407,CA -2323647408,2323647551,US -2323647552,2323647583,CA -2323647584,2323647759,US -2323647760,2323647775,CA +2323647216,2323647311,US +2323647312,2323647407,CA +2323647408,2323647487,US +2323647488,2323647519,CA +2323647520,2323647535,US +2323647536,2323647583,CA +2323647584,2323647743,US +2323647744,2323647775,CA 2323647776,2323647871,US -2323647872,2323647887,CA -2323647888,2323647999,US +2323647872,2323647903,CA +2323647904,2323647999,US 2323648000,2323648007,CA 2323648008,2323648015,FI -2323648016,2323648319,US +2323648016,2323648031,US +2323648032,2323648063,CA +2323648064,2323648319,US 2323648320,2323648335,CA -2323648336,2323648639,US +2323648336,2323648351,US +2323648352,2323648367,CA +2323648368,2323648639,US 2323648640,2323648655,CA -2323648656,2323648767,US -2323648768,2323648875,CA -2323648876,2323648879,US -2323648880,2323648899,CA -2323648900,2323648903,US -2323648904,2323648943,CA +2323648656,2323648671,US +2323648672,2323648703,CA +2323648704,2323648767,US +2323648768,2323648943,CA 2323648944,2323648951,US 2323648952,2323649023,CA 2323649024,2323649279,US @@ -72688,29 +74730,24 @@ 2323649752,2323649759,US 2323649760,2323649775,CA 2323649776,2323649783,US -2323649784,2323649791,CA -2323649792,2323649799,US -2323649800,2323649823,CA +2323649784,2323649823,CA 2323649824,2323649831,NO 2323649832,2323649855,CA 2323649856,2323649863,US 2323649864,2323649895,CA -2323649896,2323649911,US -2323649912,2323649919,CA -2323649920,2323649943,US -2323649944,2323649951,CA +2323649896,2323649903,US +2323649904,2323649919,CA +2323649920,2323649935,US +2323649936,2323649951,CA 2323649952,2323649959,US -2323649960,2323649983,CA -2323649984,2323650007,US +2323649960,2323649999,CA +2323650000,2323650007,US 2323650008,2323650015,RO -2323650016,2323650031,US +2323650016,2323650023,CA +2323650024,2323650031,US 2323650032,2323650039,CA 2323650040,2323650047,US -2323650048,2323650063,CA -2323650064,2323650071,US -2323650072,2323650079,CA -2323650080,2323650095,US -2323650096,2323650135,CA +2323650048,2323650135,CA 2323650136,2323650151,US 2323650152,2323650167,CA 2323650168,2323650175,US @@ -72722,88 +74759,81 @@ 2323650240,2323650255,US 2323650256,2323650263,CA 2323650264,2323650271,US -2323650272,2323650355,CA -2323650356,2323650359,US -2323650360,2323650367,CA -2323650368,2323650375,SE -2323650376,2323650447,CA +2323650272,2323650447,CA 2323650448,2323650455,US -2323650456,2323650503,CA -2323650504,2323650511,US -2323650512,2323650527,CA -2323650528,2323650859,US -2323650860,2323650863,CA -2323650864,2323651071,US -2323651072,2323651103,CA -2323651104,2323651135,US -2323651136,2323651327,CA -2323651328,2323651839,US -2323651840,2323652223,CA -2323652224,2323652255,US -2323652256,2323652271,CA -2323652272,2323652351,US -2323652352,2323652863,CA -2323652864,2323653887,US +2323650456,2323651327,CA +2323651328,2323651583,US +2323651584,2323652287,CA +2323652288,2323652335,US +2323652336,2323652863,CA +2323652864,2323653119,US +2323653120,2323653151,CA +2323653152,2323653887,US 2323653888,2323654143,CA 2323654144,2323654655,US 2323654656,2323655423,CA 2323655424,2323655503,US 2323655504,2323655511,CA -2323655512,2323655935,US +2323655512,2323655519,US +2323655520,2323655551,CA +2323655552,2323655823,US +2323655824,2323655871,CA +2323655872,2323655935,US 2323655936,2323655967,CA 2323655968,2323655983,US 2323655984,2323655991,CA 2323655992,2323655999,US -2323656000,2323656007,CA -2323656008,2323656015,US -2323656016,2323656031,CA +2323656000,2323656031,CA 2323656032,2323656207,US 2323656208,2323656255,CA -2323656256,2323656447,US -2323656448,2323656543,CA -2323656544,2323656575,US -2323656576,2323656607,CA +2323656256,2323656271,US +2323656272,2323656287,CA +2323656288,2323656447,US +2323656448,2323656607,CA 2323656608,2323656639,US -2323656640,2323656703,CA -2323656704,2323656735,US +2323656640,2323656719,CA +2323656720,2323656735,US 2323656736,2323656767,CA 2323656768,2323656815,US 2323656816,2323656831,CA 2323656832,2323656895,US 2323656896,2323656927,CA -2323656928,2323657311,US +2323656928,2323657263,US +2323657264,2323657279,CA +2323657280,2323657311,US 2323657312,2323657343,CA -2323657344,2323657567,US -2323657568,2323657663,CA -2323657664,2323657839,US +2323657344,2323657535,US +2323657536,2323657551,CA +2323657552,2323657559,US +2323657560,2323657663,CA +2323657664,2323657695,US +2323657696,2323657711,CA +2323657712,2323657759,US +2323657760,2323657775,CA +2323657776,2323657839,US 2323657840,2323657919,CA 2323657920,2323658495,US 2323658496,2323658751,CA 2323658752,2323659519,US 2323659520,2323659775,CA -2323659776,2323660223,US -2323660224,2323660287,CA +2323659776,2323660191,US +2323660192,2323660287,CA 2323660288,2323660543,US -2323660544,2323660799,CA -2323660800,2323661055,US -2323661056,2323661103,CA +2323660544,2323661103,CA 2323661104,2323661111,US 2323661112,2323661143,CA -2323661144,2323661159,US -2323661160,2323661199,CA +2323661144,2323661151,US +2323661152,2323661199,CA 2323661200,2323661223,US 2323661224,2323661239,CA 2323661240,2323661271,US 2323661272,2323661311,CA 2323661312,2323661567,US -2323661568,2323661607,CA -2323661608,2323661615,FI -2323661616,2323662335,US +2323661568,2323661623,CA +2323661624,2323662335,US 2323662336,2323662399,CA 2323662400,2323662527,US -2323662528,2323662559,CA -2323662560,2323662591,US -2323662592,2323662655,CA +2323662528,2323662655,CA 2323662656,2323662719,US 2323662720,2323662751,CA 2323662752,2323662767,US @@ -72821,26 +74851,23 @@ 2323664384,2323664639,US 2323664640,2323664959,CA 2323664960,2323665039,US -2323665040,2323665047,SE +2323665040,2323665047,CA 2323665048,2323665087,US 2323665088,2323665151,CA 2323665152,2323665407,US -2323665408,2323665663,CA -2323665664,2323666687,US -2323666688,2323666943,CA -2323666944,2323667071,US -2323667072,2323667327,CA -2323667328,2323667455,US -2323667456,2323668223,CA +2323665408,2323665919,CA +2323665920,2323666687,US +2323666688,2323668223,CA 2323668224,2323668991,US 2323668992,2323669759,CA 2323669760,2323670015,US 2323670016,2323670271,CA -2323670272,2323672135,US -2323672136,2323672191,CA -2323672192,2323672447,US -2323672448,2323672455,CA -2323672456,2323672463,SE +2323670272,2323671039,US +2323671040,2323671295,CA +2323671296,2323672127,US +2323672128,2323672191,CA +2323672192,2323672383,US +2323672384,2323672463,CA 2323672464,2323672479,US 2323672480,2323672511,CA 2323672512,2323672575,US @@ -72854,31 +74881,13 @@ 2323672848,2323672863,US 2323672864,2323672895,CA 2323672896,2323672959,US -2323672960,2323672991,CA -2323672992,2323673007,US -2323673008,2323673015,CA -2323673016,2323673351,US +2323672960,2323673055,CA +2323673056,2323673351,US 2323673352,2323673359,CA 2323673360,2323673599,US -2323673600,2323673887,CA -2323673888,2323673891,US -2323673892,2323673931,CA -2323673932,2323673935,US -2323673936,2323673939,CA -2323673940,2323673943,US -2323673944,2323673971,CA -2323673972,2323673975,US -2323673976,2323673983,CA +2323673600,2323673983,CA 2323673984,2323674175,US -2323674176,2323674239,CA -2323674240,2323674367,US -2323674368,2323674383,CA -2323674384,2323674387,US -2323674388,2323674451,CA -2323674452,2323674455,US -2323674456,2323674475,CA -2323674476,2323674479,US -2323674480,2323674511,CA +2323674176,2323674511,CA 2323674512,2323674527,US 2323674528,2323674535,CA 2323674536,2323674543,US @@ -72897,7 +74906,11 @@ 2323675520,2323675647,CA 2323675648,2323675839,US 2323675840,2323675903,CA -2323675904,2323690495,US +2323675904,2323676927,US +2323676928,2323676991,CA +2323676992,2323680255,US +2323680256,2323681279,NL +2323681280,2323690495,US 2323690496,2323690751,IN 2323690752,2323699711,US 2323699712,2323700735,NL @@ -72910,10 +74923,8 @@ 2324021504,2324037631,US 2324037632,2324103167,IL 2324103168,2325979176,US -2325979177,2325979178,JP -2325979179,2327101954,US -2327101955,2327101955,IT -2327101956,2327379967,US +2325979177,2325979177,JP +2325979178,2327379967,US 2327379968,2327380991,MX 2327380992,2327383039,BR 2327383040,2327384063,CL @@ -72956,10 +74967,12 @@ 2327468032,2327469055,PA 2327469056,2327471103,BR 2327471104,2327472127,MX -2327472128,2327475199,BR +2327472128,2327476223,BR 2327476224,2327477247,CL 2327477248,2327480319,BR -2327480320,2327481007,HN +2327480320,2327480575,HN +2327480576,2327480831,US +2327480832,2327481007,HN 2327481008,2327481023,US 2327481024,2327481343,HN 2327481344,2327481599,MX @@ -72976,13 +74989,7 @@ 2327494656,2327496703,BR 2327496704,2327497727,MX 2327497728,2327498751,BR -2327498752,2327499055,HN -2327499056,2327499063,CL -2327499064,2327499623,HN -2327499624,2327499631,CL -2327499632,2327499639,HN -2327499640,2327499647,CL -2327499648,2327499775,HN +2327498752,2327499775,US 2327499776,2327501823,AR 2327501824,2327507967,BR 2327507968,2327508991,AR @@ -73000,9 +75007,7 @@ 2328230912,2328231935,US 2328231936,2328297471,GB 2328313856,2328317183,NL -2328317184,2328317184,DE -2328317185,2328317439,NL -2328317440,2328317695,DE +2328317184,2328317695,DE 2328317696,2328317951,NL 2328342528,2328342783,DE 2328362752,2328485437,DE @@ -73035,13 +75040,11 @@ 2328686592,2328687615,BR 2328687616,2328690687,AR 2328690688,2328756223,BE -2328756224,2328764415,CH -2328764416,2328772607,HK -2328772608,2328788991,CH -2328788992,2328794239,AU +2328756224,2328766463,CH +2328766464,2328767487,HK +2328767488,2328794239,CH 2328794240,2328794303,JP -2328794304,2328797183,AU -2328797184,2328797439,CH +2328794304,2328797439,CH 2328797440,2328797695,AU 2328797696,2328808063,CH 2328808064,2328808127,HK @@ -73202,7 +75205,9 @@ 2334064640,2334916607,US 2334916608,2334982143,AU 2334982144,2335014911,DK -2335014912,2335031295,IE +2335014912,2335023103,IE +2335023104,2335023359,FR +2335023360,2335031295,IE 2335031296,2335047679,NL 2335047680,2335113215,US 2335113216,2335154175,ES @@ -73235,9 +75240,7 @@ 2336008192,2336009215,CA 2336009216,2336010239,US 2336010240,2336014335,PR -2336014336,2336024575,US -2336024576,2336026623,CA -2336026624,2336161791,US +2336014336,2336161791,US 2336161792,2336227327,NL 2336227328,2336260095,CA 2336260096,2336358399,US @@ -73246,7 +75249,9 @@ 2336410624,2336411647,US 2336411648,2336412671,SG 2336412672,2336423935,SE -2336423936,2336882687,US +2336423936,2336735231,US +2336735232,2336737279,AU +2336737280,2336882687,US 2336882688,2336948223,FI 2336948224,2337013759,DE 2337013760,2337210367,US @@ -73318,6 +75323,7 @@ 2338113536,2338113791,FR 2338115072,2338115839,IL 2338120448,2338120959,DE +2338122240,2338122495,GB 2338123008,2338123519,AT 2338123520,2338123775,IT 2338124800,2338125055,GB @@ -73343,8 +75349,8 @@ 2338914304,2339962879,NO 2339962880,2340028415,US 2340028416,2340081663,SE -2340081664,2340085759,BR -2340085760,2340093951,SE +2340081664,2340083711,BR +2340083712,2340093951,SE 2340093952,2340159487,FI 2340159488,2340225023,FR 2340225024,2340421631,US @@ -73366,7 +75372,9 @@ 2341135872,2341136127,CN 2341136128,2341136639,US 2341136640,2341136655,DE -2341136656,2341273599,US +2341136656,2341137919,US +2341137920,2341137935,CN +2341137936,2341273599,US 2341273600,2341339135,KW 2341339136,2341404671,CA 2341404672,2341470207,GB @@ -73410,12 +75418,15 @@ 2343723008,2343731199,AT 2343731200,2343763967,NL 2343763968,2343829503,TR -2343829504,2343845887,US +2343829504,2343829759,JP +2343829760,2343830015,CA +2343830016,2343830271,BR +2343830272,2343845887,US 2343845888,2343862271,NZ -2343862272,2343878655,US -2343878656,2343882751,JP -2343882752,2343885823,SG -2343885824,2343934975,US +2343862272,2343864319,SG +2343864320,2343882751,JP +2343882752,2343886847,SG +2343886848,2343934975,US 2343934976,2343935999,IL 2343936000,2344026111,US 2344026112,2344091647,CN @@ -73426,8 +75437,7 @@ 2344353792,2344419327,AU 2344419328,2344484863,CN 2344484864,2344550399,PK -2344599552,2344607743,NL -2344607744,2344615935,IT +2344611840,2344613887,IT 2344615936,2344878079,ID 2344878080,2346188799,CN 2346188800,2346254335,AU @@ -73482,19 +75492,16 @@ 2355036160,2355101695,US 2355101696,2355167231,TW 2355167232,2355232767,GB -2355232768,2355437311,US -2355437312,2355437567,GB -2355437568,2355470319,US +2355232768,2355470319,US 2355470320,2355470335,SG -2355470336,2355470575,US -2355470576,2355470591,PL -2355470592,2355471087,US +2355470336,2355471087,PL 2355471088,2355471103,BR -2355471104,2355482607,US +2355471104,2355472383,PL +2355472384,2355482607,US 2355482608,2355482623,HK -2355482624,2355486719,US -2355486720,2355494911,AU -2355494912,2355691519,US +2355482624,2355490815,US +2355490816,2355492863,AU +2355492864,2355691519,US 2355691520,2355757055,IT 2355757056,2355953663,US 2355953664,2357919743,TW @@ -73511,7 +75518,9 @@ 2359361536,2359427071,CA 2359427072,2359558143,US 2359558144,2359623679,IT -2359623680,2359689215,US +2359623680,2359636991,US +2359636992,2359638015,CA +2359638016,2359689215,US 2359689216,2359754751,SE 2359754752,2359820287,CA 2359820288,2359884799,AU @@ -73563,8 +75572,7 @@ 2365456384,2365521919,US 2365521920,2365587455,CN 2365587456,2365589503,JO -2365589504,2365590015,IN -2365590016,2365590527,SG +2365589504,2365590527,SG 2365590528,2365591039,ZA 2365591552,2365593599,DE 2365593600,2365595647,NL @@ -73646,7 +75654,8 @@ 2372225024,2372225791,US 2372225792,2372226559,NL 2372227072,2372229119,KR -2372229120,2372229375,FR +2372229120,2372229120,ES +2372229121,2372229375,FR 2372230656,2372231679,CZ 2372231680,2372232191,GB 2372232192,2372233215,CL @@ -73669,7 +75678,9 @@ 2372243968,2372244223,NO 2372244224,2372244479,BN 2372244480,2372251391,US -2372251392,2372272127,RU +2372251392,2372258047,RU +2372258048,2372258175,NL +2372258176,2372272127,RU 2372272128,2372337663,US 2372337664,2372403199,ID 2372403200,2372468735,US @@ -73699,8 +75710,11 @@ 2372730880,2372796415,CA 2372796416,2372993023,US 2372993024,2373025791,DE -2373025792,2373029887,SG -2373029888,2373038079,US +2373025792,2373027839,SG +2373027840,2373031935,DE +2373031936,2373033983,US +2373033984,2373036031,DE +2373036032,2373038079,US 2373038080,2373058559,DE 2373058560,2373124095,US 2373124096,2373189631,FR @@ -73720,7 +75734,9 @@ 2374500352,2374502399,LV 2374502400,2374504447,MK 2374504448,2374508543,US -2374508544,2374512639,LT +2374508544,2374512127,LT +2374512128,2374512382,US +2374512383,2374512639,LT 2374512640,2374514687,SK 2374514688,2374516735,ES 2374516736,2374524927,AM @@ -73750,7 +75766,9 @@ 2374688768,2374696959,GB 2374696960,2374959103,US 2374959104,2375008255,GB -2375008256,2375012351,NL +2375008256,2375008511,NL +2375008512,2375008767,RO +2375008768,2375012351,NL 2375012352,2375024639,GB 2375024640,2375090175,DK 2375090176,2375102259,NO @@ -73759,13 +75777,13 @@ 2375155712,2375221247,US 2375221248,2375286783,SE 2375286784,2375352319,CH -2375352320,2376077311,US -2376077312,2376081407,GB -2376081408,2376083199,US +2375352320,2376083199,US 2376083200,2376083455,CA 2376083456,2376083711,US 2376083712,2376083967,AU -2376083968,2376269823,US +2376083968,2376233215,US +2376233216,2376233471,AU +2376233472,2376269823,US 2376269824,2376335359,GB 2376335360,2376597503,US 2376597504,2376663039,AU @@ -73823,10 +75841,10 @@ 2378366976,2378432511,US 2378432512,2378498047,TR 2378498048,2378500607,US -2378500608,2378501119,GB -2378501120,2378504191,US -2378504192,2378504447,NL -2378504448,2378694655,US +2378500608,2378500863,GB +2378500864,2378504191,US +2378504192,2378506239,NL +2378506240,2378694655,US 2378694656,2378760191,DE 2378760192,2378825727,AT 2378825728,2378891263,US @@ -73841,11 +75859,11 @@ 2380398592,2380420095,IL 2380420096,2380420863,GB 2380420864,2380423167,IL -2380423168,2380427263,US -2380427264,2380428799,GB -2380428800,2380430847,IL -2380430848,2380431103,GB -2380431104,2380431615,IL +2380423168,2380427519,US +2380427520,2380428799,GB +2380428800,2380430335,IL +2380430336,2380431359,GB +2380431360,2380431615,IL 2380431616,2380431871,US 2380431872,2380432127,TH 2380432128,2380432383,US @@ -73857,7 +75875,8 @@ 2380455936,2380456447,US 2380456448,2380456959,IL 2380456960,2380457215,NL -2380457216,2380457727,US +2380457216,2380457471,SG +2380457472,2380457727,US 2380457728,2380457983,HK 2380457984,2380464127,IL 2380464128,2380464639,FR @@ -73866,10 +75885,13 @@ 2380465440,2380465443,SG 2380465444,2380529663,FR 2380529664,2380558335,GB -2380558336,2380562431,ZA -2380562432,2380578815,GB -2380578816,2380587007,JP -2380587008,2380595199,GB +2380558336,2380560383,ZA +2380560384,2380578815,GB +2380578816,2380580863,JP +2380580864,2380593151,GB +2380593152,2380593663,SG +2380593664,2380593919,GB +2380593920,2380595199,SG 2380660736,2380726271,US 2380726272,2380791807,GB 2380791808,2381119487,US @@ -73897,9 +75919,11 @@ 2382364672,2382368767,US 2382368768,2382374143,CA 2382374144,2382374399,US -2382374400,2382376703,CA -2382376704,2382381055,US -2382381056,2382383209,CA +2382374400,2382376959,CA +2382376960,2382381055,US +2382381056,2382383113,CA +2382383114,2382383114,AE +2382383115,2382383209,CA 2382383210,2382383210,AE 2382383211,2382385151,CA 2382385152,2382401535,US @@ -73913,8 +75937,8 @@ 2382654464,2382657023,US 2382657024,2382657535,CN 2382657536,2382657791,US -2382657792,2382658303,CN -2382658304,2382658559,US +2382657792,2382658047,CN +2382658048,2382658559,US 2382658560,2382658815,CA 2382658816,2382675967,US 2382675968,2382676107,CA @@ -73935,9 +75959,9 @@ 2385031168,2385032191,BR 2385032192,2385032703,CA 2385032704,2385035263,BR -2385035264,2385293087,CA -2385293088,2385293111,US -2385293112,2385307727,CA +2385035264,2385295359,CA +2385295360,2385295615,US +2385295616,2385307727,CA 2385307728,2385307735,US 2385307736,2385903615,CA 2385903616,2385908735,US @@ -73969,9 +75993,7 @@ 2387345408,2387410943,CA 2387410944,2387476479,US 2387476480,2387542015,CA -2387542016,2387587583,US -2387587584,2387588095,AU -2387588096,2387607551,US +2387542016,2387607551,US 2387607552,2388328447,CA 2388328448,2388330495,US 2388330496,2388332543,NL @@ -74049,8 +76071,8 @@ 2395804416,2395804671,US 2395804672,2395810815,CA 2395810816,2395811071,US -2395811072,2395811839,CA -2395811840,2395815935,US +2395811072,2395813887,CA +2395813888,2395815935,US 2395815936,2395841023,CA 2395841024,2395841535,GB 2395841536,2397700095,CA @@ -74060,8 +76082,10 @@ 2397765632,2398748671,CA 2398748672,2398945279,US 2398945280,2399010815,CA -2399010816,2399109119,US -2399109120,2399141887,PR +2399010816,2399121407,US +2399121408,2399131647,PR +2399131648,2399133695,US +2399133696,2399141887,PR 2399141888,2399150079,BR 2399150080,2399151103,BQ 2399151104,2399158271,BR @@ -74102,18 +76126,16 @@ 2401380352,2401380863,SG 2401380864,2401828863,US 2401828864,2401894399,GB -2401894400,2402091523,US -2402091524,2402091524,JP -2402091525,2402222079,US +2401894400,2402222079,US 2402222080,2402287615,IE 2402287616,2402418687,US 2402418688,2402484223,AT 2402484224,2402549759,FI 2402549760,2402680831,GB 2402680832,2402746367,BR -2402746368,2402942975,US -2402942976,2402951167,GB -2402951168,2403401727,US +2402746368,2402945023,US +2402945024,2402945279,GB +2402945280,2403401727,US 2403401728,2403467263,GB 2403467264,2404974591,US 2404974592,2405040127,HK @@ -74167,9 +76189,7 @@ 2408165376,2408169471,BR 2408169472,2408170495,TT 2408170496,2408178687,BR -2408178688,2408179423,HN -2408179424,2408179431,IT -2408179432,2408179711,HN +2408178688,2408179711,HN 2408179712,2408182783,BR 2408182784,2408183807,AR 2408183808,2408185855,BR @@ -74312,7 +76332,7 @@ 2415893504,2415894527,PA 2415894528,2415898623,BR 2415898624,2415899647,CL -2415899648,2415904767,BR +2415900672,2415904767,BR 2415904768,2415905023,US 2415905024,2415917055,BR 2415917056,2415918079,EC @@ -74369,17 +76389,15 @@ 2418296320,2418297343,IN 2418297344,2418305023,US 2418305024,2418305279,IN -2418305280,2418307071,US -2418307072,2418309119,LV +2418305280,2418309119,US 2418309120,2418311167,PL -2418311168,2418311679,IN -2418311680,2418312191,CZ -2418312192,2418312703,US -2418312704,2418313215,IN +2418311168,2418313215,IN 2418313216,2418314239,US 2418314240,2418314751,IN 2418314752,2418315263,US -2418315264,2418316799,IN +2418315264,2418315775,IN +2418315776,2418316287,US +2418316288,2418316799,IN 2418316800,2418323455,US 2418323456,2418323711,IN 2418323712,2418323967,US @@ -74388,25 +76406,26 @@ 2418324992,2418326015,IN 2418326016,2418326527,US 2418326528,2418327039,IN -2418327040,2418327551,US -2418327552,2418329599,SK -2418329600,2418331135,US +2418327040,2418331135,US 2418331136,2418331647,IN 2418331648,2418332159,US 2418332160,2418332671,IN 2418332672,2418333183,US -2418333184,2418334207,IN -2418334208,2418334719,US -2418334720,2418343935,IN +2418333184,2418339839,IN +2418339840,2418340863,US +2418340864,2418341375,IN +2418341376,2418341887,US +2418341888,2418342911,IN +2418342912,2418343423,US +2418343424,2418343935,IN 2418343936,2418606079,US 2418606080,2418671615,DE 2418671616,2418737151,US 2418737152,2418802687,NL 2418868224,2418991103,US -2418991104,2418999295,GB -2418999296,2419064831,US -2419064832,2419065343,BD -2419065344,2419065855,IN +2418991104,2418993151,GB +2418993152,2419064831,US +2419064832,2419065855,BD 2419065856,2419067903,HK 2419068928,2419069951,AU 2419069952,2419071999,VN @@ -74476,7 +76495,9 @@ 2420310016,2420899839,US 2420899840,2420932299,DE 2420932300,2420932300,NL -2420932301,2420965375,DE +2420932301,2420946207,DE +2420946208,2420946239,NL +2420946240,2420965375,DE 2420965376,2421096447,US 2421161984,2421293055,US 2421293056,2421358591,GB @@ -74520,35 +76541,33 @@ 2426942464,2426943487,CA 2426943488,2426961919,US 2426961920,2426962239,CA -2426962240,2426962359,US -2426962360,2426962527,CA -2426962528,2426962623,US +2426962240,2426962303,US +2426962304,2426962335,CA +2426962336,2426962351,US +2426962352,2426962527,CA +2426962528,2426962543,US +2426962544,2426962551,CA +2426962552,2426962623,US 2426962624,2426962943,CA 2426962944,2426963199,US 2426963200,2426963711,CA -2426963712,2426964223,US -2426964224,2426964479,CA -2426964480,2426964735,US -2426964736,2426966271,CA -2426966272,2426966527,US -2426966528,2426966783,CA -2426966784,2426969087,US -2426969088,2426969599,CA -2426969600,2426969727,US -2426969728,2426969983,CA -2426969984,2426970111,US -2426970112,2426975775,CA +2426963712,2426963967,US +2426963968,2426966783,CA +2426966784,2426968831,US +2426968832,2426972415,CA +2426972416,2426974207,US +2426974208,2426975775,CA 2426975776,2426975999,US 2426976000,2426976543,CA 2426976544,2426976767,US 2426976768,2426976799,CA 2426976800,2426976991,US -2426976992,2426978303,CA -2426978304,2426978815,NL -2426978816,2426980351,CA -2426980352,2426986495,US -2426986496,2426994687,CA -2426994688,2427224063,US +2426976992,2426984447,CA +2426984448,2426988543,US +2426988544,2426994687,CA +2426994688,2427214708,US +2427214709,2427214710,GB +2427214711,2427224063,US 2427224064,2427256831,CA 2427256832,2427322367,GB 2427322368,2427453439,US @@ -74557,11 +76576,7 @@ 2427537152,2427584511,NO 2427584512,2427584743,US 2427584744,2427584765,CA -2427584766,2427584768,US -2427584769,2427584775,GB -2427584776,2427584825,US -2427584826,2427585023,GB -2427585024,2427585235,US +2427584766,2427585235,US 2427585236,2427585271,CA 2427585272,2427585275,BR 2427585276,2427585277,MX @@ -74689,25 +76704,20 @@ 2427586752,2427586763,AE 2427586764,2427586815,GB 2427586816,2427586816,NL -2427586817,2427586823,GB +2427586817,2427586823,FR 2427586824,2427586861,IT -2427586862,2427586879,GB +2427586862,2427586879,FR 2427586880,2427586913,DE -2427586914,2427586943,GB +2427586914,2427586943,FR 2427586944,2427586945,BE -2427586946,2427586959,GB +2427586946,2427586959,FR 2427586960,2427586965,NL 2427586966,2427586967,DK -2427586968,2427586975,GB +2427586968,2427586975,FR 2427586976,2427586983,CH -2427586984,2427586991,GB +2427586984,2427586991,FR 2427586992,2427586993,AT -2427586994,2427587007,GB -2427587008,2427587047,FR -2427587048,2427587049,GB -2427587050,2427587051,FR -2427587052,2427587071,GB -2427587072,2427587072,FR +2427586994,2427587072,FR 2427587073,2427587583,GB 2427587584,2427587584,JP 2427587585,2427587591,AU @@ -74727,13 +76737,11 @@ 2427588179,2427588179,MN 2427588180,2427588191,MO 2427588192,2427588351,AU -2427588352,2427588352,SG -2427588353,2427588359,AU -2427588360,2427588365,SG +2427588352,2427588365,SG 2427588366,2427588369,TH -2427588370,2427588607,AU -2427588608,2427591679,IE -2427591680,2427591880,US +2427588370,2427588607,SG +2427588608,2427590655,GB +2427590656,2427591880,US 2427591881,2427591881,CA 2427591882,2427591883,US 2427591884,2427591884,CO @@ -74774,7 +76782,7 @@ 2427592208,2427592223,JP 2427592224,2427592239,AU 2427592240,2427592255,CN -2427592256,2427592703,SG +2427592256,2427592703,US 2427592704,2427600895,GB 2427600896,2427609087,NL 2427609088,2427617279,GB @@ -74809,9 +76817,9 @@ 2429581312,2429583359,US 2429583360,2429616127,AT 2429616128,2429637119,NL -2429637376,2429640703,NL -2429640704,2429648895,RU -2429648896,2429681663,NL +2429637376,2429642751,NL +2429642752,2429644799,RU +2429644800,2429681663,NL 2429681664,2429796607,US 2429796608,2429797375,GB 2429797376,2429878271,US @@ -74889,9 +76897,14 @@ 2433667072,2433671167,CH 2433671168,2433675263,DE 2433675264,2433677311,PL -2433677312,2433810431,NL +2433677312,2433679359,AT +2433679360,2433810431,NL 2433810432,2433875967,GB -2433875968,2435055615,NL +2433875968,2434924543,NL +2434924544,2434928639,US +2434928640,2434957311,NL +2434957312,2434959359,AU +2434959360,2435055615,NL 2435055616,2435107327,GB 2435107328,2435107583,US 2435107584,2435121151,GB @@ -74914,17 +76927,15 @@ 2436784128,2436825087,GB 2436825088,2441196707,NL 2441196708,2441196708,BE -2441196709,2441311231,NL -2441311232,2441311487,GB -2441311488,2446983167,NL -2447048704,2447233023,NL -2447233024,2447235583,FR +2441196709,2446983167,NL +2447048704,2447235071,NL +2447235072,2447235583,FR 2447235584,2447235839,NL 2447235840,2447237119,FR 2447237120,2447376383,NL 2447376384,2447384575,GB -2447384576,2447392767,DE -2447392768,2447441919,GB +2447384576,2447386623,DE +2447386624,2447441919,GB 2447441920,2447507455,DE 2447507456,2447572991,FR 2447572992,2447638527,GB @@ -74963,7 +76974,9 @@ 2448364864,2448364927,PL 2448364928,2448365047,FR 2448365048,2448365051,PL -2448365052,2448365183,FR +2448365052,2448365123,FR +2448365124,2448365127,PL +2448365128,2448365183,FR 2448365184,2448365247,PL 2448365248,2448365311,FR 2448365312,2448365375,PL @@ -74973,7 +76986,9 @@ 2448365632,2448365823,PL 2448365824,2448365951,FR 2448365952,2448366015,PL -2448366016,2448366059,FR +2448366016,2448366051,FR +2448366052,2448366055,PL +2448366056,2448366059,FR 2448366060,2448366063,PL 2448366064,2448366143,FR 2448366144,2448366271,PL @@ -74987,7 +77002,9 @@ 2448370720,2448370727,ES 2448370728,2448371031,FR 2448371032,2448371039,ES -2448371040,2448372031,FR +2448371040,2448371639,FR +2448371640,2448371643,DE +2448371644,2448372031,FR 2448372032,2448372047,ES 2448372048,2448373087,FR 2448373088,2448373095,ES @@ -75001,7 +77018,11 @@ 2448379904,2448383999,PL 2448384000,2448386047,FR 2448386048,2448386175,GB -2448386176,2448387199,FR +2448386176,2448386695,FR +2448386696,2448386703,DE +2448386704,2448386815,FR +2448386816,2448387071,LT +2448387072,2448387199,FR 2448387200,2448387327,DE 2448387328,2448387359,FR 2448387360,2448387391,CZ @@ -75015,26 +77036,30 @@ 2448389888,2448390399,FR 2448390400,2448390527,ES 2448390528,2448390655,DE -2448390656,2448390911,FR +2448390656,2448390751,FR +2448390752,2448390767,PL +2448390768,2448390911,FR 2448390912,2448391039,IE 2448391040,2448391167,FR 2448391168,2448391175,ES 2448391176,2448391263,FR 2448391264,2448391295,NL 2448391296,2448393471,FR -2448393472,2448393983,PL -2448393984,2448394239,FR +2448393472,2448394239,PL 2448394240,2448394303,DE 2448394304,2448394351,FR 2448394352,2448394367,ES 2448394368,2448394383,FI 2448394384,2448394463,FR 2448394464,2448394479,DE -2448394480,2448394655,FR +2448394480,2448394639,FR +2448394640,2448394655,IT 2448394656,2448394671,DE 2448394672,2448394675,FR 2448394676,2448394679,DE -2448394680,2448394767,FR +2448394680,2448394731,FR +2448394732,2448394735,DE +2448394736,2448394767,FR 2448394768,2448394771,DE 2448394772,2448394775,FR 2448394776,2448394783,DE @@ -75057,7 +77082,9 @@ 2448403680,2448403687,DE 2448403688,2448404095,FR 2448404096,2448404127,ES -2448404128,2448404183,FR +2448404128,2448404143,FR +2448404144,2448404159,GB +2448404160,2448404183,FR 2448404184,2448404191,ES 2448404192,2448404415,FR 2448404416,2448404447,GB @@ -75079,15 +77106,16 @@ 2448410624,2448410687,GB 2448410688,2448410927,FR 2448410928,2448410943,GB -2448410944,2448411003,FR +2448410944,2448410991,FR +2448410992,2448410999,GB +2448411000,2448411003,FR 2448411004,2448411007,GB 2448411008,2448411183,FR 2448411184,2448411199,GB 2448411200,2448411439,FR 2448411440,2448411455,GB 2448411456,2448411647,FR -2448411648,2448412415,GB -2448412416,2448412671,FR +2448411648,2448412671,GB 2448412672,2448412799,DE 2448412800,2448413855,FR 2448413856,2448413887,FI @@ -75117,7 +77145,9 @@ 2448418560,2448418687,NL 2448418688,2448418783,FR 2448418784,2448418791,ES -2448418792,2448419087,FR +2448418792,2448418815,FR +2448418816,2448419071,DE +2448419072,2448419087,FR 2448419088,2448419091,DE 2448419092,2448419103,FR 2448419104,2448419107,DE @@ -75217,19 +77247,9 @@ 2450718720,2450784255,FR 2450784256,2450849791,US 2450849792,2450915327,SE -2450915328,2451030015,US -2451030016,2451031039,AU -2451031040,2451031295,US -2451031296,2451031807,AU -2451031808,2451031871,US -2451031872,2451033063,AU -2451033064,2451033067,US -2451033068,2451034111,AU -2451034112,2451035903,US -2451035904,2451036159,AO -2451036160,2451042303,US -2451042304,2451043327,ZA -2451043328,2451044351,US +2450915328,2451032063,US +2451032064,2451032575,AU +2451032576,2451044351,US 2451044352,2451046399,ID 2451046400,2452619263,US 2452619264,2452684799,IT @@ -75286,10 +77306,11 @@ 2454864896,2454865151,GB 2454865152,2454865407,US 2454865408,2454865663,CR -2454865664,2454904831,US +2454865664,2454902783,US +2454902784,2454903807,MX +2454903808,2454904831,US 2454904832,2454906879,AR -2454906880,2454907391,CL -2454907392,2454913023,US +2454906880,2454913023,US 2454913024,2454978559,CL 2454978560,2455175167,US 2455175168,2455240703,GB @@ -75408,7 +77429,7 @@ 2456847616,2456847871,BR 2456847872,2456848127,IN 2456848128,2456848383,DK -2456848640,2456849151,US +2456848640,2456848895,US 2456861952,2456862207,CA 2456862720,2456862975,NL 2456862976,2456863743,US @@ -75428,7 +77449,7 @@ 2456868096,2456868351,DK 2456868352,2456868607,IE 2456869888,2456870143,SG -2456871168,2456871679,US +2456871168,2456871423,US 2456871936,2456872191,RO 2456872192,2456872447,FR 2456872448,2456872703,IE @@ -75438,6 +77459,7 @@ 2456873472,2456873727,IN 2456873728,2456873983,DK 2456874240,2456874495,SG +2456875008,2456875263,PL 2456875264,2456875775,CA 2456875776,2456876031,JP 2456876032,2456876287,NL @@ -75447,7 +77469,9 @@ 2456877312,2456877567,AU 2456877568,2456877823,US 2456877824,2456878079,HK +2456878080,2456878335,GB 2456878336,2456878591,DE +2456878592,2456879103,GB 2456879104,2457075711,US 2457075712,2457141247,AU 2457206784,2457272319,AU @@ -75478,8 +77502,8 @@ 2457367552,2457369599,RU 2457369600,2457370623,UA 2457370624,2457377791,BY -2457377792,2457378047,FR -2457378048,2457378815,DE +2457377792,2457378303,RU +2457378304,2457378815,CZ 2457378816,2457380095,NL 2457380096,2457380863,RU 2457380864,2457381631,UA @@ -75508,7 +77532,7 @@ 2457399552,2457399807,RU 2457399808,2457400319,CZ 2457400320,2457400575,UA -2457400576,2457400831,CZ +2457400576,2457400831,KG 2457400832,2457402367,RU 2457402368,2457403391,SY 2457403392,2457520895,US @@ -75530,7 +77554,8 @@ 2459697152,2459828223,US 2459828224,2459833343,RU 2459833344,2459834367,UZ -2459834368,2459835903,RU +2459834368,2459835391,KZ +2459835392,2459835903,RU 2459835904,2459836159,UA 2459836160,2459844607,RU 2459844608,2459845631,KZ @@ -75569,7 +77594,9 @@ 2461601792,2461605887,GB 2461605888,2461607935,LB 2461607936,2461609983,FR -2461609984,2461612031,BE +2461609984,2461611577,BE +2461611578,2461611579,NL +2461611580,2461612031,BE 2461612032,2461614079,IL 2461614080,2461622271,CH 2461622272,2461630463,DE @@ -75618,9 +77645,13 @@ 2462350336,2462351359,CN 2462351360,2462384127,GM 2462384128,2462449663,US -2462449664,2462526602,GB +2462449664,2462519807,GB +2462519808,2462520063,US +2462520064,2462526602,GB 2462526603,2462526603,US -2462526604,2462646271,GB +2462526604,2462626943,GB +2462626944,2462627071,US +2462627072,2462646271,GB 2462646272,2462717439,US 2462717440,2462717951,DE 2462717952,2462723071,US @@ -75662,8 +77693,8 @@ 2465665024,2465667071,IT 2465667072,2465669119,SI 2465669120,2465671167,RU -2465671168,2465672703,IE -2465672704,2465672959,BG +2465671168,2465672191,IE +2465672192,2465672959,BG 2465672960,2465673215,IE 2465673216,2465677311,IM 2465677312,2465679359,IT @@ -75671,7 +77702,9 @@ 2465681408,2465683455,SE 2465683456,2465685503,FR 2465685504,2465690367,DE -2465690368,2465693695,IT +2465690368,2465693439,IT +2465693440,2465693455,FR +2465693456,2465693695,IT 2465693696,2465697791,NO 2465697792,2465718271,SE 2465718272,2465721855,NO @@ -75722,8 +77755,9 @@ 2466053120,2466054143,CA 2466054144,2466185215,SE 2466185216,2466189311,GB -2466189312,2466189567,ES -2466189568,2466191103,NL +2466189312,2466189823,NL +2466189824,2466190079,ES +2466190080,2466191103,NL 2466191104,2466191167,ES 2466191168,2466191359,NL 2466191360,2466193407,CZ @@ -75746,21 +77780,15 @@ 2466242560,2466250751,GE 2466250752,2466318335,US 2466318336,2466318591,SG -2466318592,2466320895,US -2466320896,2466321151,AU -2466321152,2466322431,US -2466322432,2466323455,AU +2466318592,2466320383,US +2466320384,2466322431,AU +2466322432,2466323455,US 2466323456,2466323711,SG -2466323712,2466324479,AU -2466324480,2466326015,US +2466323712,2466326015,US 2466326016,2466326271,SG 2466326272,2466336767,US 2466336768,2466337023,SG -2466337024,2466340863,US -2466340864,2466349055,CA -2466349056,2466376191,US -2466376192,2466376447,CA -2466376448,2466643967,US +2466337024,2466643967,US 2466643968,2466709503,KR 2466709504,2466775039,HU 2466775040,2466840575,HK @@ -75790,19 +77818,21 @@ 2469724160,2469789695,US 2469789696,2469855231,DE 2469855232,2470182911,US -2470182912,2470191103,CH -2470191104,2470199295,SG -2470199296,2470248447,CH +2470182912,2470188287,CH +2470188288,2470188543,SG +2470188544,2470197759,CH +2470197760,2470198271,SG +2470198272,2470248447,CH 2470248448,2470510591,US 2470510592,2470576127,BR 2470576128,2470576383,AU 2470576384,2470577151,AQ 2470577152,2470577919,HM 2470577920,2470641663,AU -2470641664,2470649855,BE -2470649856,2470703359,LU -2470703360,2470703615,BE -2470703616,2470707199,LU +2470641664,2470643711,BE +2470643712,2470703103,LU +2470703104,2470705151,BE +2470705152,2470707199,LU 2470707200,2470772735,GB 2470772736,2470838271,AU 2470838272,2471194623,US @@ -75877,7 +77907,9 @@ 2475135488,2475135495,ES 2475135496,2475135719,FR 2475135720,2475135727,DE -2475135728,2475139391,FR +2475135728,2475137911,FR +2475137912,2475137919,NL +2475137920,2475139391,FR 2475139392,2475139455,ES 2475139456,2475140095,FR 2475140096,2475140223,DE @@ -75903,9 +77935,7 @@ 2475145152,2475145215,ES 2475145216,2475145343,DE 2475145344,2475145471,GB -2475145472,2475145567,FR -2475145568,2475145599,GB -2475145600,2475145615,FR +2475145472,2475145615,FR 2475145616,2475145631,LT 2475145632,2475145727,FR 2475145728,2475145855,GB @@ -75923,13 +77953,15 @@ 2475146720,2475146943,FR 2475146944,2475146975,PT 2475146976,2475148351,FR -2475148352,2475148415,PL -2475148416,2475148521,FR +2475148352,2475148419,PL +2475148420,2475148431,FR +2475148432,2475148435,PL +2475148436,2475148521,FR 2475148522,2475148522,PL 2475148523,2475148543,FR 2475148544,2475148607,PL -2475148608,2475148671,FR -2475148672,2475148735,PL +2475148608,2475148655,FR +2475148656,2475148735,PL 2475148736,2475148796,FR 2475148797,2475148797,PL 2475148798,2475149119,FR @@ -75992,7 +78024,9 @@ 2475161216,2475161407,FR 2475161408,2475161439,FI 2475161440,2475161471,PL -2475161472,2475161983,FR +2475161472,2475161619,FR +2475161620,2475161623,ES +2475161624,2475161983,FR 2475161984,2475161999,LT 2475162000,2475162351,FR 2475162352,2475162367,ES @@ -76055,7 +78089,9 @@ 2480734208,2481192959,US 2481192960,2481455103,CZ 2481455104,2481520639,SK -2481520640,2481848319,IL +2481520640,2481586687,IL +2481586688,2481587199,GB +2481587200,2481848319,IL 2481848320,2482175999,US 2482176000,2482176031,MY 2482176032,2482176191,HK @@ -76223,9 +78259,7 @@ 2483224576,2483290111,ES 2483290112,2483421183,US 2483421184,2483486719,HU -2483486720,2483679231,US -2483679232,2483680255,IN -2483680256,2486566911,US +2483486720,2486566911,US 2486566912,2486632447,CH 2486632448,2486697983,US 2486697984,2486763519,ES @@ -76269,18 +78303,16 @@ 2487223040,2487223295,SG 2487223296,2487224319,IN 2487224320,2487224831,GB -2487224832,2487225087,IT -2487225088,2487225343,US +2487224832,2487225343,IT 2487225344,2487225855,NL 2487225856,2487227135,US 2487227136,2487227391,FR 2487227392,2487227647,MX 2487227648,2487227903,AR -2487227904,2487228415,MX +2487227904,2487228415,US 2487228416,2487228927,ZA 2487228928,2487230207,GB -2487230208,2487230463,ZA -2487230464,2487236607,US +2487230208,2487236607,US 2487236608,2487237631,GB 2487237632,2487238143,MF 2487238144,2487238655,US @@ -76292,7 +78324,8 @@ 2487365632,2487369727,HK 2487369728,2487386111,PF 2487386112,2487394303,SG -2487394304,2487418879,US +2487394304,2487417855,US +2487417856,2487418879,CA 2487418880,2487549951,JP 2487549952,2487615487,PT 2487615488,2487681023,CN @@ -76313,15 +78346,16 @@ 2489712640,2489745407,PE 2489745408,2489778175,HT 2489778176,2489843711,DO -2489843712,2489995263,US -2489995264,2489997311,SG -2489997312,2490013695,US +2489843712,2489995519,US +2489995520,2489995775,SG +2489995776,2490013695,US 2490013696,2490014011,GB 2490014012,2490014012,US 2490014013,2490015743,GB 2490015744,2490236927,US 2490236928,2490302463,LU -2490302464,2490695679,US +2490302464,2490367999,SA +2490368000,2490695679,US 2490695680,2490761215,CA 2490761216,2491154431,NO 2491154432,2491875327,US @@ -76347,17 +78381,19 @@ 2493756416,2493757439,CA 2493757440,2494103551,US 2494103552,2494169087,FR -2494169088,2494562303,US +2494169088,2494386175,US +2494386176,2494388223,MX +2494388224,2494562303,US 2494562304,2494627839,GB -2494627840,2494670847,US +2494627840,2494650367,US +2494650368,2494652415,BR +2494652416,2494670847,US 2494670848,2494670963,GB 2494670964,2494670967,US 2494670968,2494671103,GB 2494671104,2494676991,US -2494676992,2494683391,AU -2494683392,2494683647,US -2494683648,2494685183,AU -2494685184,2494689791,US +2494676992,2494679039,AU +2494679040,2494689791,US 2494689792,2494690047,IN 2494690048,2494889983,US 2494889984,2494955519,GB @@ -76365,7 +78401,10 @@ 2495021056,2495152127,US 2495217664,2495283199,US 2495283200,2495348735,CH -2495348736,2495807487,US +2495348736,2495349051,DE +2495349052,2495349052,US +2495349053,2495350783,DE +2495350784,2495807487,US 2495807488,2495873023,AU 2495873024,2495938559,CH 2495938560,2496004095,GB @@ -76419,9 +78458,10 @@ 2500133024,2500135679,US 2500135680,2500135935,NL 2500135936,2500136959,US -2500136960,2500139583,BE +2500136960,2500139007,BE +2500139008,2500139583,US 2500139584,2500139647,NL -2500139648,2500141055,BE +2500139648,2500141055,US 2500141056,2500141311,IE 2500141312,2500141823,US 2500141824,2500144127,IE @@ -76430,7 +78470,7 @@ 2500145152,2500149343,US 2500149344,2500149375,GB 2500149376,2500149503,US -2500149504,2500149759,NL +2500149504,2500149759,IE 2500149760,2500150559,US 2500150560,2500150591,GB 2500150592,2500150655,US @@ -76455,13 +78495,16 @@ 2500165632,2500165887,GB 2500165888,2500166207,US 2500166208,2500166223,GB -2500166224,2500170751,US +2500166224,2500167679,US +2500167680,2500168959,GB +2500168960,2500170751,US 2500170752,2500170752,FI -2500170753,2500173823,US -2500173824,2500177935,HR +2500170753,2500177935,US 2500177936,2500177943,PL -2500177944,2500182015,HR -2500182016,2500188223,FR +2500177944,2500179967,US +2500179968,2500182015,HR +2500182016,2500188159,US +2500188160,2500188223,FR 2500188224,2500188287,CH 2500188288,2500188415,FR 2500188416,2500188447,CH @@ -76469,80 +78512,74 @@ 2500188680,2500188687,CH 2500188688,2500188831,FR 2500188832,2500188863,CH -2500188864,2500194303,FR -2500194304,2500194399,US -2500194400,2500194431,FI -2500194432,2500196351,US -2500196352,2500198399,FI +2500188864,2500189183,FR +2500189184,2500190207,CH +2500190208,2500192255,FR +2500192256,2500194303,US +2500194304,2500198399,FI 2500198400,2500199471,GB 2500199472,2500199475,IE -2500199476,2500200959,GB -2500200960,2500201535,US +2500199476,2500201471,GB +2500201472,2500201535,US 2500201536,2500201543,GB 2500201544,2500202879,US 2500202880,2500203007,ES 2500203008,2500203519,US 2500203520,2500204543,IT 2500204544,2500206591,CZ -2500206592,2500208639,FR -2500208640,2500209663,DE -2500209664,2500210687,FR +2500206592,2500208639,US +2500208640,2500210687,FR 2500210688,2500211671,US 2500211672,2500211679,RO 2500211680,2500211711,US 2500211712,2500211728,CH 2500211729,2500211730,SI 2500211731,2500212735,CH -2500212736,2500212991,FR +2500212736,2500212991,FI 2500212992,2500213247,ES -2500213248,2500213279,FR -2500213280,2500213287,FI -2500213288,2500213819,FR +2500213248,2500213819,FI 2500213820,2500213823,NL -2500213824,2500223999,FR +2500213824,2500214783,FI +2500214784,2500216831,US +2500216832,2500218879,FR +2500218880,2500221455,US +2500221456,2500221459,FR +2500221460,2500222975,US +2500222976,2500223999,GB 2500224000,2500225023,BE -2500225024,2500225551,FR +2500225024,2500225551,US 2500225552,2500225559,ES -2500225560,2500226615,FR +2500225560,2500226615,US 2500226616,2500226623,NL -2500226624,2500228351,FR +2500226624,2500227071,US +2500227072,2500228351,FR 2500228352,2500228359,NO -2500228360,2500230041,FR +2500228360,2500229119,FR +2500229120,2500230041,US 2500230042,2500230042,GB -2500230043,2500231167,FR -2500231168,2500232191,ES -2500232192,2500233215,BE -2500233216,2500233751,DK -2500233752,2500233759,DE -2500233760,2500233787,DK -2500233788,2500233791,DE -2500233792,2500233811,DK -2500233812,2500233815,DE -2500233816,2500233831,DK -2500233832,2500233835,DE -2500233836,2500233863,DK -2500233864,2500233867,DE -2500233868,2500233935,DK -2500233936,2500233943,DE -2500233944,2500234055,DK -2500234056,2500234063,DE -2500234064,2500235263,DK -2500235264,2500235775,US +2500230043,2500232881,US +2500232882,2500232882,BE +2500232883,2500233215,US +2500233216,2500233727,DK +2500233728,2500234239,DE +2500234240,2500235263,DK +2500235264,2500235775,GB 2500235776,2500236031,ES -2500236032,2500236287,US -2500236288,2500236799,GB +2500236032,2500236799,GB 2500236800,2500237311,ES 2500237312,2500238047,IT 2500238048,2500238055,FR -2500238056,2500239359,IT -2500239360,2500243455,FR -2500243456,2500245759,GB -2500245760,2500246015,US -2500246016,2500247551,GB -2500247552,2500255743,ES -2500255744,2500263935,US -2500263936,2500272127,ES -2500272128,2500272625,US +2500238056,2500238335,IT +2500238336,2500239359,US +2500239360,2500241407,FR +2500241408,2500243455,SE +2500243456,2500246015,US +2500246016,2500246527,GB +2500246528,2500247551,US +2500247552,2500251647,ES +2500251648,2500268031,US +2500268032,2500270079,ES +2500270080,2500272625,US 2500272626,2500272626,GB 2500272627,2500273663,US 2500273664,2500273919,GB @@ -76555,8 +78592,8 @@ 2500291072,2500291327,US 2500291328,2500291583,FR 2500291584,2500292607,US -2500292608,2500296703,DE -2500296704,2500313855,US +2500292608,2500294655,DE +2500294656,2500313855,US 2500313856,2500314111,AT 2500314112,2500318719,US 2500318720,2500319231,IT @@ -76567,71 +78604,76 @@ 2500392960,2500393215,IN 2500393216,2500393983,US 2500393984,2500394239,GB -2500394240,2500531199,US +2500394240,2500530175,US +2500530176,2500531199,ES 2500531200,2500532223,AT 2500532224,2500532749,US 2500532750,2500532750,GR 2500532751,2500535295,US -2500535296,2500535423,IE -2500535424,2500535551,US -2500535552,2500535807,IE +2500535296,2500535807,IE 2500535808,2500536063,NL 2500536064,2500536359,US 2500536360,2500536367,FR -2500536368,2500536967,US -2500536968,2500536975,GB -2500536976,2500537343,US -2500537344,2500538367,GB -2500538368,2500542463,FR -2500542464,2500542751,US +2500536368,2500536831,US +2500536832,2500538367,GB +2500538368,2500540415,FR +2500540416,2500542751,US 2500542752,2500542755,NL 2500542756,2500544383,US 2500544384,2500544391,GB -2500544392,2500544767,US -2500544768,2500545023,GR +2500544392,2500544511,US +2500544512,2500545023,GR 2500545024,2500545703,US 2500545704,2500545711,SE 2500545712,2500545815,US 2500545816,2500545823,SE -2500545824,2500546559,US -2500546560,2500549271,GB +2500545824,2500549271,US 2500549272,2500549279,ES -2500549280,2500552703,GB +2500549280,2500550655,US +2500550656,2500552703,GB 2500552704,2500553727,US 2500553728,2500554239,GB -2500554240,2500554379,US -2500554380,2500554487,DE -2500554488,2500554551,US -2500554552,2500554559,DE -2500554560,2500554751,US +2500554240,2500554751,DE 2500554752,2500556295,FR 2500556296,2500556303,CZ -2500556304,2500556943,FR +2500556304,2500556799,FR +2500556800,2500556943,US 2500556944,2500556951,GR -2500556952,2500560895,FR +2500556952,2500558847,US +2500558848,2500560895,FR 2500560896,2500562943,GB -2500562944,2500567039,ES +2500562944,2500564991,ES +2500564992,2500567039,US 2500567040,2500569087,GB 2500569088,2500570111,BE -2500570112,2500575231,GB -2500575232,2500591615,US -2500591616,2500596223,GB +2500570112,2500571135,GB +2500571136,2500591615,US +2500591616,2500593663,GB +2500593664,2500596223,US 2500596224,2500596735,CH -2500596736,2500599807,GB -2500599808,2500599935,US +2500596736,2500599935,US 2500599936,2500599951,DK -2500599952,2500609023,US +2500599952,2500608383,US +2500608384,2500608511,ES +2500608512,2500609023,US 2500609024,2500610047,ES 2500610048,2500616191,US -2500616192,2500625407,IT -2500625408,2500632575,US -2500632576,2500640767,GB +2500616192,2500618239,IT +2500618240,2500624383,US +2500624384,2500625407,IT +2500625408,2500637727,US +2500637728,2500637759,GB +2500637760,2500638719,US +2500638720,2500640767,GB 2500640768,2500642815,FR 2500642816,2500643327,ES -2500643328,2500646911,FR +2500643328,2500644863,US +2500644864,2500646911,FR 2500646912,2500648959,ES -2500648960,2500657151,NL -2500657152,2500665343,ES +2500648960,2500653055,US +2500653056,2500655103,NL +2500655104,2500661247,US +2500661248,2500665343,ES 2500665344,2500666463,US 2500666464,2500666471,LU 2500666472,2500674623,US @@ -76642,21 +78684,24 @@ 2500681760,2500681767,PL 2500681768,2500682495,US 2500682496,2500682751,PL -2500682752,2500687103,US -2500687104,2500687359,FR +2500682752,2500686847,US +2500686848,2500687359,FR 2500687360,2500687871,US 2500687872,2500689919,FR 2500689920,2500694015,US -2500694016,2500697087,IT -2500697088,2500702207,US +2500694016,2500698111,IT +2500698112,2500702207,US 2500702208,2500702842,GB 2500702843,2500702843,BE -2500702844,2500702975,GB +2500702844,2500702847,GB +2500702848,2500702975,NL 2500702976,2500719103,US -2500719104,2500721151,IE +2500719104,2500720383,IE +2500720384,2500720639,US +2500720640,2500721151,IE 2500721152,2500722687,US -2500722688,2500726783,ES -2500726784,2500728063,US +2500722688,2500724735,ES +2500724736,2500728063,US 2500728064,2500728319,GB 2500728320,2500732063,US 2500732064,2500732071,GB @@ -76666,25 +78711,25 @@ 2500740418,2500740418,DE 2500740419,2500743167,US 2500743168,2500743679,GB -2500743680,2500744191,NL -2500744192,2500744239,GB +2500743680,2500744239,NL 2500744240,2500744247,ES -2500744248,2500745215,GB +2500744248,2500745215,NL 2500745216,2500746239,DE 2500746240,2500747263,GB 2500747264,2500748543,US 2500748544,2500748799,ES 2500748800,2500749311,DE -2500749312,2500751359,US -2500751360,2500756647,FR +2500749312,2500753407,US +2500753408,2500755455,FR +2500755456,2500756647,US 2500756648,2500756655,IT -2500756656,2500756879,FR +2500756656,2500756879,US 2500756880,2500756887,IT -2500756888,2500759159,FR +2500756888,2500759159,US 2500759160,2500759167,NL -2500759168,2500759463,FR +2500759168,2500759463,US 2500759464,2500759467,NL -2500759468,2500759551,FR +2500759468,2500759551,US 2500759552,2500761599,GB 2500761600,2500763199,FR 2500763200,2500763207,DE @@ -76697,11 +78742,13 @@ 2500773296,2500773303,GB 2500773304,2500777111,US 2500777112,2500777119,CH -2500777120,2500777983,US +2500777120,2500777191,US +2500777192,2500777199,CH +2500777200,2500777983,US 2500777984,2500777991,FR 2500777992,2500780031,US -2500780032,2500784127,GB -2500784128,2501000721,US +2500780032,2500782079,GB +2500782080,2501000721,US 2501000722,2501000722,GB 2501000723,2501001215,US 2501001216,2501033983,GB @@ -76724,14 +78771,16 @@ 2502041600,2502049791,ES 2502049792,2502098943,US 2502098944,2502164479,IT -2502164480,2502165759,GB -2502165760,2502173951,US +2502164480,2502166527,GB +2502166528,2502173951,US 2502173952,2502174207,DE 2502174208,2502180863,US 2502180864,2502181119,FI 2502181120,2502221823,US -2502221824,2502230015,ES -2502230016,2503016447,US +2502221824,2502225919,ES +2502225920,2502226943,US +2502226944,2502227967,ES +2502227968,2503016447,US 2503016448,2503147519,IL 2503147520,2503344127,US 2503344128,2503344383,AF @@ -76767,7 +78816,8 @@ 2503737344,2503868415,US 2503868416,2503876607,RU 2503876608,2503877631,MD -2503877632,2503879679,DE +2503877632,2503878655,US +2503878656,2503879679,DE 2503879680,2503880703,FI 2503880704,2503882751,RU 2503882752,2503884799,DE @@ -76784,21 +78834,15 @@ 2504180992,2504468479,US 2504468480,2504470527,ES 2504470528,2504472575,IT -2504472576,2504472831,US -2504472832,2504473599,ES +2504472576,2504473599,ES 2504473600,2504474623,US 2504474624,2504482815,HR 2504482816,2504486911,ES 2504486912,2504491007,HK 2504491008,2504499199,IT -2504499200,2504499839,IE -2504499840,2504499967,US -2504499968,2504500223,IE +2504499200,2504500223,IE 2504500224,2504501247,US -2504501248,2504501385,GB -2504501386,2504501386,ES -2504501387,2504501503,GB -2504501504,2504503295,ES +2504501248,2504503295,ES 2504503296,2504517631,US 2504517632,2504518655,FR 2504518656,2504918642,US @@ -76841,17 +78885,15 @@ 2505789440,2505790463,FR 2505790464,2505791487,US 2505791488,2505792511,FR -2505792512,2505793535,US -2505793536,2505803775,ES +2505792512,2505803775,ES 2505803776,2506293247,US 2506293248,2506358783,CA 2506358784,2506361343,ES 2506361344,2506361855,US -2506361856,2506364415,ES -2506364416,2506364671,US -2506364672,2506365183,ES -2506365184,2506365439,GB -2506365440,2506366975,ES +2506361856,2506362367,GB +2506362368,2506362879,ES +2506362880,2506363135,BE +2506363136,2506366975,ES 2506366976,2506400767,US 2506400768,2506401023,IT 2506401024,2506401279,US @@ -76873,7 +78915,11 @@ 2507173888,2507174143,US 2507175936,2507177983,CA 2507183360,2507183615,US -2507210752,2507510271,US +2507210752,2507368447,US +2507368448,2507369471,GB +2507369472,2507475199,US +2507475200,2507475455,CA +2507475456,2507510271,US 2507510272,2507510527,FR 2507510528,2508062719,US 2508062720,2508064767,CH @@ -76913,9 +78959,7 @@ 2508324864,2508455935,US 2508455936,2508521471,IT 2508521472,2508587007,CH -2508587008,2508631295,BE -2508631296,2508631551,US -2508631552,2508652543,BE +2508587008,2508652543,BE 2508652544,2508718079,AU 2508718080,2508914687,US 2508914688,2508980223,IT @@ -77163,22 +79207,26 @@ 2513698816,2513764351,DK 2513764352,2514419711,DE 2514419712,2514485247,GB -2514485248,2514681343,DE -2514681344,2514681599,TR +2514485248,2514679807,DE +2514679808,2514681599,TR 2514681600,2515140607,DE 2515140608,2515142655,US 2515142656,2515173375,DE -2515173376,2515189247,SG +2515173376,2515188991,SG +2515188992,2515189247,AU 2515189248,2515189503,JP 2515189504,2515189759,IN 2515189760,2515206143,US -2515206144,2515271679,GB +2515206144,2515269631,GB +2515269632,2515271679,FR 2515271680,2515599359,DE 2515599360,2515664895,GB 2515664896,2516037631,DE 2516037632,2516038143,DK 2516038144,2516058111,DE -2516058112,2516076543,US +2516058112,2516070399,US +2516070400,2516074495,CA +2516074496,2516076543,US 2516076544,2516123647,CA 2516123648,2516254719,DE 2516254720,2516320255,FR @@ -77197,7 +79245,7 @@ 2516526080,2516526143,NL 2516526144,2516526335,US 2516526336,2516527103,NL -2516527168,2516529151,GB +2516527104,2516529151,GB 2516529152,2516529279,CH 2516529280,2516529343,FR 2516529344,2516529375,BE @@ -77269,9 +79317,15 @@ 2523657216,2523659263,ID 2523659264,2523660287,IN 2523660288,2523725823,US -2523725824,2523746303,SG +2523725824,2523734015,SG +2523734016,2523746303,HK 2523746304,2523748351,KR -2523748352,2523791359,SG +2523748352,2523750399,SG +2523750400,2523758591,HK +2523758592,2523766783,SG +2523766784,2523774975,TH +2523774976,2523779071,JP +2523779072,2523791359,KR 2523791360,2524119039,US 2524119040,2524184575,CN 2524184576,2524315647,TW @@ -77443,7 +79497,9 @@ 2533392384,2538602495,IT 2538602496,2538602687,FR 2538602688,2538602751,DE -2538602752,2538603519,FR +2538602752,2538603007,FR +2538603008,2538603039,PL +2538603040,2538603519,FR 2538603520,2538603583,DE 2538603584,2538603711,FR 2538603712,2538603775,DE @@ -77497,7 +79553,9 @@ 2538619360,2538619375,ES 2538619376,2538619431,FR 2538619432,2538619435,DE -2538619436,2538619775,FR +2538619436,2538619759,FR +2538619760,2538619763,ES +2538619764,2538619775,FR 2538619776,2538619807,LT 2538619808,2538619903,FR 2538619904,2538619911,ES @@ -77549,7 +79607,9 @@ 2538626704,2538629727,FR 2538629728,2538629759,ES 2538629760,2538629823,DE -2538629824,2538631583,FR +2538629824,2538631167,FR +2538631168,2538631423,NL +2538631424,2538631583,FR 2538631584,2538631615,FI 2538631616,2538633551,FR 2538633552,2538633567,IE @@ -77592,13 +79652,17 @@ 2538646784,2538647039,CZ 2538647040,2538647823,FR 2538647824,2538647831,FI -2538647832,2538648015,FR +2538647832,2538647871,FR +2538647872,2538647887,PL +2538647888,2538648015,FR 2538648016,2538648031,ES 2538648032,2538648239,FR 2538648240,2538648255,DE 2538648256,2538648339,FR 2538648340,2538648343,GB -2538648344,2538648591,FR +2538648344,2538648527,FR +2538648528,2538648531,PL +2538648532,2538648591,FR 2538648592,2538648623,BE 2538648624,2538649767,FR 2538649768,2538649775,DE @@ -77621,7 +79685,9 @@ 2538651280,2538651283,DE 2538651284,2538651967,FR 2538651968,2538651999,PT -2538652000,2538652727,FR +2538652000,2538652695,FR +2538652696,2538652699,GB +2538652700,2538652727,FR 2538652728,2538652731,DE 2538652732,2538652883,FR 2538652884,2538652887,DE @@ -77753,8 +79819,8 @@ 2543583232,2543648767,SE 2543648768,2543714303,NO 2543779840,2544228863,US -2544228864,2544229375,DE -2544229376,2544500735,US +2544228864,2544229119,DE +2544229120,2544500735,US 2544500736,2544566271,GB 2544566272,2544631807,US 2544697344,2544762879,SA @@ -77782,6 +79848,7 @@ 2547525632,2547527679,DE 2547527680,2547535871,GB 2547548160,2547580927,NO +2547580928,2547646463,DE 2548039680,2548072320,GB 2548072321,2548072321,US 2548072322,2548563967,GB @@ -77807,7 +79874,9 @@ 2548848640,2548848895,UA 2548848896,2548858879,RU 2548858880,2548867071,NL -2548867072,2548875263,IQ +2548867072,2548870143,IQ +2548870144,2548871167,SA +2548871168,2548875263,IQ 2548875264,2548877311,KZ 2548877312,2548879359,SE 2548879360,2548883455,GB @@ -77881,7 +79950,9 @@ 2549899264,2549901311,PS 2549901312,2549903359,RU 2549903360,2549905407,ES -2549905408,2549907455,GB +2549905408,2549906431,GB +2549906432,2549906687,DE +2549906688,2549907455,GB 2549907456,2549923839,SE 2549923840,2549927935,BG 2549927936,2549929983,HR @@ -77911,7 +79982,9 @@ 2554462208,2554527743,HU 2554527744,2554789887,US 2554789888,2554855423,GB -2554855424,2554920959,US +2554855424,2554888703,US +2554888704,2554888959,GB +2554888960,2554920959,US 2554920960,2554986495,DK 2554986496,2555052031,CL 2555052032,2555117567,US @@ -77978,11 +80051,9 @@ 2557739008,2557870079,US 2557870080,2557935615,ID 2557935616,2558658499,US -2558658500,2558658500,PR -2558658501,2558660101,US -2558660102,2558660102,PR -2558660103,2558918655,US -2558918656,2558984191,GB +2558658500,2558658501,PR +2558658502,2558918655,US +2558918656,2558984191,DE 2558984192,2559049727,US 2559049728,2559115263,CN 2559115264,2559246335,US @@ -78008,7 +80079,11 @@ 2562867200,2562868223,DE 2562868224,2562956287,US 2562956288,2562956799,ZA -2562956800,2563244031,US +2562956800,2562967039,US +2562967040,2562968063,SG +2562968064,2562978303,US +2562978304,2562978815,AT +2562978816,2563244031,US 2563244032,2563637247,CO 2563637248,2563768319,CU 2563768320,2564947967,US @@ -78038,19 +80113,25 @@ 2568093696,2568159231,US 2568159232,2568224767,PL 2568224768,2568290303,SG -2568290304,2569142271,US +2568290304,2568505659,US +2568505660,2568505660,SA +2568505661,2569142271,US 2569142272,2569404415,CN 2569404416,2569797631,US 2569797632,2569863167,NO -2569863168,2569879551,US -2569879552,2569887743,CH +2569863168,2569885183,US +2569885184,2569885439,CH +2569885440,2569885695,US +2569885696,2569887743,CH 2569887744,2569928703,US 2569928704,2569936383,CH 2569936384,2569936895,US 2569936896,2569970175,CH 2569970176,2569970687,US 2569970688,2569994239,CH -2569994240,2570125311,US +2569994240,2569994495,US +2569994496,2569996287,NL +2569996288,2570125311,US 2570125312,2570190847,BE 2570190848,2572681215,US 2572681216,2572746751,SE @@ -78122,7 +80203,7 @@ 2572997632,2573000703,US 2573000704,2573008895,FR 2573008896,2573336575,DE -2573352960,2573361151,BE +2573352960,2573355007,BE 2573369344,2573402111,DE 2573402112,2573467647,CN 2573467648,2573533183,DE @@ -78141,11 +80222,11 @@ 2574647296,2574778367,CN 2574778368,2583582207,JP 2583582208,2583582463,HK -2583582464,2583583743,JP -2583583744,2583584767,AU -2583584768,2583589103,JP +2583582464,2583589103,JP 2583589104,2583589111,SG -2583589112,2583691263,JP +2583589112,2583609855,JP +2583609856,2583610111,IT +2583610112,2583691263,JP 2583691264,2583695359,ZA 2583695360,2583697407,BW 2583697408,2583699455,CI @@ -78326,8 +80407,7 @@ 2584763456,2584763903,ZA 2584763904,2584763967,HK 2584763968,2584763999,DE -2584764000,2584764415,ZA -2584764416,2584764671,MA +2584764000,2584764671,ZA 2584764672,2584767231,US 2584767232,2584767487,TR 2584767488,2584769791,US @@ -78375,29 +80455,35 @@ 2585788416,2585853951,GB 2585853952,2585985023,JP 2585985024,2586378239,US -2586378240,2586386431,UA -2586386432,2586395135,US +2586378240,2586380287,UA +2586380288,2586395135,US 2586395136,2586395647,FR -2586395648,2586480639,US +2586395648,2586443775,US +2586443776,2586445823,NL +2586445824,2586480639,US 2586480640,2586484735,IL -2586484736,2586492927,GB -2586492928,2586509823,US +2586484736,2586486783,GB +2586486784,2586509823,US 2586509824,2586510079,ES 2586510080,2586510335,US 2586510336,2586511359,ES 2586511360,2586517503,US -2586517504,2586525695,FR -2586525696,2586542847,US +2586517504,2586519551,FR +2586519552,2586525951,US +2586525952,2586526207,GR +2586526208,2586542847,US 2586542848,2586542911,SE 2586542912,2586544127,US 2586544128,2586546175,SE 2586546176,2586566655,US 2586566656,2586566687,FR -2586566688,2586607615,US -2586607616,2586610175,ES -2586610176,2586610431,GB -2586610432,2586615807,ES -2586615808,2586622463,US +2586566688,2586609663,US +2586609664,2586610175,ES +2586610176,2586610687,GB +2586610688,2586611711,ES +2586611712,2586621951,US +2586621952,2586622207,ES +2586622208,2586622463,US 2586622464,2586622975,ES 2586622976,2586623743,US 2586623744,2586623999,ES @@ -78405,7 +80491,9 @@ 2586640384,2586640399,MC 2586640400,2586640895,US 2586640896,2586641407,FR -2586641408,2586650687,US +2586641408,2586648575,US +2586648576,2586649087,GB +2586649088,2586650687,US 2586650688,2586650703,DE 2586650704,2586651647,US 2586651648,2586651903,NL @@ -78413,11 +80501,11 @@ 2586653440,2586653695,NL 2586653696,2586694655,US 2586694656,2586695167,FR -2586695168,2586714111,US -2586714112,2586714879,ES +2586695168,2586714879,US 2586714880,2586715135,NL -2586715136,2586722303,ES -2586722304,2586726655,US +2586715136,2586716159,US +2586716160,2586718207,ES +2586718208,2586726655,US 2586726656,2586726911,GB 2586726912,2586733567,US 2586733568,2586733823,LT @@ -78426,13 +80514,15 @@ 2586735616,2586758143,US 2586758144,2586758655,DE 2586758656,2586787839,US -2586787840,2586796031,GB -2586796032,2586804223,US +2586787840,2586791935,GB +2586791936,2586804223,US 2586804224,2586808319,ES 2586808320,2586814463,US 2586814464,2586816511,RO 2586816512,2586828799,US -2586828800,2586829567,CH +2586828800,2586829055,CH +2586829056,2586829311,US +2586829312,2586829567,CH 2586829568,2586853887,US 2586853888,2586854143,ES 2586854144,2586854399,US @@ -78452,8 +80542,8 @@ 2586888448,2586890239,US 2586890240,2586890751,DE 2586890752,2586891263,US -2586891264,2586891519,GB -2586891520,2586927103,US +2586891264,2586892287,GB +2586892288,2586927103,US 2586927104,2586931199,GB 2586931200,2586952191,US 2586952192,2586952447,FR @@ -78466,31 +80556,31 @@ 2586956288,2586957311,FR 2586957312,2586968127,US 2586968128,2586968319,FR -2586968320,2587017471,US -2587017472,2587017727,IE +2586968320,2587017215,US +2587017216,2587017727,IE 2587017728,2587018239,US 2587018240,2587019775,IE 2587019776,2587020031,US 2587020032,2587020799,IE 2587020800,2587021823,US -2587021824,2587022847,IE -2587022848,2587033599,US -2587033600,2587041791,NL -2587041792,2587049983,US -2587049984,2587058175,GB -2587058176,2587066367,US +2587021824,2587023359,IE +2587023360,2587033599,US +2587033600,2587035647,NL +2587035648,2587049983,US +2587049984,2587052031,GB +2587052032,2587066367,US 2587066368,2587069439,GB 2587069440,2587070463,US -2587070464,2587082751,GB -2587082752,2587107327,US -2587107328,2587115519,BE -2587115520,2587128522,US +2587070464,2587076607,GB +2587076608,2587080703,US +2587080704,2587082751,GB +2587082752,2587128522,US 2587128523,2587128523,TR 2587128524,2587131903,US 2587131904,2587132415,FR 2587132416,2587164671,US -2587164672,2587172863,CH -2587172864,2587197439,US +2587164672,2587166719,CH +2587166720,2587197439,US 2587197440,2587197695,ES 2587197696,2587217919,US 2587217920,2587218943,CG @@ -78502,19 +80592,19 @@ 2587285504,2587285759,ES 2587285760,2587286015,US 2587286016,2587286271,ES -2587286272,2587286527,US -2587286528,2587287551,ES +2587286272,2587287039,US +2587287040,2587287551,ES 2587287552,2587361791,US 2587361792,2587362047,MD 2587362048,2587377663,US 2587377664,2587379711,IT 2587379712,2587383807,US -2587383808,2587384063,FR -2587384064,2587394047,US +2587383808,2587385855,FR +2587385856,2587394047,US 2587394048,2587402239,ES 2587402240,2587410431,US -2587410432,2587418623,IT -2587418624,2587427839,US +2587410432,2587414527,IT +2587414528,2587427839,US 2587427840,2587430911,GR 2587430912,2587443199,US 2587443200,2587447295,CH @@ -78527,7 +80617,10 @@ 2587479121,2587481969,US 2587481970,2587481970,LB 2587481971,2587484159,US -2587484160,2587492351,GB +2587484160,2587486207,GB +2587486208,2587489952,US +2587489953,2587489953,GB +2587489954,2587492351,US 2587492352,2587497471,ES 2587497472,2587498495,US 2587498496,2587499007,ES @@ -78542,9 +80635,7 @@ 2587582464,2587587071,NL 2587587072,2587589631,US 2587589632,2587589887,NL -2587589888,2587592191,US -2587592192,2587592447,GB -2587592448,2587592703,US +2587589888,2587592703,US 2587592704,2587594751,GB 2587594752,2587596799,US 2587596800,2587598847,GB @@ -78555,9 +80646,12 @@ 2587631616,2587631871,US 2587631872,2587632127,ES 2587632128,2587639807,US -2587639808,2587647999,GB -2587648000,2587656191,ES -2587656192,2587672831,US +2587639808,2587641855,GB +2587641856,2587647999,US +2587648000,2587650047,ES +2587650048,2587650815,US +2587650816,2587651071,ES +2587651072,2587672831,US 2587672832,2587673087,IT 2587673088,2587674623,US 2587674624,2587676671,IT @@ -78595,12 +80689,14 @@ 2587738624,2587740159,US 2587740160,2587742207,RS 2587742208,2587746303,US -2587746304,2587754495,ES -2587754496,2587762687,US -2587762688,2587770879,ES -2587770880,2587787263,US -2587787264,2587787519,GB -2587787520,2587926527,US +2587746304,2587748351,ES +2587748352,2587762687,US +2587762688,2587764735,ES +2587764736,2587787263,US +2587787264,2587787775,GB +2587787776,2587803647,US +2587803648,2587803903,IT +2587803904,2587926527,US 2587926528,2587930623,BG 2587930624,2587938815,US 2587938816,2587942911,PR @@ -78701,8 +80797,7 @@ 2588483584,2588484607,ZA 2588484608,2588485631,BW 2588485632,2588486655,BI -2588486656,2588487423,SO -2588487424,2588487679,KE +2588486656,2588487679,SO 2588487680,2588487711,SC 2588487712,2588487743,FR 2588487744,2588487807,BF @@ -78747,7 +80842,9 @@ 2588540928,2588671999,TZ 2588672000,2588934143,KE 2588934144,2588999679,ZA -2588999680,2589234175,US +2588999680,2589131007,US +2589131008,2589131263,NL +2589131264,2589234175,US 2589234176,2589234431,AT 2589234432,2589234687,BD 2589234688,2589234943,BR @@ -78786,11 +80883,25 @@ 2589263872,2589264895,JP 2589264896,2589265919,US 2589265920,2589270015,HK -2589270016,2589523967,US +2589270016,2589278207,US +2589278208,2589286399,PK +2589286400,2589286655,PH +2589286656,2589523967,US 2589523968,2589589503,HK 2589589504,2589655039,US -2589655040,2589720575,HK -2589720576,2589982719,US +2589655040,2589786111,HK +2589786112,2589852671,US +2589852672,2589853695,DE +2589853696,2589854207,JP +2589854208,2589880449,US +2589880450,2589880450,HK +2589880451,2589880509,US +2589880510,2589880510,HK +2589880511,2589880833,US +2589880834,2589880834,HK +2589880835,2589880893,US +2589880894,2589880894,HK +2589880895,2589982719,US 2589982720,2590507007,SD 2590507008,2591031295,TN 2591031296,2591096831,GA @@ -78810,11 +80921,7 @@ 2591408128,2591424511,BI 2591424512,2591457279,NG 2591457280,2591473663,ML -2591473664,2591478271,AO -2591478272,2591478783,PT -2591478784,2591479807,AO -2591479808,2591480063,PT -2591480064,2591481855,AO +2591473664,2591481855,AO 2591481856,2591483903,TZ 2591483904,2591485951,KE 2591485952,2591486975,SO @@ -78831,7 +80938,8 @@ 2591555584,2591571967,GH 2591571968,2591588351,NG 2591588352,2591604735,MG -2591604736,2591606783,ZA +2591604736,2591605759,ZA +2591605760,2591606783,KE 2591606784,2591610879,MU 2591610880,2591612927,ZM 2591612928,2591621119,ZW @@ -78868,15 +80976,27 @@ 2594177024,2595225599,GH 2595225600,2596274175,EG 2596274176,2597322751,ZA -2597322752,2597453823,US -2597453824,2597584895,HK -2597584896,2598240255,US +2597322752,2597388287,US +2597388288,2597454079,HK +2597454080,2597454335,JP +2597454336,2597584895,HK +2597584896,2597650431,US +2597650432,2597715967,HK +2597715968,2597847039,US +2597847040,2597912575,HK +2597912576,2598109183,US +2598109184,2598174719,HK +2598174720,2598240255,US 2598240256,2598313983,HK 2598313984,2598314495,JP -2598314496,2598314751,KR -2598314752,2598320127,HK -2598320128,2598320383,JP -2598320384,2598361599,HK +2598314496,2598315007,KR +2598315008,2598315519,PH +2598315520,2598316031,HK +2598316032,2598316543,SG +2598316544,2598318079,JP +2598318080,2598320127,PH +2598320128,2598321151,JP +2598321152,2598361599,HK 2598361600,2598362111,CI 2598362112,2598371327,HK 2598371328,2598895615,UG @@ -78914,15 +81034,19 @@ 2602770944,2602771455,IN 2602771456,2602774015,US 2602774016,2602774527,IN -2602774528,2602819583,US -2602819584,2602827775,AU -2602827776,2603417599,US +2602774528,2602821631,US +2602821632,2602821887,IN +2602821888,2603417599,US 2603417600,2603483135,DE 2603483136,2604007423,US 2604007424,2604072959,ES 2604072960,2604138495,NO 2604138496,2604204031,DE -2604204032,2604335103,US +2604204032,2604242943,US +2604242944,2604243711,SG +2604243712,2604243967,US +2604243968,2604244991,SG +2604244992,2604335103,US 2604335104,2604400639,NZ 2604400640,2604466175,AU 2604466176,2604648447,US @@ -78973,12 +81097,14 @@ 2609381376,2609446911,GB 2609446912,2609512447,DK 2609512448,2609643519,US -2609643520,2609676287,FR +2609643520,2609661951,FR +2609661952,2609663999,BE +2609664000,2609676287,FR 2609676288,2609677815,GB 2609677816,2609677817,FR -2609677818,2609684479,GB -2609684480,2609708799,FR -2609708800,2609708839,SG +2609677818,2609678335,GB +2609678336,2609707007,FR +2609707008,2609708839,SG 2609708840,2609708843,FR 2609708844,2609709055,SG 2609709056,2609840127,US @@ -78999,9 +81125,7 @@ 2613313536,2613379071,SD 2613379072,2613444607,US 2613444608,2613510143,GB -2613510144,2613650161,US -2613650162,2613650162,MX -2613650163,2613706751,US +2613510144,2613706751,US 2613706752,2613772287,GB 2613772288,2613837823,US 2613837824,2613903359,NL @@ -79044,7 +81168,7 @@ 2617139968,2617140223,PA 2617140224,2617140479,CO 2617140480,2617140735,SC -2617140736,2617140991,CA +2617140736,2617140991,US 2617140992,2617141247,LC 2617141248,2617141503,SV 2617141504,2617141759,US @@ -79168,10 +81292,11 @@ 2617769984,2617835519,ZA 2617835520,2617901055,US 2617901056,2617966591,FI -2617966592,2618023935,CA -2618023936,2618028543,IE +2617966592,2618028031,CA +2618028032,2618028543,IE 2618028544,2618029055,GB -2618029056,2618032127,IE +2618029056,2618030079,IE +2618030080,2618032127,CA 2618032128,2618097663,US 2618097664,2618115583,NZ 2618115584,2618116095,SG @@ -79187,7 +81312,9 @@ 2618949632,2619080703,US 2619080704,2619146239,FR 2619146240,2619277311,US -2619277312,2619342847,BN +2619277312,2619327743,BN +2619327744,2619327999,SG +2619328000,2619342847,BN 2619342848,2619473919,US 2619473920,2619539455,CA 2619539456,2619604991,ES @@ -79270,33 +81397,18 @@ 2621937152,2622685183,US 2622685184,2622750719,NL 2622750720,2623390719,US -2623390720,2623397887,MX -2623397888,2623602687,US +2623390720,2623391743,MX +2623391744,2623602687,US 2623602688,2623668223,CL 2623668224,2624192511,US 2624192512,2624258047,CH 2624258048,2624265727,US 2624265728,2624266239,SG -2624266240,2624266751,AU -2624266752,2624269313,US -2624269314,2624269314,AU -2624269315,2624269317,US -2624269318,2624269318,AU -2624269319,2624269321,US -2624269322,2624269322,AU -2624269323,2624269345,US -2624269346,2624269346,AU -2624269347,2624269349,US -2624269350,2624269350,AU -2624269351,2624269353,US -2624269354,2624269354,AU -2624269355,2624269377,US -2624269378,2624269378,AU -2624269379,2624269381,US -2624269382,2624269382,AU -2624269383,2624269385,US -2624269386,2624269386,AU -2624269387,2624270335,US +2624266240,2624266561,US +2624266562,2624266562,AU +2624266563,2624269311,US +2624269312,2624269823,AU +2624269824,2624270335,US 2624270336,2624270847,AU 2624270848,2624277503,US 2624277504,2624278015,AU @@ -79304,12 +81416,13 @@ 2624279040,2624279071,IN 2624279072,2624279095,US 2624279096,2624279111,IN -2624279112,2624286719,US +2624279112,2624285665,US +2624285666,2624285668,ID +2624285669,2624286719,US 2624286720,2624287231,IN -2624287232,2624290815,US -2624290816,2624291839,ID +2624287232,2624291839,US 2624291840,2624292351,CN -2624292352,2624292863,ID +2624292352,2624292863,US 2624292864,2624292883,SG 2624292884,2624292887,HK 2624292888,2624292891,SG @@ -79344,10 +81457,10 @@ 2624293172,2624293175,PH 2624293176,2624293179,TH 2624293180,2624293375,SG -2624293376,2624293385,ID +2624293376,2624293385,US 2624293386,2624293386,SG -2624293387,2624294911,ID -2624294912,2624297983,US +2624293387,2624296959,US +2624296960,2624297983,ID 2624297984,2624297999,SG 2624298000,2624298003,CN 2624298004,2624298007,HK @@ -79385,10 +81498,25 @@ 2624298292,2624298295,PH 2624298296,2624298299,TH 2624298300,2624298495,SG -2624298496,2624302079,US -2624302080,2624302145,AU -2624302146,2624302146,US -2624302147,2624303103,AU +2624298496,2624299007,ID +2624299008,2624302081,US +2624302082,2624302082,AU +2624302083,2624302085,US +2624302086,2624302086,AU +2624302087,2624302089,US +2624302090,2624302090,AU +2624302091,2624302113,US +2624302114,2624302114,AU +2624302115,2624302117,US +2624302118,2624302118,AU +2624302119,2624302121,US +2624302122,2624302122,AU +2624302123,2624302149,US +2624302150,2624302150,AU +2624302151,2624302153,US +2624302154,2624302154,AU +2624302155,2624302591,US +2624302592,2624303103,AU 2624303104,2624303615,US 2624303616,2624304639,CN 2624304640,2624395263,US @@ -79402,7 +81530,9 @@ 2625044480,2625134559,US 2625134560,2625134591,UA 2625134592,2625961983,US -2625961984,2626027519,LU +2625961984,2625974271,LU +2625974272,2625976319,FR +2625976320,2626027519,LU 2626027520,2626093055,US 2626093056,2626158591,CH 2626158592,2626879487,US @@ -79419,9 +81549,40 @@ 2631925760,2632450047,ZA 2632450048,2632516095,US 2632516096,2632519679,HK -2632519680,2632522834,US -2632522835,2632522835,AU -2632522836,2632974335,US +2632519680,2632522495,US +2632522496,2632522751,PG +2632522752,2632523775,AU +2632523776,2632698241,US +2632698242,2632698242,HK +2632698243,2632698301,US +2632698302,2632698302,HK +2632698303,2632712703,US +2632712704,2632713215,FR +2632713216,2632714239,GB +2632714240,2632715263,DE +2632715264,2632716287,JP +2632716288,2632716799,ES +2632716800,2632717311,IT +2632717312,2632717823,AU +2632717824,2632718335,IN +2632718336,2632718847,BR +2632718848,2632719359,MX +2632719360,2632719871,CA +2632719872,2632720383,NP +2632720384,2632734719,US +2632734720,2632736767,PH +2632736768,2632777983,US +2632777984,2632778239,IN +2632778240,2632778751,US +2632778752,2632779263,JP +2632779264,2632783871,US +2632783872,2632785919,JP +2632785920,2632810495,HK +2632810496,2632935873,US +2632935874,2632935874,HK +2632935875,2632935933,US +2632935934,2632935934,HK +2632935935,2632974335,US 2632974336,2634022911,ZA 2634022912,2634088447,CN 2634088448,2635202559,JP @@ -79430,9 +81591,9 @@ 2635399168,2635530239,US 2635530240,2635595775,FR 2635595776,2635661311,FI -2635661312,2635710719,PL -2635710720,2635710975,GB -2635710976,2635726847,PL +2635661312,2635688447,PL +2635688448,2635688959,DE +2635688960,2635726847,PL 2635726848,2635792383,CH 2635792384,2635988991,IT 2635988992,2636120063,US @@ -79576,7 +81737,8 @@ 2637746336,2637746343,NL 2637746344,2637746351,FR 2637746352,2637746359,AT -2637746360,2637746687,US +2637746360,2637746367,FR +2637746368,2637746687,US 2637746688,2637746711,KR 2637746712,2637746743,US 2637746744,2637746751,HK @@ -79602,9 +81764,7 @@ 2638002688,2638020607,US 2638020608,2638086143,CN 2638086144,2638151679,US -2638151680,2638818303,JP -2638818304,2638818559,SO -2638818560,2638838783,JP +2638151680,2638838783,JP 2638838784,2638839039,SO 2638839040,2639331327,JP 2639396864,2639462399,JP @@ -79628,7 +81788,9 @@ 2640398368,2640398399,BE 2640398400,2640398431,NL 2640398432,2640400383,DE -2640400384,2640404479,ES +2640400384,2640402687,ES +2640402688,2640402815,IT +2640402816,2640404479,ES 2640404480,2640404735,NL 2640404736,2640404991,US 2640404992,2640405503,NL @@ -79726,7 +81888,8 @@ 2642751488,2642755583,CA 2642755584,2642757631,DE 2642757632,2642759679,SA -2642759680,2642763775,US +2642759680,2642761727,US +2642761728,2642763775,SA 2642763776,2642767871,AU 2642767872,2642771967,DE 2642771968,2642776063,NL @@ -79750,13 +81913,12 @@ 2644443136,2644508671,FR 2644508672,2644574207,US 2644574208,2644639743,CH -2644639744,2644647935,CA -2644647936,2644770815,DE +2644639744,2644770815,DE 2644770816,2644836351,BE -2644836352,2644936703,US -2644936704,2644938751,CL -2644938752,2644951039,US -2644951040,2644959231,GB +2644836352,2644934655,US +2644934656,2644936703,AR +2644936704,2644957183,US +2644957184,2644959231,GB 2644959232,2644967423,US 2644967680,2644968191,IN 2645032960,2645098495,CH @@ -79773,7 +81935,20 @@ 2645753856,2645819391,TH 2645819392,2645884927,SE 2645884928,2645950463,HU -2645950464,2646196223,US +2645950464,2646184447,US +2646184448,2646184703,IT +2646184704,2646184959,BR +2646184960,2646189055,US +2646189056,2646189311,CA +2646189312,2646189823,US +2646189824,2646190079,CA +2646190080,2646190335,JP +2646190336,2646194175,US +2646194176,2646194431,JP +2646194432,2646194687,SG +2646194688,2646194943,US +2646194944,2646195199,SG +2646195200,2646196223,US 2646196224,2646212607,JP 2646212608,2646278143,RU 2646278144,2646474751,US @@ -80004,8 +82179,8 @@ 2647392256,2647457791,US 2647457792,2647523327,JP 2647523328,2647605247,US -2647605248,2647613439,GB -2647613440,2647851007,US +2647605248,2647607295,GB +2647607296,2647851007,US 2647851008,2647916543,AU 2647916544,2648899583,US 2648899584,2648965119,IN @@ -80026,27 +82201,23 @@ 2650603520,2650669055,CO 2650669056,2650734591,US 2650734592,2650800127,CN -2650800128,2652504751,US -2652504752,2652504767,CA -2652504768,2652512255,US -2652512256,2652520447,CA -2652520448,2652520879,US +2650800128,2652520879,US 2652520880,2652520895,CA 2652520896,2652528639,US -2652528640,2652536831,AR -2652536832,2652537599,US +2652528640,2652528895,AR +2652528896,2652537599,US 2652537600,2652537607,GB 2652537608,2652537615,US 2652537616,2652537855,GB 2652537856,2652541183,US 2652541184,2652541439,NL -2652541440,2652557567,US -2652557568,2652557575,SG -2652557576,2652557583,US -2652557584,2652557823,SG -2652557824,2652561407,US -2652561408,2652569599,AU -2652569600,2653159423,US +2652541440,2652561407,US +2652561408,2652563455,AU +2652563456,2652692479,US +2652692480,2652692973,CA +2652692974,2652692974,US +2652692975,2652694527,CA +2652694528,2653159423,US 2653159424,2653421567,NO 2653421568,2653487103,AU 2653487104,2653552639,GB @@ -80158,7 +82329,7 @@ 2658205696,2658395135,US 2658395136,2658395647,GB 2658395648,2658398719,US -2658398720,2658399231,CA +2658398720,2658399231,NZ 2658399232,2658401279,US 2658401280,2658402303,NL 2658402304,2658439183,US @@ -80167,15 +82338,11 @@ 2658439368,2658439368,BR 2658439369,2658454491,US 2658454492,2658454492,IN -2658454493,2658459135,US -2658459136,2658459355,AU +2658454493,2658459355,US 2658459356,2658459356,IN -2658459357,2658459391,AU -2658459392,2658459903,US -2658459904,2658460159,HU -2658460160,2658467839,US -2658467840,2658476031,AU -2658476032,2658598911,US +2658459357,2658471935,US +2658471936,2658473983,AU +2658473984,2658598911,US 2658598912,2658664447,GB 2658664448,2658926591,US 2658926592,2659057663,GB @@ -80219,9 +82386,9 @@ 2661548032,2661679103,US 2661679104,2661885951,LU 2661885952,2661886207,BE -2661886208,2661908479,LU -2661908480,2661916671,BE -2661916672,2661941247,LU +2661886208,2661912575,LU +2661912576,2661914623,BE +2661914624,2661941247,LU 2661941248,2662006783,CL 2662006784,2662072319,US 2662072320,2662137855,ES @@ -80235,7 +82402,9 @@ 2662300880,2662300895,JP 2662300896,2662352063,US 2662352064,2662352079,GB -2662352080,2662353775,US +2662352080,2662353439,US +2662353440,2662353471,GB +2662353472,2662353775,US 2662353776,2662353791,GB 2662353792,2662353823,US 2662353824,2662353839,GB @@ -80284,9 +82453,9 @@ 2665545728,2665611263,DE 2665611264,2665676799,CH 2665676800,2665742335,ES -2665742336,2665760767,US -2665760768,2665762815,AU -2665762816,2665873407,US +2665742336,2665783295,US +2665783296,2665785343,GB +2665785344,2665873407,US 2665873408,2665938943,GB 2665938944,2666004479,FR 2666004480,2666070015,CH @@ -80324,7 +82493,7 @@ 2666201088,2667053055,US 2667053056,2667085823,NO 2667085824,2667118591,DK -2667118592,2667184127,HU +2667118592,2667184127,RO 2667184128,2667249663,RU 2667249664,2667315199,CL 2667315200,2667511807,US @@ -80339,22 +82508,11 @@ 2667528192,2667532287,FR 2667532288,2667534335,RU 2667534336,2667536383,PL -2667536384,2667536447,AT -2667536448,2667536463,FR -2667536464,2667536605,AT -2667536606,2667536606,FR -2667536607,2667536615,AT -2667536616,2667536623,FR -2667536624,2667536639,AT -2667536640,2667536895,FR +2667536384,2667536895,FR 2667536896,2667537087,AT 2667537088,2667537119,FR 2667537120,2667537151,AT -2667537152,2667537215,FR -2667537216,2667537231,AT -2667537232,2667537239,FR -2667537240,2667537279,AT -2667537280,2667544575,FR +2667537152,2667544575,FR 2667544576,2667560959,RU 2667560960,2667565055,IT 2667565056,2667565311,HK @@ -80419,9 +82577,7 @@ 2669019136,2669084671,CH 2669084672,2669215743,US 2669215744,2669281279,DE -2669281280,2669338879,US -2669338880,2669339135,CA -2669339136,2669428735,US +2669281280,2669428735,US 2669428736,2669477887,JP 2669477888,2669543423,CH 2669543424,2669608959,GB @@ -80430,7 +82586,9 @@ 2669805568,2669871103,GB 2669871104,2670067711,US 2670067712,2670133247,SE -2670133248,2670591999,US +2670133248,2670590207,US +2670590208,2670590463,HK +2670590464,2670591999,US 2670592000,2670657535,NL 2670657536,2670854143,US 2670854144,2670919679,FR @@ -80626,11 +82784,15 @@ 2675628400,2675628447,GB 2675628448,2675630095,US 2675630096,2675630111,GB -2675630112,2675631327,US +2675630112,2675630175,US +2675630176,2675630207,GB +2675630208,2675631327,US 2675631328,2675631359,GB 2675631360,2675631983,US 2675631984,2675631999,HK -2675632000,2675633183,US +2675632000,2675632319,US +2675632320,2675632335,GB +2675632336,2675633183,US 2675633184,2675633215,GB 2675633216,2675636170,US 2675636171,2675636171,GB @@ -80643,8 +82805,8 @@ 2676424704,2676457471,US 2676457472,2676465663,DE 2676465664,2676621311,US -2676621312,2676626431,HK -2676626432,2676686847,SG +2676621312,2676625407,HK +2676625408,2676686847,SG 2676686848,2677014527,US 2677014528,2677080063,CH 2677080064,2677145599,US @@ -80804,19 +82966,18 @@ 2679431168,2679439359,FR 2679439360,2679515391,US 2679515392,2679515903,GB -2679515904,2679525119,US -2679525120,2679525375,GB +2679515904,2679523327,US +2679523328,2679525375,GB 2679525376,2679535615,US 2679535616,2679537663,GB 2679537664,2680029183,US 2680029184,2680094719,SE 2680094720,2680160255,US 2680160256,2680225791,TH -2680225792,2680264193,SE -2680264194,2680264223,DK -2680264224,2680264255,SE -2680264256,2680264447,DK -2680264448,2680356863,SE +2680225792,2680262655,DK +2680262656,2680264703,SE +2680264704,2680291327,DK +2680291328,2680356863,SE 2680356864,2680422399,DK 2680422400,2680487935,AU 2680487936,2680520703,GB @@ -80856,18 +83017,13 @@ 2682001408,2682002431,GB 2682002432,2682008575,US 2682008576,2682008831,GB -2682008832,2682014207,US -2682014208,2682014719,GB +2682008832,2682014463,US +2682014464,2682014719,GB 2682014720,2682014725,US 2682014726,2682014727,SG -2682014728,2682014975,US -2682014976,2682015231,PH -2682015232,2682015743,IN -2682015744,2682055167,US +2682014728,2682055167,US 2682055168,2682055423,SG -2682055424,2682101759,US -2682101760,2682109951,GB -2682109952,2682257407,US +2682055424,2682257407,US 2682257408,2682322943,UA 2682322944,2682388479,US 2682388480,2682454015,CN @@ -80923,8 +83079,7 @@ 2684216320,2684217343,GB 2684217344,2684219391,CZ 2684219392,2684221439,PL -2684221440,2684222463,IL -2684222464,2684223487,ES +2684221440,2684223487,ES 2684223488,2684289023,GB 2684289024,2684297215,RU 2684297216,2684299263,AU @@ -81000,8 +83155,7 @@ 2685693952,2685694975,SL 2685702144,2685703167,DE 2685703168,2685705215,NL -2685705216,2685706239,RU -2685706240,2685707263,BR +2685705216,2685707263,BR 2685707264,2685708287,EC 2685708288,2685709311,BR 2685709312,2685710335,CL @@ -81024,32 +83178,25 @@ 2686386176,2686500863,US 2686500864,2686509055,CA 2686509056,2686513151,US -2686513152,2686515199,SG -2686515200,2686615039,US -2686615040,2686615551,GB -2686615552,2686844927,US +2686513152,2686513663,IM +2686513664,2686515199,SG +2686515200,2686844927,US 2686844928,2686910463,GB 2686910464,2686975999,US 2686976000,2687041535,GR 2687041536,2687238143,US -2687238144,2687295487,DE -2687295488,2687295743,GB +2687238144,2687295743,DE 2687295744,2687295999,CZ -2687296000,2687297231,DE -2687297232,2687297236,GB -2687297237,2687297247,DE -2687297248,2687297279,US -2687297280,2687560191,DE +2687296000,2687560191,DE 2687560192,2687560447,ZA -2687560448,2687762431,DE +2687560448,2687560703,MY +2687560704,2687762431,DE 2687762432,2687827967,AT 2687827968,2687893503,CH 2687893504,2688221183,DE 2688221184,2688286719,CH 2688286720,2688352255,DE -2688352256,2688418916,CH -2688418917,2688418917,IE -2688418918,2688420095,CH +2688352256,2688420095,CH 2688420096,2688420351,US 2688420352,2688420607,CN 2688420608,2688548863,CH @@ -81074,20 +83221,15 @@ 2689593344,2689593599,GB 2689593600,2689597439,US 2689597440,2689662975,IT -2689662976,2689794047,US -2689794048,2689801727,DE -2689801728,2689801904,US +2689662976,2689801904,US 2689801905,2689801905,DE -2689801906,2689801983,US -2689801984,2689802239,DE -2689802240,2689802751,GB +2689801906,2689802751,US 2689802752,2689803263,TR -2689803264,2689810431,GB -2689810432,2689818623,US +2689803264,2689804287,US +2689804288,2689806335,GB +2689806336,2689818623,US 2689818624,2689819135,IN -2689819136,2689820671,US -2689820672,2689821183,HK -2689821184,2689835007,US +2689819136,2689835007,US 2689835008,2689835263,AU 2689835264,2689835519,US 2689835520,2689835775,AU @@ -81113,40 +83255,44 @@ 2691760128,2691825663,CG 2691825664,2691891199,HU 2691891200,2691956735,SA -2691956736,2691959807,ZA +2691956736,2691959807,BR 2691959808,2691960831,US -2691960832,2691962879,ZA +2691960832,2691962879,BR 2691962880,2691963903,US -2691963904,2691965951,ZA +2691963904,2691965951,BR 2691965952,2691966975,US -2691966976,2691969023,ZA +2691966976,2691969023,BR 2691969024,2691970047,US -2691970048,2691972095,ZA +2691970048,2691972095,BR 2691972096,2691973119,US -2691973120,2691975167,ZA +2691973120,2691975167,BR 2691975168,2691976191,US -2691976192,2691978239,ZA +2691976192,2691978239,BR 2691978240,2691979263,US -2691979264,2691981311,ZA +2691979264,2691981311,BR 2691981312,2691982335,US -2691982336,2691984383,ZA +2691982336,2691984383,BR 2691984384,2691985407,US -2691985408,2691987455,ZA +2691985408,2691987455,BR 2691987456,2691988479,US -2691988480,2691990527,ZA +2691988480,2691990527,BR 2691990528,2691991551,US -2691991552,2691993599,ZA +2691991552,2691993599,BR 2691993600,2691994623,US -2691994624,2691996671,ZA +2691994624,2691996671,BR 2691996672,2691997695,US -2691997696,2691999743,ZA +2691997696,2691999743,BR 2691999744,2692000767,US -2692000768,2692002815,ZA +2692000768,2692002815,BR 2692002816,2692003839,US -2692003840,2692005887,ZA +2692003840,2692005887,BR 2692005888,2692006911,US -2692006912,2692169727,ZA -2692169728,2692173567,SC +2692006912,2692007935,BR +2692007936,2692008959,FR +2692008960,2692011007,BR +2692011008,2692012031,FR +2692012032,2692171775,ZA +2692171776,2692173567,SC 2692173568,2692173823,US 2692173824,2692175871,ZA 2692175872,2692177919,SC @@ -81180,7 +83326,9 @@ 2692349952,2692546559,ZA 2692546560,2694316031,US 2694316032,2694381567,NG -2694381568,2694447103,US +2694381568,2694414622,US +2694414623,2694414623,GB +2694414624,2694447103,US 2694447104,2694578175,CI 2694578176,2694840319,TN 2694840320,2695920283,MA @@ -81304,7 +83452,9 @@ 2700015616,2700016639,BR 2700016640,2700017663,CL 2700017664,2700214271,JP -2700214272,2700247039,NA +2700214272,2700227071,NA +2700227072,2700227583,ZM +2700227584,2700247039,NA 2700247040,2700263423,UG 2700263424,2700279807,TG 2700279808,2700935167,JP @@ -81415,13 +83565,12 @@ 2705688320,2705688575,DE 2705688576,2705691647,US 2705691648,2705692671,GB -2705692672,2705695487,US -2705695488,2705695503,IE +2705692672,2705695503,US 2705695504,2705695519,GB -2705695520,2705695743,IE -2705695744,2705710079,US +2705695520,2705710079,US 2705710080,2705711103,IN -2705711104,2705784831,US +2705711104,2705719295,US +2705719296,2705784831,SA 2705784832,2705817599,GB 2705817600,2705850367,US 2705850368,2705915903,ES @@ -81450,27 +83599,13 @@ 2708865024,2708930559,JP 2708930560,2709127167,US 2709127168,2709192703,KR -2709192704,2709194751,ZA -2709194752,2709195007,US -2709195008,2709198335,ZA -2709198336,2709198591,US -2709198592,2709199103,ZA +2709192704,2709199103,ZA 2709199104,2709199359,US 2709199360,2709200383,ZA 2709200384,2709200639,US -2709200640,2709200895,ZA -2709200896,2709201151,US -2709201152,2709202431,ZA -2709202432,2709202943,US -2709202944,2709206015,ZA -2709206016,2709206271,US -2709206272,2709207039,ZA -2709207040,2709207295,US -2709207296,2709207551,ZA -2709207552,2709207807,US -2709207808,2709208063,ZA -2709208064,2709208319,US -2709208320,2709208575,ZA +2709200640,2709202687,ZA +2709202688,2709202943,US +2709202944,2709208575,ZA 2709208576,2709208831,US 2709208832,2709209087,ZA 2709209088,2709225471,OM @@ -81479,18 +83614,7 @@ 2709225984,2709226239,ES 2709226240,2709226495,ZA 2709226496,2709226511,DE -2709226512,2709227775,ZA -2709227776,2709228031,US -2709228032,2709229695,ZA -2709229696,2709229711,DE -2709229712,2709231103,ZA -2709231104,2709231119,DE -2709231120,2709232895,ZA -2709232896,2709233151,US -2709233152,2709233407,DE -2709233408,2709235967,ZA -2709235968,2709236223,US -2709236224,2709240831,ZA +2709226512,2709240831,ZA 2709240832,2709241087,DE 2709241088,2709241343,ZA 2709241344,2709241599,DE @@ -81501,7 +83625,7 @@ 2709242624,2709242879,US 2709242880,2709243135,DE 2709243136,2709243391,US -2709243392,2709243647,DE +2709243392,2709243647,ZA 2709243648,2709243903,US 2709243904,2709244159,ZA 2709244160,2709244415,US @@ -81514,40 +83638,31 @@ 2709245952,2709246207,ZA 2709246208,2709246463,US 2709246464,2709246719,DE -2709246720,2709246959,ZA -2709246960,2709246975,HK -2709246976,2709247231,ZA +2709246720,2709247231,ZA 2709247232,2709247487,MY -2709247488,2709247743,DE +2709247488,2709247743,ZA 2709247744,2709247999,US 2709248000,2709248255,ZA 2709248256,2709248511,US -2709248512,2709250047,ZA +2709248512,2709249023,ZA +2709249024,2709249279,DE +2709249280,2709250047,ZA 2709250048,2709250303,DE 2709250304,2709251071,ZA 2709251072,2709251327,DE 2709251328,2709251583,ZA 2709251584,2709251839,DE -2709251840,2709252095,GB -2709252096,2709252351,DE -2709252352,2709252863,ZA +2709251840,2709252863,ZA 2709252864,2709253375,DE -2709253376,2709253631,US -2709253632,2709253887,ZA -2709253888,2709254143,US -2709254144,2709254399,ZA -2709254400,2709254655,US -2709254656,2709255679,ZA +2709253376,2709254655,ZA +2709254656,2709254911,DE +2709254912,2709255679,ZA 2709255680,2709255935,DE -2709255936,2709256191,US -2709256192,2709257215,ZA +2709255936,2709257215,ZA 2709257216,2709257471,DE -2709257472,2709257727,US -2709257728,2709257983,ZA -2709257984,2709389311,US -2709389312,2709435647,SG -2709435648,2709435903,IN -2709435904,2709454847,SG +2709257472,2709258239,ZA +2709258240,2709389311,US +2709389312,2709454847,SG 2709454848,2709593599,US 2709593600,2709593855,CA 2709593856,2709601279,US @@ -81555,7 +83670,10 @@ 2709601312,2709601343,NL 2709601344,2709601407,US 2709601408,2709601535,CA -2709601536,2709606399,US +2709601536,2709602303,US +2709602304,2709603327,NL +2709603328,2709605375,US +2709605376,2709606399,PR 2709606400,2709618687,CA 2709618688,2709622783,US 2709622784,2709624831,CA @@ -81604,9 +83722,7 @@ 2713976832,2714042367,VE 2714042368,2714238975,US 2714238976,2714304511,TH -2714304512,2714370263,US -2714370264,2714370271,SG -2714370272,2714371679,US +2714304512,2714371679,US 2714371680,2714371711,CA 2714371712,2714372415,US 2714372416,2714372431,PH @@ -81624,9 +83740,7 @@ 2714379152,2714379152,HK 2714379153,2714380031,US 2714380032,2714380287,HK -2714380288,2714380367,US -2714380368,2714380383,TW -2714380384,2714381311,US +2714380288,2714381311,US 2714381312,2714381567,HK 2714381568,2714381951,US 2714381952,2714381983,HK @@ -81708,14 +83822,13 @@ 2720399360,2720464895,FR 2720464896,2720849919,US 2720849920,2720850175,GB -2720850176,2720856575,US -2720856576,2720856831,IN -2720856832,2721382399,US +2720850176,2721382399,US 2721382400,2721447935,CA 2721447936,2721579007,US 2721579008,2721644543,IN 2721644544,2721972223,US -2721972224,2722037759,SG +2721972224,2721979903,RU +2721979904,2722037759,SG 2722037760,2722496511,US 2722496512,2722562047,CA 2722562048,2722693119,US @@ -81821,12 +83934,13 @@ 2728313088,2728313855,US 2728313856,2728314879,IT 2728314880,2728315903,DE -2728315904,2728316927,US +2728315904,2728316415,TH +2728316416,2728316927,FR 2728316928,2728317951,BG -2728317952,2728319743,US -2728319744,2728321023,NO -2728321024,2728321279,TW -2728321280,2728322047,US +2728317952,2728318975,US +2728318976,2728319999,VN +2728320000,2728321023,NO +2728321024,2728322047,TW 2728322048,2728323071,PH 2728323072,2728324095,BE 2728324096,2728325119,FI @@ -81873,7 +83987,9 @@ 2731761664,2731763455,CA 2731763456,2731765759,US 2731765760,2731767807,CA -2731767808,2731771903,US +2731767808,2731768471,US +2731768472,2731768475,DE +2731768476,2731771903,US 2731771904,2731772927,KY 2731772928,2731784191,US 2731784192,2731785215,CA @@ -81889,7 +84005,7 @@ 2731801600,2731804671,US 2731804672,2731805695,CA 2731805696,2731805951,TC -2731805952,2731806207,LC +2731805952,2731806207,BB 2731806208,2731806463,AG 2731806464,2731806719,VG 2731806720,2731807743,US @@ -81913,7 +84029,9 @@ 2731862016,2731864063,CA 2731864064,2731870207,US 2731870208,2731871231,CA -2731871232,2731894783,US +2731871232,2731874303,US +2731874304,2731876351,CA +2731876352,2731894783,US 2731894784,2731896831,CA 2731896832,2731900927,US 2731900928,2731901439,CA @@ -81931,9 +84049,11 @@ 2731927552,2731927807,IE 2731927808,2732086271,US 2732086272,2732087295,CA -2732087296,2732100095,US -2732100096,2732100607,GB -2732100608,2732105727,US +2732087296,2732099583,US +2732099584,2732099839,CA +2732099840,2732100607,US +2732100608,2732101631,IN +2732101632,2732105727,US 2732105728,2732107775,JM 2732107776,2732109823,US 2732110848,2732111871,US @@ -81974,11 +84094,23 @@ 2732227584,2732228607,CA 2732228608,2732261375,US 2732261376,2732265471,CA -2732265472,2732273663,US +2732265472,2732269567,US +2732269568,2732270207,HK +2732270208,2732270208,US +2732270209,2732270645,HK +2732270646,2732270646,US +2732270647,2732271615,HK +2732271616,2732273663,US 2732273664,2732275711,CA 2732275712,2732278783,US 2732278784,2732279807,CA -2732279808,2732297471,US +2732279808,2732281855,US +2732281856,2732282723,HK +2732282724,2732282724,US +2732282725,2732283779,HK +2732283780,2732283780,US +2732283781,2732283903,HK +2732283904,2732297471,US 2732297472,2732297727,CA 2732297728,2732297983,US 2732297984,2732298239,CA @@ -82061,7 +84193,9 @@ 2732568576,2732580863,US 2732580864,2732582911,CA 2732582912,2733903871,US -2733903872,2733904895,PR +2733903872,2733904127,PR +2733904128,2733904255,IT +2733904256,2733904895,PR 2733904896,2733907967,CA 2733907968,2733911039,US 2733911040,2733912063,CA @@ -82085,7 +84219,21 @@ 2733979648,2733980671,CA 2733980672,2733984767,US 2733984768,2733985791,LC -2733985792,2734002175,US +2733985792,2733997055,US +2733997056,2733997597,HK +2733997598,2733997598,US +2733997599,2733997607,HK +2733997608,2733997608,US +2733997609,2733997672,HK +2733997673,2733997673,US +2733997674,2733997821,HK +2733997822,2733997822,US +2733997823,2733997845,HK +2733997846,2733997846,US +2733997847,2733998071,HK +2733998072,2733998072,US +2733998073,2733998079,HK +2733998080,2734002175,US 2734002176,2734003199,CA 2734003200,2734004223,US 2734004224,2734005247,GD @@ -82110,8 +84258,8 @@ 2734075904,2734077951,US 2734077952,2734078207,GB 2734078208,2734096383,US -2734096384,2734097407,HK -2734097408,2734099455,US +2734096384,2734098431,HK +2734098432,2734099455,US 2734099456,2734102527,CA 2734102528,2734104575,VI 2734104576,2734105599,US @@ -82136,7 +84284,9 @@ 2734170112,2734172159,CA 2734172160,2734173183,US 2734173184,2734174207,PR -2734174208,2734186495,US +2734174208,2734180351,US +2734180352,2734182399,CA +2734182400,2734186495,US 2734187008,2734192639,US 2734192640,2734194687,CA 2734194688,2734197759,US @@ -82161,9 +84311,7 @@ 2734260224,2734262271,KY 2734262272,2734268415,US 2734268416,2734269439,CA -2734269440,2734272922,US -2734272923,2734272923,GB -2734272924,2734287871,US +2734269440,2734287871,US 2734287872,2734288895,CA 2734288896,2734296063,US 2734296064,2734297087,CA @@ -82212,8 +84360,7 @@ 2734414329,2734414329,MX 2734414330,2734414334,US 2734414335,2734414335,MX -2734414336,2734432255,US -2734433280,2734435327,US +2734414336,2734435327,US 2734435328,2734436351,CA 2734436352,2734447615,US 2734447616,2734448639,CA @@ -82263,9 +84410,14 @@ 2734605312,2734605567,GB 2734605568,2734605823,DE 2734605824,2734606079,SE -2734606080,2734608351,US +2734606080,2734606775,US +2734606776,2734606779,DE +2734606780,2734607319,US +2734607320,2734607327,LT +2734607328,2734608351,US 2734608352,2734608367,DE -2734608368,2734633983,US +2734608368,2734632959,US +2734632960,2734633983,HK 2734633984,2734635007,CA 2734635008,2734649343,US 2734649344,2734650367,CA @@ -82344,7 +84496,8 @@ 2737809408,2737810431,AU 2737810432,2737811455,KH 2737811456,2737811711,SG -2737811712,2737811967,AU +2737811712,2737811712,VN +2737811713,2737811967,AU 2737811968,2737812223,PH 2737812224,2737812479,TH 2737812480,2737813503,AU @@ -82354,7 +84507,8 @@ 2737817600,2737818111,MY 2737818112,2737818367,AU 2737818368,2737818623,MY -2737818624,2737819647,NZ +2737818624,2737819135,AU +2737819136,2737819647,NZ 2737819648,2737821695,IN 2737821696,2737822719,AU 2737822720,2737823743,NZ @@ -82397,7 +84551,9 @@ 2738225152,2738683903,JP 2738749440,2741370879,FR 2741370880,2741436415,US -2741436416,2742321151,FR +2741436416,2742190079,FR +2742190080,2742194175,IN +2742194176,2742321151,FR 2742321152,2742353919,US 2742353920,2742419455,ES 2742419456,2742484991,US @@ -82431,7 +84587,32 @@ 2745565184,2745696255,GB 2745696256,2745761791,CH 2745761792,2745909247,GB -2745909248,2745958399,US +2745909248,2745925631,US +2745925632,2745925887,DE +2745925888,2745926399,GB +2745926400,2745926655,FR +2745926656,2745926911,DE +2745926912,2745927167,FR +2745927168,2745927423,SE +2745927424,2745927679,ES +2745927680,2745927935,AT +2745927936,2745928191,UA +2745928192,2745928447,US +2745928448,2745928703,PL +2745928704,2745928959,NL +2745928960,2745929215,RO +2745929216,2745937919,US +2745937920,2745938431,ZA +2745938432,2745942271,US +2745942272,2745942527,HK +2745942528,2745942783,SG +2745942784,2745943039,US +2745943040,2745943551,AU +2745943552,2745943807,HK +2745943808,2745944063,IN +2745944064,2745944575,US +2745944576,2745945599,IN +2745945600,2745958399,US 2745958400,2746011647,FR 2746011648,2746015743,NL 2746015744,2746089471,FR @@ -82478,11 +84659,9 @@ 2750873600,2750939135,CL 2750939136,2751070207,US 2751070208,2751135743,CL -2751135744,2751135762,US -2751135763,2751135763,JP -2751135764,2751196931,US -2751196932,2751196932,JP -2751196933,2751397887,US +2751135744,2751196927,US +2751196928,2751197183,JP +2751197184,2751397887,US 2751397888,2751463423,KR 2751463424,2751528959,KZ 2751528960,2751660031,FR @@ -82524,7 +84703,15 @@ 2754543616,2754609151,US 2754609152,2754674687,SE 2754674688,2754871295,US -2754871296,2754904063,HK +2754871296,2754871637,HK +2754871638,2754871638,SG +2754871639,2754871690,HK +2754871691,2754871691,SG +2754871692,2754871935,HK +2754871936,2754871943,SG +2754871944,2754874026,HK +2754874027,2754874027,TW +2754874028,2754904063,HK 2754904064,2754920447,US 2754920448,2754928639,IN 2754928640,2754936831,US @@ -82576,7 +84763,9 @@ 2760114540,2760114811,FR 2760114812,2760114815,PL 2760114816,2760114847,FI -2760114848,2760115007,FR +2760114848,2760114915,FR +2760114916,2760114919,ES +2760114920,2760115007,FR 2760115008,2760115071,DE 2760115072,2760115327,FR 2760115328,2760115455,GB @@ -82634,7 +84823,9 @@ 2760119496,2760119499,ES 2760119500,2760119967,FR 2760119968,2760119983,GB -2760119984,2760120543,FR +2760119984,2760120063,FR +2760120064,2760120319,NL +2760120320,2760120543,FR 2760120544,2760120575,ES 2760120576,2760120751,FR 2760120752,2760120759,ES @@ -82724,7 +84915,9 @@ 2760147536,2760147551,ES 2760147552,2760147647,FR 2760147648,2760147711,ES -2760147712,2760148551,FR +2760147712,2760148067,FR +2760148068,2760148071,NL +2760148072,2760148551,FR 2760148552,2760148559,FI 2760148560,2760148895,FR 2760148896,2760148927,CZ @@ -82807,7 +85000,9 @@ 2760160960,2760161023,DE 2760161024,2760161679,FR 2760161680,2760161683,GB -2760161684,2760161983,FR +2760161684,2760161775,FR +2760161776,2760161779,NL +2760161780,2760161983,FR 2760161984,2760162047,IE 2760162048,2760162399,FR 2760162400,2760162431,ES @@ -82873,7 +85068,9 @@ 2760178560,2760178687,IT 2760178688,2760178751,FR 2760178752,2760178767,GB -2760178768,2760179711,FR +2760178768,2760179375,FR +2760179376,2760179391,PL +2760179392,2760179711,FR 2760179712,2760245247,DE 2760245248,2760310783,GB 2760310784,2760376319,SE @@ -82898,25 +85095,26 @@ 2760566784,2760568831,IQ 2760568832,2760570879,FR 2760570880,2760572927,NL -2760572928,2760638463,DE +2760572928,2760574975,DE +2760574976,2760577023,RO +2760577024,2760638463,DE 2760638464,2760703999,NL 2760704000,2760769535,FI 2760769536,2760835071,IT 2760835072,2760898559,GB 2760898560,2760899583,US 2760899584,2760900607,GB -2760900608,2760912895,US -2760912896,2760913151,BE -2760913152,2761031679,US +2760900608,2761031679,US 2761031680,2761424895,ZA -2761424896,2761621503,US -2761621504,2761687039,ZA -2761687040,2761949183,US +2761424896,2761553919,US +2761553920,2761555967,CA +2761555968,2761949183,US 2761949184,2761950207,TN 2761950208,2761951231,UG 2761951232,2761952255,LR 2761952256,2761953279,ZM -2761953280,2761954303,CG +2761953280,2761954047,CG +2761954048,2761954303,IT 2761954304,2761956351,ZA 2761956352,2761957375,TZ 2761957376,2761958399,CI @@ -83101,7 +85299,9 @@ 2776039424,2776104959,US 2776104960,2776170495,GB 2776170496,2776478719,US -2776478720,2776479743,AU +2776478720,2776478975,SG +2776478976,2776479231,AU +2776479232,2776479743,SG 2776479744,2776479999,US 2776480000,2776480511,NL 2776480512,2776480767,US @@ -83118,7 +85318,9 @@ 2779054080,2779119615,ZA 2779119616,2779316223,US 2779316224,2779381759,RE -2779381760,2779906047,US +2779381760,2779578367,US +2779578368,2779594751,SG +2779594752,2779906047,US 2779906048,2779971583,CA 2779971584,2780037119,US 2780037120,2780039167,ZA @@ -83162,8 +85364,8 @@ 2780932096,2780932607,US 2780932608,2780933119,GB 2780933120,2780934143,US -2780934144,2780938239,GB -2780938240,2780954623,US +2780934144,2780936191,GB +2780936192,2780954623,US 2780954624,2781020159,KR 2781020160,2781206527,US 2781206528,2781207551,GB @@ -83172,10 +85374,11 @@ 2781478912,2781544447,HK 2781544448,2781614591,US 2781614592,2781615103,MX -2781615104,2781618175,US -2781618176,2781623295,CA +2781615104,2781622271,US +2781622272,2781623295,CA 2781623296,2781623807,US -2781623808,2781626367,CA +2781623808,2781624319,CA +2781624320,2781626367,US 2781626368,2781626879,NL 2781626880,2781627391,IT 2781627392,2781628415,US @@ -83184,13 +85387,12 @@ 2781630464,2781631487,MY 2781631488,2781635583,US 2781635584,2781636095,JP -2781636096,2781642751,US -2781642752,2781643775,SG +2781636096,2781643775,US 2781643776,2781644287,KR 2781644288,2781644799,TW 2781644800,2781645823,IN -2781645824,2781650943,SG -2781650944,2781675519,US +2781645824,2781646847,SG +2781646848,2781675519,US 2781675520,2781741055,NZ 2781741056,2781937663,US 2781937664,2782003199,TH @@ -83205,25 +85407,18 @@ 2782789632,2782855167,CH 2782855168,2782990335,US 2782990336,2782990847,GB -2782990848,2782992383,ES +2782990848,2782992383,US 2782992384,2782992895,DE -2782992896,2782993407,ES +2782992896,2782993407,CH 2782993408,2782993919,NL -2782993920,2782994431,ES +2782993920,2782994431,CH 2782994432,2782995455,US 2782995456,2782995711,CA 2782995712,2783002623,US -2783002624,2783003135,DK +2783002624,2783002879,DK +2783002880,2783003135,US 2783003136,2783003647,RU -2783003648,2783003695,FI -2783003696,2783003708,SE -2783003709,2783003711,FI -2783003712,2783003715,SE -2783003716,2783003717,FI -2783003718,2783003718,SE -2783003719,2783003721,FI -2783003722,2783003722,SE -2783003723,2783003903,FI +2783003648,2783003903,SE 2783003904,2783004159,US 2783004160,2783004671,CH 2783004672,2783004880,US @@ -83233,28 +85428,25 @@ 2783005696,2783006719,FR 2783006720,2783007487,GB 2783007488,2783007743,US -2783007744,2783008255,PL -2783008256,2783008511,IT -2783008512,2783008767,US +2783007744,2783007999,PL +2783008000,2783008255,US +2783008256,2783008767,IT 2783008768,2783009023,BE 2783009024,2783010889,US 2783010890,2783010890,HK 2783010891,2783010943,US 2783010944,2783011839,AU -2783011840,2783011903,JP -2783011904,2783011904,US -2783011905,2783012351,JP +2783011840,2783012351,JP 2783012352,2783012607,TW 2783012608,2783012863,AU -2783012864,2783012951,US -2783012952,2783012991,IN -2783012992,2783013375,US +2783012864,2783013119,IN +2783013120,2783013375,US 2783013376,2783013887,IN -2783013888,2783014911,US +2783013888,2783014399,US +2783014400,2783014911,JP 2783014912,2783015423,SG 2783015424,2783015935,AU -2783015936,2783016191,US -2783016192,2783016447,HK +2783015936,2783016447,HK 2783016448,2783016703,AU 2783016704,2783125503,US 2783125504,2783129599,CA @@ -83308,9 +85500,7 @@ 2788289536,2788294655,GB 2788294656,2789113855,US 2789113856,2789146623,CA -2789146624,2789195775,US -2789195776,2789203967,GB -2789203968,2789212159,US +2789146624,2789212159,US 2789212160,2789277695,AU 2789277696,2789343231,NZ 2789343232,2789933055,US @@ -83350,33 +85540,34 @@ 2796807168,2796807935,US 2796807936,2796808191,NZ 2796808192,2798788607,US -2798788608,2798796799,CO -2798796800,2798838015,US +2798788608,2798790655,CO +2798790656,2798838015,US 2798838016,2798838271,CO 2798838272,2801795071,US 2801795072,2801860607,CO -2801860608,2801904639,US -2801904640,2801905151,PH -2801905152,2802515967,US +2801860608,2802515967,US 2802515968,2802581503,CA 2802581504,2802909183,US 2802909184,2802974719,CA -2802974720,2803318783,US -2803318784,2803326975,ID -2803326976,2803630079,US +2802974720,2803630079,US 2803630080,2803695615,CL 2803695616,2803761151,US 2803761152,2803826687,AU 2803826688,2803892223,US 2803892224,2805465087,CA 2805465088,2805989375,UY -2805989376,2806012937,US -2806012938,2806012938,HK -2806012939,2806644735,US +2805989376,2806007807,US +2806007808,2806009855,GB +2806009856,2806012927,US +2806012928,2806013951,HK +2806013952,2806644735,US 2806644736,2806710271,CA 2806710272,2807103487,US 2807103488,2807169023,NL -2807169024,2807496703,US +2807169024,2807448063,US +2807448064,2807463935,DE +2807463936,2807465983,US +2807465984,2807496703,SA 2807496704,2807562239,DE 2807562240,2807566335,US 2807566336,2807574527,CA @@ -83425,9 +85616,7 @@ 2807611392,2807824383,US 2807824384,2807889919,CA 2807889920,2808217599,US -2808217600,2808220159,GB -2808220160,2808220223,US -2808220224,2808283135,GB +2808217600,2808283135,GB 2808283136,2808287231,US 2808287232,2808288255,NL 2808288256,2808290303,US @@ -83444,7 +85633,13 @@ 2808336384,2808340479,NL 2808340480,2808344575,US 2808344576,2808348671,DE -2808348672,2808545279,US +2808348672,2808373247,US +2808373248,2808374271,AU +2808374272,2808375295,US +2808375296,2808376319,HK +2808376320,2808381439,US +2808381440,2808414207,SA +2808414208,2808545279,US 2808545280,2808610815,AU 2808610816,2808872959,US 2808872960,2808938495,UY @@ -83494,7 +85689,9 @@ 2809327570,2809327570,RU 2809327571,2809331711,FR 2809331712,2809397247,US -2809397248,2809462783,UY +2809397248,2809404415,UY +2809404416,2809405439,AR +2809405440,2809462783,UY 2809462784,2809855999,US 2809856000,2809921535,AU 2809921536,2809987071,US @@ -83536,16 +85733,19 @@ 2813132800,2813263871,US 2813263872,2813329407,JP 2813329408,2813526015,US -2813526016,2813527039,NZ -2813527040,2813531135,KH -2813531136,2813533183,NZ +2813526016,2813526527,KH +2813526528,2813527039,NZ +2813527040,2813531647,KH +2813531648,2813533183,NZ 2813533184,2813534207,KH 2813534208,2813535231,NZ 2813535232,2813538303,KH 2813538304,2813542399,HK -2813542400,2813558783,NZ +2813542400,2813549567,JP +2813549568,2813558783,SG 2813558784,2813575167,AU -2813575168,2813577215,NZ +2813575168,2813576191,KH +2813576192,2813577215,NZ 2813577216,2813579263,HK 2813579264,2813583359,NZ 2813583360,2813591551,TH @@ -83586,9 +85786,7 @@ 2816276480,2816278527,SG 2816278528,2816671743,US 2816671744,2816737279,CA -2816737280,2817059583,US -2817059584,2817059839,AU -2817059840,2817064959,US +2816737280,2817064959,US 2817064960,2817130495,DE 2817130496,2817277951,US 2817277952,2817294335,NL @@ -83711,15 +85909,14 @@ 2822732104,2822733823,NL 2822733824,2822734095,HK 2822734098,2822734111,US -2822734112,2822742015,HK +2822734112,2822737919,HK +2822737920,2822738943,US +2822738944,2822741247,HK +2822741248,2822742015,US 2822742016,2822750207,SG 2822750208,2822758399,HK 2822758400,2822766591,SG -2822766592,2822848767,US -2822848768,2822848997,IE -2822848998,2822848998,US -2822848999,2822849023,IE -2822849024,2823159807,US +2822766592,2823159807,US 2823159808,2823225343,HK 2823225344,2823553023,US 2823553024,2823618559,ZA @@ -83741,9 +85938,8 @@ 2823828480,2823829503,US 2823829504,2823829759,ID 2823829760,2823830015,RU -2823830016,2823830527,SC -2823830528,2823831551,ZA -2823831552,2823832575,SC +2823830016,2823830527,LT +2823830528,2823832575,SC 2823832576,2823833599,US 2823833600,2823834623,IN 2823834624,2823835647,US @@ -83769,7 +85965,8 @@ 2823863296,2823864319,US 2823864320,2823865343,SC 2823865344,2823866367,US -2823866368,2823869439,SC +2823866368,2823867391,PL +2823867392,2823869439,SC 2823869440,2823870463,US 2823870464,2823873535,SC 2823873536,2823874559,US @@ -83832,10 +86029,8 @@ 2823946240,2824011775,US 2824011776,2824077311,AR 2824077312,2824290303,US -2824290304,2824294399,AU -2824294400,2824357887,US -2824357888,2824359935,CA -2824359936,2824404991,US +2824290304,2824292351,AU +2824292352,2824404991,US 2824404992,2824470527,ZA 2824470528,2824472575,BR 2824472576,2824473599,AR @@ -83847,9 +86042,7 @@ 2824492032,2824493055,AR 2824493056,2824494079,BR 2824494080,2824495103,CO -2824495104,2824495263,HN -2824495264,2824495279,DE -2824495280,2824495943,HN +2824495104,2824495943,HN 2824495944,2824495951,NL 2824495952,2824496127,HN 2824496128,2824498175,BR @@ -83882,17 +86075,22 @@ 2824534016,2824535039,BR 2824535040,2824536063,AR 2824536064,2824560639,US -2824560640,2824562687,GB +2824560640,2824561663,GB +2824561664,2824562687,AU 2824562688,2824564223,US 2824564224,2824564735,DE 2824564736,2824565759,FR -2824565760,2824566783,US +2824565760,2824566015,DE +2824566016,2824566271,IT +2824566272,2824566783,US 2824566784,2824567039,ES 2824567040,2824567295,AU 2824567296,2824798207,US 2824798208,2824863743,TW 2824863744,2824929279,AR -2824929280,2825191423,US +2824929280,2825007103,US +2825007104,2825009151,GB +2825009152,2825191423,US 2825191424,2825256959,AR 2825256960,2825519103,US 2825519104,2825584639,HK @@ -83957,7 +86155,15 @@ 2827878400,2827943935,ZA 2827943936,2828009471,US 2828009472,2828075007,CA -2828075008,2828400639,US +2828075008,2828337151,US +2828337152,2828369919,SA +2828369920,2828370431,SE +2828370432,2828370943,JP +2828370944,2828377087,US +2828377088,2828377343,NL +2828377344,2828377855,US +2828377856,2828378111,DE +2828378112,2828400639,US 2828400640,2828401151,GB 2828401152,2828533759,US 2828533760,2828599551,AU @@ -83972,17 +86178,18 @@ 2828795904,2829029375,US 2829029376,2829029631,CN 2829029632,2829033471,US -2829033472,2829041663,IN -2829041664,2829045759,AU -2829045760,2829058047,US +2829033472,2829035519,IN +2829035520,2829041663,US +2829041664,2829043711,AU +2829043712,2829058047,US 2829058048,2829123583,CN 2829123584,2829148415,US 2829148416,2829148671,HK 2829148672,2829174783,US -2829174784,2829175807,GB -2829175808,2829177343,US -2829177344,2829177599,AU -2829177600,2829184767,US +2829174784,2829175039,GB +2829175040,2829175295,US +2829175296,2829175807,GB +2829175808,2829184767,US 2829184768,2829185023,GB 2829185024,2829254655,US 2829254656,2829320191,CH @@ -83994,11 +86201,15 @@ 2829590784,2829591033,GB 2829591034,2829591034,US 2829591035,2829591039,GB -2829591040,2829593343,US +2829591040,2829592575,US +2829592576,2829593343,GB 2829593344,2829593591,CH 2829593592,2829593595,US 2829593596,2829593599,CH -2829593600,2829844479,US +2829593600,2829594623,GB +2829594624,2829647359,US +2829647360,2829647871,ID +2829647872,2829844479,US 2829844480,2829910015,ZA 2829910016,2830086655,US 2830086656,2830086911,GB @@ -84031,14 +86242,11 @@ 2830482432,2830486527,BR 2830486528,2830488575,AR 2830488576,2830492671,BR -2830492672,2830493183,US -2830493184,2830493695,HN +2830492672,2830493695,US 2830493696,2830499839,BR 2830499840,2830761983,US 2830761984,2830827519,AU -2830827520,2830873599,KW -2830873600,2830873855,US -2830873856,2830893055,KW +2830827520,2830893055,KW 2830893056,2830958591,KR 2830958592,2831155575,US 2831155576,2831155576,SG @@ -84187,9 +86395,8 @@ 2832038912,2832040959,BR 2832040960,2832041983,PE 2832041984,2832048127,BR -2832048128,2832048751,HN -2832048752,2832048759,ES -2832048760,2832049151,HN +2832048128,2832048383,HN +2832048384,2832049151,US 2832049152,2832054271,BR 2832054272,2832055295,AR 2832055296,2832059391,BR @@ -84217,9 +86424,9 @@ 2833474560,2833475583,BR 2833475584,2833476607,CO 2833476608,2833481727,BR -2833481728,2833482679,HN -2833482680,2833482687,CL -2833482688,2833482751,HN +2833481728,2833482239,US +2833482240,2833482495,HN +2833482496,2833482751,US 2833482752,2833484799,BR 2833484800,2833485519,HN 2833485520,2833485527,BE @@ -84233,7 +86440,8 @@ 2833513472,2833514495,AR 2833514496,2833522687,BR 2833523712,2833525759,BR -2833525760,2833526783,HN +2833525760,2833526271,US +2833526272,2833526783,HN 2833526784,2833527807,CR 2833527808,2833528831,MX 2833528832,2833529855,AR @@ -84308,7 +86516,9 @@ 2834694144,2834825215,US 2834825216,2834956287,KR 2834956288,2835087359,US -2835087360,2835152895,AU +2835087360,2835118847,AU +2835118848,2835119103,US +2835119104,2835152895,AU 2835152896,2835161087,LR 2835161088,2835169279,ZW 2835169280,2835177471,ZA @@ -84316,8 +86526,10 @@ 2835181568,2835183615,NG 2835183616,2835185663,ZA 2835185664,2835195903,RE -2835195904,2835196671,YT -2835196672,2835197183,RE +2835195904,2835196415,YT +2835196416,2835196799,RE +2835196800,2835196927,YT +2835196928,2835197183,RE 2835197184,2835197439,YT 2835197440,2835202047,RE 2835202048,2835206143,ZA @@ -84348,19 +86560,11 @@ 2838259760,2838276159,US 2838276160,2838276191,NL 2838276192,2838298623,US -2838298624,2838299439,NL -2838299440,2838299455,US -2838299456,2838299711,NL -2838299712,2838299775,US -2838299776,2838300335,NL +2838298624,2838300335,NL 2838300336,2838300351,US -2838300352,2838300671,NL -2838300672,2838300927,US -2838300928,2838301119,NL +2838300352,2838301119,NL 2838301120,2838301183,US -2838301184,2838301695,NL -2838301696,2838301951,US -2838301952,2838304319,NL +2838301184,2838304319,NL 2838304320,2838304383,US 2838304384,2838304479,NL 2838304480,2838304511,US @@ -84424,27 +86628,19 @@ 2838337136,2838337151,US 2838337152,2838337263,NL 2838337264,2838337295,US -2838337296,2838337759,NL -2838337760,2838337761,IN -2838337762,2838337767,NL +2838337296,2838337767,NL 2838337768,2838337769,US 2838337770,2838337951,NL -2838337952,2838337983,US -2838337984,2838338079,NL +2838337952,2838337967,US +2838337968,2838338079,NL 2838338080,2838338127,US 2838338128,2838338183,NL 2838338184,2838338191,US 2838338192,2838338271,NL 2838338272,2838338303,JP -2838338304,2838338567,NL -2838338568,2838338575,US -2838338576,2838338703,NL -2838338704,2838338719,IN -2838338720,2838338735,NL +2838338304,2838338735,NL 2838338736,2838338751,US -2838338752,2838338771,NL -2838338772,2838338773,IN -2838338774,2838338775,NL +2838338752,2838338775,NL 2838338776,2838338783,US 2838338784,2838338815,NL 2838338816,2838338823,US @@ -84474,17 +86670,13 @@ 2838342448,2838342463,US 2838342464,2838343071,NL 2838343072,2838343103,US -2838343104,2838344319,NL -2838344320,2838344335,US -2838344336,2838344451,NL +2838343104,2838344451,NL 2838344452,2838344455,US 2838344456,2838344463,NL 2838344464,2838344479,US 2838344480,2838344917,NL 2838344918,2838344918,US -2838344919,2838345239,NL -2838345240,2838345247,US -2838345248,2838346559,NL +2838344919,2838346559,NL 2838346560,2838346591,US 2838346592,2838346687,NL 2838346688,2838346719,US @@ -84552,9 +86744,7 @@ 2838415392,2838415487,US 2838415488,2838415655,NL 2838415656,2838415663,US -2838415664,2838415839,NL -2838415840,2838415871,US -2838415872,2838416623,NL +2838415664,2838416623,NL 2838416624,2838416639,AF 2838416640,2838418687,NL 2838418688,2838418815,US @@ -84574,9 +86764,7 @@ 2838429696,2838469631,US 2838469632,2838478975,NL 2838478976,2838479007,US -2838479008,2838479151,NL -2838479152,2838479167,US -2838479168,2838479273,NL +2838479008,2838479273,NL 2838479274,2838479274,BR 2838479275,2838479431,NL 2838479432,2838479439,US @@ -84600,9 +86788,7 @@ 2838482548,2838482551,US 2838482552,2838482695,NL 2838482696,2838482703,US -2838482704,2838482863,NL -2838482864,2838482871,US -2838482872,2838482911,NL +2838482704,2838482911,NL 2838482912,2838482943,US 2838482944,2838482967,NL 2838482968,2838482975,US @@ -84614,27 +86800,19 @@ 2838483360,2838483391,US 2838483392,2838483487,NL 2838483488,2838483519,US -2838483520,2838484399,NL -2838484400,2838484415,US -2838484416,2838484463,NL +2838483520,2838484463,NL 2838484464,2838484479,US 2838484480,2838484839,NL 2838484840,2838484843,US -2838484844,2838484943,NL -2838484944,2838484959,US -2838484960,2838485151,NL +2838484844,2838485151,NL 2838485152,2838485183,US -2838485184,2838485375,NL -2838485376,2838485391,US -2838485392,2838485439,NL +2838485184,2838485439,NL 2838485440,2838485447,US 2838485448,2838485695,NL 2838485696,2838485727,US 2838485728,2838485967,NL 2838485968,2838485983,US -2838485984,2838486463,NL -2838486464,2838486495,US -2838486496,2838486567,NL +2838485984,2838486567,NL 2838486568,2838486575,US 2838486576,2838487327,NL 2838487328,2838487343,US @@ -84654,9 +86832,7 @@ 2838490000,2838490007,US 2838490008,2838491679,NL 2838491680,2838491687,US -2838491688,2838491943,NL -2838491944,2838491951,US -2838491952,2838492479,NL +2838491688,2838492479,NL 2838492480,2838492511,US 2838492512,2838492679,NL 2838492680,2838492687,US @@ -84670,23 +86846,15 @@ 2838493712,2838493727,US 2838493728,2838494063,NL 2838494064,2838494079,US -2838494080,2838494347,NL -2838494348,2838494351,US -2838494352,2838496623,NL -2838496624,2838496639,US -2838496640,2838496671,NL +2838494080,2838496671,NL 2838496672,2838496703,US 2838496704,2838498111,NL 2838498112,2838498175,JP -2838498176,2838498479,NL -2838498480,2838498495,US -2838498496,2838511871,NL +2838498176,2838511871,NL 2838511872,2838511887,US 2838511888,2838512047,NL 2838512048,2838512079,US -2838512080,2838512255,NL -2838512256,2838512271,US -2838512272,2838512303,NL +2838512080,2838512303,NL 2838512304,2838512319,US 2838512320,2838512351,NL 2838512352,2838512367,AF @@ -84808,13 +86976,7 @@ 2838528816,2838528823,US 2838528824,2838528959,NL 2838528960,2838529023,US -2838529024,2838529295,NL -2838529296,2838529303,US -2838529304,2838529319,NL -2838529320,2838529327,US -2838529328,2838529375,NL -2838529376,2838529407,US -2838529408,2838529495,NL +2838529024,2838529495,NL 2838529496,2838529503,US 2838529504,2838530095,NL 2838530096,2838530111,US @@ -84860,7 +87022,9 @@ 2838542096,2838542111,US 2838542112,2838542287,NL 2838542288,2838542303,US -2838542304,2838542511,NL +2838542304,2838542363,NL +2838542364,2838542364,US +2838542365,2838542511,NL 2838542512,2838542527,AF 2838542528,2838543223,NL 2838543224,2838543231,US @@ -84874,9 +87038,7 @@ 2838544576,2838544607,US 2838544608,2838544655,NL 2838544656,2838544671,US -2838544672,2838544703,NL -2838544704,2838544767,US -2838544768,2838545279,NL +2838544672,2838545279,NL 2838545280,2838545295,US 2838545296,2838545567,NL 2838545568,2838545663,US @@ -84909,12 +87071,10 @@ 2838550408,2838550495,NL 2838550496,2838550511,US 2838550512,2838550719,NL -2838550720,2838550799,US -2838550800,2838550855,NL +2838550720,2838550783,US +2838550784,2838550855,NL 2838550856,2838550863,US -2838550864,2838551383,NL -2838551384,2838551387,US -2838551388,2838551579,NL +2838550864,2838551579,NL 2838551580,2838551583,US 2838551584,2838551807,NL 2838551808,2838551815,US @@ -84928,9 +87088,7 @@ 2838552304,2838552319,US 2838552320,2838552495,NL 2838552496,2838552511,US -2838552512,2838553711,NL -2838553712,2838553727,US -2838553728,2838554271,NL +2838552512,2838554271,NL 2838554272,2838554287,US 2838554288,2838554431,NL 2838554432,2838554463,US @@ -84948,9 +87106,7 @@ 2838557168,2838557183,US 2838557184,2838557215,NL 2838557216,2838557231,US -2838557232,2838557455,NL -2838557456,2838557463,US -2838557464,2838557839,NL +2838557232,2838557839,NL 2838557840,2838557855,US 2838557856,2838558927,NL 2838558928,2838558943,US @@ -85006,9 +87162,7 @@ 2838665760,2838665791,JP 2838665792,2838669119,US 2838669120,2838669151,HK -2838669152,2838669519,US -2838669520,2838669535,NL -2838669536,2838676095,US +2838669152,2838676095,US 2838676096,2838676127,GB 2838676128,2838676959,US 2838676960,2838676991,GB @@ -85032,17 +87186,13 @@ 2838866164,2838866165,JP 2838866166,2838866451,US 2838866452,2838866452,CA -2838866453,2838869603,US -2838869604,2838869607,JP +2838866453,2838869605,US +2838869606,2838869607,JP 2838869608,2838870111,US 2838870112,2838870127,CA 2838870128,2838871295,US -2838871296,2838871311,CA -2838871312,2838881407,US -2838881408,2838881423,IN -2838881424,2838887271,US -2838887272,2838887279,IN -2838887280,2838897695,US +2838871296,2838871551,CA +2838871552,2838897695,US 2838897696,2838897727,HK 2838897728,2838904831,US 2838904832,2838921215,CA @@ -85100,9 +87250,7 @@ 2838999598,2838999599,JP 2838999600,2839001023,US 2839001024,2839001055,HK -2839001056,2839001263,US -2839001264,2839001279,CA -2839001280,2839021219,US +2839001056,2839021219,US 2839021220,2839021222,JP 2839021223,2839021223,US 2839021224,2839021226,JP @@ -85118,10 +87266,14 @@ 2839035904,2839052287,KR 2839052288,2839053951,US 2839053952,2839053983,HK -2839053984,2839085055,US +2839053984,2839063295,US +2839063296,2839063359,KR +2839063360,2839085055,US 2839085056,2839117823,MX 2839117824,2839150591,BR -2839150592,2839300031,US +2839150592,2839292927,US +2839292928,2839293951,CA +2839293952,2839300031,US 2839300032,2839300047,AF 2839300048,2839315471,US 2839315472,2839315487,JP @@ -85135,7 +87287,9 @@ 2839351856,2839351871,AF 2839351872,2839360079,US 2839360080,2839360095,NL -2839360096,2839412959,US +2839360096,2839365799,US +2839365800,2839365800,JP +2839365801,2839412959,US 2839412960,2839412991,JP 2839412992,2839447231,US 2839447232,2839447295,JP @@ -85145,12 +87299,8 @@ 2843803648,2843869183,ZA 2843869184,2844524543,US 2844524544,2844590079,KR -2844590080,2844778495,US -2844778496,2844783615,DE -2844783616,2844784639,US -2844784640,2844786687,DE -2844786688,2844860415,US -2844860416,2844864511,BR +2844590080,2844862463,US +2844862464,2844864511,BR 2844864512,2844903423,US 2844903424,2844905471,SG 2844905472,2845114367,US @@ -85170,7 +87320,9 @@ 2848244736,2848245759,GB 2848245760,2848284671,US 2848284672,2848285695,RU -2848285696,2848288767,US +2848285696,2848286463,US +2848286464,2848286975,DE +2848286976,2848288767,US 2848288768,2848289791,GB 2848289792,2848290815,RU 2848290816,2848522239,US @@ -85265,9 +87417,7 @@ 2852088832,2852089855,LY 2852089856,2852090879,TZ 2852090880,2852091903,ZA -2852091904,2852092903,CD -2852092904,2852092911,CG -2852092912,2852092927,CD +2852091904,2852092927,CD 2852092928,2852093951,NG 2852093952,2852094975,ZA 2852094976,2852095999,MZ @@ -85277,8 +87427,8 @@ 2852099072,2852100095,GA 2852100096,2852101119,TD 2852101120,2852102143,LY -2852102144,2852102911,MU -2852102912,2852103167,YT +2852102144,2852102655,MU +2852102656,2852103167,YT 2852103168,2852106239,ZA 2852106240,2852107263,MA 2852107264,2852108287,NG @@ -85359,8 +87509,8 @@ 2855550976,2855567359,CA 2855567360,2856058879,US 2856058880,2856124415,CH -2856124416,2856184831,US -2856184832,2856185855,GB +2856124416,2856183807,US +2856183808,2856185855,GB 2856185856,2856438783,US 2856438784,2856439039,BR 2856439040,2856439295,US @@ -85479,7 +87629,8 @@ 2857470976,2857471999,MX 2857472000,2857473023,VE 2857473024,2857485311,BR -2857485312,2857486335,HN +2857485312,2857485823,HN +2857485824,2857486335,US 2857486336,2857489407,BR 2857489408,2857490431,AR 2857490432,2857493503,BR @@ -85488,7 +87639,8 @@ 2857496576,2857497599,PE 2857497600,2857499647,BR 2857499648,2857500671,CO -2857500672,2857501695,HN +2857500672,2857500927,HN +2857500928,2857501695,US 2857501696,2857506815,BR 2857506816,2857507839,DO 2857507840,2857509887,BR @@ -85571,18 +87723,32 @@ 2857691136,2857692159,AR 2857692160,2857696255,BR 2857696256,2857697279,AR -2857697280,2859007999,US +2857697280,2858778623,US +2858778624,2858811391,SA +2858811392,2859007999,US 2859008000,2859073535,JP 2859073536,2859106303,SG 2859106304,2859107327,US 2859107328,2859139071,SG -2859139072,2861068799,US -2861068800,2861069311,GB -2861069312,2861070335,US +2859139072,2860678143,US +2860678144,2860678207,GR +2860678208,2860678271,SE +2860678272,2860678335,FI +2860678336,2860678399,US +2860678400,2860678463,ES +2860678464,2860678527,RO +2860678528,2860678591,RU +2860678592,2860678655,CH +2860678656,2860678783,NL +2860678784,2860678911,GB +2860678912,2860678975,NL +2860678976,2860679007,US +2860679008,2860679039,NL +2860679040,2861070335,US 2861070336,2861070591,CA -2861070592,2861727743,US -2861727744,2861735935,CA -2861735936,2861842431,US +2861070592,2861697023,US +2861697024,2861699071,CA +2861699072,2861842431,US 2861842432,2861843851,HK 2861843852,2861843853,US 2861843854,2861844479,HK @@ -85593,8 +87759,13 @@ 2861860864,2861862911,US 2861862912,2861863423,AU 2861863424,2861875199,US -2861875200,2861883391,GB -2861883392,2861957119,US +2861875200,2861877247,GB +2861877248,2861879295,US +2861879296,2861881343,GB +2861881344,2861955071,US +2861955072,2861955583,GB +2861955584,2861956095,FR +2861956096,2861957119,US 2861957120,2861959167,BR 2861959168,2861960191,AR 2861960192,2861961215,MX @@ -85634,8 +87805,9 @@ 2863595520,2863661055,CA 2863661056,2863857663,US 2863857664,2863923199,CN -2863923200,2864840703,US -2864840704,2864848895,NL +2863923200,2864844799,US +2864844800,2864846847,NL +2864846848,2864848895,US 2864848896,2864849151,GB 2864849152,2865168383,US 2865168384,2865209343,CA @@ -85648,7 +87820,9 @@ 2865231360,2865231615,JP 2865231616,2865252095,US 2865252096,2865252351,GB -2865252352,2865577983,US +2865252352,2865418239,US +2865418240,2865419263,GB +2865419264,2865577983,US 2865577984,2865610751,BE 2865610752,2865889279,US 2865889280,2865954815,AR @@ -85686,8 +87860,7 @@ 2867403776,2867404799,AR 2867404800,2867414015,BR 2867414016,2867415039,AR -2867415040,2867415551,GP -2867415552,2867416063,GF +2867415040,2867416063,GP 2867416064,2867420159,BR 2867420160,2867421183,AR 2867421184,2867426303,BR @@ -85710,9 +87883,7 @@ 2867456000,2867457023,AR 2867457024,2867462143,BR 2867462144,2867593215,US -2867593216,2867634175,CH -2867634176,2867642367,AT -2867642368,2867724287,CH +2867593216,2867724287,CH 2867724288,2867725311,EC 2867725312,2867726335,BR 2867726336,2867727359,AR @@ -85846,7 +88017,8 @@ 2868257792,2868259839,AR 2868259840,2868260863,BR 2868260864,2868261887,AR -2868261888,2868263935,HN +2868261888,2868262911,US +2868262912,2868263935,HN 2868263936,2868264959,BR 2868264960,2868265983,CL 2868265984,2868268031,BR @@ -85885,8 +88057,7 @@ 2868336640,2868337663,AR 2868337664,2868338687,CL 2868338688,2868339711,AR -2868339712,2868340735,BR -2868341760,2868344831,BR +2868339712,2868344831,BR 2868344832,2868345855,AR 2868345856,2868346879,BR 2868346880,2868348927,MX @@ -85935,33 +88106,37 @@ 2868599296,2868599807,IN 2868599808,2868604415,US 2868604416,2868604927,IN -2868604928,2868612607,US +2868604928,2868606975,CA +2868606976,2868612607,US 2868612608,2868613119,IN -2868613120,2868620799,US +2868613120,2868615679,US +2868615680,2868616703,IN +2868616704,2868619775,US +2868619776,2868620287,IN +2868620288,2868620799,US 2868620800,2868621311,IN -2868621312,2868627455,US -2868627456,2868627711,DE +2868621312,2868627711,US 2868627712,2868627967,GB -2868627968,2868629503,US -2868629504,2868631551,ID -2868631552,2868632575,US -2868632576,2868633087,BR -2868633088,2868658175,US +2868627968,2868631551,US +2868631552,2868633599,AR +2868633600,2868658175,US 2868658176,2868660223,GB 2868660224,2868662271,ES -2868662272,2868666367,GB -2868666368,2868673279,US +2868662272,2868664319,DE +2868664320,2868673279,US 2868673280,2868673535,ZA -2868673536,2868674559,SE -2868674560,2868678655,US -2868678656,2868679167,JP -2868679168,2868682751,US -2868682752,2868682752,SG +2868673536,2868674047,FI +2868674048,2868674559,SE +2868674560,2868676607,US +2868676608,2868678655,AU +2868678656,2868682751,US +2868682752,2868682752,PH 2868682753,2868682753,US -2868682754,2868686847,SG -2868686848,2868690943,US -2868690944,2868699135,BR -2868699136,2868731903,US +2868682754,2868684799,PH +2868684800,2868689919,US +2868689920,2868690943,SG +2868690944,2868692991,BR +2868692992,2868731903,US 2868731904,2868740095,CA 2868740096,2868772863,US 2868772864,2868773887,CO @@ -86001,17 +88176,14 @@ 2869166080,2869428223,TH 2869428224,2869952511,CN 2869952512,2870018047,FR -2870018048,2870050815,DE -2870050816,2870059007,FR -2870059008,2870083583,DE -2870083584,2870084140,FR -2870084141,2870084141,ES -2870084142,2870084144,FR -2870084145,2870084145,ES -2870084146,2870089727,FR -2870089728,2870090751,BE +2870018048,2870083583,DE +2870083584,2870089727,FR +2870089728,2870090495,DE +2870090496,2870090751,BE 2870090752,2870091775,DE -2870091776,2870149119,FR +2870091776,2870095871,FR +2870095872,2870096127,SG +2870096128,2870149119,FR 2870149120,2870214655,HU 2870214656,2870228223,DK 2870228224,2870228991,US @@ -86071,9 +88243,7 @@ 2871083008,2871099391,FR 2871099392,2871101439,NL 2871101440,2871103487,CZ -2871103488,2871103999,IE -2871104000,2871104511,NO -2871104512,2871105535,IE +2871103488,2871105535,GB 2871105536,2871107583,FR 2871107584,2871111679,GB 2871111680,2871115775,DE @@ -86089,19 +88259,21 @@ 2874146816,2875195391,CN 2875195392,2875719679,TH 2875719680,2877292543,CN -2877292544,2879332351,US -2879332352,2879340543,GB -2879340544,2881486847,US -2881486848,2881495039,GB -2881495040,2882469887,US +2877292544,2879336447,US +2879336448,2879338495,GB +2879338496,2879914495,US +2879914496,2879914559,FR +2879914560,2881486847,US +2881486848,2881488895,GB +2881488896,2882469887,US 2882469888,2882535423,SG 2882535424,2883583999,CN 2883584000,2885681151,VN 2885681152,2886729727,US -2887778304,2889522431,US -2889522432,2889522687,PR -2889522688,2889523071,US -2889523072,2889523199,PR +2887778304,2889522175,US +2889522176,2889522687,PR +2889522688,2889522943,US +2889522944,2889523199,PR 2889523200,2890137599,US 2890137600,2890138623,AU 2890138624,2890139647,TH @@ -86114,8 +88286,8 @@ 2890150912,2890152959,US 2890152960,2890153983,GR 2890153984,2890158079,US -2890158080,2890158847,AU -2890158848,2890159103,US +2890158080,2890158591,AU +2890158592,2890159103,US 2890159104,2890160127,AU 2890160128,2890161151,US 2890161152,2890162175,ES @@ -86132,12 +88304,12 @@ 2890172416,2890173439,PL 2890173440,2890174463,US 2890174464,2890175231,SG -2890175232,2890175487,AU -2890175488,2890176511,US -2890176512,2890177535,RS -2890177536,2890178559,US +2890175232,2890176511,US +2890176512,2890178559,RS 2890178560,2890179583,IN -2890179584,2890182655,US +2890179584,2890180095,MA +2890180096,2890180607,IN +2890180608,2890182655,US 2890182656,2890183679,EC 2890183680,2890184703,SE 2890184704,2890185727,ZA @@ -86157,7 +88329,8 @@ 2890201088,2890203135,HK 2890203136,2890204159,AT 2890204160,2890205183,US -2890205184,2890207231,MX +2890205184,2890206207,RU +2890206208,2890207231,NG 2890207232,2890216447,US 2890216448,2890217471,NL 2890217472,2890218495,GR @@ -86186,8 +88359,8 @@ 2890243072,2890244095,CA 2890244096,2890247167,US 2890247168,2890248191,GB -2890248192,2890249215,HK -2890249216,2890250239,US +2890248192,2890248703,HK +2890248704,2890250239,US 2890250240,2890251263,PH 2890251264,2890252287,LT 2890252288,2890253311,LV @@ -86197,17 +88370,21 @@ 2890256384,2890257407,US 2890257408,2890259455,CA 2890259456,2890260479,LU -2890260480,2890261503,FR -2890261504,2890264575,US +2890260480,2890260991,US +2890260992,2890261503,FR +2890261504,2890262527,BH +2890262528,2890264575,US 2890264576,2890265599,CL -2890265600,2890266623,GB -2890266624,2890267647,US +2890265600,2890266111,PK +2890266112,2890267647,US 2890267648,2890268671,MN 2890268672,2890956799,US 2890956800,2890989567,AE 2890989568,2891014911,US 2891014912,2891015167,JP -2891015168,2891016191,US +2891015168,2891015679,US +2891015680,2891015935,JP +2891015936,2891016191,US 2891016192,2891016447,JP 2891016448,2891017215,US 2891017216,2891017471,JP @@ -86290,7 +88467,9 @@ 2891807232,2891807487,GB 2891807488,2891807743,US 2891807744,2891808767,CA -2891808768,2891834559,US +2891808768,2891833983,US +2891833984,2891834111,PA +2891834112,2891834559,US 2891834560,2891834567,PA 2891834568,2891841535,US 2891841536,2891841791,SE @@ -86360,8 +88539,7 @@ 2891865856,2891866111,US 2891866112,2891866367,AU 2891866368,2891866623,BB -2891866624,2891866879,HM -2891866880,2891867391,AU +2891866624,2891867391,AU 2891867392,2891867647,AT 2891867648,2891867903,US 2891867904,2891868159,AU @@ -86462,7 +88640,7 @@ 2892418048,2892420607,US 2892420608,2892420863,CA 2892420864,2892421631,US -2892421632,2892421887,CA +2892421632,2892421887,IT 2892421888,2892423167,US 2892423168,2892424191,VI 2892424192,2892425215,CA @@ -86538,7 +88716,8 @@ 2892994304,2892994559,US 2892994560,2892994815,JO 2892994816,2892995327,GB -2892995328,2892995839,AU +2892995328,2892995583,AU +2892995584,2892995839,FR 2892995840,2892996095,GB 2892996096,2892996607,US 2892996608,2892996863,CA @@ -86568,8 +88747,7 @@ 2893003264,2893003775,GB 2893003776,2893004031,DE 2893004032,2893004287,JP -2893004288,2893004543,DK -2893004544,2893004799,US +2893004288,2893004799,US 2893004800,2893005311,HK 2893005312,2893005567,US 2893005568,2893005823,FR @@ -86614,7 +88792,9 @@ 2893020416,2893020671,AT 2893020672,2893676543,US 2893676544,2893807615,JP -2893807616,2894921727,US +2893807616,2894784511,US +2894784512,2894785023,GB +2894785024,2894921727,US 2894921728,2894970879,GB 2894970880,2894979071,IE 2894979072,2895118335,GB @@ -86629,7 +88809,9 @@ 2896301500,2896301500,DE 2896301501,2896429280,US 2896429281,2896429281,CA -2896429282,2897018879,US +2896429282,2896436261,US +2896436262,2896436262,CA +2896436263,2897018879,US 2897018880,2897149951,DE 2897149952,2897215487,US 2897215488,2897739775,DE @@ -86786,15 +88968,7 @@ 2905510912,2905511935,CA 2905511936,2905512959,US 2905512960,2905513471,CA -2905513472,2910032127,US -2910032128,2910032383,PR -2910032384,2910033919,US -2910033920,2910034175,PR -2910034176,2910036735,US -2910036736,2910036991,PR -2910036992,2910054399,US -2910054400,2910054655,PR -2910054656,2913992703,US +2905513472,2913992703,US 2913992704,2914516991,CA 2914516992,2915105791,US 2915105792,2915106047,NL @@ -86823,11 +88997,7 @@ 2915518435,2915518435,FR 2915518436,2915518463,DK 2915518464,2915520511,GB -2915520512,2915520543,US -2915520544,2915520639,AU -2915520640,2915520647,US -2915520648,2915520671,AU -2915520672,2915520767,US +2915520512,2915520767,US 2915520768,2915521279,JP 2915521280,2915521535,PL 2915521536,2915526911,US @@ -86853,11 +89023,15 @@ 2915795014,2915795014,MX 2915795015,2915894575,US 2915894576,2915894591,CA -2915894592,2915919999,US +2915894592,2915916287,US +2915916288,2915916543,NL +2915916544,2915919999,US 2915920000,2915920007,CA 2915920008,2915920023,US 2915920024,2915920027,CA -2915920028,2915920847,US +2915920028,2915920815,US +2915920816,2915920823,CA +2915920824,2915920847,US 2915920848,2915920855,EC 2915920856,2915921231,US 2915921232,2915921239,EC @@ -86871,7 +89045,9 @@ 2915921828,2915958783,US 2915958784,2916024319,CA 2916024320,2916163583,US -2916163584,2916171775,CA +2916163584,2916171439,CA +2916171440,2916171447,US +2916171448,2916171775,CA 2916171776,2916184063,US 2916184064,2916196351,CA 2916196352,2916253695,US @@ -86916,11 +89092,11 @@ 2916417536,2916515839,US 2916515840,2916519935,CA 2916519936,2916532223,US -2916532224,2916533247,IN +2916532224,2916532735,IN +2916532736,2916532991,CA +2916532992,2916533247,IN 2916533248,2916581375,US -2916581376,2916601343,PR -2916601344,2916601599,US -2916601600,2916614143,PR +2916581376,2916614143,PR 2916614144,2917031935,US 2917031936,2917032959,NL 2917032960,2917035007,US @@ -86929,7 +89105,9 @@ 2917040128,2917041151,NL 2917041152,2917045503,US 2917045504,2917045759,NL -2917045760,2917061119,US +2917045760,2917058559,US +2917058560,2917059583,NL +2917059584,2917061119,US 2917061120,2917061631,NL 2917061632,2917068799,US 2917068800,2917069823,NL @@ -86958,18 +89136,14 @@ 2917261312,2917265407,US 2917265408,2917267775,JM 2917267776,2917267839,VG -2917267840,2917267957,JM -2917267958,2917267958,AG -2917267959,2917267959,VG -2917267960,2917268223,JM +2917267840,2917267967,AG +2917267968,2917268223,JM 2917268224,2917268479,BB 2917268480,2917269503,TC 2917269504,2917445887,US 2917445888,2917446143,DE 2917446144,2917449727,US -2917449728,2917458431,PR -2917458432,2917458943,US -2917458944,2917466111,PR +2917449728,2917466111,PR 2917466112,2917572607,US 2917572608,2917580799,CA 2917580800,2917597439,US @@ -86982,17 +89156,24 @@ 2917652224,2917652479,AU 2917652480,2917653503,US 2917653504,2917654015,GB -2917654016,2917660671,US +2917654016,2917654527,US +2917654528,2917654655,TH +2917654656,2917655935,US +2917655936,2917656063,HU +2917656064,2917656319,US +2917656320,2917656447,CN +2917656448,2917657087,US +2917657088,2917657215,NO +2917657216,2917657855,US +2917657856,2917657983,CN +2917657984,2917660671,US 2917660672,2917661183,GB -2917661184,2917676031,US -2917676032,2917676287,IN -2917676288,2917687295,US +2917661184,2917661311,CA +2917661312,2917687295,US 2917687296,2917687551,RO 2917687552,2917688063,US 2917688064,2917688319,RO -2917688320,2917700095,US -2917700096,2917700351,CA -2917700352,2917700959,US +2917688320,2917700959,US 2917700960,2917700967,CN 2917700968,2917704191,US 2917704192,2917704447,CA @@ -87002,9 +89183,7 @@ 2917710592,2917710847,CA 2917710848,2917713919,US 2917713920,2917714175,CA -2917714176,2917726463,US -2917726464,2917726495,CR -2917726496,2917826559,US +2917714176,2917826559,US 2917826560,2917828351,NL 2917828352,2917828479,IN 2917828480,2917828607,NL @@ -87016,7 +89195,9 @@ 2918043648,2918047743,CA 2918047744,2918051839,US 2918051840,2918121471,CA -2918121472,2918154239,US +2918121472,2918136831,US +2918136832,2918137087,CA +2918137088,2918154239,US 2918154240,2918170623,CA 2918170624,2918171647,US 2918171648,2918171903,CL @@ -87038,10 +89219,10 @@ 2918181120,2918181375,VE 2918181376,2918181631,NZ 2918181632,2918187007,US -2918187008,2918188319,CA -2918188320,2918188351,US -2918188352,2918189055,CA -2918189056,2918189311,US +2918187008,2918187263,CA +2918187264,2918187775,US +2918187776,2918188031,CA +2918188032,2918189311,US 2918189312,2918189567,CA 2918189568,2918232063,US 2918232064,2918236159,CA @@ -87058,7 +89239,9 @@ 2918314218,2918314495,NL 2918314496,2918316031,US 2918316032,2918316543,JP -2918316544,2918363135,US +2918316544,2918346751,US +2918346752,2918350847,CA +2918350848,2918363135,US 2918363136,2918367231,CA 2918367232,2918371327,US 2918371328,2918375423,CA @@ -87070,9 +89253,7 @@ 2918432768,2918436863,CA 2918436864,2918458879,US 2918458880,2918459135,MY -2918459136,2918459391,US -2918459392,2918459647,PH -2918459648,2918461183,US +2918459136,2918461183,US 2918461184,2918461439,KR 2918461440,2918461695,US 2918461696,2918461951,TH @@ -87083,7 +89264,9 @@ 2918463232,2918463487,CA 2918463488,2918469631,US 2918469632,2918472703,CA -2918472704,2918477823,US +2918472704,2918473215,US +2918473216,2918473727,CA +2918473728,2918477823,US 2918477824,2918481919,CA 2918481920,2918486015,US 2918486016,2918490111,KZ @@ -87099,9 +89282,7 @@ 2918498512,2918498527,JP 2918498528,2918498535,US 2918498536,2918498539,JP -2918498540,2918502911,US -2918502912,2918503167,SG -2918503168,2918515199,US +2918498540,2918515199,US 2918515200,2918515327,CA 2918515328,2918527231,US 2918527232,2918527487,FR @@ -87112,7 +89293,9 @@ 2918570496,2918580223,US 2918580224,2918588415,CA 2918588416,2918596607,US -2918596608,2918604799,CA +2918596608,2918602751,CA +2918602752,2918604543,US +2918604544,2918604799,CA 2918604800,2918612991,US 2918612992,2918621183,CA 2918621184,2918628351,US @@ -87129,21 +89312,15 @@ 2918793216,2918816255,US 2918816256,2918816767,GB 2918816768,2918817791,US -2918825984,2918829311,US -2918829312,2918829439,CA -2918829440,2918830079,US +2918825984,2918830079,US 2918830080,2918834175,CA 2918834176,2918842367,US 2918842368,2918875135,CA 2918875136,2918973439,US 2918973440,2918989823,CA -2918989824,2918995199,US -2918995200,2918995455,GB -2918995456,2919021503,US +2918989824,2919021503,US 2919021504,2919021535,CA -2919021536,2919022079,US -2919022080,2919022591,CA -2919022592,2919055359,US +2919021536,2919055359,US 2919055360,2919057407,CN 2919057408,2919059455,IN 2919059456,2919063551,CN @@ -87169,7 +89346,9 @@ 2919208960,2919211007,CA 2919211008,2919235583,US 2919235584,2919759871,CA -2919759872,2921530367,US +2919759872,2921145183,US +2921145184,2921145215,IT +2921145216,2921530367,US 2921530368,2921530623,DE 2921530624,2921536561,US 2921536562,2921536569,CZ @@ -87393,9 +89572,7 @@ 2938983936,2938984447,NZ 2938984448,2938986495,AU 2938986496,2938986751,NZ -2938986752,2938988031,AU -2938988032,2938988287,NZ -2938988288,2938996735,AU +2938986752,2938996735,AU 2938996736,2938998783,JP 2938998784,2939002879,AU 2939002880,2939004927,KR @@ -87475,15 +89652,11 @@ 2947587072,2947588095,CN 2947588096,2947590143,ID 2947590144,2947590655,JP -2947590656,2947590911,SG -2947590912,2947590927,HK -2947590928,2947591090,SG +2947590656,2947591090,SG 2947591091,2947591091,HK 2947591092,2947591167,SG 2947591168,2947591183,HK -2947591184,2947591679,SG -2947591680,2947591695,JP -2947591696,2947592191,SG +2947591184,2947592191,SG 2947592192,2947593215,CN 2947593216,2947594239,HK 2947594240,2947595263,IN @@ -87540,9 +89713,7 @@ 2953596928,2953598975,ES 2953598976,2953601023,IT 2953601024,2953603071,RU -2953603072,2953603977,GB -2953603978,2953603979,IE -2953603980,2953605119,GB +2953603072,2953605119,GB 2953605120,2953609215,CZ 2953609216,2953707519,IL 2953707520,2953838591,RU @@ -87566,13 +89737,19 @@ 2954822280,2954822283,ES 2954822284,2954822323,FR 2954822324,2954822327,FI -2954822328,2954822447,FR +2954822328,2954822339,FR +2954822340,2954822343,PL +2954822344,2954822447,FR 2954822448,2954822455,ES -2954822456,2954822591,FR +2954822456,2954822535,FR +2954822536,2954822539,PL +2954822540,2954822591,FR 2954822592,2954822599,GB 2954822600,2954822639,FR 2954822640,2954822655,DE -2954822656,2954822927,FR +2954822656,2954822915,FR +2954822916,2954822919,PL +2954822920,2954822927,FR 2954822928,2954822931,DE 2954822932,2954823259,FR 2954823260,2954823263,GB @@ -87621,7 +89798,9 @@ 2954825404,2954825407,ES 2954825408,2954825535,FR 2954825536,2954825539,ES -2954825540,2954825663,FR +2954825540,2954825599,FR +2954825600,2954825631,PL +2954825632,2954825663,FR 2954825664,2954825727,GB 2954825728,2954826015,FR 2954826016,2954826019,PT @@ -87654,7 +89833,8 @@ 2954827940,2954827943,PT 2954827944,2954828335,FR 2954828336,2954828339,ES -2954828340,2954828443,FR +2954828340,2954828343,PL +2954828344,2954828443,FR 2954828444,2954828447,CZ 2954828448,2954828511,FR 2954828512,2954828543,CZ @@ -87666,7 +89846,9 @@ 2954829008,2954829023,IE 2954829024,2954829135,FR 2954829136,2954829139,DE -2954829140,2954829407,FR +2954829140,2954829263,FR +2954829264,2954829271,PL +2954829272,2954829407,FR 2954829408,2954829423,ES 2954829424,2954829623,FR 2954829624,2954829631,ES @@ -87683,19 +89865,24 @@ 2954829824,2954829843,FR 2954829844,2954829847,DE 2954829848,2954829855,FI -2954829856,2954829875,FR +2954829856,2954829871,PL +2954829872,2954829875,FR 2954829876,2954829879,DE 2954829880,2954830111,FR 2954830112,2954830127,IE 2954830128,2954830163,FR 2954830164,2954830167,PT -2954830168,2954830395,FR +2954830168,2954830383,FR +2954830384,2954830387,PL +2954830388,2954830395,FR 2954830396,2954830399,ES 2954830400,2954830523,FR 2954830524,2954830527,DE 2954830528,2954831247,FR 2954831248,2954831251,ES -2954831252,2954831615,FR +2954831252,2954831343,FR +2954831344,2954831359,PL +2954831360,2954831615,FR 2954831616,2954831631,DE 2954831632,2954831787,FR 2954831788,2954831791,CZ @@ -87720,7 +89907,9 @@ 2954832448,2954832479,CZ 2954832480,2954832607,FR 2954832608,2954832639,PT -2954832640,2954832767,FR +2954832640,2954832695,FR +2954832696,2954832699,NL +2954832700,2954832767,FR 2954832768,2954832771,DE 2954832772,2954832843,FR 2954832844,2954832847,GB @@ -87734,17 +89923,23 @@ 2954833456,2954833471,ES 2954833472,2954833567,FR 2954833568,2954833571,ES -2954833572,2954833727,FR -2954833728,2954833731,ES -2954833732,2954833811,FR +2954833572,2954833811,FR 2954833812,2954833815,DE 2954833816,2954833823,FR 2954833824,2954833855,GB 2954833856,2954833967,FR 2954833968,2954833983,ES -2954833984,2954834143,FR +2954833984,2954834003,FR +2954834004,2954834007,PL +2954834008,2954834103,FR +2954834104,2954834107,PL +2954834108,2954834143,FR 2954834144,2954834151,GB -2954834152,2954834519,FR +2954834152,2954834231,FR +2954834232,2954834235,PL +2954834236,2954834239,FR +2954834240,2954834255,DE +2954834256,2954834519,FR 2954834520,2954834523,ES 2954834524,2954834671,FR 2954834672,2954834675,ES @@ -87763,7 +89958,8 @@ 2954835452,2954835455,ES 2954835456,2954835511,FR 2954835512,2954835519,ES -2954835520,2954835619,FR +2954835520,2954835535,PL +2954835536,2954835619,FR 2954835620,2954835620,ES 2954835621,2954835639,FR 2954835640,2954835643,DE @@ -87789,7 +89985,9 @@ 2954837580,2954837583,GB 2954837584,2954837599,FR 2954837600,2954837607,GB -2954837608,2954837667,FR +2954837608,2954837619,FR +2954837620,2954837623,PL +2954837624,2954837667,FR 2954837668,2954837671,ES 2954837672,2954837743,FR 2954837744,2954837751,CZ @@ -87808,7 +90006,9 @@ 2954838216,2954838219,GB 2954838220,2954838247,FR 2954838248,2954838255,ES -2954838256,2954838655,FR +2954838256,2954838543,FR +2954838544,2954838559,PL +2954838560,2954838655,FR 2954838656,2954838687,BE 2954838688,2954838911,FR 2954838912,2954838915,DE @@ -87834,19 +90034,24 @@ 2954840256,2954840381,GB 2954840382,2954840382,BE 2954840383,2954840447,GB -2954840448,2954840515,FR +2954840448,2954840511,FR +2954840512,2954840515,PL 2954840516,2954840519,NL 2954840520,2954840575,FR 2954840576,2954840591,DE 2954840592,2954840611,FR 2954840612,2954840615,GB -2954840616,2954840927,FR +2954840616,2954840799,FR +2954840800,2954840803,PL +2954840804,2954840927,FR 2954840928,2954840931,DE 2954840932,2954841023,FR 2954841024,2954841087,ES 2954841088,2954841103,FR 2954841104,2954841111,ES -2954841112,2954841259,FR +2954841112,2954841247,FR +2954841248,2954841251,PL +2954841252,2954841259,FR 2954841260,2954841263,GB 2954841264,2954841523,FR 2954841524,2954841527,DE @@ -87854,7 +90059,9 @@ 2954841584,2954841591,ES 2954841592,2954841707,FR 2954841708,2954841711,NL -2954841712,2954841851,FR +2954841712,2954841779,FR +2954841780,2954841783,PL +2954841784,2954841851,FR 2954841852,2954841855,ES 2954841856,2954841943,FR 2954841944,2954841951,DE @@ -87881,24 +90088,30 @@ 2954843480,2954843487,NL 2954843488,2954843503,FR 2954843504,2954843507,ES -2954843508,2954843643,FR +2954843508,2954843511,FR +2954843512,2954843519,PL +2954843520,2954843643,FR 2954843644,2954843647,DE 2954843648,2954843759,FR 2954843760,2954843771,ES -2954843772,2954844147,FR +2954843772,2954843855,FR +2954843856,2954843863,PL +2954843864,2954844147,FR 2954844148,2954844151,DE 2954844152,2954844175,FR 2954844176,2954844179,DE 2954844180,2954844191,FR 2954844192,2954844223,NL 2954844224,2954844239,DE -2954844240,2954844263,FR -2954844264,2954844267,IE -2954844268,2954844603,FR +2954844240,2954844603,FR 2954844604,2954844607,CZ -2954844608,2954844943,FR +2954844608,2954844703,FR +2954844704,2954844707,PL +2954844708,2954844943,FR 2954844944,2954844947,GB -2954844948,2954844999,FR +2954844948,2954844959,FR +2954844960,2954844967,PL +2954844968,2954844999,FR 2954845000,2954845003,ES 2954845004,2954845055,FR 2954845056,2954845059,PT @@ -87923,13 +90136,13 @@ 2954848102,2954848102,VA 2954848103,2954854415,FR 2954854416,2954854431,GB -2954854432,2954854559,FR -2954854560,2954854575,DE -2954854576,2954854607,FR +2954854432,2954854607,FR 2954854608,2954854615,ES 2954854616,2954854751,FR 2954854752,2954854783,PT -2954854784,2954855011,FR +2954854784,2954854863,FR +2954854864,2954854867,PL +2954854868,2954855011,FR 2954855012,2954855015,CZ 2954855016,2954855051,FR 2954855052,2954855055,ES @@ -87957,7 +90170,9 @@ 2954855808,2954855871,DE 2954855872,2954855879,FR 2954855880,2954855887,ES -2954855888,2954856115,FR +2954855888,2954855903,FR +2954855904,2954855919,PL +2954855920,2954856115,FR 2954856116,2954856119,DE 2954856120,2954856179,FR 2954856180,2954856183,ES @@ -87967,7 +90182,9 @@ 2954856560,2954856563,ES 2954856564,2954856631,FR 2954856632,2954856635,GB -2954856636,2954857119,FR +2954856636,2954856691,FR +2954856692,2954856695,PL +2954856696,2954857119,FR 2954857120,2954857135,PT 2954857136,2954857583,FR 2954857584,2954857599,ES @@ -88006,13 +90223,20 @@ 2954859872,2954859903,ES 2954859904,2954859959,FR 2954859960,2954859963,ES -2954859964,2954860319,FR +2954859964,2954859967,PL +2954859968,2954860227,FR +2954860228,2954860231,PL +2954860232,2954860319,FR 2954860320,2954860327,DE 2954860328,2954860459,FR 2954860460,2954860463,GB 2954860464,2954861195,FR 2954861196,2954861199,CZ -2954861200,2954861651,FR +2954861200,2954861231,FR +2954861232,2954861239,PL +2954861240,2954861247,FR +2954861248,2954861311,PL +2954861312,2954861651,FR 2954861652,2954861655,GB 2954861656,2954861763,FR 2954861764,2954861767,GB @@ -88065,24 +90289,29 @@ 2954871956,2954871959,PT 2954871960,2954871983,FR 2954871984,2954871999,PT -2954872000,2954872331,FR +2954872000,2954872063,FR +2954872064,2954872319,IE +2954872320,2954872331,FR 2954872332,2954872335,GB -2954872336,2954872607,FR +2954872336,2954872423,FR +2954872424,2954872431,PL +2954872432,2954872607,FR 2954872608,2954872639,ES 2954872640,2954872679,FR 2954872680,2954872687,ES -2954872688,2954873351,FR +2954872688,2954872991,FR +2954872992,2954873023,PL +2954873024,2954873351,FR 2954873352,2954873355,GB 2954873356,2954873695,FR 2954873696,2954873727,FI -2954873728,2954873807,FR +2954873728,2954873775,FR +2954873776,2954873783,PL +2954873784,2954873807,FR 2954873808,2954873815,DE 2954873816,2954873879,FR 2954873880,2954873887,PT -2954873888,2954873919,FR -2954873920,2954873983,IE -2954873984,2954874111,GB -2954874112,2954874127,FR +2954873888,2954874127,FR 2954874128,2954874135,ES 2954874136,2954874351,FR 2954874352,2954874355,ES @@ -88094,14 +90323,18 @@ 2954874528,2954874559,FI 2954874560,2954874655,FR 2954874656,2954874663,DE -2954874664,2954874943,FR +2954874664,2954874671,FR +2954874672,2954874675,PL +2954874676,2954874943,FR 2954874944,2954874975,ES 2954874976,2954875071,FR 2954875072,2954875075,DE 2954875076,2954875079,BE 2954875080,2954875135,FR 2954875136,2954875167,GB -2954875168,2954875479,FR +2954875168,2954875327,FR +2954875328,2954875359,PL +2954875360,2954875479,FR 2954875480,2954875483,DE 2954875484,2954875583,FR 2954875584,2954875587,ES @@ -88131,9 +90364,11 @@ 2954876796,2954876799,DE 2954876800,2954876871,FR 2954876872,2954876875,ES -2954876876,2954876887,FR +2954876876,2954876879,PL +2954876880,2954876887,FR 2954876888,2954876891,ES -2954876892,2954877007,FR +2954876892,2954876991,FR +2954876992,2954877007,PL 2954877008,2954877023,CZ 2954877024,2954877103,FR 2954877104,2954877107,PL @@ -88160,7 +90395,8 @@ 2954878472,2954878475,GB 2954878476,2954878607,FR 2954878608,2954878623,FI -2954878624,2954878687,FR +2954878624,2954878655,FR +2954878656,2954878687,PL 2954878688,2954878691,BE 2954878692,2954878695,FR 2954878696,2954878703,IE @@ -88192,7 +90428,7 @@ 2954932224,2954936319,RU 2954936320,2954938367,AM 2954938368,2954940415,HU -2954940416,2954944511,DE +2954940416,2954944511,SA 2954944512,2954946559,GB 2954946560,2954948607,DE 2954948608,2954950655,RU @@ -88230,6 +90466,19 @@ 2956259328,2956261375,DE 2956261376,2956263423,ES 2956263424,2956296191,TR +2956296192,2956297215,FR +2956297216,2956298239,RU +2956298240,2956299263,DE +2956299264,2956300287,RU +2956300288,2956301311,GB +2956301312,2956303359,RU +2956303360,2956304383,TR +2956304384,2956306431,RU +2956306432,2956307455,GB +2956307456,2956308479,RU +2956308480,2956309503,DE +2956309504,2956311551,RU +2956311552,2956312575,CZ 2956312576,2956328959,RU 2956328960,2956460031,TR 2956460032,2956468223,RU @@ -88278,9 +90527,7 @@ 2956602368,2956602623,NL 2956602624,2956602879,SE 2956602880,2956603135,GB -2956603136,2956604671,RU -2956604672,2956604927,NL -2956604928,2956605183,RU +2956603136,2956605183,RU 2956605184,2956605439,NL 2956605440,2956605695,DE 2956605696,2956607487,RU @@ -88327,9 +90574,9 @@ 2957049856,2957058047,PS 2957058048,2957066239,RU 2957066240,2957068287,GB -2957068288,2957069311,LU -2957069312,2957069823,FR -2957069824,2957070335,LU +2957068288,2957069919,LU +2957069920,2957069951,FR +2957069952,2957070335,LU 2957070336,2957074431,IT 2957074432,2957082623,RU 2957082624,2957090815,DE @@ -88340,24 +90587,7 @@ 2957193216,2957195263,RU 2957195264,2957197311,PS 2957197312,2957201407,IR -2957201408,2957201423,GB -2957201424,2957201427,IE -2957201428,2957201431,DK -2957201432,2957201435,CH -2957201436,2957201468,BR -2957201664,2957201727,US -2957201728,2957201743,CA -2957201744,2957201759,MX -2957201760,2957201775,BR -2957201776,2957201791,AR -2957201792,2957201807,BS -2957201808,2957201823,VE -2957201824,2957201839,AU -2957201840,2957201855,JP -2957201856,2957201871,HK -2957201872,2957201887,RU -2957201888,2957201903,KR -2957201904,2957201919,TW +2957201408,2957201919,NL 2957202176,2957202179,GB 2957202180,2957202183,BR 2957202184,2957202187,CA @@ -88476,7 +90706,8 @@ 2959122432,2959126527,PL 2959126528,2959128575,RO 2959128576,2959130623,RU -2959130624,2959138815,UA +2959130624,2959134719,UA +2959134720,2959138815,ES 2959138816,2959147007,RU 2959147008,2959149055,UA 2959149056,2959151103,CZ @@ -88596,6 +90827,15 @@ 2959710208,2959711231,ES 2959711232,2959712255,IT 2959712256,2959728639,UA +2959728640,2959729663,LT +2959729664,2959730687,TR +2959730688,2959731711,IT +2959731712,2959732735,IQ +2959732736,2959733759,SI +2959733760,2959734783,GB +2959734784,2959735807,JP +2959735808,2959736063,IT +2959736064,2959736831,NL 2959736832,2959738879,UA 2959738880,2959745023,RU 2959745024,2959747071,PL @@ -88633,9 +90873,7 @@ 2959884288,2959892479,KZ 2959892480,2959900671,UA 2959900672,2959902719,PL -2959902720,2959915007,RU -2959915008,2959916031,UA -2959916032,2959925247,RU +2959902720,2959925247,RU 2959925248,2959927295,RO 2959927296,2959929343,UA 2959929344,2959945727,RU @@ -88701,6 +90939,16 @@ 2960179200,2960206847,RU 2960206848,2960207871,GB 2960207872,2960211967,RU +2960211968,2960212991,JP +2960212992,2960214015,GB +2960214016,2960214527,US +2960214528,2960214783,CA +2960214784,2960215039,ES +2960215040,2960216063,DE +2960216064,2960217087,RU +2960217088,2960218111,ES +2960218112,2960219135,RU +2960219136,2960220159,BG 2960220160,2960224255,RO 2960224256,2960228351,RU 2960228352,2960232447,TJ @@ -88768,8 +91016,14 @@ 2960558080,2960560127,PL 2960560128,2960562175,UA 2960562176,2960564223,BY -2960572416,2960573439,GB -2960573440,2960574463,RU +2960564224,2960565247,ES +2960565248,2960566271,RU +2960566272,2960567295,CZ +2960567296,2960568319,FR +2960568320,2960569343,BH +2960569344,2960570367,DE +2960570368,2960571391,RO +2960571392,2960574463,RU 2960574464,2960576511,RO 2960576512,2960588799,RU 2960588800,2960592895,UA @@ -88777,7 +91031,16 @@ 2960594944,2960596991,UA 2960596992,2960605183,PL 2960605184,2960621567,UA -2960629760,2960646143,RU +2960621568,2960622591,MD +2960622592,2960623615,ES +2960623616,2960624639,HU +2960624640,2960624895,RU +2960624896,2960625151,GB +2960625152,2960625663,RU +2960625664,2960626687,IQ +2960626688,2960627711,NL +2960627712,2960628735,DE +2960628736,2960646143,RU 2960646144,2960648191,KZ 2960648192,2960650239,UA 2960650240,2960652287,RU @@ -88793,15 +91056,14 @@ 2960695296,2960697343,AT 2960697344,2960699391,ES 2960699392,2960719871,RU -2960719872,2960723455,UA -2960723456,2960723711,BZ -2960723712,2960723967,UA +2960719872,2960723967,UA 2960723968,2960726015,RU 2960726016,2960728063,CH 2960728064,2960732159,RO 2960732160,2960733183,RU 2960733184,2960734207,GB -2960734208,2960736255,RU +2960734208,2960735231,AT +2960735232,2960736255,RU 2960736256,2960738303,ES 2960738304,2960740351,UA 2960740352,2960742399,PL @@ -88851,6 +91113,14 @@ 2960908288,2960916479,KG 2960916480,2960916480,RU 2960916481,2960924671,UA +2960924672,2960925695,RU +2960925696,2960926719,DE +2960926720,2960927743,FR +2960927744,2960928767,RU +2960928768,2960929791,EE +2960929792,2960930815,GB +2960930816,2960931839,RO +2960931840,2960932863,NO 2960932864,2960933887,IR 2960933888,2960934655,GB 2960934656,2960934911,NL @@ -88887,7 +91157,16 @@ 2960981248,2960982015,NL 2960982016,2960990207,DE 2960990208,2960998399,UA -2960998400,2961057023,RU +2960998400,2961039359,RU +2961039360,2961040383,FR +2961040384,2961041407,GE +2961041408,2961042431,NO +2961042432,2961043455,LT +2961043456,2961044479,RU +2961044480,2961045503,NO +2961045504,2961046527,ES +2961046528,2961047551,DE +2961047552,2961057023,RU 2961057024,2961057279,IE 2961057280,2961057535,GR 2961057536,2961057791,AT @@ -88921,7 +91200,7 @@ 2961089536,2961090559,KG 2961090560,2961091583,NL 2961091584,2961091839,RO -2961091840,2961092095,BG +2961091840,2961092095,ES 2961092096,2961096703,RO 2961096704,2961097471,GB 2961097472,2961100287,RO @@ -88976,7 +91255,7 @@ 2967398400,2967400447,DK 2967400448,2967404543,RU 2967404544,2967421183,RO -2967421184,2967421439,BG +2967421184,2967421439,IL 2967421440,2967421695,RO 2967421696,2967421951,ES 2967421952,2967422975,US @@ -89019,8 +91298,7 @@ 2967601152,2967633919,HU 2967633920,2967666687,RU 2967666688,2967699455,TR -2967699456,2967702143,GB -2967702272,2967703551,GB +2967699456,2967703551,GB 2967703552,2967707647,ES 2967707648,2967709695,PL 2967709696,2967711743,IT @@ -89031,13 +91309,7 @@ 2967729152,2967730175,UA 2967730176,2967732223,CZ 2967732224,2967994367,IL -2967994368,2968236543,TR -2968236544,2968236771,GB -2968236772,2968236772,TR -2968236773,2968236799,GB -2968236800,2968253951,TR -2968253952,2968254463,GB -2968254464,2968584191,TR +2967994368,2968584191,TR 2968584192,2968600575,HU 2968600576,2968602623,JO 2968602624,2968604671,PL @@ -89184,7 +91456,7 @@ 2987704320,2987706367,GB 2987706368,2987708415,RS 2987708416,2987709439,DE -2987709440,2987710463,NL +2987709440,2987710463,RU 2987710464,2987712511,DK 2987712512,2987714559,TR 2987714560,2987716607,RU @@ -89310,11 +91582,18 @@ 2988442520,2988442527,DE 2988442528,2988442719,FR 2988442720,2988442751,FI -2988442752,2988442999,FR +2988442752,2988442815,FR +2988442816,2988442831,PL +2988442832,2988442895,FR +2988442896,2988442899,PL +2988442900,2988442975,FR +2988442976,2988442983,PL +2988442984,2988442999,FR 2988443000,2988443007,GB 2988443008,2988443023,FR 2988443024,2988443027,CZ -2988443028,2988443055,FR +2988443028,2988443039,FR +2988443040,2988443055,PL 2988443056,2988443071,DE 2988443072,2988443103,FR 2988443104,2988443119,GB @@ -89325,12 +91604,15 @@ 2988443444,2988443447,DE 2988443448,2988443543,FR 2988443544,2988443547,ES -2988443548,2988443671,FR +2988443548,2988443555,FR +2988443556,2988443559,PL +2988443560,2988443671,FR 2988443672,2988443675,ES 2988443676,2988443687,FR 2988443688,2988443695,ES 2988443696,2988443703,PT -2988443704,2988443719,FR +2988443704,2988443711,FR +2988443712,2988443719,PL 2988443720,2988443727,CZ 2988443728,2988443895,FR 2988443896,2988443903,BE @@ -89352,12 +91634,14 @@ 2988444736,2988444739,GB 2988444740,2988444815,FR 2988444816,2988444831,ES -2988444832,2988445223,FR +2988444832,2988444959,FR +2988444960,2988444967,PL +2988444968,2988445223,FR 2988445224,2988445231,ES 2988445232,2988446175,FR 2988446176,2988446207,FI -2988446208,2988446399,FR -2988446400,2988446431,PL +2988446208,2988446327,FR +2988446328,2988446431,PL 2988446432,2988446719,FR 2988446720,2988446723,DE 2988446724,2988446863,FR @@ -89374,7 +91658,9 @@ 2988448800,2988448815,ES 2988448816,2988449127,FR 2988449128,2988449135,ES -2988449136,2988449207,FR +2988449136,2988449151,FR +2988449152,2988449167,PL +2988449168,2988449207,FR 2988449208,2988449215,ES 2988449216,2988449327,FR 2988449328,2988449331,PL @@ -89385,7 +91671,9 @@ 2988453888,2988457983,GB 2988457984,2988458063,FR 2988458064,2988458067,ES -2988458068,2988458279,FR +2988458068,2988458075,FR +2988458076,2988458079,PL +2988458080,2988458279,FR 2988458280,2988458283,ES 2988458284,2988458291,FR 2988458292,2988458295,DE @@ -89393,7 +91681,9 @@ 2988458332,2988458335,GB 2988458336,2988458763,FR 2988458764,2988458767,DE -2988458768,2988459079,FR +2988458768,2988459007,FR +2988459008,2988459015,PL +2988459016,2988459079,FR 2988459080,2988459083,DE 2988459084,2988459087,FR 2988459088,2988459103,GB @@ -89402,7 +91692,8 @@ 2988459128,2988459135,PL 2988459136,2988459167,FR 2988459168,2988459171,IE -2988459172,2988459179,FR +2988459172,2988459175,FR +2988459176,2988459179,PL 2988459180,2988459183,ES 2988459184,2988459231,FR 2988459232,2988459235,GB @@ -89422,19 +91713,27 @@ 2988459696,2988459699,IE 2988459700,2988459715,FR 2988459716,2988459719,FI -2988459720,2988459967,FR +2988459720,2988459747,FR +2988459748,2988459751,PL +2988459752,2988459967,FR 2988459968,2988459999,ES -2988460000,2988460107,FR +2988460000,2988460095,FR +2988460096,2988460107,PL 2988460108,2988460111,DE -2988460112,2988460131,FR +2988460112,2988460127,FR +2988460128,2988460131,PL 2988460132,2988460135,CZ 2988460136,2988460143,FR 2988460144,2988460147,GB 2988460148,2988460151,FR 2988460152,2988460159,ES -2988460160,2988460399,FR +2988460160,2988460279,FR +2988460280,2988460287,PL +2988460288,2988460399,FR 2988460400,2988460415,DE -2988460416,2988460575,FR +2988460416,2988460551,FR +2988460552,2988460559,PL +2988460560,2988460575,FR 2988460576,2988460591,PT 2988460592,2988460607,GB 2988460608,2988460651,FR @@ -89444,9 +91743,9 @@ 2988460752,2988460799,FR 2988460800,2988460863,DE 2988460864,2988460895,CZ -2988460896,2988461263,FR -2988461264,2988461279,ES -2988461280,2988461423,FR +2988460896,2988460935,FR +2988460936,2988460943,PL +2988460944,2988461423,FR 2988461424,2988461439,IE 2988461440,2988461495,FR 2988461496,2988461499,ES @@ -89454,13 +91753,23 @@ 2988461600,2988461615,DE 2988461616,2988461703,FR 2988461704,2988461707,GB -2988461708,2988462331,FR +2988461708,2988461759,FR +2988461760,2988461791,PL +2988461792,2988461951,FR +2988461952,2988462079,PL +2988462080,2988462143,FR +2988462144,2988462151,PL +2988462152,2988462199,FR +2988462200,2988462203,PL +2988462204,2988462331,FR 2988462332,2988462335,ES 2988462336,2988462431,FR 2988462432,2988462447,GB 2988462448,2988462747,FR 2988462748,2988462751,ES -2988462752,2988463111,FR +2988462752,2988462775,FR +2988462776,2988462779,PL +2988462780,2988463111,FR 2988463112,2988463119,ES 2988463120,2988463143,FR 2988463144,2988463151,ES @@ -89468,10 +91777,14 @@ 2988463204,2988463207,DE 2988463208,2988463223,FR 2988463224,2988463227,ES -2988463228,2988463747,FR +2988463228,2988463251,FR +2988463252,2988463255,PL +2988463256,2988463747,FR 2988463748,2988463751,GB 2988463752,2988463759,LT -2988463760,2988463915,FR +2988463760,2988463839,FR +2988463840,2988463871,PL +2988463872,2988463915,FR 2988463916,2988463919,ES 2988463920,2988463999,FR 2988464000,2988464007,IE @@ -89479,9 +91792,14 @@ 2988464016,2988464019,PT 2988464020,2988464023,FR 2988464024,2988464027,GB -2988464028,2988464271,FR +2988464028,2988464031,PL +2988464032,2988464063,FR +2988464064,2988464095,PL +2988464096,2988464271,FR 2988464272,2988464275,ES -2988464276,2988464355,FR +2988464276,2988464307,FR +2988464308,2988464311,PL +2988464312,2988464355,FR 2988464356,2988464359,BE 2988464360,2988464360,NL 2988464361,2988464519,FR @@ -89492,13 +91810,17 @@ 2988464624,2988464627,ES 2988464628,2988464787,FR 2988464788,2988464791,ES -2988464792,2988464927,FR +2988464792,2988464895,FR +2988464896,2988464911,PL +2988464912,2988464927,FR 2988464928,2988464943,DE 2988464944,2988465191,FR 2988465192,2988465195,PL 2988465196,2988465215,FR 2988465216,2988465219,ES -2988465220,2988465407,FR +2988465220,2988465363,FR +2988465364,2988465367,PL +2988465368,2988465407,FR 2988465408,2988465423,CH 2988465424,2988465543,FR 2988465544,2988465547,CZ @@ -89506,12 +91828,17 @@ 2988465552,2988465563,ES 2988465564,2988465575,FR 2988465576,2988465583,ES -2988465584,2988466059,FR +2988465584,2988465587,PL +2988465588,2988465599,FR +2988465600,2988465615,PL +2988465616,2988466059,FR 2988466060,2988466063,CZ 2988466064,2988466087,FR 2988466088,2988466095,PT 2988466096,2988466111,BE -2988466112,2988474535,FR +2988466112,2988474431,FR +2988474432,2988474447,GB +2988474448,2988474535,FR 2988474536,2988474543,GB 2988474544,2988474687,FR 2988474688,2988474703,FI @@ -89537,17 +91864,21 @@ 2988478656,2988478671,DE 2988478672,2988478719,FR 2988478720,2988478751,CZ -2988478752,2988478795,FR +2988478752,2988478787,FR +2988478788,2988478791,PL +2988478792,2988478795,FR 2988478796,2988478799,ES 2988478800,2988478955,FR 2988478956,2988478959,DE -2988478960,2988479003,FR +2988478960,2988478979,FR +2988478980,2988478983,PL +2988478984,2988479003,FR 2988479004,2988479007,ES 2988479008,2988479079,FR 2988479080,2988479087,DE -2988479088,2988479155,FR -2988479156,2988479159,ES -2988479160,2988479343,FR +2988479088,2988479151,FR +2988479152,2988479155,PL +2988479156,2988479343,FR 2988479344,2988479359,GB 2988479360,2988479603,FR 2988479604,2988479607,GB @@ -89557,7 +91888,9 @@ 2988479792,2988479807,GB 2988479808,2988479903,FR 2988479904,2988479935,PL -2988479936,2988480011,FR +2988479936,2988479999,FR +2988480000,2988480003,PL +2988480004,2988480011,FR 2988480012,2988480015,GB 2988480016,2988480063,FR 2988480064,2988480095,ES @@ -89574,7 +91907,11 @@ 2988480928,2988480959,ES 2988480960,2988481059,FR 2988481060,2988481063,FI -2988481064,2988481343,FR +2988481064,2988481163,FR +2988481164,2988481167,PL +2988481168,2988481199,FR +2988481200,2988481203,PL +2988481204,2988481343,FR 2988481344,2988481407,NL 2988481408,2988481743,FR 2988481744,2988481759,ES @@ -89595,38 +91932,57 @@ 2988482412,2988482415,PT 2988482416,2988482575,FR 2988482576,2988482579,CZ -2988482580,2988482799,FR +2988482580,2988482583,PL +2988482584,2988482799,FR 2988482800,2988482807,ES 2988482808,2988482863,FR 2988482864,2988482871,ES 2988482872,2988482875,PT 2988482876,2988482879,CZ 2988482880,2988482883,PL -2988482884,2988483027,FR +2988482884,2988482943,FR +2988482944,2988482959,PL +2988482960,2988483027,FR 2988483028,2988483031,ES -2988483032,2988483111,FR +2988483032,2988483079,FR +2988483080,2988483087,PL +2988483088,2988483111,FR 2988483112,2988483115,ES 2988483116,2988483119,FR 2988483120,2988483127,ES -2988483128,2988483159,FR +2988483128,2988483151,FR +2988483152,2988483155,PL +2988483156,2988483159,FR 2988483160,2988483167,ES 2988483168,2988483175,FR 2988483176,2988483183,PL -2988483184,2988483271,FR +2988483184,2988483259,FR +2988483260,2988483263,PL +2988483264,2988483271,FR 2988483272,2988483279,DE 2988483280,2988483283,ES 2988483284,2988483287,DE -2988483288,2988483375,FR +2988483288,2988483367,FR +2988483368,2988483371,PL +2988483372,2988483375,FR 2988483376,2988483379,GB 2988483380,2988483595,FR 2988483596,2988483599,FI -2988483600,2988483743,FR +2988483600,2988483711,FR +2988483712,2988483727,PL +2988483728,2988483743,FR 2988483744,2988483759,DE -2988483760,2988483967,FR +2988483760,2988483775,FR +2988483776,2988483839,PL +2988483840,2988483967,FR 2988483968,2988483983,GB -2988483984,2988484047,FR +2988483984,2988483995,FR +2988483996,2988483999,PL +2988484000,2988484047,FR 2988484048,2988484051,ES -2988484052,2988484127,FR +2988484052,2988484059,FR +2988484060,2988484063,PL +2988484064,2988484127,FR 2988484128,2988484131,PT 2988484132,2988484191,FR 2988484192,2988484207,DE @@ -89643,7 +91999,8 @@ 2988484892,2988484895,GB 2988484896,2988485087,FR 2988485088,2988485103,DE -2988485104,2988485455,FR +2988485104,2988485119,PL +2988485120,2988485455,FR 2988485456,2988485471,GB 2988485472,2988485503,FR 2988485504,2988485519,GB @@ -89655,7 +92012,11 @@ 2988485800,2988485803,PT 2988485804,2988485839,FR 2988485840,2988485855,DE -2988485856,2988486075,FR +2988485856,2988485887,FR +2988485888,2988485903,PL +2988485904,2988485999,FR +2988486000,2988486015,PL +2988486016,2988486075,FR 2988486076,2988486079,DE 2988486080,2988486083,FR 2988486084,2988486087,PT @@ -89663,7 +92024,9 @@ 2988486096,2988486099,GB 2988486100,2988486195,FR 2988486196,2988486199,PT -2988486200,2988486323,FR +2988486200,2988486231,FR +2988486232,2988486235,PL +2988486236,2988486323,FR 2988486324,2988486327,PT 2988486328,2988486335,FR 2988486336,2988486343,ES @@ -89671,7 +92034,7 @@ 2988486352,2988486367,ES 2988486368,2988486495,FR 2988486496,2988486503,DE -2988486504,2988486511,FR +2988486504,2988486511,PL 2988486512,2988486515,DE 2988486516,2988486607,FR 2988486608,2988486615,FI @@ -89688,7 +92051,8 @@ 2988487044,2988487047,PT 2988487048,2988487071,FR 2988487072,2988487075,ES -2988487076,2988487095,FR +2988487076,2988487087,FR +2988487088,2988487095,PL 2988487096,2988487099,ES 2988487100,2988487103,GB 2988487104,2988487303,FR @@ -89708,7 +92072,9 @@ 2988488544,2988488555,GB 2988488556,2988488639,FR 2988488640,2988488647,ES -2988488648,2988488927,FR +2988488648,2988488655,FR +2988488656,2988488663,PL +2988488664,2988488927,FR 2988488928,2988488943,DE 2988488944,2988488971,FR 2988488972,2988488975,MT @@ -89719,9 +92085,13 @@ 2988489072,2988489087,DE 2988489088,2988489167,FR 2988489168,2988489175,PT -2988489176,2988489375,FR +2988489176,2988489331,FR +2988489332,2988489335,PL +2988489336,2988489375,FR 2988489376,2988489379,ES -2988489380,2988489451,FR +2988489380,2988489399,FR +2988489400,2988489403,PL +2988489404,2988489451,FR 2988489452,2988489455,DE 2988489456,2988489475,FR 2988489476,2988489479,GB @@ -89737,7 +92107,9 @@ 2988490296,2988490303,ES 2988490304,2988490367,FR 2988490368,2988490371,ES -2988490372,2988490686,FR +2988490372,2988490495,FR +2988490496,2988490623,PL +2988490624,2988490686,FR 2988490687,2988490687,BE 2988490688,2988490719,ES 2988490720,2988490967,FR @@ -89750,7 +92122,9 @@ 2988491936,2988491951,PL 2988491952,2988491967,FR 2988491968,2988492031,GB -2988492032,2988492799,FR +2988492032,2988492415,FR +2988492416,2988492543,CZ +2988492544,2988492799,FR 2988492800,2988494847,PL 2988494848,2988494899,FR 2988494900,2988494903,DE @@ -89762,9 +92136,7 @@ 2988496768,2988496799,CZ 2988496800,2988496831,FR 2988496832,2988496895,NL -2988496896,2988498975,FR -2988498976,2988498983,ES -2988498984,2988499039,FR +2988496896,2988499039,FR 2988499040,2988499051,DE 2988499052,2988499063,FR 2988499064,2988499067,DE @@ -89780,9 +92152,7 @@ 2988499568,2988499575,IE 2988499576,2988499583,FR 2988499584,2988499599,ES -2988499600,2988499635,FR -2988499636,2988499639,GB -2988499640,2988499671,FR +2988499600,2988499671,FR 2988499672,2988499675,GB 2988499676,2988499711,FR 2988499712,2988499715,PL @@ -89805,9 +92175,16 @@ 2988500888,2988500895,ES 2988500896,2988500939,FR 2988500940,2988500943,ES -2988500944,2988501483,FR +2988500944,2988500975,FR +2988500976,2988500979,PL +2988500980,2988501119,FR +2988501120,2988501123,PL +2988501124,2988501411,FR +2988501412,2988501415,PL +2988501416,2988501483,FR 2988501484,2988501487,DE -2988501488,2988501683,FR +2988501488,2988501679,FR +2988501680,2988501683,PL 2988501684,2988501687,GB 2988501688,2988502031,FR 2988502032,2988502035,IE @@ -89833,13 +92210,17 @@ 2988502984,2988502991,ES 2988502992,2988503011,FR 2988503012,2988503015,DE -2988503016,2988503375,FR +2988503016,2988503023,FR +2988503024,2988503031,FI +2988503032,2988503375,FR 2988503376,2988503383,PT 2988503384,2988503487,FR 2988503488,2988503495,IT 2988503496,2988503919,FR 2988503920,2988503927,CZ -2988503928,2988504023,FR +2988503928,2988503943,FR +2988503944,2988503947,PL +2988503948,2988504023,FR 2988504024,2988504031,PT 2988504032,2988504159,FR 2988504160,2988504191,LT @@ -89852,7 +92233,9 @@ 2988504364,2988504367,FI 2988504368,2988504371,FR 2988504372,2988504375,PL -2988504376,2988504467,FR +2988504376,2988504415,FR +2988504416,2988504419,PL +2988504420,2988504467,FR 2988504468,2988504471,ES 2988504472,2988504527,FR 2988504528,2988504543,PL @@ -89868,9 +92251,13 @@ 2988505312,2988505375,FR 2988505376,2988505391,GB 2988505392,2988505395,ES -2988505396,2988505535,FR +2988505396,2988505439,FR +2988505440,2988505455,PL +2988505456,2988505535,FR 2988505536,2988505567,ES -2988505568,2988505919,FR +2988505568,2988505663,FR +2988505664,2988505695,PL +2988505696,2988505919,FR 2988505920,2988505935,GB 2988505936,2988506063,FR 2988506064,2988506071,GB @@ -89892,7 +92279,10 @@ 2988507336,2988507339,ES 2988507340,2988507391,FR 2988507392,2988507423,DE -2988507424,2988507551,FR +2988507424,2988507431,PL +2988507432,2988507539,FR +2988507540,2988507543,PL +2988507544,2988507551,FR 2988507552,2988507560,GB 2988507561,2988507561,FR 2988507562,2988507567,GB @@ -89902,39 +92292,58 @@ 2988507688,2988507695,ES 2988507696,2988507951,FR 2988507952,2988507955,DE -2988507956,2988507979,FR +2988507956,2988507971,FR +2988507972,2988507975,PL +2988507976,2988507979,FR 2988507980,2988507983,DE -2988507984,2988508135,FR +2988507984,2988507991,PL +2988507992,2988508127,FR +2988508128,2988508135,PL 2988508136,2988508143,GB 2988508144,2988508155,FR 2988508156,2988508159,ES 2988508160,2988508219,FR 2988508220,2988508223,DE -2988508224,2988508439,FR +2988508224,2988508287,FR +2988508288,2988508303,PL +2988508304,2988508439,FR 2988508440,2988508443,GB -2988508444,2988508607,FR +2988508444,2988508447,FR +2988508448,2988508455,PL +2988508456,2988508607,FR 2988508608,2988508639,ES -2988508640,2988508851,FR +2988508640,2988508687,FR +2988508688,2988508703,PL +2988508704,2988508851,FR 2988508852,2988508855,GB 2988508856,2988509151,FR 2988509152,2988509183,IT 2988509184,2988509191,FR 2988509192,2988509199,CZ -2988509200,2988509447,FR +2988509200,2988509371,FR +2988509372,2988509375,PL +2988509376,2988509447,FR 2988509448,2988509451,ES 2988509452,2988509491,FR 2988509492,2988509495,IE 2988509496,2988509511,FR 2988509512,2988509515,PL -2988509516,2988509747,FR +2988509516,2988509543,FR +2988509544,2988509551,PL +2988509552,2988509747,FR 2988509748,2988509751,LT -2988509752,2988509779,FR +2988509752,2988509759,FR +2988509760,2988509767,PL +2988509768,2988509779,FR 2988509780,2988509783,GB -2988509784,2988509871,FR +2988509784,2988509823,FR +2988509824,2988509839,PL +2988509840,2988509871,FR 2988509872,2988509875,DE 2988509876,2988510015,FR 2988510016,2988510023,ES -2988510024,2988510079,FR +2988510024,2988510047,FR +2988510048,2988510079,PL 2988510080,2988510087,ES 2988510088,2988510095,FR 2988510096,2988510099,ES @@ -89942,11 +92351,16 @@ 2988510112,2988510143,CZ 2988510144,2988510175,FR 2988510176,2988510191,DE -2988510192,2988510311,FR +2988510192,2988510263,FR +2988510264,2988510271,PL +2988510272,2988510311,FR 2988510312,2988510319,GB 2988510320,2988510639,FR 2988510640,2988510655,LT -2988510656,2988511023,FR +2988510656,2988510687,PL +2988510688,2988510703,FR +2988510704,2988510719,PL +2988510720,2988511023,FR 2988511024,2988511027,GB 2988511028,2988511711,FR 2988511712,2988511719,DE @@ -89957,16 +92371,23 @@ 2988512208,2988512239,FR 2988512240,2988512247,DE 2988512248,2988512251,GB -2988512252,2988512307,FR +2988512252,2988512287,FR +2988512288,2988512303,PL +2988512304,2988512307,FR 2988512308,2988512311,GB -2988512312,2988512399,FR +2988512312,2988512339,FR +2988512340,2988512343,PL +2988512344,2988512399,FR 2988512400,2988512403,ES 2988512404,2988512407,LT -2988512408,2988512639,FR +2988512408,2988512631,FR +2988512632,2988512639,PL 2988512640,2988512647,GB 2988512648,2988512655,FR 2988512656,2988512663,PT -2988512664,2988512903,FR +2988512664,2988512687,FR +2988512688,2988512703,PL +2988512704,2988512903,FR 2988512904,2988512907,GB 2988512908,2988512943,FR 2988512944,2988512951,ES @@ -90007,9 +92428,14 @@ 2988514528,2988514543,GB 2988514544,2988514739,FR 2988514740,2988514743,GB -2988514744,2988514943,FR +2988514744,2988514823,FR +2988514824,2988514827,PL +2988514828,2988514943,FR 2988514944,2988514959,ES -2988514960,2988515327,FR +2988514960,2988514975,PL +2988514976,2988514979,FR +2988514980,2988514983,PL +2988514984,2988515327,FR 2988515328,2988517375,DE 2988517376,2988519423,FR 2988519424,2988521471,PL @@ -90023,9 +92449,13 @@ 2988523552,2988523559,ES 2988523560,2988523599,FR 2988523600,2988523603,ES -2988523604,2988523631,FR +2988523604,2988523607,FR +2988523608,2988523615,PL +2988523616,2988523631,FR 2988523632,2988523635,DE -2988523636,2988523663,FR +2988523636,2988523643,FR +2988523644,2988523651,PL +2988523652,2988523663,FR 2988523664,2988523667,IE 2988523668,2988523679,FR 2988523680,2988523711,ES @@ -90043,7 +92473,9 @@ 2988524232,2988524239,ES 2988524240,2988524271,FR 2988524272,2988524287,DE -2988524288,2988524359,FR +2988524288,2988524319,FR +2988524320,2988524323,PL +2988524324,2988524359,FR 2988524360,2988524363,ES 2988524364,2988524383,FR 2988524384,2988524415,PL @@ -90054,13 +92486,17 @@ 2988524624,2988524627,GB 2988524628,2988524767,FR 2988524768,2988524783,ES -2988524784,2988525887,FR +2988524784,2988525599,FR +2988525600,2988525631,PL +2988525632,2988525887,FR 2988525888,2988525951,GB 2988525952,2988525983,FR 2988525984,2988525999,DE 2988526000,2988526135,FR 2988526136,2988526143,GB -2988526144,2988526415,FR +2988526144,2988526239,FR +2988526240,2988526335,PL +2988526336,2988526415,FR 2988526416,2988526423,ES 2988526424,2988526607,FR 2988526608,2988526615,DE @@ -90068,7 +92504,9 @@ 2988526704,2988526707,GB 2988526708,2988526867,FR 2988526868,2988526871,PT -2988526872,2988527187,FR +2988526872,2988527127,FR +2988527128,2988527135,PL +2988527136,2988527187,FR 2988527188,2988527191,ES 2988527192,2988527487,FR 2988527488,2988527503,GB @@ -90085,9 +92523,13 @@ 2988527888,2988527891,ES 2988527892,2988528079,FR 2988528080,2988528095,ES -2988528096,2988528227,FR +2988528096,2988528115,FR +2988528116,2988528119,PL +2988528120,2988528227,FR 2988528228,2988528231,IE -2988528232,2988528447,FR +2988528232,2988528351,FR +2988528352,2988528383,PL +2988528384,2988528447,FR 2988528448,2988528455,IE 2988528456,2988528467,FR 2988528468,2988528471,GB @@ -90095,22 +92537,34 @@ 2988528592,2988528607,FI 2988528608,2988528699,FR 2988528700,2988528703,CZ -2988528704,2988528999,FR +2988528704,2988528767,FR +2988528768,2988528771,PL +2988528772,2988528911,FR +2988528912,2988528919,PL +2988528920,2988528999,FR 2988529000,2988529003,GB 2988529004,2988529175,FR 2988529176,2988529179,ES -2988529180,2988529331,FR +2988529180,2988529311,FR +2988529312,2988529315,PL +2988529316,2988529331,FR 2988529332,2988529335,GB 2988529336,2988529383,FR 2988529384,2988529387,ES 2988529388,2988529423,FR 2988529424,2988529431,DE -2988529432,2988529583,FR +2988529432,2988529535,FR +2988529536,2988529567,PL +2988529568,2988529583,FR 2988529584,2988529591,ES 2988529592,2988529823,FR 2988529824,2988529855,ES 2988529856,2988529887,IE -2988529888,2988530047,FR +2988529888,2988529891,FR +2988529892,2988529895,PL +2988529896,2988529983,FR +2988529984,2988529999,PL +2988530000,2988530047,FR 2988530048,2988530049,GB 2988530050,2988530067,FR 2988530068,2988530071,DE @@ -90121,7 +92575,10 @@ 2988530304,2988530307,DE 2988530308,2988530399,FR 2988530400,2988530403,ES -2988530404,2988530423,FR +2988530404,2988530407,PL +2988530408,2988530415,FR +2988530416,2988530419,PL +2988530420,2988530423,FR 2988530424,2988530431,ES 2988530432,2988530687,DE 2988530688,2988530703,FR @@ -90144,7 +92601,9 @@ 2988539936,2988539967,GB 2988539968,2988539971,FR 2988539972,2988539975,ES -2988539976,2988540207,FR +2988539976,2988539983,FR +2988539984,2988539999,PL +2988540000,2988540207,FR 2988540208,2988540211,GB 2988540212,2988540271,FR 2988540272,2988540275,ES @@ -90154,7 +92613,9 @@ 2988540564,2988540567,CZ 2988540568,2988540623,FR 2988540624,2988540631,GB -2988540632,2988540759,FR +2988540632,2988540651,FR +2988540652,2988540655,PL +2988540656,2988540759,FR 2988540760,2988540763,ES 2988540764,2988541103,FR 2988541104,2988541119,ES @@ -90162,7 +92623,9 @@ 2988541132,2988541135,DE 2988541136,2988541243,FR 2988541244,2988541247,GB -2988541248,2988541351,FR +2988541248,2988541327,FR +2988541328,2988541335,PL +2988541336,2988541351,FR 2988541352,2988541355,IE 2988541356,2988541423,FR 2988541424,2988541439,DE @@ -90172,7 +92635,9 @@ 2988541792,2988541807,ES 2988541808,2988541863,FR 2988541864,2988541867,GB -2988541868,2988541955,FR +2988541868,2988541919,FR +2988541920,2988541927,PL +2988541928,2988541955,FR 2988541956,2988541959,DE 2988541960,2988542051,FR 2988542052,2988542055,ES @@ -90182,13 +92647,17 @@ 2988542272,2988542335,ES 2988542336,2988542339,FR 2988542340,2988542340,PT -2988542341,2988542519,FR +2988542341,2988542411,FR +2988542412,2988542415,PL +2988542416,2988542519,FR 2988542520,2988542523,GB 2988542524,2988542611,FR 2988542612,2988542615,DE 2988542616,2988542623,FR 2988542624,2988542627,DE -2988542628,2988543127,FR +2988542628,2988543007,FR +2988543008,2988543011,PL +2988543012,2988543127,FR 2988543128,2988543135,ES 2988543136,2988543179,FR 2988543180,2988543183,ES @@ -90196,17 +92665,21 @@ 2988543200,2988543203,GB 2988543204,2988543559,FR 2988543560,2988543563,PT -2988543564,2988543871,FR +2988543564,2988543583,FR +2988543584,2988543599,LT +2988543600,2988543871,FR 2988543872,2988543935,ES -2988543936,2988544055,FR -2988544056,2988544063,FI -2988544064,2988544307,FR +2988543936,2988544307,FR 2988544308,2988544311,GB 2988544312,2988544375,FR 2988544376,2988544383,ES -2988544384,2988544527,FR +2988544384,2988544479,FR +2988544480,2988544495,PL +2988544496,2988544527,FR 2988544528,2988544535,ES -2988544536,2988544671,FR +2988544536,2988544639,FR +2988544640,2988544647,PL +2988544648,2988544671,FR 2988544672,2988544687,GB 2988544688,2988544767,FR 2988544768,2988544775,ES @@ -90225,7 +92698,9 @@ 2988545696,2988545791,FR 2988545792,2988545795,NL 2988545796,2988545799,ES -2988545800,2988545995,FR +2988545800,2988545923,FR +2988545924,2988545927,PL +2988545928,2988545995,FR 2988545996,2988545999,FI 2988546000,2988546119,FR 2988546120,2988546123,IE @@ -90235,7 +92710,9 @@ 2988546328,2988546335,ES 2988546336,2988546351,FR 2988546352,2988546367,ES -2988546368,2988546571,FR +2988546368,2988546543,FR +2988546544,2988546547,PL +2988546548,2988546571,FR 2988546572,2988546575,DE 2988546576,2988546579,ES 2988546580,2988546599,FR @@ -90248,16 +92725,22 @@ 2988546704,2988546719,DE 2988546720,2988546727,FR 2988546728,2988546731,ES -2988546732,2988546999,FR +2988546732,2988546859,FR +2988546860,2988546863,PL +2988546864,2988546999,FR 2988547000,2988547003,FI 2988547004,2988547007,ES 2988547008,2988547067,FR 2988547068,2988547071,ES 2988547072,2988547095,FR 2988547096,2988547099,ES -2988547100,2988547431,FR +2988547100,2988547111,FR +2988547112,2988547115,PL +2988547116,2988547311,FR +2988547312,2988547327,PL +2988547328,2988547431,FR 2988547432,2988547435,ES -2988547436,2988547443,FR +2988547436,2988547443,PL 2988547444,2988547447,DE 2988547448,2988547451,FR 2988547452,2988547455,PT @@ -90276,10 +92759,14 @@ 2988547872,2988547903,GB 2988547904,2988547967,FR 2988547968,2988547971,GB -2988547972,2988548015,FR +2988547972,2988547975,FR +2988547976,2988547979,PL +2988547980,2988548015,FR 2988548016,2988548019,ES 2988548020,2988548023,GB -2988548024,2988548095,FR +2988548024,2988548059,FR +2988548060,2988548063,PL +2988548064,2988548095,FR 2988548096,2988548338,ES 2988548339,2988548339,FR 2988548340,2988550143,ES @@ -90306,8 +92793,10 @@ 2988550600,2988550643,FR 2988550644,2988550647,ES 2988550648,2988550975,FR -2988550976,2988551007,PL -2988551008,2988551171,FR +2988550976,2988551039,PL +2988551040,2988551099,FR +2988551100,2988551103,NL +2988551104,2988551171,FR 2988551172,2988551175,FI 2988551176,2988551179,ES 2988551180,2988551183,GB @@ -90319,7 +92808,9 @@ 2988551444,2988551451,ES 2988551452,2988551455,FR 2988551456,2988551471,GB -2988551472,2988551535,FR +2988551472,2988551503,FR +2988551504,2988551511,PL +2988551512,2988551535,FR 2988551536,2988551551,DE 2988551552,2988551567,FR 2988551568,2988551583,IE @@ -90329,7 +92820,9 @@ 2988551672,2988551675,DE 2988551676,2988551743,FR 2988551744,2988551759,CZ -2988551760,2988551903,FR +2988551760,2988551871,FR +2988551872,2988551887,PL +2988551888,2988551903,FR 2988551904,2988551911,GB 2988551912,2988551915,FR 2988551916,2988551919,DE @@ -90344,7 +92837,9 @@ 2988552688,2988552711,ES 2988552712,2988552751,FR 2988552752,2988552767,ES -2988552768,2988552959,FR +2988552768,2988552779,FR +2988552780,2988552783,PL +2988552784,2988552959,FR 2988552960,2988552975,ES 2988552976,2988552991,FR 2988552992,2988552995,ES @@ -90360,13 +92855,22 @@ 2988553280,2988553283,ES 2988553284,2988553311,FR 2988553312,2988553315,ES -2988553316,2988553531,FR +2988553316,2988553487,FR +2988553488,2988553495,PL +2988553496,2988553531,FR 2988553532,2988553535,ES -2988553536,2988553735,FR +2988553536,2988553631,FR +2988553632,2988553639,PL +2988553640,2988553735,FR 2988553736,2988553739,DE -2988553740,2988553855,FR +2988553740,2988553743,PL +2988553744,2988553855,FR 2988553856,2988553919,BE -2988553920,2988553971,FR +2988553920,2988553931,FR +2988553932,2988553935,PL +2988553936,2988553955,FR +2988553956,2988553959,PL +2988553960,2988553971,FR 2988553972,2988553975,ES 2988553976,2988553983,DE 2988553984,2988554035,FR @@ -90397,7 +92901,9 @@ 2988555528,2988555531,DE 2988555532,2988555551,FR 2988555552,2988555559,PT -2988555560,2988556139,FR +2988555560,2988556111,FR +2988556112,2988556115,PL +2988556116,2988556139,FR 2988556140,2988556143,DE 2988556144,2988556175,FR 2988556176,2988556179,DE @@ -90412,7 +92918,8 @@ 2988556256,2988556259,ES 2988556260,2988556263,FR 2988556264,2988556271,GB -2988556272,2988556283,FR +2988556272,2988556279,FR +2988556280,2988556283,PL 2988556284,2988556287,GB 2988556288,2988556315,FR 2988556316,2988556319,DE @@ -90428,18 +92935,24 @@ 2988557396,2988557399,PL 2988557400,2988557423,FR 2988557424,2988557427,ES -2988557428,2988557507,FR +2988557428,2988557499,FR +2988557500,2988557503,PL +2988557504,2988557507,FR 2988557508,2988557511,ES 2988557512,2988557515,GB -2988557516,2988557539,FR +2988557516,2988557535,FR +2988557536,2988557539,PL 2988557540,2988557543,ES 2988557544,2988557631,FR 2988557632,2988557635,GB 2988557636,2988558075,FR 2988558076,2988558079,NL -2988558080,2988558127,FR +2988558080,2988558099,FR +2988558100,2988558103,PL +2988558104,2988558127,FR 2988558128,2988558131,DE -2988558132,2988558139,FR +2988558132,2988558135,PL +2988558136,2988558139,FR 2988558140,2988558143,DE 2988558144,2988558203,FR 2988558204,2988558207,DE @@ -90462,40 +92975,58 @@ 2988559616,2988559619,ES 2988559620,2988559663,FR 2988559664,2988559679,ES -2988559680,2988559727,FR +2988559680,2988559691,FR +2988559692,2988559695,PL +2988559696,2988559727,FR 2988559728,2988559731,DE 2988559732,2988560639,FR 2988560640,2988560703,ES -2988560704,2988560759,FR +2988560704,2988560711,FR +2988560712,2988560715,PL +2988560716,2988560759,FR 2988560760,2988560767,FI 2988560768,2988560783,FR 2988560784,2988560799,NL 2988560800,2988560815,DE -2988560816,2988561051,FR +2988560816,2988560975,FR +2988560976,2988560991,PL +2988560992,2988561047,FR +2988561048,2988561051,PL 2988561052,2988561055,GB 2988561056,2988561215,FR 2988561216,2988561231,ES 2988561232,2988561235,PT 2988561236,2988561239,FR 2988561240,2988561243,NL -2988561244,2988561399,FR +2988561244,2988561247,PL +2988561248,2988561399,FR 2988561400,2988561403,ES 2988561404,2988561583,FR 2988561584,2988561591,GB -2988561592,2988561747,FR +2988561592,2988561631,FR +2988561632,2988561663,PL +2988561664,2988561747,FR 2988561748,2988561751,GB 2988561752,2988561759,FR 2988561760,2988561763,PL 2988561764,2988561767,IT 2988561768,2988561939,FR 2988561940,2988561943,FI -2988561944,2988562495,FR +2988561944,2988562127,FR +2988562128,2988562131,IE +2988562132,2988562175,FR +2988562176,2988562431,CZ +2988562432,2988562495,FR 2988562496,2988562527,FI -2988562528,2988562595,FR +2988562528,2988562575,FR +2988562576,2988562583,PL +2988562584,2988562595,FR 2988562596,2988562599,GB 2988562600,2988562847,FR 2988562848,2988562863,GB -2988562864,2988563527,FR +2988562864,2988563103,FR +2988563104,2988563135,PL +2988563136,2988563527,FR 2988563528,2988563535,ES 2988563536,2988563671,FR 2988563672,2988563675,DE @@ -90507,7 +93038,9 @@ 2988564144,2988564159,ES 2988564160,2988564175,FR 2988564176,2988564179,GB -2988564180,2988564191,FR +2988564180,2988564183,FR +2988564184,2988564187,PL +2988564188,2988564191,FR 2988564192,2988564195,ES 2988564196,2988564215,FR 2988564216,2988564219,GB @@ -90521,11 +93054,7 @@ 2988564408,2988566331,FR 2988566332,2988566332,GB 2988566333,2988572671,FR -2988572672,2988611583,RU -2988611584,2988613247,UA -2988613248,2988613248,RU -2988613249,2988613631,UA -2988613632,2988617727,RU +2988572672,2988617727,RU 2988617728,2988621823,UA 2988621824,2988703743,RU 2988703744,2988834815,PL @@ -90574,7 +93103,14 @@ 2991161344,2991177727,FR 2991177728,2991179503,SE 2991179504,2991179507,ES -2991179508,2991191807,SE +2991179508,2991188223,SE +2991188224,2991188255,GB +2991188256,2991188271,NL +2991188272,2991188287,DE +2991188288,2991188303,DK +2991188304,2991188319,ES +2991188320,2991188323,FR +2991188324,2991191807,SE 2991191808,2991192063,FI 2991192064,2991194111,SE 2991194112,2991210495,NO @@ -90698,7 +93234,7 @@ 2996785152,2996786175,RU 2996786176,2996787199,TR 2996787200,2996788223,RU -2996788224,2996789247,TR +2996788224,2996789247,IT 2996789248,2996789503,UA 2996789504,2996789759,RU 2996789760,2996790015,UA @@ -90729,9 +93265,7 @@ 2997190656,2997223423,AT 2997223424,2997256191,PT 2997256192,2997321727,RU -2997321728,2997331967,IE -2997331968,2997332095,GB -2997332096,2997354495,IE +2997321728,2997354495,IE 2997354496,2997387263,MD 2997387264,2997420031,BY 2997420032,2997428223,IR @@ -90797,8 +93331,7 @@ 2997564416,2997564927,RU 2997564928,2997565439,TR 2997565440,2997565695,IT -2997565696,2997565951,RU -2997565952,2997566463,BY +2997565696,2997566463,RU 2997566464,2997567487,TR 2997567488,2997567999,LV 2997568000,2997568511,TM @@ -90839,9 +93372,15 @@ 2998140928,2998403071,PL 2998403072,2998665215,RU 2998665216,2998927359,AT -2998927360,2999433599,CH -2999433600,2999433727,DE -2999433728,2999451647,CH +2998927360,2999325951,CH +2999325952,2999326207,DE +2999326208,2999326719,CH +2999326720,2999327231,DE +2999327232,2999327487,CH +2999327488,2999327743,DE +2999327744,2999338751,CH +2999338752,2999338943,IT +2999338944,2999451647,CH 2999451648,2999713791,DE 2999713792,2999975935,RU 2999975936,2999984127,FR @@ -90991,8 +93530,7 @@ 3000553472,3000555519,KG 3000555520,3000557567,RU 3000557568,3000561663,UA -3000561664,3000562687,RU -3000562688,3000563711,GB +3000561664,3000563711,RU 3000563712,3000565759,IR 3000565760,3000567807,RU 3000567808,3000569855,RS @@ -91002,8 +93540,7 @@ 3000576000,3000586239,RU 3000586240,3000588287,NL 3000588288,3000589311,BG -3000589312,3000590335,GB -3000590336,3000594431,RU +3000589312,3000594431,RU 3000594432,3000596479,PL 3000596480,3000598527,RU 3000598528,3000600575,FI @@ -91021,8 +93558,7 @@ 3000613243,3000616959,PL 3000616960,3000621055,UA 3000621056,3000623103,PL -3000623104,3000625151,RU -3000625152,3000626175,GB +3000623104,3000626175,RU 3000626176,3000627199,TR 3000627200,3000629247,CZ 3000629248,3000631295,PL @@ -91038,7 +93574,8 @@ 3000671232,3000672255,RU 3000672256,3000676351,HR 3000676352,3000680447,SA -3000680448,3000682495,GB +3000680448,3000681471,RU +3000681472,3000682495,GB 3000682496,3000684543,UZ 3000684544,3000688639,RU 3000688640,3000692735,PL @@ -91060,11 +93597,15 @@ 3000750080,3000754175,RU 3000754176,3000758271,IR 3000758272,3000762367,UA -3000762368,3001014783,RS -3001014784,3001015295,XK -3001015296,3001018367,RS -3001018368,3001020415,XK -3001020416,3001024511,RS +3000762368,3000829951,RS +3000829952,3000830975,XK +3000830976,3000837119,RS +3000837120,3000838143,XK +3000838144,3001016319,RS +3001016320,3001018367,XK +3001018368,3001022463,RS +3001022464,3001023487,XK +3001023488,3001024511,RS 3001024512,3001548799,NL 3001548800,3001614335,NO 3001614336,3001679871,TR @@ -91144,9 +93685,7 @@ 3001991168,3001995263,IR 3001995264,3001999359,HU 3001999360,3002003455,DE -3002003456,3002007551,PL -3002007552,3002008575,UA -3002008576,3002011647,PL +3002003456,3002011647,PL 3002015744,3002019839,IT 3002019840,3002021271,NL 3002021272,3002021279,MT @@ -91208,7 +93747,8 @@ 3002673152,3002675199,GB 3002675200,3002677247,DK 3002677248,3002683391,RU -3002683392,3002685439,DE +3002683392,3002684415,DE +3002684416,3002685439,CH 3002685440,3002687487,PL 3002687488,3002688511,GB 3002688512,3002689535,NL @@ -91281,11 +93821,8 @@ 3002826752,3002828799,SE 3002828800,3002830847,RU 3002830848,3002834943,FI -3002834944,3002835063,BE -3002835064,3002835067,LU -3002835068,3002836479,BE -3002836480,3002836735,LU -3002836736,3002836991,BE +3002834944,3002835967,LU +3002835968,3002836991,BE 3002836992,3002841087,GB 3002841088,3002843135,CZ 3002843136,3002845183,NL @@ -91322,10 +93859,10 @@ 3003068416,3003070463,NL 3003070464,3003074559,GB 3003074560,3003076607,IT -3003076608,3003078151,US +3003076608,3003078143,GB +3003078144,3003078151,US 3003078152,3003078155,IN -3003078156,3003078655,US -3003078656,3003080703,GB +3003078156,3003080703,GB 3003080704,3003082751,FR 3003082752,3003084799,ES 3003084800,3003085823,SE @@ -91416,8 +93953,8 @@ 3005480960,3005874175,AR 3005874176,3005894143,PA 3005894144,3005894911,CO -3005894912,3005895679,PA -3005895680,3005896191,CO +3005894912,3005895935,PA +3005895936,3005896191,CO 3005896192,3005896703,PA 3005896704,3005896959,CO 3005896960,3005897471,PA @@ -91426,11 +93963,9 @@ 3005897984,3005898239,CO 3005898240,3005898495,PA 3005898496,3005899775,CO -3005899776,3005900287,PA -3005900288,3005900543,CO -3005900544,3005900799,PA -3005900800,3005901055,CO -3005901056,3005901567,PA +3005899776,3005900543,PA +3005900544,3005900799,CO +3005900800,3005901567,PA 3005901568,3005902335,CO 3005902336,3005902591,PA 3005902592,3005902847,CO @@ -91444,8 +93979,8 @@ 3005906176,3005906687,CO 3005906688,3005911295,PA 3005911296,3005911551,CO -3005911552,3005912319,PA -3005912320,3005912575,CO +3005911552,3005912063,PA +3005912064,3005912575,CO 3005912576,3005913855,PA 3005913856,3005914111,CO 3005914112,3005914623,PA @@ -91468,29 +94003,25 @@ 3006283776,3006284287,CR 3006284288,3006284543,PA 3006284544,3006284799,CR -3006284800,3006285311,PA -3006285312,3006285567,CR -3006285568,3006285823,PA -3006285824,3006286079,CR +3006284800,3006285567,PA +3006285568,3006286079,CR 3006286080,3006286335,PA 3006286336,3006286591,CR 3006286592,3006286847,PA -3006286848,3006287103,CR -3006287104,3006287871,PA +3006286848,3006287359,CR +3006287360,3006287871,PA 3006287872,3006288383,CR 3006288384,3006288639,PA 3006288640,3006289151,CR 3006289152,3006289919,PA 3006289920,3006290175,CR -3006290176,3006290431,PA -3006290432,3006291199,CR -3006291200,3006291455,PA -3006291456,3006291711,CR +3006290176,3006290687,PA +3006290688,3006291711,CR 3006291712,3006308351,PA 3006308352,3006308863,CR 3006308864,3006309631,PA -3006309632,3006310399,CR -3006310400,3006310655,PA +3006309632,3006310143,CR +3006310144,3006310655,PA 3006310656,3006311167,CR 3006311168,3006311935,PA 3006311936,3006312703,CR @@ -91501,12 +94032,12 @@ 3006313984,3006314239,PA 3006314240,3006314751,CR 3006314752,3006315519,PA -3006315520,3006315775,CR -3006315776,3006316031,PA -3006316032,3006316287,CR -3006316288,3006320639,PA +3006315520,3006316543,CR +3006316544,3006320639,PA 3006320640,3006320895,CR -3006320896,3006321663,PA +3006320896,3006321151,PA +3006321152,3006321407,CR +3006321408,3006321663,PA 3006321664,3006321919,CR 3006321920,3006323967,PA 3006323968,3006324735,CR @@ -91554,9 +94085,7 @@ 3007092736,3007094783,AR 3007094784,3007096831,CR 3007096832,3007098879,AR -3007098880,3007099631,HN -3007099632,3007099639,GB -3007099640,3007099903,HN +3007098880,3007099903,HN 3007099904,3007100463,US 3007100464,3007100471,IN 3007100472,3007100927,US @@ -91694,8 +94223,8 @@ 3007168256,3007168271,GR 3007168272,3007168383,DE 3007168384,3007168511,US -3007168512,3007168614,QA -3007168615,3007168615,US +3007168512,3007168613,QA +3007168614,3007168615,US 3007168616,3007168767,QA 3007168768,3007169023,CL 3007169024,3007169151,US @@ -91802,8 +94331,8 @@ 3007285504,3007285759,PA 3007285760,3007286015,CR 3007286016,3007286271,PA -3007286272,3007286783,CR -3007286784,3007287295,PA +3007286272,3007286527,CR +3007286528,3007287295,PA 3007287296,3007299583,CR 3007299584,3007301631,PA 3007301632,3007305727,AR @@ -91859,9 +94388,7 @@ 3025608208,3025608223,SG 3025608224,3025608447,IN 3025608448,3025608703,HK -3025608704,3025610751,IN -3025610752,3025612799,SG -3025612800,3025612815,IN +3025608704,3025612815,IN 3025612816,3025612831,SG 3025612832,3025612895,IN 3025612896,3025613087,SG @@ -91970,9 +94497,7 @@ 3025633824,3025633855,AU 3025633856,3025633919,IN 3025633920,3025634047,MY -3025634048,3025634687,IN -3025634688,3025634719,HK -3025634720,3025636351,IN +3025634048,3025636351,IN 3025636352,3025636607,SG 3025636608,3025637375,IN 3025637376,3025637631,HK @@ -92030,12 +94555,20 @@ 3025643072,3025647103,IN 3025647104,3025647359,SG 3025647360,3025647615,AU -3025647616,3025647871,SG +3025647616,3025647775,IN +3025647776,3025647791,SG +3025647792,3025647839,IN +3025647840,3025647871,SG 3025647872,3025647903,HK -3025647904,3025648087,SG +3025647904,3025647935,IN +3025647936,3025647967,SG +3025647968,3025648079,IN +3025648080,3025648087,SG 3025648088,3025648091,US -3025648092,3025648639,SG -3025648640,3025649151,IN +3025648092,3025648095,SG +3025648096,3025648127,IN +3025648128,3025648383,SG +3025648384,3025649151,IN 3025649152,3025649663,HK 3025649664,3025666047,IN 3025666048,3025928191,CN @@ -92061,15 +94594,25 @@ 3026069504,3026071551,JP 3026071552,3026073599,AU 3026073600,3026075647,CN -3026075648,3026078641,AF +3026075648,3026077961,AF +3026077962,3026077962,DE +3026077963,3026078275,AF +3026078276,3026078277,DE +3026078278,3026078626,AF +3026078627,3026078627,DE +3026078628,3026078641,AF 3026078642,3026078642,DE -3026078643,3026081023,AF -3026081024,3026081108,DE -3026081109,3026081109,AF -3026081110,3026081169,DE -3026081170,3026081170,AF -3026081171,3026081279,DE -3026081280,3026083839,AF +3026078643,3026078713,AF +3026078714,3026078714,IT +3026078715,3026079769,AF +3026079770,3026079770,GB +3026079771,3026079993,AF +3026079994,3026079994,DE +3026079995,3026081023,AF +3026081024,3026081279,DE +3026081280,3026082769,AF +3026082770,3026082770,IT +3026082771,3026083839,AF 3026083840,3026087935,CN 3026087936,3026089983,AU 3026089984,3026092031,CN @@ -92240,10 +94783,10 @@ 3034478592,3034479615,TH 3034479616,3034480639,NZ 3034480640,3034482687,SG -3034482688,3034484223,AF -3034484224,3034484338,DE -3034484339,3034484339,AF -3034484340,3034484479,DE +3034482688,3034483455,AF +3034483456,3034483711,DE +3034483712,3034483967,AF +3034483968,3034484479,DE 3034484480,3034484735,AF 3034484736,3034488831,TH 3034488832,3034492927,AU @@ -92307,7 +94850,9 @@ 3035676928,3035693055,SG 3035693056,3036610559,ID 3036610560,3036676095,SG -3036676096,3037697047,AR +3036676096,3037686727,AR +3037686728,3037686735,NL +3037686736,3037697047,AR 3037697048,3037697055,US 3037697056,3037790207,AR 3037790208,3037986815,VE @@ -92319,9 +94864,7 @@ 3039232000,3039297535,EC 3039297536,3039363071,PY 3039363072,3039379455,AW -3039379456,3039388927,GY -3039388928,3039389695,NG -3039389696,3039395839,GY +3039379456,3039395839,GY 3039395840,3039396351,US 3039396352,3039396607,NL 3039396608,3039398911,US @@ -92401,9 +94944,7 @@ 3047424000,3047948287,AR 3047948288,3048079359,CL 3048079360,3048095743,CO -3048095744,3048105461,GT -3048105462,3048105462,SV -3048105463,3048112127,GT +3048095744,3048112127,GT 3048112128,3048120319,AR 3048120320,3048121343,PY 3048121344,3048122367,PA @@ -92426,9 +94967,7 @@ 3048299656,3048299663,BR 3048299664,3048301311,US 3048301312,3048301343,CA -3048301344,3048304999,US -3048305000,3048305007,CR -3048305008,3048308727,US +3048301344,3048308727,US 3048308728,3048308735,CR 3048308736,3048325119,BO 3048325120,3048331263,AR @@ -92501,9 +95040,7 @@ 3050700816,3050701055,BR 3050701056,3050701311,DE 3050701312,3050701327,IE -3050701328,3050701439,BR -3050701440,3050701503,US -3050701504,3050701567,BR +3050701328,3050701567,BR 3050701568,3050701823,DE 3050701824,3050701839,SG 3050701840,3050702079,BR @@ -92806,23 +95343,24 @@ 3051373568,3051374335,CR 3051374336,3051374591,PA 3051374592,3051374847,CR -3051374848,3051375103,PA -3051375104,3051380735,CR +3051374848,3051375359,PA +3051375360,3051376383,CR +3051376384,3051376639,PA +3051376640,3051380735,CR 3051380736,3051388927,AR 3051388928,3051389183,US -3051389184,3051390207,NL -3051390208,3051390463,PA -3051390464,3051390719,US -3051390720,3051391999,PA -3051392000,3051392511,US +3051389184,3051389951,NL +3051389952,3051390719,PA +3051390720,3051390975,NL +3051390976,3051392255,PA +3051392256,3051392511,US 3051392512,3051393023,PA 3051393024,3051393535,US 3051393536,3051394303,PA 3051394304,3051395071,US 3051395072,3051395327,NL 3051395328,3051396095,PA -3051396096,3051396863,US -3051396864,3051397119,PA +3051396096,3051397119,US 3051397120,3051398143,CO 3051398144,3051399167,AR 3051399168,3051400191,DO @@ -93037,7 +95575,7 @@ 3070170112,3070171135,MY 3070171136,3070172159,HK 3070172160,3070173183,AU -3070174208,3070175231,CN +3070173184,3070175231,CN 3070175232,3070176255,PH 3070176256,3070177279,HK 3070177280,3070178303,PK @@ -93102,10 +95640,10 @@ 3081842688,3081846783,AU 3081846784,3081847807,TW 3081847808,3081848831,KR -3081848832,3081850079,SG +3081848832,3081849855,SG +3081849856,3081850079,HK 3081850080,3081850111,TW -3081850112,3081850879,SG -3081850880,3081851903,HK +3081850112,3081851903,HK 3081851904,3081852927,JP 3081852928,3081854975,HK 3081854976,3081859071,MN @@ -93136,7 +95674,9 @@ 3088629760,3088633855,NL 3088633856,3088686591,US 3088686592,3088687103,NL -3088687104,3088708607,US +3088687104,3088701439,US +3088701440,3088702463,NL +3088702464,3088708607,US 3088708608,3088709631,NL 3088709632,3088710655,US 3088710656,3088711167,NL @@ -93150,7 +95690,13 @@ 3088856064,3088856575,NL 3088856576,3088857087,US 3088857088,3088857599,NL -3088857600,3088902143,US +3088857600,3088869375,US +3088869376,3088869631,NL +3088869632,3088871423,US +3088871424,3088871935,NL +3088871936,3088888831,US +3088888832,3088889343,NL +3088889344,3088902143,US 3088902144,3088902655,NL 3088902656,3088913663,US 3088913664,3088913919,NL @@ -93178,11 +95724,15 @@ 3091976192,3091980287,CA 3091980288,3092381695,US 3092381696,3092447231,TH -3092447232,3092573695,US +3092447232,3092572671,US +3092572672,3092573183,NL +3092573184,3092573695,US 3092573696,3092573951,AU 3092573952,3092623359,US 3092623360,3092627455,NL -3092627456,3092643839,US +3092627456,3092640255,US +3092640256,3092641791,NL +3092641792,3092643839,US 3092643840,3092647935,NL 3092647936,3092656127,US 3092656128,3092660223,NL @@ -93198,23 +95748,18 @@ 3092697088,3092697599,NL 3092697600,3092700927,US 3092700928,3092701183,AU -3092701184,3092754431,US +3092701184,3092702207,NL +3092702208,3092704255,US +3092704256,3092705279,NL +3092705280,3092754431,US 3092754432,3092758527,NL 3092758528,3093168127,US 3093168128,3093200895,CA 3093200896,3093213183,US 3093213184,3093217279,CA -3093217280,3093233663,US -3093233664,3093234687,PR -3093234688,3093234716,US -3093234717,3093234717,PR -3093234718,3093235199,US -3093235200,3093235455,PR -3093235456,3093235711,US -3093235712,3093236735,PR -3093236736,3093236991,US -3093236992,3093237247,PR -3093237248,3093282815,US +3093217280,3093234687,US +3093234688,3093235711,PR +3093235712,3093282815,US 3093282816,3093299199,CA 3093299200,3093907199,US 3093907200,3093907455,CA @@ -93233,7 +95778,9 @@ 3093935360,3093935615,NL 3093935616,3093937407,US 3093937408,3093937663,NL -3093937664,3093943785,US +3093937664,3093938175,US +3093938176,3093938431,JP +3093938432,3093943785,US 3093943786,3093943786,CZ 3093943787,3093945989,US 3093945990,3093945990,AT @@ -93274,9 +95821,7 @@ 3094080792,3094080799,US 3094080800,3094085631,CA 3094085632,3096444927,US -3096444928,3096898618,CA -3096898619,3096898619,US -3096898620,3096969215,CA +3096444928,3096969215,CA 3096969216,3097143823,US 3097143824,3097143831,BD 3097143832,3097493503,US @@ -93287,7 +95832,9 @@ 3097823232,3097823295,BR 3097823296,3097823487,US 3097823488,3097823743,CA -3097823744,3098095615,US +3097823744,3097824767,US +3097824768,3097824831,CA +3097824832,3098095615,US 3098095616,3098099711,CA 3098099712,3098099967,US 3098099968,3098100735,SE @@ -93353,23 +95900,7 @@ 3098493752,3098493759,CA 3098493760,3098496943,US 3098496944,3098496951,CA -3098496952,3100903679,US -3100903680,3100903935,PR -3100903936,3100920319,US -3100920320,3100920575,PR -3100920576,3100922367,US -3100922368,3100922623,PR -3100922624,3100949247,US -3100949248,3100949503,PR -3100949504,3100955647,US -3100955648,3100955903,PR -3100955904,3100957695,US -3100957696,3100957951,PR -3100957952,3100964351,US -3100964352,3100964607,PR -3100964608,3100964863,US -3100964864,3100965119,PR -3100965120,3103784959,US +3098496952,3103784959,US 3103850496,3103850751,RU 3103850752,3103851007,PS 3103851008,3103851519,FR @@ -93480,6 +96011,8 @@ 3103881216,3103881471,GB 3103881472,3103881727,MK 3103881728,3103881983,NL +3103881984,3103882239,GR +3103882240,3103882495,IT 3103916032,3103917055,CH 3103917056,3103918079,IT 3103918080,3103919103,DE @@ -93558,13 +96091,17 @@ 3103984640,3103985663,DK 3103985664,3103986687,RU 3103986688,3103987711,LB -3103987712,3103988735,FR +3103987712,3103988607,FR +3103988608,3103988671,GB +3103988672,3103988735,FR 3103989760,3103990783,RU 3103990784,3103991807,IT 3103991808,3103992831,DE 3103992832,3103993855,LU 3103993856,3103994879,SE -3103994880,3103995903,JE +3103994880,3103995419,JE +3103995420,3103995420,AE +3103995421,3103995903,JE 3103995904,3103996927,TR 3103996928,3103997951,PL 3103997952,3103998975,FR @@ -93715,7 +96252,8 @@ 3104143360,3104144383,NL 3104144384,3104145407,ES 3104145408,3104146431,RU -3104146432,3104147455,NL +3104146432,3104146943,SG +3104146944,3104147455,NL 3104147456,3104149503,RU 3104149504,3104150527,GB 3104150528,3104151551,RU @@ -93885,9 +96423,7 @@ 3104312320,3104313343,TR 3104313344,3104314367,NO 3104314368,3104315391,RU -3104315392,3104315647,IT -3104315648,3104315903,CH -3104315904,3104316415,IT +3104315392,3104316415,IT 3104316416,3104317439,FR 3104317440,3104318463,CY 3104318464,3104319487,IT @@ -93982,7 +96518,7 @@ 3104412672,3104413695,IT 3104413696,3104414719,FR 3104414720,3104415743,TR -3104415744,3104416767,RU +3104415744,3104416767,UA 3104416768,3104417791,SE 3104417792,3104418815,US 3104418816,3104419839,GB @@ -94191,7 +96727,7 @@ 3104623616,3104624639,FR 3104624640,3104625663,RU 3104625664,3104625919,NL -3104625920,3104626687,CY +3104625920,3104626687,LU 3104626688,3104627711,NL 3104627712,3104628735,LB 3104628736,3104629759,TR @@ -94281,8 +96817,7 @@ 3104720896,3104721919,PL 3104721920,3104722943,IT 3104722944,3104723967,IR -3104723968,3104724991,GB -3104724992,3104726015,RU +3104723968,3104726015,GB 3104726016,3104727039,DE 3104727040,3104727295,FR 3104727296,3104727551,DE @@ -94398,7 +96933,8 @@ 3104837632,3104838655,DK 3104838656,3104839679,NL 3104839680,3104840703,IQ -3104840704,3104841727,UA +3104840704,3104841215,RU +3104841216,3104841727,UA 3104841728,3104843775,PL 3104843776,3104844799,GB 3104844800,3104846847,FR @@ -94406,9 +96942,7 @@ 3104847872,3104848895,RU 3104848896,3104849919,DE 3104849920,3104850943,RU -3104850944,3104851455,JE -3104851456,3104851711,GB -3104851712,3104851967,JE +3104850944,3104851967,JE 3104851968,3104852991,DE 3104852992,3104854015,AT 3104854016,3104855039,GI @@ -94667,7 +97201,8 @@ 3105098752,3105099775,SE 3105099776,3105100799,FR 3105100800,3105101823,PL -3105101824,3105102847,IQ +3105101824,3105102335,AE +3105102336,3105102847,IQ 3105102848,3105103871,HR 3105103872,3105104895,GB 3105104896,3105105919,CY @@ -94761,8 +97296,7 @@ 3105199104,3105200127,PL 3105200128,3105201151,FR 3105201152,3105202175,RU -3105202176,3105202943,CZ -3105202944,3105203199,HU +3105202176,3105203199,CZ 3105203200,3105204223,DE 3105204224,3105205247,NL 3105205248,3105206271,IT @@ -94950,11 +97484,7 @@ 3105392640,3105393663,IR 3105393664,3105395711,FR 3105395712,3105396735,IR -3105396736,3105397247,FR -3105397248,3105397375,BE -3105397376,3105397503,FR -3105397504,3105397759,BE -3105397760,3105398783,FR +3105396736,3105398783,FR 3105398784,3105399807,GB 3105399808,3105400831,PL 3105400832,3105401855,DK @@ -95006,8 +97536,7 @@ 3105436672,3105437695,ES 3105437696,3105438719,GB 3105438720,3105439743,RU -3105439744,3105439999,IE -3105440000,3105440767,GB +3105439744,3105440767,GB 3105440768,3105441791,RU 3105441792,3105442815,IT 3105442816,3105443839,FI @@ -95032,7 +97561,7 @@ 3105460224,3105461247,GB 3105461248,3105462271,PL 3105462272,3105463295,RU -3105463296,3105464319,GB +3105463296,3105464319,US 3105464320,3105465343,NL 3105465344,3105466367,DE 3105466368,3105467391,MT @@ -95097,17 +97626,15 @@ 3105524736,3105525759,IT 3105525760,3105526783,TR 3105526784,3105527807,GB -3105527808,3105528063,NL -3105528064,3105528319,US -3105528320,3105528575,AU -3105528576,3105528831,NL +3105527808,3105528319,US +3105528320,3105528831,NL 3105528832,3105529855,DE 3105529856,3105530879,LU 3105530880,3105531903,NO 3105531904,3105532927,RU 3105532928,3105533951,RS 3105533952,3105534975,BA -3105534976,3105535487,ZA +3105534976,3105535231,ZA 3105535795,3105535795,RU 3105536000,3105537023,AZ 3105537024,3105538047,AT @@ -95186,16 +97713,18 @@ 3105614848,3105615871,NL 3105615872,3105616895,SE 3105616896,3105617919,GB -3105617920,3105617922,DE -3105617923,3105617923,NL -3105617924,3105617930,DE -3105617931,3105617931,NL -3105617932,3105618175,DE -3105618176,3105618443,NL +3105617920,3105618175,DE +3105618176,3105618441,NL +3105618442,3105618442,DE +3105618443,3105618443,NL 3105618444,3105618444,DE -3105618445,3105618481,NL -3105618482,3105618482,JP -3105618483,3105618943,NL +3105618445,3105618482,NL +3105618483,3105618484,IT +3105618485,3105618515,NL +3105618516,3105618517,US +3105618518,3105618538,NL +3105618539,3105618539,DE +3105618540,3105618943,NL 3105618944,3105619967,DE 3105619968,3105620991,TR 3105620992,3105622015,DE @@ -95287,9 +97816,7 @@ 3105707008,3105708031,PL 3105708032,3105709055,AT 3105709056,3105710079,SA -3105710080,3105710799,IT -3105710800,3105710815,CH -3105710816,3105711103,IT +3105710080,3105711103,IT 3105711104,3105712127,RS 3105712128,3105713151,IT 3105713152,3105714175,NL @@ -95393,9 +97920,7 @@ 3105814528,3105815551,JO 3105815552,3105816575,BE 3105816576,3105817599,FR -3105817600,3105818111,DE -3105818112,3105818367,US -3105818368,3105818623,DE +3105817600,3105818623,DE 3105818624,3105819647,NL 3105819648,3105820671,GB 3105820672,3105820927,NL @@ -95631,7 +98156,9 @@ 3106027600,3106027615,IT 3106027616,3106027631,NL 3106027632,3106029567,GB -3106030592,3106031615,NL +3106029568,3106029823,US +3106030080,3106030335,KZ +3106030336,3106031615,NL 3106031616,3106032639,AZ 3106032640,3106033663,PL 3106033664,3106034687,GB @@ -95670,7 +98197,9 @@ 3106067456,3106068479,DE 3106068480,3106070527,NL 3106070528,3106071551,UA -3106071552,3106072575,BH +3106071552,3106072292,BH +3106072293,3106072293,IT +3106072294,3106072575,BH 3106072576,3106073599,GB 3106073600,3106074623,PL 3106074624,3106076671,RU @@ -95735,6 +98264,7 @@ 3106134016,3106135039,DE 3106135040,3106136063,RU 3106136064,3106137087,BE +3106137088,3106138111,NL 3106138112,3106139135,DE 3106139136,3106140159,SE 3106140160,3106141183,DE @@ -95850,7 +98380,8 @@ 3106252800,3106253823,RS 3106253824,3106255871,GB 3106255872,3106256895,IT -3106256896,3106257919,TR +3106256896,3106257663,TR +3106257664,3106257919,GB 3106257920,3106258943,RU 3106258944,3106259967,UA 3106259968,3106260991,GB @@ -96151,9 +98682,7 @@ 3106503680,3106504703,NL 3106504704,3106505727,PL 3106505728,3106506751,CH -3106506752,3106507775,NL -3106507776,3106508287,CZ -3106508288,3106509823,NL +3106506752,3106509823,NL 3106509824,3106510847,SE 3106510848,3106511871,FR 3106511872,3106512895,GE @@ -96229,8 +98758,7 @@ 3106592768,3106593791,LU 3106593792,3106594815,GB 3106594816,3106595839,IR -3106595840,3106596095,EE -3106596096,3106596863,RU +3106595840,3106596863,RU 3106596864,3106597887,FR 3106597888,3106598911,GB 3106598912,3106599935,ES @@ -96355,9 +98883,7 @@ 3106716672,3106717695,CZ 3106717696,3106718719,TR 3106718720,3106719743,CH -3106719744,3106720245,DE -3106720246,3106720246,US -3106720247,3106720767,DE +3106719744,3106720767,DE 3106720768,3106722815,AT 3106722816,3106723839,IT 3106723840,3106724863,PL @@ -96379,15 +98905,15 @@ 3106738176,3106739199,DE 3106739200,3106740223,DK 3106740224,3106741247,GB -3106741248,3106741759,ES -3106741760,3106742015,NL -3106742016,3106742271,ES +3106741248,3106742271,ES 3106742272,3106743295,FR 3106743296,3106744319,NO 3106744320,3106745343,SM 3106745344,3106746367,NL 3106746368,3106747391,DK -3106747392,3106748415,BE +3106747392,3106747647,BE +3106747648,3106747903,DE +3106747904,3106748415,BE 3106748416,3106749439,CZ 3106749440,3106750463,RU 3106750464,3106751487,BG @@ -96433,7 +98959,7 @@ 3106786304,3106787327,DE 3106787328,3106787583,GB 3106787840,3106788351,GB -3106788352,3106789375,AT +3106788352,3106789375,SA 3106789376,3106790399,PL 3106790400,3106792447,GB 3106792448,3106793471,FR @@ -96502,7 +99028,9 @@ 3106850816,3106851839,GB 3106851840,3106852863,PL 3106852864,3106853887,GB -3106853888,3106854399,NL +3106853888,3106854235,NL +3106854236,3106854237,GB +3106854238,3106854399,NL 3106854400,3106854911,CH 3106854912,3106855935,IR 3106855936,3106856959,UA @@ -96580,8 +99108,11 @@ 3106926592,3106927615,FR 3106927616,3106928639,ES 3106928640,3106929663,NO +3106929664,3106930303,RO 3106930304,3106930319,US +3106930320,3106930335,RO 3106930336,3106930351,CA +3106930352,3106930687,RO 3106930688,3106931711,DE 3106931712,3106932735,AT 3106932736,3106933759,PL @@ -96596,34 +99127,7 @@ 3106941952,3106943999,FR 3106944000,3106945023,IT 3106945024,3106946047,NL -3106946048,3106946815,JE -3106946816,3106946816,GB -3106946817,3106946823,JE -3106946824,3106946824,GB -3106946825,3106946826,JE -3106946827,3106946827,GB -3106946828,3106946831,JE -3106946832,3106946832,GB -3106946833,3106946835,JE -3106946836,3106946836,GB -3106946837,3106946838,JE -3106946839,3106946841,GB -3106946842,3106946845,JE -3106946846,3106946846,GB -3106946847,3106946851,JE -3106946852,3106946852,GB -3106946853,3106946854,JE -3106946855,3106946855,GB -3106946856,3106946861,JE -3106946862,3106946862,GB -3106946863,3106946864,JE -3106946865,3106946866,GB -3106946867,3106946871,JE -3106946872,3106946872,GB -3106946873,3106946873,JE -3106946874,3106946875,GB -3106946876,3106946878,JE -3106946879,3106947071,GB +3106946048,3106947071,JE 3106947072,3106948095,AE 3106948096,3106949119,NL 3106949120,3106950143,RU @@ -96685,8 +99189,7 @@ 3107013632,3107014655,DE 3107014656,3107015679,GB 3107015680,3107016703,DE -3107016704,3107017215,GB -3107017216,3107017727,NL +3107016704,3107017727,GB 3107017728,3107018751,IR 3107018752,3107019775,BG 3107019776,3107020799,GB @@ -96725,7 +99228,7 @@ 3107053568,3107054591,ES 3107054592,3107057663,GB 3107057664,3107058687,RU -3107058688,3107059711,FR +3107058688,3107059711,LU 3107059712,3107060735,IT 3107060736,3107061759,DK 3107061760,3107062783,ES @@ -96901,9 +99404,12 @@ 3107224576,3107225599,FR 3107225600,3107226623,AZ 3107226624,3107227647,RU -3107227648,3107228671,US +3107227648,3107228159,IS +3107228160,3107228415,IM +3107228416,3107228671,KG 3107228672,3107229695,RU -3107229696,3107231743,GB +3107229696,3107230719,GB +3107230720,3107231743,US 3107231744,3107232767,RU 3107232768,3107233023,GB 3107233024,3107233279,SE @@ -96954,7 +99460,9 @@ 3107277824,3107278847,UA 3107278848,3107279871,FR 3107279872,3107280895,FI -3107280896,3107281919,EE +3107280896,3107281151,NL +3107281152,3107281663,EE +3107281664,3107281919,IS 3107281920,3107282943,GB 3107282944,3107283967,PL 3107283968,3107284991,AL @@ -97034,7 +99542,7 @@ 3107357696,3107358719,SY 3107358720,3107359743,RU 3107359744,3107360767,NL -3107360768,3107361791,AT +3107360768,3107361791,SA 3107361792,3107362815,DE 3107362816,3107363839,IT 3107363840,3107364863,IQ @@ -97445,7 +99953,7 @@ 3107733504,3107734527,BG 3107734528,3107735551,HU 3107735552,3107737599,DE -3107737600,3107738623,GB +3107737600,3107738623,NL 3107738624,3107738879,DE 3107738880,3107739135,DK 3107739136,3107739391,RO @@ -97531,7 +100039,7 @@ 3107820544,3107821311,LV 3107821312,3107821567,SE 3107821568,3107822591,GB -3107822592,3107823615,UA +3107822592,3107823615,US 3107823616,3107824639,FR 3107824640,3107825663,GB 3107825664,3107826687,IT @@ -97631,8 +100139,8 @@ 3107929088,3107930111,RU 3107930112,3107931135,CH 3107931136,3107932159,NL -3107932160,3107932671,SE -3107932672,3107934207,MT +3107932160,3107932415,SE +3107932416,3107934207,MT 3107934208,3107935231,GB 3107935232,3107936255,PL 3107936256,3107937279,IT @@ -97642,7 +100150,9 @@ 3107940352,3107941375,CZ 3107941376,3107942399,PL 3107942400,3107943423,RU -3107943424,3107944447,NL +3107943424,3107943679,NL +3107943680,3107943935,GB +3107943936,3107944447,NL 3107944448,3107945471,FR 3107945472,3107947519,DE 3107947520,3107948543,IT @@ -97760,7 +100270,8 @@ 3108057088,3108058111,LT 3108058112,3108059135,NL 3108059136,3108060159,FR -3108060160,3108061183,CH +3108060160,3108060671,CH +3108060672,3108061183,IT 3108061184,3108062207,ES 3108062208,3108063231,TR 3108063232,3108064255,BE @@ -97895,8 +100406,8 @@ 3108191232,3108193279,NL 3108193280,3108194303,PL 3108194304,3108195327,FR -3108195328,3108195839,ES -3108195840,3108196351,NO +3108195328,3108195328,ES +3108195329,3108196351,NO 3108196352,3108197375,FI 3108197376,3108198399,IS 3108198400,3108199423,FR @@ -98042,8 +100553,9 @@ 3108336640,3108337151,GB 3108337152,3108337407,ES 3108337408,3108337663,GB -3108337664,3108338687,IR +3108337664,3108338687,AU 3108338688,3108339711,RU +3108339712,3108340735,US 3108340736,3108341759,RU 3108341760,3108342783,CH 3108342784,3108343807,FI @@ -98065,7 +100577,7 @@ 3108359168,3108360191,NL 3108360192,3108361215,SA 3108361216,3108362239,IE -3108362240,3108363263,FR +3108362240,3108363263,LU 3108363264,3108364287,RU 3108364288,3108365311,LU 3108365312,3108366335,FR @@ -98292,7 +100804,7 @@ 3108593664,3108594687,ES 3108594688,3108597759,CZ 3108597760,3108598015,NL -3108598016,3108598271,IR +3108598016,3108598271,US 3108598272,3108598527,GB 3108598528,3108598783,IR 3108598784,3108600831,CH @@ -98308,7 +100820,7 @@ 3108611072,3108612095,IT 3108612096,3108615167,ES 3108615168,3108615679,BR -3108615680,3108616191,RU +3108615680,3108616191,MX 3108616192,3108617215,GB 3108617216,3108618239,ES 3108618240,3108619263,RU @@ -98320,7 +100832,8 @@ 3108623616,3108623871,GB 3108623872,3108624383,RU 3108624384,3108625407,BR -3108625408,3108626431,NL +3108625408,3108626175,NL +3108626176,3108626431,US 3108626432,3108627455,CZ 3108627456,3108628479,PL 3108628480,3108629503,FR @@ -98334,7 +100847,7 @@ 3108636672,3108637695,FR 3108637696,3108638719,DE 3108638720,3108639743,ES -3108639744,3108640767,HU +3108639744,3108640767,TR 3108640768,3108641791,GB 3108641792,3108642815,CH 3108642816,3108643839,FR @@ -98416,7 +100929,7 @@ 3108730880,3108731903,GB 3108731904,3108732927,FR 3108732928,3108733951,FI -3108733952,3108734975,RU +3108733952,3108734975,MX 3108734976,3108735999,CZ 3108736000,3108737023,FR 3108737024,3108738047,IE @@ -98470,9 +100983,7 @@ 3108783104,3108784127,UA 3108784128,3108785151,NL 3108785152,3108786175,ES -3108786176,3108786687,RU -3108786688,3108786943,UA -3108786944,3108787199,RU +3108786176,3108787199,RU 3108787200,3108788223,NO 3108788224,3108789247,NL 3108789248,3108790271,GB @@ -98511,7 +101022,7 @@ 3108824832,3108825087,IE 3108825088,3108826111,RU 3108826112,3108827135,NL -3108827136,3108828159,RU +3108827136,3108828159,MX 3108828160,3108829183,MT 3108829184,3108830207,IR 3108830208,3108831231,RU @@ -98578,7 +101089,7 @@ 3108883456,3108884479,RU 3108884480,3108885503,NL 3108885504,3108886527,BE -3108886528,3108888575,LV +3108886528,3108888575,US 3108888576,3108889599,VA 3108889600,3108893695,RU 3108893696,3108894719,FI @@ -98760,8 +101271,7 @@ 3109055488,3109056511,IL 3109056512,3109058559,GB 3109058560,3109059583,DE -3109059584,3109059839,LU -3109059840,3109060095,DE +3109059584,3109060095,LU 3109060096,3109060351,CY 3109060352,3109060607,RO 3109060608,3109061631,LT @@ -98831,28 +101341,31 @@ 3109124096,3109126143,ES 3109126144,3109127167,LV 3109127168,3109128191,ES -3109128192,3109128215,GB +3109128192,3109128207,NL +3109128208,3109128215,GB 3109128216,3109128223,AT 3109128224,3109128231,DK 3109128232,3109128239,SE -3109128240,3109128447,GB -3109128448,3109128463,NL +3109128240,3109128319,NL +3109128320,3109128383,GB +3109128384,3109128463,NL 3109128464,3109128471,DK 3109128472,3109128479,SE 3109128480,3109128487,IE 3109128488,3109128495,DK 3109128496,3109128503,SE 3109128504,3109128511,IE -3109128512,3109128719,NL -3109128720,3109128727,GB +3109128512,3109128703,NL +3109128704,3109128727,GB 3109128728,3109128735,AT 3109128736,3109128743,DK 3109128744,3109128751,SE 3109128752,3109128759,IE 3109128760,3109128760,IT -3109128761,3109128831,NL +3109128761,3109128831,GB 3109128832,3109128895,BE -3109128896,3109128975,NL +3109128896,3109128959,GB +3109128960,3109128975,NL 3109128976,3109128983,DK 3109128984,3109128991,SE 3109128992,3109128999,IT @@ -98868,10 +101381,10 @@ 3109134336,3109135359,GB 3109135360,3109136383,LT 3109136384,3109137407,GB -3109137408,3109138431,RU +3109137408,3109138431,MX 3109138432,3109139455,GB 3109139456,3109140479,ES -3109140480,3109141503,RU +3109140480,3109141503,MX 3109141504,3109143551,GB 3109143552,3109144575,GR 3109144576,3109145599,FR @@ -98905,7 +101418,7 @@ 3109174272,3109175295,GB 3109175296,3109176319,IR 3109176320,3109177343,IL -3109177344,3109178367,IE +3109177600,3109177855,IE 3109178368,3109179391,GB 3109179392,3109180415,ES 3109180416,3109181439,DE @@ -98914,8 +101427,8 @@ 3109183488,3109184255,LB 3109184256,3109184511,GB 3109184512,3109185535,CH -3109185536,3109187071,RS -3109187072,3109187327,XK +3109185536,3109186559,RS +3109186560,3109187327,XK 3109187328,3109187583,RS 3109187584,3109188607,IT 3109188608,3109189631,SA @@ -99258,7 +101771,8 @@ 3109543936,3109544959,DE 3109544960,3109545983,FR 3109545984,3109547007,PL -3109547008,3109548031,AT +3109547008,3109547263,EE +3109547264,3109548031,AT 3109548032,3109549055,IT 3109549056,3109550079,FI 3109550080,3109551103,NL @@ -99274,7 +101788,9 @@ 3109558272,3109559295,IQ 3109559296,3109560319,RO 3109560320,3109561343,KG -3109561344,3109562367,RU +3109561344,3109561599,PK +3109561600,3109561855,IL +3109561856,3109562367,MX 3109562368,3109563391,NO 3109563392,3109564415,GB 3109564416,3109565439,IR @@ -99360,7 +101876,7 @@ 3109643520,3109643775,RU 3109643776,3109644031,UA 3109644032,3109644287,ES -3109644288,3109646335,RU +3109644288,3109646335,MX 3109646336,3109647359,IR 3109647360,3109648383,CZ 3109648384,3109649407,GB @@ -99387,10 +101903,9 @@ 3109670912,3109671935,DE 3109671936,3109672959,HR 3109672960,3109673215,US -3109673216,3109673376,GB -3109673377,3109673377,SE -3109673378,3109673469,GB -3109673470,3109673471,NL +3109673216,3109673459,GB +3109673460,3109673461,NO +3109673462,3109673471,GB 3109673472,3109673695,ID 3109673696,3109673727,GB 3109673728,3109673983,AU @@ -99512,7 +102027,7 @@ 3109790720,3109792767,CZ 3109792768,3109795839,RU 3109795840,3109796863,HU -3109796864,3109797887,IT +3109796864,3109797887,DE 3109797888,3109798911,ES 3109798912,3109799935,DE 3109799936,3109800959,SK @@ -99524,7 +102039,7 @@ 3109807104,3109808127,ES 3109808128,3109808383,RE 3109808384,3109808639,GP -3109808640,3109809151,MQ +3109808640,3109809151,RE 3109809152,3109810175,GB 3109810176,3109811199,IT 3109811200,3109812223,DE @@ -99567,7 +102082,7 @@ 3109845504,3109845759,GB 3109845760,3109846015,DE 3109846016,3109847039,CH -3109847040,3109848063,AE +3109847040,3109848063,IE 3109848064,3109849087,BG 3109849088,3109849856,RU 3109849857,3109850111,UA @@ -99674,8 +102189,7 @@ 3109937152,3109938175,ES 3109938176,3109938431,GB 3109938432,3109938687,US -3109938688,3109938943,GB -3109938944,3109939199,AU +3109938688,3109939199,AU 3109939200,3109940223,ES 3109940224,3109941247,DE 3109941248,3109942271,PL @@ -99801,7 +102315,8 @@ 3110032384,3110033407,TR 3110033408,3110035455,SE 3110035456,3110036479,DE -3110036480,3110038527,RU +3110036480,3110037503,MX +3110037504,3110038527,RU 3110038528,3110039551,GB 3110039552,3110040575,DE 3110040576,3110041599,CZ @@ -99823,7 +102338,10 @@ 3110060032,3110061055,DE 3110061056,3110062079,PL 3110062080,3110063103,US -3110063104,3110064127,IQ +3110063104,3110063871,IQ +3110063872,3110064031,IT +3110064032,3110064063,IQ +3110064064,3110064127,IT 3110064128,3110065151,AT 3110065152,3110066175,DE 3110066176,3110067199,CH @@ -99845,7 +102363,7 @@ 3110083584,3110084607,UA 3110084608,3110085631,GR 3110085632,3110086143,BR -3110086144,3110086655,RU +3110086144,3110086655,MX 3110086656,3110087679,NO 3110087680,3110088703,NL 3110088704,3110089727,GB @@ -99855,7 +102373,8 @@ 3110093824,3110094847,JO 3110094848,3110095871,NO 3110095872,3110096895,CH -3110096896,3110098943,RU +3110096896,3110097919,MX +3110097920,3110098943,RU 3110098944,3110099967,DK 3110099968,3110100991,GB 3110100992,3110102015,IT @@ -99900,7 +102419,7 @@ 3110138880,3110139903,GB 3110139904,3110140927,SE 3110140928,3110141951,BG -3110141952,3110142975,RU +3110141952,3110142975,MX 3110142976,3110143999,DE 3110144000,3110145023,TR 3110145024,3110146047,IT @@ -99919,7 +102438,7 @@ 3110158336,3110159359,PS 3110159360,3110160383,SI 3110160384,3110161407,BG -3110161408,3110162431,RU +3110161408,3110162431,FR 3110162432,3110163455,IE 3110163456,3110164479,NO 3110164480,3110165503,GB @@ -99938,7 +102457,7 @@ 3110175744,3110176767,PS 3110176768,3110177791,CH 3110177792,3110178815,FR -3110178816,3110179839,DE +3110178816,3110179839,US 3110179840,3110180095,EE 3110180096,3110180351,LT 3110180352,3110180607,EE @@ -99980,7 +102499,7 @@ 3110216704,3110217215,DK 3110217216,3110217471,DE 3110217472,3110217727,DK -3110217728,3110218751,RU +3110217728,3110218751,FR 3110218752,3110219775,GB 3110219776,3110220799,DE 3110220800,3110221823,NL @@ -100034,7 +102553,8 @@ 3110278144,3110279167,TR 3110279168,3110279679,GB 3110279680,3110279695,ES -3110279696,3110279967,GB +3110279696,3110279743,NL +3110279744,3110279967,GB 3110279968,3110279983,DE 3110279984,3110280191,GB 3110280192,3110281215,RU @@ -100050,9 +102570,7 @@ 3110292480,3110293503,GB 3110293504,3110294527,AT 3110294528,3110295551,GB -3110295552,3110296063,RO -3110296064,3110296319,ES -3110296320,3110296575,RO +3110295552,3110296575,RO 3110296576,3110297599,GE 3110297600,3110298111,NL 3110298112,3110298623,FR @@ -100084,7 +102602,6 @@ 3110320128,3110321151,ES 3110321152,3110322175,SE 3110322176,3110323199,PL -3110323200,3110324223,IT 3110324224,3110325247,US 3110325248,3110326271,NL 3110326272,3110327295,DE @@ -100165,9 +102682,7 @@ 3110393600,3110393855,IE 3110393856,3110394879,LB 3110394880,3110395391,GB -3110395392,3110395647,RU -3110395648,3110395648,SA -3110395649,3110395903,RU +3110395392,3110395903,SA 3110395904,3110396927,KZ 3110396928,3110397951,PL 3110397952,3110398975,NL @@ -100226,7 +102741,8 @@ 3110452224,3110453247,PL 3110453248,3110454271,GB 3110454272,3110455295,NL -3110455296,3110457343,RU +3110455296,3110456319,FR +3110456320,3110457343,RU 3110457344,3110458367,FR 3110458368,3110459391,IT 3110459392,3110459647,EE @@ -100236,8 +102752,7 @@ 3110460416,3110461439,CZ 3110462464,3110463487,IR 3110463488,3110464511,PL -3110464512,3110465279,IQ -3110465280,3110465535,IT +3110464512,3110465535,IQ 3110465536,3110466559,IE 3110466560,3110467583,NL 3110467584,3110468607,DE @@ -100268,8 +102783,7 @@ 3110495232,3110496255,SE 3110496256,3110497279,DE 3110497280,3110498303,NO -3110498304,3110498815,RU -3110498816,3110499327,BR +3110498304,3110499327,BR 3110499328,3110500351,KZ 3110500352,3110501375,RU 3110501376,3110502399,RS @@ -100283,7 +102797,8 @@ 3110509568,3110510591,RO 3110510592,3110511615,FR 3110511616,3110512639,UA -3110512640,3110514687,ES +3110512640,3110513663,ES +3110513664,3110514687,NL 3110514688,3110515711,FR 3110515712,3110516735,RU 3110516736,3110517759,UA @@ -100319,8 +102834,7 @@ 3110548224,3110548479,DE 3110548480,3110549503,IT 3110549504,3110550527,NL -3110550528,3110551551,RU -3110551552,3110552575,FR +3110550528,3110552575,FR 3110552576,3110553599,RU 3110553600,3110554623,DE 3110554624,3110555647,NL @@ -100396,7 +102910,7 @@ 3110626304,3110627327,NL 3110627328,3110628351,RU 3110628352,3110629375,LU -3110629376,3110630399,RU +3110629376,3110630399,UA 3110630400,3110631423,IT 3110631424,3110632447,GB 3110632448,3110633471,IT @@ -100406,7 +102920,7 @@ 3110635520,3110636543,SE 3110636544,3110637567,DE 3110637568,3110638591,GR -3110638592,3110639615,RU +3110638592,3110639615,FR 3110639616,3110640639,ES 3110640640,3110641663,IQ 3110641664,3110642687,DE @@ -100476,7 +102990,8 @@ 3110705152,3110706175,FR 3110706176,3110707199,BE 3110707200,3110708223,NL -3110708224,3110709247,GB +3110708224,3110708479,IE +3110708480,3110709247,GB 3110709248,3110710271,RU 3110710272,3110711295,CY 3110711296,3110712319,IL @@ -100729,7 +103244,9 @@ 3110986752,3110987775,GB 3110987776,3110988799,NL 3110988800,3110989055,CN -3110989056,3110989823,DE +3110989056,3110989311,DE +3110989312,3110989567,SG +3110989568,3110989823,IT 3110989824,3110990335,CA 3110990336,3110990847,CH 3110990848,3110992895,IR @@ -100814,7 +103331,7 @@ 3111074816,3111075839,DE 3111075840,3111076863,IR 3111076864,3111077887,DE -3111077888,3111078911,NL +3111077888,3111078911,GB 3111078912,3111079935,IT 3111079936,3111080959,IR 3111080960,3111081983,RU @@ -100835,7 +103352,7 @@ 3111096320,3111097343,AT 3111097344,3111098367,ES 3111098368,3111099391,SE -3111099392,3111100415,CH +3111099392,3111100415,SK 3111100416,3111101439,LB 3111101440,3111102463,RU 3111102464,3111103487,DE @@ -100874,8 +103391,7 @@ 3111135232,3111136255,PL 3111136256,3111137279,NL 3111137280,3111139327,CH -3111139328,3111139839,RU -3111139840,3111140351,BR +3111139328,3111140351,BR 3111140352,3111141375,IT 3111141376,3111142399,NL 3111142400,3111143423,DE @@ -100909,7 +103425,7 @@ 3111168000,3111169023,IR 3111169024,3111170047,UA 3111170048,3111171071,DE -3111171072,3111172095,PL +3111171072,3111171583,PL 3111172096,3111173119,RO 3111173120,3111174143,IQ 3111174144,3111175167,AZ @@ -100951,7 +103467,7 @@ 3111214080,3111215103,GB 3111215104,3111216127,SE 3111216128,3111217151,AT -3111217152,3111218175,IR +3111217152,3111218175,IQ 3111218176,3111219199,RU 3111219200,3111220223,IR 3111220224,3111221247,RU @@ -101034,7 +103550,7 @@ 3111290880,3111291903,UA 3111291904,3111292927,DE 3111292928,3111293951,SI -3111293952,3111294975,CY +3111293952,3111294975,DE 3111294976,3111295999,US 3111296000,3111297023,NL 3111297024,3111298047,IE @@ -101194,7 +103710,9 @@ 3111447776,3111447807,AT 3111447808,3111448063,GB 3111448064,3111448319,BG -3111448320,3111448575,GB +3111448320,3111448447,US +3111448448,3111448455,GB +3111448456,3111448575,US 3111448576,3111448960,NO 3111448961,3111449502,BE 3111449503,3111449599,NO @@ -101289,7 +103807,7 @@ 3111548928,3111549951,SA 3111549952,3111550975,NL 3111550976,3111551999,IQ -3111552000,3111553023,NL +3111552000,3111553023,US 3111553024,3111554047,IR 3111554048,3111555071,TR 3111555072,3111556095,DE @@ -101469,7 +103987,9 @@ 3111741440,3111743487,UA 3111743488,3111744511,NL 3111744512,3111745535,UA -3111745536,3111746559,MD +3111745536,3111746047,MD +3111746048,3111746303,RS +3111746304,3111746559,MD 3111746560,3111747583,TR 3111747584,3111748607,IR 3111748608,3111750655,GB @@ -101550,9 +104070,9 @@ 3111823104,3111823359,GB 3111823360,3111824383,NL 3111824384,3111825407,PL -3111825408,3111825919,GB +3111825408,3111825919,SA 3111825920,3111826175,LT -3111826176,3111826431,RU +3111826176,3111826431,SA 3111826432,3111827455,DE 3111827456,3111828479,ES 3111828480,3111829503,DK @@ -101592,7 +104112,65 @@ 3111866368,3111867391,GB 3111867392,3111868415,FR 3111868416,3111869439,DE -3111869440,3111870463,NO +3111869440,3111869440,NO +3111869441,3111869470,IN +3111869471,3111869472,NO +3111869473,3111869502,FI +3111869503,3111869504,NO +3111869505,3111869534,IE +3111869535,3111869536,NO +3111869537,3111869566,IL +3111869567,3111869568,NO +3111869569,3111869598,JP +3111869599,3111869632,NO +3111869633,3111869662,PT +3111869663,3111869664,NO +3111869665,3111869694,RU +3111869695,3111869696,NO +3111869697,3111869726,FI +3111869727,3111869728,NO +3111869729,3111869758,IE +3111869759,3111869760,NO +3111869761,3111869790,IL +3111869791,3111869792,NO +3111869793,3111869822,JP +3111869823,3111869856,NO +3111869857,3111869886,PT +3111869887,3111869888,NO +3111869889,3111869918,RU +3111869919,3111869919,NO +3111869920,3111869935,NZ +3111869936,3111869951,BR +3111869952,3111869952,NO +3111869953,3111869982,FI +3111869983,3111869984,NO +3111869985,3111870014,IE +3111870015,3111870016,NO +3111870017,3111870046,IL +3111870047,3111870048,NO +3111870049,3111870078,JP +3111870079,3111870112,NO +3111870113,3111870142,PT +3111870143,3111870144,NO +3111870145,3111870174,RU +3111870175,3111870175,NO +3111870176,3111870191,NZ +3111870192,3111870207,BR +3111870208,3111870208,NO +3111870209,3111870238,FI +3111870239,3111870240,NO +3111870241,3111870270,IE +3111870271,3111870272,NO +3111870273,3111870302,JP +3111870303,3111870336,NO +3111870337,3111870366,PT +3111870367,3111870368,NO +3111870369,3111870398,RU +3111870399,3111870399,NO +3111870400,3111870415,BR +3111870416,3111870431,BE +3111870432,3111870447,NZ +3111870448,3111870463,NO 3111870464,3111871487,GB 3111871488,3111873535,TR 3111873536,3111874559,AT @@ -101655,7 +104233,7 @@ 3111944192,3111945215,PL 3111945216,3111946239,CH 3111946240,3111948287,ES -3111948288,3111949311,AT +3111948288,3111949311,DE 3111949312,3111950335,IQ 3111950336,3111951359,RU 3111951360,3111952383,IR @@ -101690,7 +104268,7 @@ 3111983104,3111984127,UA 3111984128,3111985151,ES 3111985152,3111986175,TR -3111986176,3111987199,RU +3111986176,3111987199,DE 3111987200,3111988223,NL 3111988224,3111989247,KZ 3111989248,3111990015,RU @@ -101736,7 +104314,7 @@ 3112031232,3112032255,CH 3112032256,3112033279,RU 3112033280,3112034303,DK -3112034304,3112034305,DE +3112034304,3112034305,FR 3112034306,3112034306,GB 3112034307,3112034307,PL 3112034308,3112034308,FR @@ -101867,12 +104445,12 @@ 3112071168,3112072191,UA 3112072192,3112073215,RO 3112073216,3112074239,NL -3112074240,3112075263,IR +3112074240,3112075263,UA 3112075264,3112076287,RU 3112076288,3112077311,IR 3112077312,3112078335,GB 3112078336,3112079359,IT -3112079360,3112080383,IR +3112079360,3112080383,UA 3112080384,3112081407,GB 3112081408,3112082431,DK 3112082432,3112083455,IR @@ -101931,8 +104509,7 @@ 3112139776,3112140799,LB 3112140800,3112141569,ES 3112141570,3112141570,FR -3112141571,3112141571,DE -3112141572,3112141823,ES +3112141571,3112141823,ES 3112141824,3112142847,IT 3112142848,3112143871,NL 3112143872,3112144895,GB @@ -101943,11 +104520,12 @@ 3112150016,3112151039,RU 3112151040,3112152063,NO 3112152064,3112153087,CH -3112153088,3112154111,IR +3112153088,3112154111,AU 3112154112,3112155135,LB 3112155136,3112156159,NL 3112156160,3112157183,LB 3112158208,3112159231,IT +3112159232,3112160255,DE 3112160256,3112161279,CH 3112161280,3112162303,DE 3112162304,3112163327,IT @@ -101967,10 +104545,14 @@ 3112176640,3112177663,ES 3112177664,3112178687,FI 3112178688,3112179711,PL -3112179712,3112179967,SG +3112179712,3112179911,SG +3112179912,3112179919,BN +3112179920,3112179967,SG 3112179968,3112180223,FR 3112180224,3112180479,HU -3112180480,3112181759,IT +3112180480,3112180661,IT +3112180662,3112180662,RO +3112180663,3112181759,IT 3112181760,3112182783,NL 3112182784,3112183807,IQ 3112183808,3112184831,CH @@ -102009,7 +104591,8 @@ 3112217600,3112218623,CH 3112218624,3112219647,GB 3112219648,3112220671,SY -3112220672,3112221695,NL +3112220672,3112220927,GB +3112220928,3112221695,NL 3112221696,3112222719,DE 3112222720,3112223743,ES 3112223744,3112224767,RU @@ -102051,7 +104634,8 @@ 3112262656,3112263679,AZ 3112263680,3112265727,RU 3112265728,3112266751,ES -3112266752,3112267775,IR +3112266752,3112267007,IR +3112267008,3112267775,UA 3112267776,3112268799,PL 3112268800,3112269823,IR 3112269824,3112270847,RS @@ -102059,7 +104643,7 @@ 3112271872,3112272895,UA 3112272896,3112273919,IE 3112273920,3112274943,CZ -3112274944,3112275967,IR +3112274944,3112275967,UA 3112275968,3112276991,RU 3112276992,3112278015,LV 3112278016,3112279039,FI @@ -102093,8 +104677,11 @@ 3112310784,3112312831,ES 3112312832,3112313855,DE 3112313856,3112315903,GB -3112315904,3112316927,PL -3112316928,3112317951,IQ +3112315904,3112316159,SE +3112316160,3112316927,PL +3112316928,3112316929,IQ +3112316930,3112316930,IT +3112316931,3112317951,IQ 3112317952,3112318975,UA 3112318976,3112319999,TR 3112321024,3112322047,FI @@ -102234,12 +104821,14 @@ 3112474624,3112475647,GB 3112475648,3112476671,IL 3112476672,3112477695,ME -3112477696,3112479743,AE +3112477696,3112478719,ES +3112478720,3112479743,IT 3112479744,3112480767,RO 3112480768,3112482815,NL -3112482816,3112485887,AE +3112482816,3112484863,AE +3112484864,3112485887,ES 3112485888,3112486911,RU -3112486912,3112487935,AE +3112486912,3112487935,AD 3112487936,3112488959,KW 3112488960,3112489983,DE 3112489984,3112491007,IR @@ -102286,7 +104875,9 @@ 3112532992,3112534015,KW 3112534016,3112535039,FR 3112535040,3112536063,HR -3112536064,3112537087,ES +3112536064,3112536319,ES +3112536320,3112536575,PT +3112536576,3112537087,ES 3112537088,3112538111,NO 3112538112,3112539135,CZ 3112539136,3112540159,NL @@ -102416,7 +105007,7 @@ 3112665088,3112666111,GB 3112666112,3112666623,FR 3112666624,3112667135,NO -3112667136,3112668159,DE +3112667136,3112668159,US 3112668160,3112669183,UA 3112669184,3112670207,CZ 3112670208,3112671231,RU @@ -102426,7 +105017,8 @@ 3112674304,3112676351,GB 3112676352,3112677375,RU 3112677376,3112678399,FR -3112678400,3112679423,UA +3112678400,3112679167,UA +3112679168,3112679423,RU 3112679424,3112680447,NO 3112680448,3112681471,IQ 3112681472,3112682495,PL @@ -102450,13 +105042,13 @@ 3112702976,3112703231,SE 3112703232,3112703487,FI 3112703488,3112703743,DK -3112703744,3112703999,SE +3112703744,3112703999,NO 3112704000,3112705023,DE 3112705024,3112706047,ES 3112706048,3112707071,RU 3112707072,3112708095,FI 3112708096,3112709119,FR -3112709120,3112710143,DK +3112709120,3112710143,IL 3112710144,3112711167,NO 3112711168,3112712191,PT 3112712192,3112713215,TR @@ -102486,7 +105078,11 @@ 3112734720,3112735743,SY 3112735744,3112736767,IQ 3112736768,3112737791,PL -3112737792,3112741887,DE +3112737792,3112737983,DE +3112737984,3112737985,FR +3112737986,3112740415,DE +3112740416,3112740419,FR +3112740420,3112741887,DE 3112741888,3112742911,IR 3112742912,3112743935,RO 3112743936,3112744959,IR @@ -102507,9 +105103,12 @@ 3112762368,3112763391,IE 3112763392,3112764415,GB 3112764416,3112765439,NO -3112765440,3112766463,GB +3112765440,3112765695,GB +3112765696,3112765951,SG +3112765952,3112766463,GB 3112766464,3112767487,DE 3112767744,3112767871,NL +3112767872,3112767999,UA 3112768000,3112768018,NL 3112768019,3112768019,RU 3112768020,3112768511,NL @@ -102605,9 +105204,7 @@ 3112856576,3112857599,CZ 3112857600,3112858623,IE 3112858624,3112859647,FR -3112859648,3112860159,IQ -3112860160,3112860415,US -3112860416,3112860671,IQ +3112859648,3112860671,IQ 3112860672,3112861695,AT 3112861696,3112862719,RU 3112862720,3112863743,PS @@ -102624,7 +105221,8 @@ 3112876032,3112877055,KG 3112877056,3112878079,CZ 3112878080,3112880127,GB -3112880128,3112882175,RU +3112880128,3112881151,UA +3112881152,3112882175,RU 3112882176,3112883199,NL 3112883200,3112884223,RU 3112884224,3112885247,IT @@ -102721,7 +105319,9 @@ 3112971264,3112972287,FR 3112972288,3112973311,US 3112973312,3112973567,SE -3112973568,3112973823,DE +3112973568,3112973727,DE +3112973728,3112973728,LI +3112973729,3112973823,DE 3112973824,3112974079,UA 3112974080,3112974083,HU 3112974084,3112974087,AT @@ -102777,7 +105377,8 @@ 3113020416,3113021439,CZ 3113021440,3113022463,IR 3113022464,3113023487,CZ -3113023488,3113024511,SA +3113023488,3113023743,AE +3113023744,3113024511,SA 3113024512,3113025535,DE 3113025536,3113026559,CH 3113026560,3113027583,FR @@ -102790,7 +105391,7 @@ 3113032704,3113033727,SE 3113033728,3113034751,TR 3113034752,3113035775,IR -3113035776,3113036799,RU +3113035776,3113036799,UA 3113036800,3113037823,ES 3113037824,3113038847,IR 3113038848,3113039871,LV @@ -102809,7 +105410,8 @@ 3113052160,3113053183,IR 3113053184,3113054207,TR 3113054208,3113055231,SE -3113055232,3113056255,FR +3113055232,3113055999,FR +3113056000,3113056255,LU 3113056256,3113057279,DE 3113057280,3113058303,RU 3113058304,3113059327,FR @@ -102937,7 +105539,9 @@ 3113176064,3113177087,GB 3113177088,3113178111,BG 3113178112,3113179135,GB -3113179136,3113180159,RU +3113179136,3113179391,NL +3113179392,3113179647,RU +3113179648,3113180159,NL 3113180160,3113182207,ES 3113182208,3113183231,US 3113183232,3113184255,NL @@ -103006,7 +105610,8 @@ 3113236480,3113237503,NL 3113237504,3113238527,RU 3113238528,3113239551,IR -3113239552,3113240575,US +3113239552,3113240319,US +3113240320,3113240575,GB 3113240576,3113241599,IT 3113241600,3113242623,TR 3113242624,3113243647,RO @@ -103018,7 +105623,9 @@ 3113246976,3113247231,RU 3113247232,3113247487,CZ 3113247488,3113247743,RU -3113247744,3113248767,GB +3113247744,3113247999,GB +3113248000,3113248255,US +3113248256,3113248767,DE 3113248768,3113249791,NL 3113249792,3113250815,GB 3113250816,3113251839,FR @@ -103095,7 +105702,7 @@ 3113309184,3113310207,IT 3113310208,3113311231,GB 3113311232,3113312255,SE -3113312256,3113313279,BG +3113312256,3113313279,NL 3113313280,3113314303,IT 3113314304,3113315327,UA 3113315328,3113316351,CH @@ -103146,7 +105753,7 @@ 3113358336,3113359359,CZ 3113359360,3113360383,FR 3113360384,3113361407,BG -3113361408,3113362431,US +3113361408,3113362431,CA 3113362432,3113363455,DE 3113363456,3113364479,FR 3113364480,3113365503,GB @@ -103177,9 +105784,7 @@ 3113391104,3113392127,CZ 3113392128,3113393151,GB 3113393152,3113394175,RU -3113394176,3113394687,IT -3113394688,3113394943,JE -3113394944,3113395199,IT +3113394176,3113395199,IT 3113395200,3113396223,TR 3113396224,3113397247,RU 3113397248,3113398271,SE @@ -103257,7 +105862,7 @@ 3113465856,3113466879,GB 3113466880,3113467903,CH 3113467904,3113468927,RU -3113468928,3113469951,TR +3113468928,3113469951,UA 3113469952,3113470975,ME 3113470976,3113471999,FR 3113472000,3113473023,GB @@ -103265,7 +105870,9 @@ 3113473280,3113473535,SE 3113473536,3113473791,ES 3113473792,3113475071,DE -3113475072,3113476607,FR +3113475072,3113476095,FR +3113476096,3113476351,YT +3113476352,3113476607,FR 3113476608,3113477119,RE 3113477120,3113479167,FR 3113479168,3113480191,SE @@ -103282,9 +105889,11 @@ 3113490432,3113491455,RU 3113492480,3113493503,TR 3113493504,3113494527,RU -3113494528,3113497599,NL +3113494528,3113495551,NL +3113495552,3113496575,US +3113496576,3113497599,NL 3113497600,3113498623,ES -3113498624,3113499647,TR +3113498624,3113499647,UA 3113499648,3113500671,BG 3113500672,3113501695,PL 3113501696,3113502719,DE @@ -103432,7 +106041,8 @@ 3113649152,3113650175,PL 3113650176,3113651199,GB 3113651200,3113652223,SY -3113652224,3113653759,GB +3113652224,3113653247,GB +3113653248,3113653759,US 3113653760,3113653763,DE 3113653764,3113653767,FR 3113653768,3113653771,GB @@ -103451,7 +106061,7 @@ 3113653800,3113653801,IE 3113653802,3113653803,IS 3113653804,3113653805,FO -3113653806,3113653887,GB +3113653806,3113653887,US 3113653888,3113653889,DE 3113653890,3113653891,FR 3113653892,3113653893,GB @@ -103470,7 +106080,7 @@ 3113653908,3113653908,IE 3113653909,3113653909,IS 3113653910,3113653910,FO -3113653911,3113654015,GB +3113653911,3113654015,US 3113654016,3113654019,DE 3113654020,3113654023,FR 3113654024,3113654027,GB @@ -103489,7 +106099,7 @@ 3113654056,3113654057,IE 3113654058,3113654059,IS 3113654060,3113654061,FO -3113654062,3113654271,GB +3113654062,3113654271,US 3113654272,3113655295,RU 3113655296,3113656319,NL 3113656320,3113657343,FR @@ -103528,7 +106138,9 @@ 3113691136,3113692159,KZ 3113692160,3113693183,GB 3113693184,3113694207,DE -3113694208,3113695231,GB +3113694208,3113695227,FR +3113695228,3113695228,GB +3113695229,3113695231,FR 3113695232,3113695347,DE 3113695348,3113695351,GB 3113695352,3113695359,DE @@ -103628,9 +106240,7 @@ 3113777152,3113778175,PL 3113778176,3113779199,TR 3113779200,3113780223,GB -3113780224,3113780479,RU -3113780480,3113780735,SG -3113780736,3113781247,RU +3113780224,3113781247,RU 3113781248,3113782271,BY 3113782272,3113783295,IT 3113783296,3113784319,TR @@ -103714,7 +106324,6 @@ 3113861120,3113862143,CZ 3113862144,3113863167,MD 3113863168,3113863423,NL -3113863424,3113864191,LT 3113864192,3113865215,GB 3113865216,3113866239,IR 3113866240,3113867263,LB @@ -103844,7 +106453,8 @@ 3113990144,3113991167,CH 3113991168,3113993215,DE 3113993216,3113994239,IT -3113994240,3113995263,NL +3113994240,3113995007,FR +3113995008,3113995263,IT 3113995264,3113996287,ES 3113996288,3113997311,HR 3113997312,3113998335,NO @@ -104120,7 +106730,7 @@ 3114245376,3114245631,CH 3114245632,3114245887,IS 3114245888,3114246143,SE -3114246144,3114247167,TR +3114246144,3114247167,UA 3114248192,3114249215,CZ 3114249216,3114250239,RU 3114250240,3114251263,IR @@ -104169,7 +106779,7 @@ 3114285056,3114286079,NL 3114286080,3114287103,UA 3114287104,3114287359,AE -3114287360,3114288127,UA +3114287360,3114288127,US 3114289152,3114290175,NL 3114290176,3114291199,DE 3114291200,3114291455,ES @@ -104468,9 +107078,7 @@ 3114557440,3114558463,DE 3114558464,3114559487,ES 3114559488,3114560511,LB -3114560512,3114560767,DE -3114560768,3114561023,GB -3114561024,3114561535,DE +3114560512,3114561535,DE 3114561536,3114562559,TR 3114562560,3114563583,ES 3114563584,3114564607,GB @@ -104508,7 +107116,9 @@ 3114596352,3114597375,SY 3114597376,3114598399,IR 3114598400,3114600447,ES -3114600448,3114603519,DE +3114600448,3114601471,DE +3114601472,3114602495,SA +3114602496,3114603519,DE 3114603520,3114604543,TR 3114604544,3114605567,BG 3114605568,3114606591,IR @@ -104552,9 +107162,9 @@ 3114634240,3114635263,SK 3114635264,3114636287,FR 3114636288,3114637311,PL -3114637312,3114637567,NL -3114637568,3114637823,RU -3114637824,3114639103,NL +3114637312,3114638079,NL +3114638080,3114638335,CA +3114638336,3114639103,NL 3114639104,3114639359,PL 3114639360,3114640383,RU 3114640384,3114641407,ES @@ -104588,7 +107198,8 @@ 3114670080,3114671103,IQ 3114671104,3114672127,FI 3114672128,3114673151,SE -3114673152,3114675199,GB +3114673152,3114674175,ES +3114674176,3114675199,GB 3114675200,3114676223,NO 3114676224,3114677247,NL 3114677248,3114678271,SK @@ -104616,7 +107227,7 @@ 3114697728,3114699775,HU 3114699776,3114700799,NL 3114700800,3114701055,ES -3114701056,3114701823,UA +3114701056,3114701823,US 3114701824,3114702847,SE 3114702848,3114703871,LV 3114703872,3114704895,GB @@ -104637,14 +107248,17 @@ 3114721280,3114722303,GB 3114722304,3114723327,HU 3114723328,3114724351,SE -3114724352,3114725119,NL +3114724352,3114724767,NL +3114724768,3114724775,US +3114724776,3114725119,NL 3114725120,3114725375,US 3114725376,3114726399,RU 3114726400,3114727423,SE 3114727424,3114728447,BE 3114728448,3114729471,GB 3114729472,3114730495,AU -3114730496,3114731519,GB +3114730496,3114730751,CH +3114730752,3114731519,GB 3114731520,3114732543,CH 3114732544,3114733567,SY 3114733568,3114734591,FR @@ -104690,7 +107304,7 @@ 3114777600,3114778623,DE 3114778624,3114779647,IT 3114779648,3114780671,IE -3114780672,3114781695,LT +3114780672,3114781695,SA 3114781696,3114782719,NL 3114782720,3114783743,CZ 3114783744,3114784767,PL @@ -104731,7 +107345,7 @@ 3114819584,3114820607,IT 3114820608,3114821631,AT 3114821632,3114822655,ES -3114822656,3114823679,UA +3114822656,3114823679,US 3114823680,3114824703,NL 3114824704,3114825727,HR 3114825728,3114826751,GB @@ -104771,7 +107385,9 @@ 3114858496,3114858751,NL 3114858752,3114859519,FR 3114859520,3114860543,NL -3114860544,3114861567,DE +3114860544,3114860799,DE +3114860800,3114861311,US +3114861312,3114861567,DE 3114861568,3114862591,AE 3114862592,3114863615,AT 3114863616,3114864639,DK @@ -104797,7 +107413,8 @@ 3114885120,3114886143,PT 3114886144,3114887167,RU 3114887168,3114888191,DE -3114888192,3114890239,NL +3114888192,3114889215,US +3114889216,3114890239,NL 3114890240,3114892287,GB 3114892288,3114893311,DE 3114893312,3114894335,TR @@ -104815,7 +107432,9 @@ 3114905600,3114906623,IT 3114906624,3114907647,TR 3114907648,3114908671,IT -3114908672,3114909695,IS +3114908672,3114909183,IS +3114909184,3114909439,LV +3114909440,3114909695,IS 3114909696,3114910719,DE 3114910720,3114911231,NL 3114911232,3114911743,GB @@ -104868,7 +107487,7 @@ 3114954752,3114955775,DE 3114955776,3114956799,AE 3114956800,3114957823,DE -3114958848,3114959871,NL +3114958848,3114959871,LB 3114959872,3114960895,CH 3114960896,3114961919,IT 3114961920,3114962943,GR @@ -104934,7 +107553,7 @@ 3115020288,3115021311,FR 3115021312,3115022335,AE 3115023360,3115024127,FR -3115024128,3115024383,CZ +3115024128,3115024383,SE 3115024384,3115025407,NL 3115025408,3115026431,SY 3115026432,3115027455,DE @@ -104954,7 +107573,7 @@ 3115041792,3115042815,DK 3115042816,3115043839,RU 3115043840,3115044863,DE -3115044864,3115045887,NL +3115044864,3115045887,US 3115045888,3115046911,IT 3115046912,3115047935,DE 3115047936,3115048959,GB @@ -104991,7 +107610,7 @@ 3115079680,3115080703,MD 3115080704,3115081727,LI 3115081728,3115082751,ES -3115082752,3115083775,UA +3115082752,3115083775,CH 3115083776,3115084799,SK 3115084800,3115085823,NL 3115085824,3115086847,GB @@ -105009,7 +107628,8 @@ 3115095040,3115096063,DE 3115096064,3115097087,FR 3115097088,3115098111,LT -3115098112,3115099391,NL +3115098112,3115099135,NL +3115099136,3115099391,DE 3115099392,3115099647,US 3115099648,3115100159,NL 3115100160,3115101183,ES @@ -105108,7 +107728,8 @@ 3115195392,3115196415,TR 3115196416,3115197439,LI 3115197440,3115198463,DE -3115198464,3115199487,NL +3115198464,3115198719,NO +3115198720,3115199487,NL 3115199488,3115200511,CZ 3115200512,3115201535,DE 3115201536,3115202559,FR @@ -105226,9 +107847,7 @@ 3115301888,3115302911,SK 3115302912,3115303935,LT 3115303936,3115305983,NL -3115305984,3115306239,BE -3115306240,3115306495,TR -3115306496,3115307007,BE +3115305984,3115307007,BE 3115307008,3115307519,DE 3115307520,3115308031,CA 3115308032,3115309055,IT @@ -105247,7 +107866,8 @@ 3115322368,3115323391,IE 3115323392,3115324415,DE 3115324416,3115325439,IT -3115325440,3115326463,RU +3115325440,3115326207,RU +3115326208,3115326463,BG 3115326464,3115327487,SE 3115327488,3115328511,IR 3115328512,3115329535,NO @@ -105286,14 +107906,14 @@ 3115366400,3115367423,SE 3115367424,3115368447,ES 3115368448,3115369471,BG -3115369472,3115370495,GB +3115369472,3115370495,MT 3115370496,3115371519,IT 3115371520,3115372543,GB 3115372544,3115373567,LB 3115373568,3115374591,NO 3115374592,3115375615,BG 3115375616,3115376639,LV -3115376640,3115377663,UA +3115376640,3115377663,CH 3115377664,3115378687,DE 3115378688,3115379711,FR 3115379712,3115380735,CH @@ -105306,9 +107926,10 @@ 3115385856,3115387903,SK 3115387904,3115388927,MK 3115388928,3115389951,AT -3115389952,3115390207,DE -3115390208,3115390719,GB +3115389952,3115390463,DE +3115390464,3115390719,GB 3115390720,3115390975,NL +3115390976,3115391999,TR 3115392000,3115393023,AL 3115393024,3115395071,IT 3115395072,3115396095,ES @@ -105316,26 +107937,23 @@ 3115397120,3115398143,MT 3115398144,3115399167,RU 3115399168,3115400191,BG -3115400192,3115401215,RU +3115400192,3115401215,CH 3115401216,3115402239,GB 3115402240,3115402495,IE 3115402496,3115403263,US 3115403264,3115404287,ES 3115405312,3115405567,US -3115405568,3115405823,DE -3115405824,3115406335,GB -3115406336,3115407359,DE +3115405568,3115407359,DE 3115407360,3115408383,CY 3115408384,3115409407,MD 3115409408,3115410431,RU 3115410432,3115411455,NL 3115411456,3115412479,AM 3115412480,3115414527,RU -3115414528,3115415551,DE +3115414528,3115415551,US 3115415552,3115416575,DK 3115416576,3115417599,MD -3115417856,3115418367,DE -3115418368,3115418623,US +3115417856,3115418623,DE 3115418624,3115419647,IS 3115419648,3115420671,NL 3115420672,3115421695,DE @@ -105369,7 +107987,7 @@ 3115446272,3115447295,UA 3115447296,3115448319,IT 3115448320,3115449343,DE -3115449344,3115450367,BG +3115449344,3115450367,DK 3115450368,3115451391,AT 3115451392,3115452415,BG 3115452416,3115453439,IT @@ -105392,7 +108010,7 @@ 3115469824,3115470847,FR 3115470848,3115471871,ES 3115471872,3115472895,PL -3115472896,3115473919,UA +3115472896,3115473919,GB 3115473920,3115474943,IT 3115474944,3115475967,PL 3115475968,3115476991,IT @@ -105532,7 +108150,8 @@ 3115606016,3115607039,NL 3115607040,3115608063,MD 3115608064,3115609087,NL -3115609088,3115610111,RU +3115609088,3115609343,RU +3115609344,3115610111,BR 3115610112,3115611135,PL 3115611136,3115612159,GB 3115612160,3115613183,IT @@ -105647,9 +108266,7 @@ 3115725824,3115726847,GB 3115726848,3115727871,NL 3115727872,3115728127,US -3115728128,3115728383,GB -3115728384,3115728639,US -3115728640,3115728703,GB +3115728128,3115728703,GB 3115728704,3115728735,NL 3115728736,3115728895,GB 3115728896,3115729919,FR @@ -105723,8 +108340,9 @@ 3115799552,3115799807,US 3115799808,3115800063,DE 3115800064,3115800319,GB -3115800320,3115801599,DE -3115801600,3115801855,LB +3115800320,3115800575,US +3115800576,3115801599,DE +3115801600,3115802623,LB 3115802624,3115802879,NL 3115802880,3115803135,RO 3115803136,3115803391,NL @@ -105772,7 +108390,8 @@ 3115842560,3115843583,FR 3115843584,3115844607,ES 3115844608,3115845631,FR -3115845632,3115846655,PL +3115845632,3115846399,PL +3115846400,3115846655,SG 3115846656,3115847679,CH 3115847680,3115848703,IL 3115848704,3115849727,AE @@ -105809,7 +108428,9 @@ 3115879680,3115880447,CR 3115880448,3115881471,LT 3115881472,3115882495,ES -3115882496,3115884543,GB +3115882496,3115883775,GB +3115883776,3115884031,US +3115884032,3115884543,GB 3115884544,3115885567,DE 3115885568,3115886591,NL 3115886592,3115887615,UA @@ -105876,8 +108497,7 @@ 3115947008,3115948031,RU 3115948032,3115949055,GB 3115949056,3115950079,GR -3115950080,3115950591,IE -3115950592,3115951103,GB +3115950080,3115951103,GB 3115951104,3115952127,NL 3115952128,3115953151,FI 3115953152,3115954175,IQ @@ -105905,7 +108525,7 @@ 3115974656,3115975679,RU 3115975680,3115975935,US 3115975936,3115976703,GB -3115976704,3115976959,US +3115976704,3115976959,NL 3115976960,3115977471,GB 3115977472,3115977727,US 3115977728,3115978751,IT @@ -105921,7 +108541,7 @@ 3115988992,3115990015,SE 3115990016,3115991039,RO 3115991040,3115991295,NL -3115991296,3115991551,US +3115991296,3115991551,RU 3115991552,3115991807,IL 3115991808,3115992063,NL 3115992064,3115993087,IT @@ -105930,7 +108550,8 @@ 3115994368,3115994623,GB 3115994624,3115994879,SE 3115994880,3115995135,DK -3115995136,3115995647,RS +3115995136,3115995391,XK +3115995392,3115995647,RS 3115995648,3115995903,AL 3115995904,3115996159,RS 3115996160,3115997183,GR @@ -106028,8 +108649,9 @@ 3116091392,3116092415,DE 3116092416,3116093439,IQ 3116093440,3116094463,FR -3116094464,3116094975,US -3116094976,3116095487,CZ +3116094464,3116094975,IT +3116094976,3116095231,MC +3116095232,3116095487,MD 3116095488,3116096511,FR 3116096512,3116097535,SY 3116097536,3116098559,NL @@ -106039,10 +108661,7 @@ 3116101632,3116101887,GB 3116101888,3116102143,NL 3116102144,3116102655,GB -3116102656,3116102911,FR -3116102912,3116103167,DE -3116103168,3116103423,SG -3116103424,3116103679,US +3116102656,3116103679,FR 3116103680,3116104703,HU 3116104704,3116105727,SE 3116105728,3116107007,DE @@ -106058,7 +108677,9 @@ 3116114944,3116115967,TR 3116115968,3116116991,NL 3116116992,3116118015,CH -3116118016,3116120063,DE +3116118016,3116119295,DE +3116119296,3116119551,AT +3116119552,3116120063,DE 3116120064,3116121087,HU 3116121344,3116121599,GB 3116122112,3116123135,DE @@ -106118,7 +108739,8 @@ 3116183552,3116184575,SE 3116184576,3116185599,TR 3116185600,3116185855,US -3116185856,3116186623,GB +3116185856,3116186111,NL +3116186112,3116186623,GB 3116186624,3116187647,IT 3116187648,3116188671,ES 3116188672,3116189695,MD @@ -106175,7 +108797,8 @@ 3116239872,3116240895,IE 3116240896,3116241151,US 3116241152,3116241407,FR -3116241408,3116241919,US +3116241408,3116241663,US +3116241664,3116241919,NL 3116241920,3116242943,IR 3116242944,3116243967,NL 3116243968,3116244991,LB @@ -106296,8 +108919,7 @@ 3116363776,3116364799,NL 3116364800,3116365823,PL 3116365824,3116367871,ES -3116367872,3116368127,GR -3116368128,3116368895,NL +3116367872,3116368895,GR 3116368896,3116369919,GI 3116369920,3116370943,IR 3116370944,3116371967,FI @@ -106313,8 +108935,7 @@ 3116380160,3116381183,DE 3116381184,3116382207,LB 3116382208,3116382463,JP -3116382464,3116382719,GU -3116382720,3116382975,AQ +3116382464,3116382975,AQ 3116382976,3116383231,DE 3116383232,3116384255,RU 3116384256,3116385279,DE @@ -106423,7 +109044,7 @@ 3116489728,3116490751,HU 3116490752,3116491775,CH 3116491776,3116492799,DE -3116492800,3116493823,AF +3116492800,3116493823,IR 3116493824,3116494847,DK 3116494848,3116495871,NL 3116495872,3116496895,CH @@ -106492,8 +109113,7 @@ 3116546384,3116546399,GR 3116546400,3116546415,NO 3116546416,3116546431,SI -3116546432,3116546815,LU -3116546816,3116547071,BE +3116546432,3116547071,BE 3116547072,3116548095,UA 3116548096,3116549119,NL 3116549120,3116550143,TJ @@ -106529,7 +109149,8 @@ 3116580864,3116581887,US 3116581888,3116582911,CH 3116582912,3116583935,IR -3116583936,3116584959,TR +3116583936,3116584703,TR +3116584704,3116584959,NL 3116584960,3116587007,CZ 3116587008,3116588031,FR 3116588032,3116589055,SE @@ -106747,7 +109368,8 @@ 3116813312,3116814335,CH 3116814336,3116815359,IT 3116815360,3116816383,MD -3116816384,3116818431,DE +3116816384,3116817407,DE +3116817408,3116818431,US 3116818432,3116819455,FR 3116819456,3116820479,GB 3116820480,3116822527,AT @@ -106829,7 +109451,7 @@ 3116897280,3116898303,TR 3116898304,3116899327,ES 3116899328,3116900351,TR -3116900352,3116901375,DE +3116900352,3116901375,US 3116901376,3116902399,TR 3116902400,3116903423,BG 3116903424,3116905471,PL @@ -106900,7 +109522,7 @@ 3116965888,3116966911,GB 3116966912,3116967935,BG 3116967936,3116968447,DE -3116968448,3116968703,NO +3116968448,3116968703,IE 3116968704,3116968959,DE 3116968960,3116969983,RU 3116969984,3116971007,IR @@ -106937,7 +109559,7 @@ 3117003776,3117004799,GB 3117004800,3117005823,IT 3117005824,3117005855,PT -3117006080,3117006335,AE +3117005856,3117006335,AE 3117006336,3117006591,IR 3117006592,3117006847,AE 3117006848,3117007871,KW @@ -107051,7 +109673,7 @@ 3117118464,3117119487,BG 3117119488,3117119999,DE 3117120000,3117120255,IN -3117120256,3117120511,DE +3117120256,3117120511,US 3117120512,3117121535,IT 3117121536,3117122559,PL 3117122560,3117123583,CH @@ -107081,7 +109703,7 @@ 3117149184,3117150207,RU 3117150208,3117151231,NL 3117151232,3117152255,UA -3117152256,3117153279,RO +3117152256,3117153279,GB 3117153280,3117154303,PL 3117154304,3117154559,RU 3117154560,3117154815,FI @@ -107108,7 +109730,7 @@ 3117176832,3117177855,SY 3117177856,3117178879,IE 3117178880,3117179903,DE -3117179904,3117180927,ES +3117179904,3117180927,GB 3117180928,3117181951,FR 3117181952,3117182975,RU 3117182976,3117183999,DK @@ -107132,7 +109754,9 @@ 3117201408,3117202431,US 3117202432,3117203455,FR 3117203456,3117204479,PL -3117204480,3117205503,NL +3117204480,3117204735,ES +3117204736,3117204991,IT +3117204992,3117205503,NL 3117205504,3117206527,ES 3117206528,3117208575,FR 3117208576,3117209599,GB @@ -107206,7 +109830,7 @@ 3117270016,3117271039,TR 3117271040,3117272063,RU 3117272064,3117272831,GB -3117272832,3117273087,RU +3117272832,3117273087,BY 3117273088,3117274111,BG 3117274112,3117276159,DE 3117276160,3117277183,IR @@ -107240,7 +109864,7 @@ 3117305856,3117306879,RO 3117306880,3117307903,IT 3117307904,3117308927,DE -3117308928,3117309951,IN +3117308928,3117309951,US 3117309952,3117310975,KW 3117310976,3117311999,RU 3117312000,3117313023,DE @@ -107258,10 +109882,13 @@ 3117323264,3117324287,GB 3117324288,3117325311,DE 3117325312,3117326335,DK -3117326336,3117327359,DE +3117326336,3117326847,NL +3117326848,3117327359,US 3117327360,3117328383,RU 3117328384,3117329407,FR -3117329408,3117330431,IQ +3117329408,3117329536,IQ +3117329537,3117329537,IT +3117329538,3117330431,IQ 3117330432,3117331455,FI 3117331456,3117332479,DE 3117332480,3117333503,SI @@ -107324,8 +109951,8 @@ 3117392896,3117393919,NL 3117393920,3117394943,CZ 3117394944,3117395967,ES -3117395968,3117396479,GB -3117396480,3117396735,US +3117395968,3117396223,GB +3117396224,3117396735,US 3117396736,3117396991,TR 3117396992,3117398015,MD 3117398016,3117399039,UA @@ -107382,7 +110009,8 @@ 3117452288,3117453311,FR 3117453312,3117454335,ES 3117454336,3117455359,IR -3117455360,3117456127,CZ +3117455360,3117455871,CZ +3117455872,3117456127,ME 3117456128,3117456383,DK 3117456384,3117457407,CH 3117457408,3117458431,DE @@ -107472,7 +110100,7 @@ 3117540352,3117541375,US 3117541376,3117542399,BG 3117542400,3117543423,DE -3117543424,3117544447,PT +3117543424,3117544447,GB 3117544448,3117545471,DE 3117545472,3117546495,PL 3117546496,3117547519,US @@ -107554,7 +110182,8 @@ 3117623296,3117624319,HU 3117624320,3117625343,GB 3117625344,3117625599,NL -3117625600,3117626367,GB +3117625600,3117625855,US +3117625856,3117626367,GB 3117626368,3117627391,NO 3117627392,3117628415,IR 3117628416,3117629439,DE @@ -107620,7 +110249,8 @@ 3117693952,3117693952,IR 3117693953,3117694975,AU 3117694976,3117695999,PL -3117696000,3117696511,GB +3117696000,3117696255,US +3117696256,3117696511,GB 3117696512,3117697023,US 3117697024,3117698047,FR 3117698048,3117699071,DE @@ -107664,7 +110294,12 @@ 3117732864,3117733887,FR 3117733888,3117734911,GB 3117734912,3117735935,LB -3117735936,3117736959,FR +3117735936,3117736847,FR +3117736848,3117736855,NL +3117736856,3117736863,DE +3117736864,3117736867,PL +3117736868,3117736871,RU +3117736872,3117736959,FR 3117736960,3117737983,IE 3117737984,3117739007,NL 3117739008,3117743103,UA @@ -107753,7 +110388,7 @@ 3117826048,3117827071,DE 3117827072,3117827327,AT 3117827328,3117827583,GB -3117827584,3117828095,AT +3117827584,3117828095,US 3117828096,3117829119,NL 3117829120,3117830143,RU 3117830144,3117832191,ES @@ -107829,7 +110464,7 @@ 3117900800,3117901823,DE 3117901824,3117902847,ES 3117902848,3117903871,IE -3117903872,3117904895,PT +3117903872,3117904895,GB 3117904896,3117905919,IE 3117905920,3117906943,CH 3117906944,3117907967,IR @@ -107859,7 +110494,8 @@ 3117930240,3117930495,TW 3117930496,3117931519,AT 3117931520,3117933567,US -3117933568,3117936639,IR +3117933568,3117935615,IR +3117935616,3117936639,AU 3117936640,3117937663,IT 3117937664,3117938687,IR 3117938688,3117939711,DK @@ -107892,10 +110528,12 @@ 3117959168,3117960191,US 3117960192,3117961215,GB 3117961216,3117962239,RU -3117962240,3117963263,DE +3117962240,3117963007,DE +3117963008,3117963263,UA 3117963264,3117964287,IT 3117964288,3117965055,FR 3117965056,3117965311,SG +3117965312,3117966335,FR 3117966336,3117967359,RU 3117967360,3117969407,GB 3117969408,3117970431,TR @@ -107926,13 +110564,16 @@ 3117996032,3117997055,ES 3117997056,3117998079,CZ 3117998080,3117999103,DE -3117999104,3117999871,US -3117999872,3118002175,DE +3117999104,3118000127,US +3118000128,3118002175,DE 3118002176,3118003199,FR 3118003200,3118004223,RU 3118004224,3118005247,NL 3118005248,3118006271,ES -3118006272,3118007295,SE +3118006272,3118006360,LV +3118006361,3118006361,SE +3118006362,3118006399,LV +3118006400,3118007295,SE 3118007296,3118008319,AX 3118008320,3118009343,SA 3118009344,3118010367,ES @@ -108057,7 +110698,7 @@ 3118135296,3118136319,FR 3118136320,3118137343,ES 3118137344,3118138367,IT -3118138368,3118139391,GB +3118138368,3118139391,RU 3118139392,3118140415,ES 3118140416,3118141439,FR 3118141440,3118142463,CZ @@ -108119,14 +110760,7 @@ 3118203904,3118204927,FR 3118204928,3118205951,ES 3118205952,3118206975,GB -3118206976,3118206976,GR -3118206977,3118207231,BG -3118207232,3118207232,GR -3118207233,3118207487,BG -3118207488,3118207488,GR -3118207489,3118207743,BG -3118207744,3118207744,GR -3118207745,3118207999,BG +3118206976,3118207999,GR 3118208000,3118209023,US 3118209024,3118210047,HR 3118210048,3118211071,CZ @@ -108145,7 +110779,7 @@ 3118223360,3118224383,US 3118224384,3118225407,ES 3118225408,3118226431,GB -3118226432,3118227455,LV +3118226432,3118227455,UA 3118227456,3118229503,DE 3118229504,3118231551,NL 3118231552,3118232575,IQ @@ -108209,7 +110843,9 @@ 3118285870,3118285871,IN 3118285872,3118285875,AU 3118285876,3118285877,NZ -3118285878,3118286079,AU +3118285878,3118285879,AU +3118285880,3118285881,JP +3118285882,3118286079,AU 3118286080,3118286111,SG 3118286112,3118286113,MY 3118286114,3118286115,ID @@ -108223,7 +110859,8 @@ 3118286130,3118286131,NP 3118286132,3118286133,SG 3118286134,3118286135,AU -3118286136,3118286335,SG +3118286136,3118286137,JP +3118286138,3118286335,SG 3118286336,3118286367,JP 3118286368,3118286369,MY 3118286370,3118286371,ID @@ -108250,8 +110887,7 @@ 3118298112,3118300159,RU 3118300160,3118301183,CZ 3118301184,3118302207,ES -3118302208,3118303231,US -3118303232,3118304255,DE +3118302208,3118304255,US 3118304256,3118305279,HU 3118305280,3118306303,GB 3118306304,3118307327,DE @@ -108262,7 +110898,7 @@ 3118312448,3118313471,IT 3118313472,3118314495,IS 3118314496,3118315519,UA -3118315520,3118316543,NL +3118315520,3118316543,BE 3118316544,3118317567,ES 3118317568,3118318591,IR 3118318592,3118319615,IT @@ -108270,11 +110906,14 @@ 3118320640,3118321663,GB 3118321664,3118322687,DE 3118322688,3118323711,RU -3118323712,3118324735,GB +3118323712,3118324479,GB +3118324480,3118324735,US 3118324736,3118325759,RO 3118325760,3118327807,FR 3118327808,3118328831,IS -3118328832,3118329855,FR +3118328832,3118329343,GB +3118329344,3118329599,FR +3118329600,3118329855,GB 3118329856,3118330879,IT 3118330880,3118331903,DK 3118331904,3118332927,NL @@ -108329,8 +110968,8 @@ 3118382080,3118383103,ES 3118383104,3118384127,FR 3118384128,3118385151,PT -3118385152,3118385919,UA -3118385920,3118387199,DE +3118385152,3118386175,UA +3118386176,3118387199,DE 3118387200,3118388223,GB 3118388224,3118389247,FR 3118389248,3118390271,GB @@ -108405,8 +111044,8 @@ 3118460928,3118461951,ES 3118461952,3118462975,UA 3118462976,3118463999,RU -3118464000,3118464767,DE -3118464768,3118465023,US +3118464000,3118464511,DE +3118464512,3118465023,US 3118465024,3118466047,TR 3118466048,3118467071,HU 3118467072,3118468095,RU @@ -108523,7 +111162,9 @@ 3118562304,3118563071,KZ 3118563072,3118563327,EE 3118563328,3118564351,MD -3118564352,3118567423,DE +3118564352,3118565375,DE +3118565376,3118566399,US +3118566400,3118567423,DE 3118567424,3118568447,MD 3118568448,3118569471,ES 3118569472,3118570495,RU @@ -108573,7 +111214,7 @@ 3118611456,3118612479,PL 3118612480,3118613503,GR 3118613504,3118614527,RO -3118614528,3118614783,DE +3118614528,3118614783,US 3118614784,3118615039,TR 3118615040,3118615295,GB 3118615296,3118615551,TR @@ -108612,7 +111253,7 @@ 3118647296,3118648319,NO 3118648320,3118649343,NL 3118649344,3118650367,GB -3118650368,3118651391,DE +3118650368,3118651391,US 3118651392,3118652415,IE 3118652416,3118653439,GB 3118653440,3118657535,ES @@ -108638,8 +111279,9 @@ 3118676992,3118678015,GB 3118678016,3118679039,IR 3118679040,3118679295,FI -3118679296,3118679551,NL -3118679552,3118680063,GB +3118679296,3118679551,DE +3118679552,3118679807,GB +3118679808,3118680063,DE 3118680064,3118681087,MD 3118681088,3118682111,SE 3118682112,3118682943,NL @@ -108663,7 +111305,7 @@ 3118696448,3118696703,RO 3118696704,3118696959,IR 3118696960,3118697215,TR -3118697216,3118697471,IR +3118697216,3118697471,US 3118697472,3118698495,SY 3118698496,3118699519,ES 3118699520,3118700543,CH @@ -108685,7 +111327,8 @@ 3118721024,3118722047,FR 3118722048,3118723071,IQ 3118723072,3118724095,GB -3118724096,3118725119,MD +3118724096,3118724097,MD +3118724098,3118725119,ES 3118725120,3118726143,GB 3118726144,3118726399,HK 3118726400,3118726911,GB @@ -108693,7 +111336,8 @@ 3118727168,3118729215,ES 3118729216,3118730239,DE 3118730240,3118731263,SY -3118731264,3118732287,DE +3118731264,3118732031,DE +3118732032,3118732287,US 3118732288,3118733311,FR 3118733312,3118734335,BG 3118734336,3118735359,SE @@ -108742,7 +111386,7 @@ 3118784512,3118785535,MD 3118785536,3118786559,FR 3118786560,3118787583,RU -3118787584,3118788607,IN +3118787584,3118788607,US 3118788608,3118789631,DE 3118789632,3118790655,SA 3118790656,3118791679,IT @@ -108776,7 +111420,9 @@ 3118818304,3118819327,DE 3118819328,3118820351,MD 3118820352,3118821375,GE -3118821376,3118822911,DE +3118821376,3118821887,SG +3118821888,3118822399,LT +3118822400,3118822911,DE 3118822912,3118823423,US 3118823424,3118824447,RU 3118824448,3118825471,PL @@ -108816,8 +111462,7 @@ 3118858240,3118859263,ES 3118859264,3118860287,BG 3118860288,3118861311,FR -3118861312,3118861567,DE -3118861568,3118862335,RU +3118861312,3118862335,DE 3118862336,3118863359,RO 3118863360,3118864383,CH 3118864384,3118865407,SE @@ -108829,8 +111474,7 @@ 3118870528,3118872575,ES 3118872576,3118873599,MK 3118873600,3118874111,US -3118874112,3118874112,IE -3118874113,3118874367,IL +3118874112,3118874367,IE 3118874368,3118874623,US 3118874624,3118875647,ES 3118875648,3118876671,DE @@ -108845,7 +111489,9 @@ 3118885888,3118886911,PL 3118886912,3118887935,CY 3118887936,3118888959,CH -3118888960,3118889983,CZ +3118888960,3118889215,BA +3118889216,3118889471,LI +3118889472,3118889983,CZ 3118889984,3118890239,ES 3118890240,3118890495,CH 3118890496,3118890751,US @@ -108896,8 +111542,7 @@ 3118935040,3118936063,SY 3118936064,3118937087,RU 3118937088,3118938111,CH -3118938112,3118938623,GB -3118938624,3118939135,RU +3118938112,3118939135,RU 3118939136,3118940159,DE 3118940160,3118941183,CY 3118941184,3118942207,NL @@ -108912,6 +111557,7 @@ 3118950400,3118951423,CH 3118951424,3118952447,TR 3118952448,3118952703,IR +3118952960,3118953215,PT 3118953472,3118954495,ES 3118954496,3118955519,FR 3118955520,3118956543,DE @@ -108926,7 +111572,7 @@ 3118965760,3118967807,FR 3118967808,3118968831,EG 3118968832,3118969855,SK -3118969856,3118970879,IN +3118969856,3118970879,US 3118970880,3118971903,SA 3118971904,3118972927,PL 3118972928,3118973951,NL @@ -108938,7 +111584,8 @@ 3118979072,3118980095,GB 3118980096,3118981119,NL 3118982144,3118983167,LV -3118983168,3118984191,RU +3118983168,3118983679,RU +3118983680,3118984191,DE 3118984192,3118985215,CZ 3118985216,3118987263,RU 3118987264,3118991359,DE @@ -108952,11 +111599,11 @@ 3118995200,3118995455,DE 3118995456,3118996479,FR 3118996480,3118997503,EE -3118997504,3118998527,IR +3118997504,3118998527,AU 3118998528,3118999551,ES 3118999552,3119000319,RU -3119000320,3119001087,GB -3119001088,3119001599,RU +3119000320,3119000575,GB +3119000576,3119001599,RU 3119001600,3119002623,ES 3119002624,3119004671,NL 3119004672,3119005695,RU @@ -108967,8 +111614,7 @@ 3119009792,3119010815,HU 3119010816,3119011583,RU 3119011584,3119011839,EE -3119011840,3119012351,GB -3119012352,3119012863,RU +3119011840,3119012863,RU 3119012864,3119013887,DE 3119013888,3119014911,RU 3119014912,3119015935,DE @@ -109091,12 +111737,9 @@ 3119142912,3119143935,PL 3119143936,3119144959,NO 3119144960,3119145983,NL -3119145984,3119147007,ES +3119145984,3119147007,GB 3119147008,3119148031,FR -3119148032,3119148543,GB -3119148544,3119149055,RU -3119149056,3119149823,NL -3119149824,3119152127,RU +3119148032,3119152127,RU 3119152128,3119153151,PT 3119153152,3119154175,RO 3119154176,3119155199,CZ @@ -109133,12 +111776,10 @@ 3119181824,3119182847,PL 3119182848,3119183871,RU 3119183872,3119184895,SK -3119184896,3119185407,GB -3119185408,3119185919,RU +3119184896,3119185919,RU 3119185920,3119186943,GB 3119186944,3119187967,FR -3119187968,3119188479,GB -3119188480,3119188991,RU +3119187968,3119188991,RU 3119188992,3119190015,NL 3119190016,3119191039,SY 3119191040,3119192063,IT @@ -109150,8 +111791,7 @@ 3119198208,3119199231,CZ 3119200256,3119201279,DE 3119201280,3119203327,RU -3119203328,3119203839,RO -3119203840,3119204351,PL +3119203328,3119204351,RO 3119204352,3119206399,RU 3119207424,3119208447,FR 3119208448,3119210495,RU @@ -109188,16 +111828,15 @@ 3119241216,3119242239,UA 3119242240,3119243263,ES 3119243264,3119244287,DE -3119244288,3119245311,RU -3119245312,3119247359,DE +3119244288,3119244799,RU +3119244800,3119247359,DE 3119247360,3119248383,UA 3119248384,3119249407,RU 3119249408,3119250431,PL 3119250432,3119251455,CY 3119251456,3119252479,FR 3119252480,3119253503,NL -3119253504,3119254015,DE -3119254016,3119254271,SE +3119253504,3119254271,DE 3119254272,3119254527,GB 3119254528,3119255551,ES 3119255552,3119256575,NL @@ -109379,7 +112018,8 @@ 3119439872,3119440895,GB 3119440896,3119442943,ES 3119442944,3119443967,PL -3119443968,3119444991,DE +3119443968,3119444735,US +3119444736,3119444991,DE 3119444992,3119446015,RS 3119446016,3119447039,IT 3119448064,3119449087,IR @@ -109409,7 +112049,7 @@ 3119472640,3119473663,IT 3119473664,3119474687,BE 3119474688,3119475711,DE -3119475712,3119476735,FR +3119475712,3119476735,MQ 3119476736,3119477759,GB 3119477760,3119479807,RU 3119479808,3119480831,BG @@ -109500,7 +112140,8 @@ 3119570944,3119571967,RO 3119571968,3119574015,ES 3119574016,3119575039,FR -3119575040,3119577087,DE +3119575040,3119576063,DE +3119576064,3119577087,US 3119577088,3119578111,PT 3119578112,3119579135,RO 3119579136,3119580159,RU @@ -109633,9 +112274,9 @@ 3119707136,3119708159,NL 3119708160,3119709183,ES 3119709184,3119710207,PL -3119710208,3119712255,RU -3119712256,3119713791,DE -3119713792,3119714303,AE +3119710208,3119711231,RU +3119711232,3119712255,PL +3119712256,3119714303,DE 3119714304,3119715327,FR 3119715328,3119716351,DE 3119716352,3119717375,ES @@ -109646,8 +112287,7 @@ 3119721472,3119722495,DE 3119722496,3119723519,IR 3119723520,3119724543,PL -3119724544,3119725055,DE -3119725056,3119725567,US +3119724544,3119725567,US 3119725568,3119726591,GB 3119726592,3119727615,CH 3119727616,3119728639,DE @@ -109673,11 +112313,8 @@ 3119748096,3119749119,IT 3119749120,3119749887,US 3119749888,3119750143,NL -3119750144,3119750346,RU -3119750347,3119750347,UA -3119750348,3119750588,RU -3119750589,3119750589,UA -3119750590,3119750696,RU +3119750144,3119750655,UA +3119750656,3119750696,RU 3119750697,3119750697,US 3119750698,3119750821,RU 3119750822,3119750822,UA @@ -109771,7 +112408,7 @@ 3119838208,3119839231,FI 3119839232,3119840255,LT 3119840256,3119841279,CH -3119841280,3119842303,RU +3119841280,3119842303,PL 3119842304,3119843327,MD 3119843328,3119844351,DK 3119844352,3119845375,HR @@ -109806,7 +112443,7 @@ 3119876096,3119878143,FR 3119878144,3119879167,ES 3119879168,3119880191,RU -3119880192,3119881215,AE +3119880192,3119881215,DE 3119881216,3119882239,NL 3119882240,3119883263,CH 3119883264,3119884287,IT @@ -109833,7 +112470,8 @@ 3119904000,3119904255,EE 3119904256,3119904767,RO 3119904768,3119905791,FR -3119905792,3119906303,DE +3119905792,3119906047,DE +3119906048,3119906303,US 3119906304,3119906815,ES 3119906816,3119907839,DE 3119907840,3119908863,IR @@ -109866,7 +112504,7 @@ 3119936512,3119937535,RU 3119937536,3119938559,DE 3119938560,3119939583,RU -3119939584,3119940607,LV +3119939584,3119940607,SE 3119940608,3119941631,GB 3119941632,3119942655,NL 3119942656,3119943679,AT @@ -109944,7 +112582,7 @@ 3120014336,3120016383,ES 3120016384,3120017407,UA 3120017408,3120018431,IQ -3120018432,3120019455,BG +3120018432,3120019455,CN 3120019456,3120020479,RU 3120020480,3120021503,IE 3120021504,3120022527,RU @@ -109955,7 +112593,8 @@ 3120027648,3120028671,AT 3120028672,3120029695,SA 3120029696,3120030719,RO -3120030720,3120031743,PL +3120030720,3120030975,DE +3120030976,3120031743,PL 3120031744,3120032767,ES 3120032768,3120033791,SE 3120033792,3120034815,DE @@ -110065,7 +112704,7 @@ 3120146432,3120147455,DE 3120147456,3120148479,RU 3120148480,3120149503,GB -3120149504,3120150527,ES +3120149504,3120150527,IT 3120150528,3120151551,FR 3120151552,3120153599,CH 3120153600,3120154623,US @@ -110131,9 +112770,10 @@ 3120219136,3120221183,ES 3120221184,3120222207,NL 3120222208,3120223231,GB -3120223232,3120224255,DE +3120223232,3120223743,DE +3120223744,3120224255,US 3120224256,3120225279,FR -3120225280,3120226303,DE +3120225280,3120226303,US 3120226304,3120227327,CH 3120227328,3120228351,RU 3120228352,3120229375,CZ @@ -110147,11 +112787,11 @@ 3120236544,3120237055,FR 3120237056,3120237567,GB 3120237568,3120238079,RU -3120238080,3120239615,GB -3120239616,3120239871,RU +3120238080,3120238591,GB +3120238592,3120239871,RU 3120239872,3120240127,CH 3120240128,3120240639,US -3120240640,3120241663,GB +3120240640,3120241663,RU 3120241664,3120242687,RO 3120242688,3120243711,TR 3120243712,3120244735,NL @@ -110256,9 +112896,9 @@ 3120347392,3120347647,DE 3120347648,3120348159,FR 3120348160,3120349183,MK -3120349184,3120350207,GB +3120349184,3120350207,RU 3120350208,3120351231,CZ -3120351232,3120352255,GB +3120351232,3120352255,RU 3120352256,3120353279,LT 3120353280,3120354815,RU 3120354816,3120355327,US @@ -110271,8 +112911,7 @@ 3120362496,3120363519,NL 3120363520,3120364543,RU 3120364544,3120365567,JE -3120365568,3120366591,GB -3120366592,3120367103,RU +3120365568,3120367103,RU 3120367104,3120367615,US 3120367616,3120368639,RU 3120368640,3120369663,DE @@ -110282,7 +112921,7 @@ 3120375808,3120376831,RU 3120376832,3120377855,UA 3120377856,3120378879,NL -3120378880,3120379903,GB +3120378880,3120379903,RU 3120379904,3120380927,ES 3120380928,3120381951,LV 3120381952,3120382975,PL @@ -110307,11 +112946,14 @@ 3120397312,3120399359,GB 3120399360,3120400383,FR 3120400384,3120401407,RU -3120401408,3120402431,GB +3120401408,3120401663,US +3120401664,3120402431,GB 3120402432,3120403455,ES 3120403456,3120404479,RU 3120404480,3120405503,UA -3120405504,3120406527,BG +3120405504,3120405759,BG +3120405760,3120406015,RU +3120406016,3120406527,BG 3120406528,3120407551,UA 3120407552,3120408575,PL 3120408576,3120409599,FR @@ -110346,15 +112988,22 @@ 3120441344,3120442367,NL 3120442368,3120443391,LT 3120443392,3120444415,NL -3120444416,3120445439,TR +3120444416,3120444671,CH +3120444672,3120445439,TR 3120445440,3120446463,GB 3120446464,3120447487,DE 3120447488,3120448511,US -3120448512,3120449535,NL +3120448512,3120448767,NL +3120448768,3120449023,GB +3120449024,3120449535,NL 3120449536,3120450559,FR 3120450560,3120451583,CH 3120451584,3120452607,SE -3120452608,3120453631,IQ +3120452608,3120452608,IQ +3120452609,3120452609,DE +3120452610,3120453376,IQ +3120453377,3120453377,IT +3120453378,3120453631,IQ 3120453632,3120454655,GB 3120454656,3120455679,TR 3120455680,3120456703,DE @@ -110363,7 +113012,7 @@ 3120458752,3120459775,SY 3120459776,3120460799,DE 3120460800,3120461823,AL -3120461824,3120462847,LT +3120461824,3120462847,RU 3120462848,3120463871,DE 3120463872,3120464895,DK 3120464896,3120465919,SE @@ -110383,14 +113032,13 @@ 3120480256,3120484351,UA 3120484352,3120485375,FR 3120485376,3120486399,RU -3120486400,3120487423,CY +3120486400,3120487423,GR 3120487424,3120488447,PL 3120488448,3120489471,CH 3120489472,3120490495,IT 3120490496,3120491519,AT 3120491520,3120492543,IT -3120492544,3120492799,GB -3120492800,3120493567,JP +3120492544,3120493567,JP 3120493568,3120494591,DE 3120494592,3120495615,SK 3120495616,3120496639,HR @@ -110426,19 +113074,21 @@ 3120526336,3120527359,CZ 3120527360,3120528383,NL 3120528384,3120529407,ES -3120529408,3120530431,DE +3120529408,3120530431,US 3120530432,3120531455,RU 3120531456,3120532479,LB 3120532480,3120533503,DK 3120533504,3120534527,RO 3120534528,3120535551,ES -3120535552,3120536063,GB +3120535552,3120535807,HK +3120535808,3120536063,GB 3120536064,3120536575,TR 3120536576,3120537599,DK 3120537600,3120538623,GB 3120538624,3120540671,UA 3120540672,3120541695,TR -3120541696,3120542719,RU +3120541696,3120542463,RU +3120542464,3120542719,LV 3120542720,3120543743,US 3120543744,3120544767,IT 3120544768,3120545791,DE @@ -110469,9 +113119,22 @@ 3120618496,3120627711,AR 3120627712,3120644095,NI 3120644096,3120660479,DO -3120660480,3120662271,CO +3120660480,3120662015,CO +3120662016,3120662271,BR 3120662272,3120662527,PE -3120662528,3120676863,CO +3120662528,3120662783,BR +3120662784,3120663039,EC +3120663040,3120663295,PE +3120663296,3120663551,CO +3120663552,3120663807,PE +3120663808,3120664063,CO +3120664064,3120664319,PE +3120664320,3120664575,CO +3120664576,3120664831,EC +3120664832,3120665087,PE +3120665088,3120665343,CL +3120665344,3120665599,BR +3120665600,3120676863,CO 3120676864,3120680959,HT 3120680960,3120691199,AR 3120691200,3120693247,CO @@ -110481,13 +113144,12 @@ 3120734464,3120734719,EC 3120734720,3120735487,RU 3120735488,3120735743,NL -3120735744,3120736149,BZ -3120736150,3120736150,RU -3120736151,3120736255,BZ +3120735744,3120735999,BZ +3120736000,3120736255,RU 3120736256,3120736511,EC 3120736512,3120736767,BZ -3120736768,3120737279,RU -3120737280,3120737791,BZ +3120736768,3120737023,RU +3120737024,3120737791,BZ 3120737792,3120738303,EC 3120738304,3120742399,CW 3120742400,3120754687,PY @@ -110538,9 +113200,9 @@ 3123445760,3123576831,TT 3123576832,3123707903,EC 3123707904,3124232191,UY -3124232192,3124760600,AR -3124760601,3124760601,MX -3124760602,3124783103,AR +3124232192,3124760575,AR +3124760576,3124762623,MX +3124762624,3124783103,AR 3124783104,3124785151,GT 3124785152,3124788223,CL 3124788224,3124789247,PE @@ -110553,8 +113215,7 @@ 3124846592,3124848639,AR 3124848640,3124849663,BR 3124849664,3124850687,AR -3124850688,3124852735,US -3124852736,3124854783,HN +3124850688,3124854783,US 3124854784,3124887551,CL 3124887552,3124953087,EC 3124953088,3125018623,CL @@ -110596,8 +113257,7 @@ 3130312704,3130314751,AR 3130314752,3130315775,CL 3130315776,3130316799,CR -3130316800,3130317823,AW -3130317824,3130318847,CW +3130316800,3130318847,CW 3130318848,3130327039,AR 3130327040,3130458111,DO 3130458112,3130523647,GT @@ -110636,8 +113296,8 @@ 3132325888,3132358655,SR 3132358656,3132489727,CO 3132489728,3132510719,AR -3132510720,3132510975,PY -3132510976,3132588031,AR +3132510720,3132511231,PY +3132511232,3132588031,AR 3132588032,3132620799,CO 3132620800,3132915711,VE 3132915712,3132948479,PA @@ -110738,7 +113398,9 @@ 3155165184,3155312938,RU 3155312939,3155312939,US 3155312940,3155427327,RU -3155427328,3155689471,AT +3155427328,3155496959,AT +3155496960,3155497471,DE +3155497472,3155689471,AT 3155689472,3155873791,RO 3155873792,3155877887,ES 3155877888,3155951615,RO @@ -110748,11 +113410,7 @@ 3156344832,3156410367,IR 3156410368,3156475903,RU 3156475904,3156541439,HU -3156541440,3156549119,PT -3156549120,3156549375,PL -3156549376,3156597759,PT -3156597760,3156597887,DE -3156597888,3156606975,PT +3156541440,3156606975,PT 3156606976,3156672511,TR 3156672512,3156738047,GB 3156738048,3156793343,DE @@ -110765,8 +113423,7 @@ 3156803584,3156869119,TR 3156869120,3156876287,LU 3156876288,3156877311,RU -3156877312,3156879359,UA -3156879360,3156893695,LU +3156877312,3156893695,LU 3156893696,3156894719,IN 3156894720,3156897791,LU 3156897792,3156899839,US @@ -110793,24 +113450,14 @@ 3156926464,3156927743,NL 3156927744,3156927999,LU 3156928000,3156929535,NL -3156929536,3156930559,LU -3156930560,3156932607,US -3156932608,3156932863,NL +3156929536,3156932863,LU 3156932864,3156933119,US -3156933120,3156933631,NL +3156933120,3156933631,LU 3156933632,3156934655,SG 3156934656,3157000191,RU 3157000192,3157008383,MK 3157008384,3157016575,RU -3157016576,3157017343,FR -3157017344,3157017599,BE -3157017600,3157017855,FR -3157017856,3157018111,BE -3157018112,3157018623,FR -3157018624,3157018879,BE -3157018880,3157022975,FR -3157022976,3157023231,BE -3157023232,3157024767,FR +3157016576,3157024767,BE 3157024768,3157032959,RU 3157032960,3157065727,HU 3157065728,3157131263,AT @@ -110850,6 +113497,8 @@ 3158362112,3158365183,IL 3158365184,3158366207,AT 3158366208,3158368255,RU +3158368256,3158369023,FR +3158369024,3158370303,GB 3158370304,3158372351,BE 3158372352,3158374399,FR 3158374400,3158376447,DE @@ -110873,13 +113522,13 @@ 3158409216,3158411263,RU 3158411264,3158413311,FI 3158413312,3158415359,DE -3158415360,3158417407,SE +3158415360,3158415871,SE +3158415872,3158416127,NO +3158416128,3158417407,SE 3158417408,3158419455,NL 3158419456,3158421503,FR 3158421504,3158423551,GB -3158423552,3158425087,MT -3158425088,3158425343,IE -3158425344,3158425599,MT +3158423552,3158425599,IE 3158425600,3158427647,NL 3158427648,3158429695,DE 3158429696,3158431743,RU @@ -110910,13 +113559,21 @@ 3158616064,3158630399,RU 3158630400,3158638591,PL 3158638592,3158704127,LT -3158704128,3158821119,KW -3158821120,3158821151,US -3158821152,3158821159,KW -3158821160,3158821375,US -3158821376,3158828031,KW -3158828032,3158828287,US -3158828288,3158835199,KW +3158704128,3158706463,KW +3158706464,3158706527,IT +3158706528,3158706543,KW +3158706544,3158706687,IT +3158706688,3158711103,KW +3158711104,3158711143,IT +3158711144,3158711151,KW +3158711152,3158711231,IT +3158711232,3158820927,KW +3158820928,3158820991,IT +3158820992,3158821087,KW +3158821088,3158821119,IT +3158821120,3158831103,KW +3158831104,3158831231,IT +3158831232,3158835199,KW 3158835200,3158851583,IQ 3158851584,3158852863,NL 3158852864,3158853119,ES @@ -111080,7 +113737,8 @@ 3160360960,3160363007,IT 3160363008,3160365055,GB 3160365056,3160366079,RU -3160366080,3160367103,CZ +3160366080,3160366335,ES +3160366336,3160367103,CZ 3160367104,3160369151,NL 3160369152,3160371199,RU 3160371200,3160373247,ES @@ -111088,8 +113746,7 @@ 3160375296,3160377343,GB 3160377344,3160379391,NL 3160379392,3160380927,CZ -3160380928,3160381183,SK -3160381184,3160381439,CZ +3160380928,3160381439,SK 3160381440,3160383487,UA 3160383488,3160385535,SA 3160385536,3160387583,NL @@ -111114,7 +113771,10 @@ 3161604096,3161612287,PL 3161612288,3161613311,US 3161613312,3161614335,IT -3161614336,3161616383,ES +3161614336,3161614847,US +3161614848,3161615103,ES +3161615104,3161615359,US +3161615360,3161616383,ES 3161616384,3161618431,GB 3161618432,3161620479,IQ 3161620480,3161636863,DK @@ -111125,11 +113785,11 @@ 3161645056,3161653247,SE 3161653248,3161669631,LU 3161669632,3161673727,MQ -3161673728,3161681919,GP +3161673728,3161677823,GP +3161677824,3161679871,MQ +3161679872,3161681919,GP 3161681920,3161682943,GF -3161682944,3161683967,MQ -3161683968,3161684479,FR -3161684480,3161684991,MQ +3161682944,3161684991,MQ 3161684992,3161686015,FR 3161686016,3161702399,UA 3161702400,3161718783,AM @@ -111140,8 +113800,12 @@ 3161784320,3161800703,FI 3161800704,3161817087,SA 3161817088,3161833471,PL -3161833472,3161837567,MK -3161837568,3161846271,GR +3161833472,3161835519,GR +3161835520,3161837567,MK +3161837568,3161839615,AT +3161839616,3161839871,GR +3161839872,3161841663,AT +3161841664,3161846271,GR 3161846272,3161847807,AT 3161847808,3161849855,GR 3161849856,3161866239,BE @@ -111149,6 +113813,21 @@ 3161882624,3161899007,DE 3161899008,3161915391,AT 3161915392,3161931775,TR +3161931776,3161932799,RU +3161932800,3161933823,DE +3161933824,3161934847,ES +3161934848,3161935871,RU +3161935872,3161936895,NO +3161936896,3161937919,DE +3161937920,3161938943,RO +3161938944,3161939967,DE +3161939968,3161940991,CZ +3161940992,3161942015,GB +3161942016,3161943039,SI +3161943040,3161944063,TR +3161944064,3161945087,RU +3161945088,3161946111,ES +3161946112,3161948159,RU 3161948160,3161964543,RO 3161964544,3161980927,ES 3161980928,3161989119,SK @@ -111182,7 +113861,9 @@ 3162193920,3162202111,FR 3162202112,3162209535,SK 3162209536,3162209791,CZ -3162209792,3162210303,SK +3162209792,3162209887,SK +3162209888,3162209903,GR +3162209904,3162210303,SK 3162210304,3162218495,GE 3162218496,3162226687,JO 3162226688,3162234879,PL @@ -111211,13 +113892,14 @@ 3162390528,3162396927,SE 3162396928,3162397183,FI 3162397184,3162398719,SE -3162398720,3162406911,NL +3162398720,3162404863,NL +3162404864,3162406911,BE 3162406912,3162415103,ES 3162415104,3162423295,DE 3162423296,3162431487,NO 3162431488,3162439679,SE 3162439680,3162447871,PL -3162447872,3162456063,RU +3162447872,3162456063,KZ 3162456064,3162464255,BG 3162464256,3162472447,BA 3162472448,3162480639,HU @@ -111230,9 +113912,13 @@ 3162636288,3162669055,FR 3162669056,3162676223,RU 3162676224,3162677247,KZ -3162677248,3162679039,RU +3162677248,3162677759,RU +3162677760,3162678015,UZ +3162678016,3162679039,RU 3162679040,3162679295,KZ -3162679296,3162681343,RU +3162679296,3162679807,RU +3162679808,3162680063,BY +3162680064,3162681343,RU 3162681344,3162682367,UA 3162682368,3162682879,MD 3162682880,3162683135,GB @@ -111276,7 +113962,8 @@ 3163521024,3163553791,RU 3163553792,3163684863,DE 3163684864,3163815935,PL -3163815936,3164078079,NO +3163815936,3163947007,NO +3163947008,3164078079,SE 3164078080,3164209151,IT 3164209152,3164340223,CH 3164340224,3164471295,HU @@ -111288,9 +113975,7 @@ 3164864512,3164864703,GB 3164864704,3164864735,ZA 3164864736,3164864767,IE -3164864768,3164891135,GB -3164891136,3164891647,DE -3164891648,3164893183,FR +3164864768,3164893183,GB 3164893184,3164895231,TR 3164895232,3164897279,GB 3164897280,3164899327,IT @@ -111307,7 +113992,9 @@ 3164925952,3164927999,PL 3164928000,3164930047,NL 3164930048,3164932095,IE -3164932096,3164932719,FR +3164932096,3164932643,FR +3164932644,3164932647,PL +3164932648,3164932719,FR 3164932720,3164932735,CZ 3164932736,3164932799,FR 3164932800,3164932815,DE @@ -111320,11 +114007,9 @@ 3164932992,3164933119,GB 3164933120,3164934143,FR 3164934144,3164936191,PL -3164936192,3164936499,RU -3164936500,3164936500,LT -3164936501,3164937749,RU +3164936192,3164937749,LT 3164937750,3164937750,FR -3164937751,3164938239,RU +3164937751,3164938239,LT 3164938240,3164939705,FR 3164939706,3164939706,ES 3164939707,3164945919,FR @@ -111336,7 +114021,8 @@ 3164946064,3164946079,DE 3164946080,3164946479,FR 3164946480,3164946483,ES -3164946484,3164946507,FR +3164946484,3164946487,PL +3164946488,3164946507,FR 3164946508,3164946511,CZ 3164946512,3164946527,FR 3164946528,3164946559,FI @@ -111352,14 +114038,22 @@ 3164947552,3164947567,DE 3164947568,3164947591,FR 3164947592,3164947599,ES -3164947600,3164948739,FR +3164947600,3164947651,FR +3164947652,3164947655,PL +3164947656,3164947751,FR +3164947752,3164947755,PL +3164947756,3164948739,FR 3164948740,3164948743,CZ 3164948744,3164948747,GB 3164948748,3164948863,FR 3164948864,3164948927,GB 3164948928,3164949119,FR 3164949120,3164949123,PT -3164949124,3164949339,FR +3164949124,3164949215,FR +3164949216,3164949219,PL +3164949220,3164949331,FR +3164949332,3164949335,PL +3164949336,3164949339,FR 3164949340,3164949343,GB 3164949344,3164949371,FR 3164949372,3164949375,GB @@ -111386,18 +114080,27 @@ 3164953024,3164953087,IE 3164953088,3164953255,FR 3164953256,3164953263,CZ -3164953264,3164953583,FR +3164953264,3164953327,FR +3164953328,3164953343,PL +3164953344,3164953583,FR 3164953584,3164953599,ES -3164953600,3164954371,FR +3164953600,3164954239,FR +3164954240,3164954247,PL +3164954248,3164954371,FR 3164954372,3164954375,DE 3164954376,3164954463,FR 3164954464,3164954471,IT 3164954472,3164954479,IE -3164954480,3164958895,FR +3164954480,3164956383,FR +3164956384,3164956399,DE +3164956400,3164958895,FR 3164958896,3164958911,PT -3164958912,3164959247,FR +3164958912,3164958943,FR +3164958944,3164958947,PL +3164958948,3164959247,FR 3164959248,3164959255,ES -3164959256,3164959455,FR +3164959256,3164959263,PL +3164959264,3164959455,FR 3164959456,3164959463,DE 3164959464,3164959467,FR 3164959468,3164959471,GB @@ -111406,7 +114109,9 @@ 3164959584,3164959807,FR 3164959808,3164959823,IE 3164959824,3164959839,FI -3164959840,3164960247,FR +3164959840,3164959899,FR +3164959900,3164959903,PL +3164959904,3164960247,FR 3164960248,3164960255,DE 3164960256,3164960263,FR 3164960264,3164960267,ES @@ -111419,7 +114124,9 @@ 3164960500,3164960503,CZ 3164960504,3164960671,FR 3164960672,3164960675,ES -3164960676,3164960699,FR +3164960676,3164960687,FR +3164960688,3164960695,PL +3164960696,3164960699,FR 3164960700,3164960703,ES 3164960704,3164960787,FR 3164960788,3164960791,DE @@ -111435,9 +114142,13 @@ 3164961552,3164961555,ES 3164961556,3164961727,FR 3164961728,3164961735,ES -3164961736,3164962191,FR +3164961736,3164961791,FR +3164961792,3164961807,PL +3164961808,3164962191,FR 3164962192,3164962199,DE -3164962200,3164962335,FR +3164962200,3164962295,FR +3164962296,3164962303,PL +3164962304,3164962335,FR 3164962336,3164962367,DE 3164962368,3164962455,FR 3164962456,3164962459,IE @@ -111448,9 +114159,7 @@ 3164962656,3164962815,FR 3164962816,3164964863,ES 3164964864,3164966911,FI -3164966912,3164967135,FR -3164967136,3164967151,ES -3164967152,3164967231,FR +3164966912,3164967231,FR 3164967232,3164967239,ES 3164967240,3164967303,FR 3164967304,3164967311,DE @@ -111464,7 +114173,11 @@ 3164968320,3164968447,GB 3164968448,3164968835,FR 3164968836,3164968839,ES -3164968840,3164969135,FR +3164968840,3164969079,FR +3164969080,3164969083,PL +3164969084,3164969095,FR +3164969096,3164969099,PL +3164969100,3164969135,FR 3164969136,3164969143,ES 3164969144,3164969147,FR 3164969148,3164969151,GB @@ -111476,20 +114189,27 @@ 3164970224,3164970239,GB 3164970240,3164970299,FR 3164970300,3164970303,DE -3164970304,3164970413,FR +3164970304,3164970383,FR +3164970384,3164970387,PL +3164970388,3164970413,FR 3164970414,3164970415,IT 3164970416,3164970603,FR 3164970604,3164970607,DE 3164970608,3164970615,ES 3164970616,3164970631,FR 3164970632,3164970639,ES -3164970640,3164970719,FR +3164970640,3164970695,FR +3164970696,3164970699,PL +3164970700,3164970719,FR 3164970720,3164970751,PL 3164970752,3164971011,FR 3164971012,3164971015,IE -3164971016,3164971511,FR +3164971016,3164971483,FR +3164971484,3164971487,PL +3164971488,3164971511,FR 3164971512,3164971519,CZ -3164971520,3164971579,FR +3164971520,3164971575,FR +3164971576,3164971579,PL 3164971580,3164971583,ES 3164971584,3164971615,FR 3164971616,3164971619,ES @@ -111506,7 +114226,11 @@ 3164972704,3164972735,FR 3164972736,3164972751,GB 3164972752,3164972767,DE -3164972768,3164973407,FR +3164972768,3164972783,FR +3164972784,3164972799,PL +3164972800,3164973003,FR +3164973004,3164973007,NL +3164973008,3164973407,FR 3164973408,3164973415,GB 3164973416,3164973419,FR 3164973420,3164973423,ES @@ -111525,11 +114249,17 @@ 3164974936,3164974939,PT 3164974940,3164975199,FR 3164975200,3164975215,ES -3164975216,3164975311,FR +3164975216,3164975255,FR +3164975256,3164975259,PL +3164975260,3164975311,FR 3164975312,3164975327,ES 3164975328,3164975351,FR 3164975352,3164975355,DE -3164975356,3164975887,FR +3164975356,3164975759,FR +3164975760,3164975775,PL +3164975776,3164975811,FR +3164975812,3164975815,PL +3164975816,3164975887,FR 3164975888,3164975903,IT 3164975904,3164975991,FR 3164975992,3164975995,PL @@ -111539,7 +114269,9 @@ 3164976144,3164976159,BE 3164976160,3164976231,FR 3164976232,3164976239,ES -3164976240,3164976511,FR +3164976240,3164976343,FR +3164976344,3164976347,PL +3164976348,3164976511,FR 3164976512,3164976527,LT 3164976528,3164976767,FR 3164976768,3164976783,DE @@ -111560,7 +114292,10 @@ 3164978156,3164978159,DE 3164978160,3164978623,FR 3164978624,3164978655,ES -3164978656,3164979119,FR +3164978656,3164978951,FR +3164978952,3164978955,PL +3164978956,3164979111,FR +3164979112,3164979119,PL 3164979120,3164979135,LT 3164979136,3164979151,FR 3164979152,3164979155,ES @@ -111594,8 +114329,8 @@ 3165438208,3165439487,AT 3165439488,3165439743,GB 3165439744,3165439999,ES -3165440000,3165440255,JP -3165440256,3165440511,HK +3165440000,3165440255,AT +3165440256,3165440511,MX 3165440512,3165440767,JP 3165440768,3165441023,SG 3165441024,3165442047,AT @@ -111641,7 +114376,15 @@ 3166175232,3166306303,CH 3166306304,3166437375,RU 3166437376,3166568447,BE -3166568448,3166601215,UA +3166568448,3166593023,UA +3166593024,3166594047,RU +3166594048,3166595071,SK +3166595072,3166596095,TR +3166596096,3166597119,CH +3166597120,3166598143,NL +3166598144,3166599167,RU +3166599168,3166600191,TR +3166600192,3166601215,ES 3166601216,3166609407,RU 3166609408,3166633983,UA 3166633984,3166638079,RU @@ -111693,7 +114436,7 @@ 3167775744,3167775999,RO 3167776000,3167776255,GB 3167776256,3167776511,RO -3167776512,3167776767,GB +3167776512,3167776767,ES 3167776768,3167777791,MD 3167777792,3167778815,RO 3167778816,3167780863,MD @@ -111717,12 +114460,12 @@ 3167834112,3167838207,IT 3167838208,3167842303,RO 3167842304,3167843327,ES -3167843328,3167844351,IR +3167843328,3167844351,HK 3167844352,3167846399,GB 3167846400,3167850495,IR 3167850496,3167852543,AU 3167852544,3167854591,IR -3167854592,3167862783,AU +3167854592,3167862783,DE 3167862784,3167866879,IR 3167866880,3167867903,SY 3167867904,3167868159,RO @@ -111764,7 +114507,7 @@ 3168002048,3168003071,RO 3168003072,3168004095,ES 3168004096,3168005887,RO -3168005888,3168006143,NL +3168005888,3168006143,ES 3168006144,3168008191,SE 3168008192,3168008447,RO 3168008448,3168010239,US @@ -112006,7 +114749,9 @@ 3169279488,3169279743,CY 3169279744,3169279759,IQ 3169279760,3169279871,KW -3169279872,3169285119,GB +3169279872,3169282047,GB +3169282048,3169283071,KW +3169283072,3169285119,GB 3169285120,3169285631,KW 3169285632,3169286143,GB 3169286144,3169288191,KW @@ -112140,7 +114885,9 @@ 3170298880,3170303999,KZ 3170304000,3170312191,SY 3170312192,3170320383,RU -3170320384,3170327593,JO +3170320384,3170321919,JO +3170321920,3170322175,IT +3170322176,3170327593,JO 3170327594,3170327594,US 3170327595,3170328575,JO 3170328576,3170336767,UA @@ -112156,7 +114903,11 @@ 3170664448,3170697215,HR 3170697216,3170697471,IR 3170697472,3170705407,AU -3170705408,3170729983,IR +3170705408,3170721791,IR +3170721792,3170723839,AU +3170723840,3170727935,IR +3170727936,3170729951,AU +3170729952,3170729983,IR 3170729984,3170762751,AZ 3170762752,3170795519,RU 3170795520,3170828287,BG @@ -112208,7 +114959,9 @@ 3187933342,3187933342,HN 3187933343,3187934079,GT 3187934080,3187934207,HN -3187934208,3187935543,GT +3187934208,3187935151,GT +3187935152,3187935159,HN +3187935160,3187935543,GT 3187935544,3187935551,HN 3187935552,3187936015,GT 3187936016,3187936023,HN @@ -112220,8 +114973,8 @@ 3187940632,3187940639,HN 3187940640,3187941711,GT 3187941712,3187941715,HN -3187941716,3187942655,GT -3187942656,3187942663,HN +3187941716,3187942399,GT +3187942400,3187942663,HN 3187942664,3187942775,GT 3187942776,3187942783,HN 3187942784,3187942975,GT @@ -112234,20 +114987,30 @@ 3187943552,3187943687,HN 3187943688,3187943715,GT 3187943716,3187943716,HN -3187943717,3187944351,GT +3187943717,3187943807,GT +3187943808,3187943839,HN +3187943840,3187944351,GT 3187944352,3187944359,HN 3187944360,3187944495,GT 3187944496,3187944503,HN 3187944504,3187944773,GT 3187944774,3187944774,HN -3187944775,3187945343,GT +3187944775,3187944851,GT +3187944852,3187944855,HN +3187944856,3187945343,GT 3187945344,3187945471,HN 3187945472,3187945983,GT 3187945984,3187946111,HN -3187946112,3187947363,GT +3187946112,3187946495,GT +3187946496,3187947007,HN +3187947008,3187947363,GT 3187947364,3187947367,HN -3187947368,3187947999,GT -3187948000,3187948159,HN +3187947368,3187947743,GT +3187947744,3187947751,HN +3187947752,3187947895,GT +3187947896,3187947899,HN +3187947900,3187948031,GT +3187948032,3187948159,HN 3187948160,3187948799,GT 3187948800,3187948927,HN 3187948928,3187949023,GT @@ -112338,8 +115101,10 @@ 3188490240,3188498431,CO 3188498432,3188523007,AR 3188523008,3188539391,CO -3188539392,3188543487,CL -3188543488,3188545535,PA +3188539392,3188542207,CL +3188542208,3188542463,US +3188542464,3188543487,CL +3188543488,3188545535,CO 3188545536,3188547583,AR 3188547584,3188551679,CO 3188551680,3188552703,AR @@ -112347,7 +115112,16 @@ 3188553728,3188555775,CW 3188555776,3188572159,CL 3188572160,3188576255,CO -3188576256,3188597759,AR +3188576256,3188588543,AR +3188588544,3188589567,US +3188589568,3188589823,CO +3188589824,3188590079,EC +3188590080,3188590335,PT +3188590336,3188590591,US +3188590592,3188590847,CL +3188590848,3188591103,AR +3188591104,3188591359,PE +3188591360,3188597759,AR 3188597760,3188598783,PA 3188598784,3188600831,AR 3188600832,3188604927,CL @@ -112405,7 +115179,8 @@ 3191209984,3191275519,CL 3191275520,3191341055,AR 3191341056,3191406591,GT -3191406592,3191418879,SV +3191406592,3191414783,SV +3191414784,3191418879,PA 3191418880,3191420927,CR 3191420928,3191439359,SV 3191439360,3191455743,EC @@ -112425,13 +115200,18 @@ 3191635968,3191652351,AR 3191652352,3191673281,CO 3191673282,3191673282,EC -3191673283,3191677183,CO +3191673283,3191676927,CO +3191676928,3191677183,MX 3191677184,3191677695,SV 3191677696,3191678207,CO 3191678208,3191678463,HN 3191678464,3191678719,SV 3191678720,3191678975,EC -3191678976,3191693311,CO +3191678976,3191682559,CO +3191682560,3191682815,AR +3191682816,3191683071,CO +3191683072,3191683327,CL +3191683328,3191693311,CO 3191693312,3191701503,AR 3191701504,3191709695,CO 3191709696,3191709951,BR @@ -112463,9 +115243,7 @@ 3193575168,3193575295,PE 3193575296,3193575311,CO 3193575312,3193575327,PE -3193575328,3193582847,CO -3193582848,3193583103,EC -3193583104,3193590655,CO +3193575328,3193590655,CO 3193590656,3193590783,EC 3193590784,3193592319,CO 3193592320,3193592575,EC @@ -112483,15 +115261,15 @@ 3193618432,3193618559,US 3193618560,3193618943,CO 3193618944,3193619071,EC -3193619072,3193622015,CO -3193622016,3193622271,EC -3193622272,3193622943,CO +3193619072,3193622943,CO 3193622944,3193622975,EC 3193622976,3193623039,CO 3193623040,3193623551,EC 3193623552,3193625599,CO 3193625600,3193625855,EC -3193625856,3193626623,US +3193625856,3193626111,US +3193626112,3193626367,CO +3193626368,3193626623,US 3193626624,3193628671,CO 3193628672,3193628927,EC 3193628928,3193631103,CO @@ -112499,9 +115277,7 @@ 3193631232,3193634687,CO 3193634688,3193634815,EC 3193634816,3193700351,CL -3193700352,3193724767,HN -3193724768,3193724783,AR -3193724784,3193724927,HN +3193700352,3193724927,HN 3193724928,3193729023,AR 3193729024,3193733119,CU 3193733120,3193740543,AR @@ -112535,8 +115311,7 @@ 3194028032,3194044415,AR 3194044416,3194052607,CO 3194052608,3194056703,TT -3194056704,3194058495,BQ -3194058496,3194058751,CA +3194056704,3194058751,BQ 3194058752,3194060799,AR 3194060800,3194068991,CO 3194068992,3194071039,PA @@ -112621,7 +115396,9 @@ 3194511360,3194515455,AW 3194515456,3194519551,GT 3194519552,3194535935,PY -3194535936,3194585087,AR +3194535936,3194547335,AR +3194547336,3194547343,US +3194547344,3194585087,AR 3194585088,3194589183,HN 3194589184,3194591231,AR 3194591232,3194592255,PA @@ -112631,7 +115408,9 @@ 3194596352,3194597375,HT 3194597376,3194601471,AR 3194601472,3194602495,CW -3194602496,3194610943,AR +3194602496,3194605439,AR +3194605440,3194605567,CO +3194605568,3194610943,AR 3194610944,3194611199,CO 3194611200,3194613503,AR 3194613504,3194613759,CL @@ -112738,8 +115517,7 @@ 3195143680,3195143935,AR 3195143936,3195144319,PA 3195144320,3195144447,MX -3195144448,3195144703,CR -3195144704,3195150335,PA +3195144448,3195150335,PA 3195150336,3195158527,CL 3195158528,3195199487,AR 3195199488,3195201535,PY @@ -112798,9 +115576,7 @@ 3195736064,3195737087,BQ 3195737088,3195738111,CW 3195738112,3195740159,HN -3195740160,3195740415,EC -3195740416,3195740671,PA -3195740672,3195741055,EC +3195740160,3195741055,EC 3195741056,3195741087,HN 3195741088,3195741695,EC 3195741696,3195741951,PA @@ -112814,11 +115590,9 @@ 3195768832,3195772927,AR 3195772928,3195781119,VE 3195781120,3195785215,BR -3195785216,3195785375,HN -3195785376,3195785439,DE -3195785440,3195785815,HN -3195785816,3195785823,DE -3195785824,3195786239,HN +3195785216,3195785407,HN +3195785408,3195785439,DE +3195785440,3195786239,HN 3195786240,3195786287,US 3195786288,3195786295,ES 3195786296,3195786751,US @@ -112851,7 +115625,11 @@ 3196190720,3196207103,HN 3196207104,3196223487,CO 3196223488,3196305407,EC -3196305408,3196317055,CO +3196305408,3196316215,CO +3196316216,3196316223,CW +3196316224,3196316335,CO +3196316336,3196316351,CW +3196316352,3196317055,CO 3196317056,3196317183,CW 3196317184,3196321791,CO 3196321792,3196583935,UY @@ -112859,7 +115637,8 @@ 3196846080,3196977151,PA 3196977152,3197042687,VE 3197042688,3197075455,CO -3197075456,3197108223,GT +3197075456,3197104127,GT +3197104128,3197108223,NI 3197108224,3197370367,CO 3197370368,3197501439,GT 3197501440,3197566975,SV @@ -112900,8 +115679,7 @@ 3199729664,3199762431,NI 3199762432,3199778815,CO 3199778816,3199779839,AR -3199779840,3199780735,CR -3199780736,3199780863,US +3199779840,3199780863,CR 3199780864,3199782911,CO 3199782912,3199784959,AR 3199784960,3199785983,EC @@ -112971,11 +115749,11 @@ 3201900544,3201903615,CL 3201903616,3201904639,AR 3201904640,3201908735,CO -3201908736,3201917007,AR -3201917008,3201917023,CO -3201917024,3201917527,AR -3201917528,3201917535,CO -3201917536,3201917859,AR +3201908736,3201916927,AR +3201916928,3201917183,CO +3201917184,3201917439,AR +3201917440,3201917695,CO +3201917696,3201917859,AR 3201917860,3201917863,CO 3201917864,3201917879,AR 3201917880,3201917887,CO @@ -112984,17 +115762,15 @@ 3201918720,3201918795,AR 3201918796,3201918799,CO 3201918800,3201918975,AR -3201918976,3201920063,CO -3201920064,3201920064,AR -3201920065,3201920068,CO -3201920069,3201920255,AR +3201918976,3201920083,CO +3201920084,3201920255,AR 3201920256,3201920511,CO -3201920512,3201920639,AR -3201920640,3201920655,CO -3201920656,3201921279,AR -3201921280,3201921535,CO -3201921536,3201922047,AR -3201922048,3201923071,CO +3201920512,3201920623,AR +3201920624,3201920655,CO +3201920656,3201921319,AR +3201921320,3201921327,CO +3201921328,3201921343,AR +3201921344,3201923071,CO 3201923072,3201924351,AR 3201924352,3201924607,CR 3201924608,3201924863,AR @@ -113034,8 +115810,8 @@ 3203565056,3203566079,CR 3203566080,3203566591,CO 3203566592,3203566847,PA -3203566848,3203567103,DO -3203567104,3203568639,CO +3203566848,3203566975,DO +3203566976,3203568639,CO 3203568640,3203569663,SV 3203569664,3203570303,CO 3203570304,3203570431,SV @@ -113072,18 +115848,22 @@ 3210742562,3210742567,CL 3210742568,3210742575,US 3210742576,3210742591,BR -3210742592,3210742783,FR -3210742784,3210743039,CL +3210742592,3210742751,FR +3210742752,3210742783,BR +3210742784,3210743039,US 3210743040,3210743055,GR 3210743056,3210743079,CL 3210743080,3210743087,US 3210743088,3210743103,CL -3210743104,3210743295,FR +3210743104,3210743135,FR +3210743136,3210743231,BR +3210743232,3210743295,FR 3210743296,3210743551,US 3210743552,3210743567,TH 3210743568,3210743615,BR 3210743616,3210743679,FR -3210743680,3210743807,BR +3210743680,3210743711,BR +3210743712,3210743807,CL 3210743808,3210744063,US 3210744064,3210744079,TR 3210744080,3210744087,BR @@ -113226,7 +116006,9 @@ 3210788352,3210788607,MX 3210788608,3210788863,US 3210788864,3210789119,HR -3210789120,3210792959,US +3210789120,3210791935,US +3210791936,3210792447,CL +3210792448,3210792959,US 3210792960,3210793471,GB 3210793472,3210795007,US 3210795008,3210796031,IL @@ -113259,8 +116041,7 @@ 3210825728,3210827775,BZ 3210827776,3210829823,DO 3210829824,3210830847,AR -3210830848,3210831359,PE -3210831360,3210831871,BR +3210830848,3210831871,BR 3210831872,3210832895,DO 3210832896,3210835967,AR 3210835968,3210838015,PY @@ -113314,14 +116095,16 @@ 3211082752,3211083007,SG 3211083008,3211083263,US 3211083264,3211083519,BR -3211083520,3211083775,HK +3211083520,3211083527,CO +3211083528,3211083543,HK +3211083544,3211083551,VE +3211083552,3211083775,HK 3211083776,3211083791,RU -3211083792,3211083839,CL +3211083792,3211083839,DE 3211083840,3211083855,GB -3211083856,3211083871,DE -3211083872,3211083903,CL +3211083856,3211083903,DE 3211083904,3211084031,FR -3211084032,3211084287,CL +3211084032,3211084287,DE 3211084288,3211084303,NL 3211084304,3211084351,DE 3211084352,3211084367,GB @@ -113343,9 +116126,12 @@ 3211085600,3211085695,CL 3211085696,3211085823,GE 3211085824,3211085839,TH -3211085840,3211085887,DE +3211085840,3211085887,CL 3211085888,3211085903,GB -3211085904,3211086335,DE +3211085904,3211085919,DE +3211085920,3211086095,CL +3211086096,3211086111,DE +3211086112,3211086335,CL 3211086336,3211086351,FR 3211086352,3211086367,DE 3211086368,3211086463,CL @@ -113477,7 +116263,8 @@ 3211130624,3211130879,TR 3211130880,3211131391,US 3211131392,3211131903,NL -3211131904,3211132927,SG +3211131904,3211132159,BR +3211132160,3211132927,SG 3211132928,3211137023,CO 3211137024,3211141119,AR 3211141120,3211142143,CL @@ -113494,19 +116281,11 @@ 3211172672,3211172687,NL 3211172688,3211174183,US 3211174184,3211174191,CA -3211174192,3211174415,US -3211174416,3211174431,CA -3211174432,3211177839,US +3211174192,3211177839,US 3211177840,3211177847,CR 3211177848,3211178583,US 3211178584,3211178591,ES -3211178592,3211180047,US -3211180048,3211180063,BR -3211180064,3211180103,US -3211180104,3211180111,BR -3211180112,3211180887,US -3211180888,3211180895,CR -3211180896,3211181215,US +3211178592,3211181215,US 3211181216,3211181231,CR 3211181232,3211182079,US 3211182080,3211194367,CO @@ -113686,7 +116465,9 @@ 3221647360,3221757951,US 3221757952,3221759999,MY 3221760000,3221761023,IN -3221761024,3221779455,US +3221761024,3221762047,US +3221762048,3221762303,GB +3221762304,3221779455,US 3221779456,3221780479,IN 3221780480,3221790719,US 3221790720,3221795071,IN @@ -113734,8 +116515,7 @@ 3222066944,3222067199,CA 3222067200,3222067455,US 3222067456,3222067967,CH -3222067968,3222071039,US -3222071040,3222071295,GB +3222067968,3222071295,US 3222071296,3222071551,PT 3222071552,3222072063,US 3222072064,3222072319,SE @@ -113783,8 +116563,8 @@ 3222525440,3222531327,US 3222531328,3222531583,IN 3222531584,3222534655,US -3222534656,3222534911,IL -3222534912,3222806527,US +3222534656,3222535167,IL +3222535168,3222806527,US 3222806528,3222814719,CA 3222814720,3222875647,US 3222875648,3222875903,SG @@ -113874,8 +116654,8 @@ 3223302400,3223302655,CA 3223302656,3223303167,US 3223303168,3223303423,CA -3223303424,3223307519,US -3223307520,3223310079,JP +3223303424,3223307263,US +3223307264,3223310079,JP 3223310080,3223311103,US 3223311104,3223311359,FR 3223311360,3223315455,US @@ -113904,7 +116684,7 @@ 3223421440,3223421695,GB 3223421696,3223421951,NL 3223421952,3223422719,US -3223422720,3223422975,JP +3223422720,3223422975,AU 3223422976,3223424767,US 3223424768,3223425535,FR 3223425536,3223425791,US @@ -114000,16 +116780,12 @@ 3223586304,3223586559,GB 3223586560,3223589119,SE 3223589120,3223589375,US -3223589376,3223591679,SE -3223591936,3223592703,SE -3223592960,3223594495,SE +3223589376,3223594495,SE 3223594496,3223595007,AT -3223595008,3223595263,SE -3223595520,3223599103,SE +3223595008,3223599103,SE 3223599104,3223599359,AT 3223599360,3223599615,IS -3223599616,3223600383,SE -3223600640,3223601663,SE +3223599616,3223601663,SE 3223601664,3223602175,GB 3223602176,3223606527,SE 3223606528,3223606783,GB @@ -114200,11 +116976,7 @@ 3224370432,3224370687,CA 3224370688,3224370943,US 3224370944,3224371199,CA -3224371200,3224373247,US -3224373248,3224373503,AU -3224373504,3224373759,US -3224373760,3224374015,AU -3224374016,3224379135,US +3224371200,3224379135,US 3224379136,3224379391,DE 3224379392,3224398591,US 3224398592,3224398847,DE @@ -114265,12 +117037,14 @@ 3224725248,3224725503,NL 3224725504,3224725759,CH 3224725760,3224772351,US -3224772352,3224777983,DE +3224772352,3224776447,DE +3224776448,3224776703,GB +3224776704,3224777983,DE 3224777984,3224778239,US 3224778752,3224779775,ES 3224779776,3224785151,DE 3224785152,3224791039,US -3224791040,3224791295,NL +3224791040,3224791295,DE 3224791296,3224791807,AU 3224791808,3224793343,US 3224793344,3224793599,DE @@ -114288,7 +117062,7 @@ 3224798976,3224799231,AU 3224799232,3224799487,US 3224799744,3224799999,US -3224800000,3224800255,NL +3224800000,3224800255,DE 3224800256,3224800511,US 3224800512,3224816639,FR 3224816640,3224816895,IL @@ -114307,16 +117081,15 @@ 3224828928,3224829439,US 3224829440,3224829695,DE 3224829952,3224834047,US -3224834048,3224834303,SG -3224834304,3224834559,US +3224834048,3224834559,SG 3224834560,3224834815,TH -3224834816,3224841727,US +3224834816,3224835071,SG +3224835072,3224841727,US 3224841728,3224841983,CN 3224841984,3224847359,US 3224847360,3224848383,CN -3224848384,3224850431,IN -3224850432,3224851455,US -3224851456,3224851711,NL +3224848384,3224851455,US +3224851456,3224851711,DE 3224851712,3224852735,US 3224852736,3224852991,DE 3224852992,3224855039,US @@ -114361,9 +117134,11 @@ 3224889344,3224889599,AU 3224889600,3224892415,US 3224892416,3224892671,DE -3224892672,3224921087,US -3224921088,3224921343,FI -3224921344,3224957951,US +3224892672,3224897791,US +3224897792,3224898047,PR +3224898048,3224943103,US +3224943104,3224943615,NL +3224943616,3224957951,US 3224957952,3224958207,CA 3224958208,3225028863,US 3225028864,3225031423,JP @@ -114418,8 +117193,7 @@ 3225468928,3225470463,CA 3225470464,3225471487,US 3225471488,3225471743,DE -3225471744,3225472255,HK -3225472256,3225498367,US +3225471744,3225498367,US 3225498368,3225503487,NL 3225503488,3225506303,US 3225506304,3225508863,AU @@ -114513,8 +117287,8 @@ 3225673728,3225679871,US 3225679872,3225680127,AU 3225680128,3225680383,GR -3225680384,3225680639,CA -3225680640,3225681663,US +3225680384,3225680895,CA +3225680896,3225681663,US 3225681664,3225681919,CA 3225681920,3225682943,DE 3225682944,3225683199,AT @@ -114584,8 +117358,8 @@ 3225765888,3225766399,US 3225766400,3225766655,CA 3225766656,3225769471,US -3225769472,3225769983,CA -3225769984,3225773311,US +3225769472,3225772031,CA +3225772032,3225773311,US 3225773312,3225773567,CA 3225773568,3225776639,US 3225776640,3225777151,CA @@ -114617,7 +117391,8 @@ 3225860096,3225862143,US 3225862144,3225863167,DE 3225863168,3225864191,RU -3225864192,3225868287,US +3225864192,3225864447,ZA +3225864448,3225868287,US 3225868288,3225868543,AU 3225868544,3225869055,US 3225869056,3225869311,AU @@ -114640,7 +117415,7 @@ 3225883392,3225884927,SE 3225884928,3225885183,NL 3225885184,3225885439,IT -3225885440,3225885695,AT +3225885440,3225885695,IL 3225885696,3225886719,SE 3225886720,3225886975,NO 3225886976,3225887231,SE @@ -114906,7 +117681,8 @@ 3226695680,3226695935,US 3226695936,3226696191,CA 3226696448,3226696703,AU -3226697728,3226701823,CA +3226697728,3226699775,US +3226699776,3226701823,CA 3226701824,3226705919,US 3226705920,3226706175,FR 3226706176,3226707199,US @@ -114918,7 +117694,8 @@ 3226716160,3226716415,GB 3226716416,3226716671,US 3226716672,3226716927,GB -3226716928,3226718207,US +3226716928,3226717951,US +3226717952,3226718207,BR 3226718208,3226719231,ZA 3226719232,3226720255,KE 3226720768,3226721279,JP @@ -114969,8 +117746,8 @@ 3226757888,3226758143,SI 3226758144,3226758399,HR 3226758400,3226758655,SI -3226758656,3226763007,US -3226763008,3226770687,IT +3226758656,3226763263,US +3226763264,3226770687,IT 3226770688,3226772991,US 3226772992,3226773247,CH 3226773248,3226774783,US @@ -115040,7 +117817,7 @@ 3226995456,3226996991,US 3226996992,3226997247,PT 3226997248,3226998527,US -3226998528,3226999039,AT +3226998528,3226999039,NL 3226999040,3227013119,US 3227013376,3227013887,US 3227013888,3227014399,NL @@ -115060,9 +117837,10 @@ 3227025920,3227026175,GB 3227026176,3227026687,US 3227026688,3227026943,GB -3227026944,3227026947,US -3227026948,3227026948,AU -3227026949,3227040511,US +3227026944,3227026955,AU +3227026956,3227026957,US +3227026958,3227027199,AU +3227027200,3227040511,US 3227040512,3227040767,AU 3227040768,3227041279,US 3227041280,3227041535,NZ @@ -115150,10 +117928,10 @@ 3227392256,3227393023,US 3227393024,3227393279,AT 3227393280,3227394559,US -3227394560,3227394815,IN -3227394816,3227396351,US -3227396352,3227396607,AU -3227396608,3227398399,US +3227394560,3227394817,IN +3227394818,3227394818,US +3227394819,3227395071,IN +3227395072,3227398399,US 3227398400,3227398655,CA 3227398656,3227400447,US 3227400448,3227400703,AT @@ -115177,7 +117955,7 @@ 3227425792,3227427583,DK 3227427584,3227427839,ES 3227427840,3227429119,US -3227429120,3227429375,AU +3227429120,3227429375,NZ 3227429376,3227429887,US 3227429888,3227430143,GB 3227430144,3227430399,US @@ -115277,7 +118055,10 @@ 3227537152,3227539199,ZA 3227539200,3227540735,MU 3227540736,3227540991,ZA -3227540992,3227543295,MU +3227540992,3227541759,MU +3227541760,3227542015,ZA +3227542016,3227542527,MU +3227542528,3227543295,ZA 3227543296,3227543551,US 3227543552,3227544831,ZA 3227544832,3227545087,MU @@ -115328,14 +118109,37 @@ 3227733912,3227733919,BR 3227733920,3227734399,CA 3227734400,3227734527,US -3227734528,3227738879,CA +3227734528,3227738367,CA +3227738368,3227738623,US +3227738624,3227738879,CA 3227738880,3227739135,US -3227739136,3227746559,CA +3227739136,3227742207,CA +3227742208,3227742463,PL +3227742464,3227742691,CA +3227742692,3227742695,US +3227742696,3227743359,CA +3227743360,3227743375,US +3227743376,3227743487,CA +3227743488,3227743743,BR +3227743744,3227743999,CZ +3227744000,3227744167,CA +3227744168,3227744171,US +3227744172,3227744827,CA +3227744828,3227744831,US +3227744832,3227744911,CA +3227744912,3227744915,US +3227744916,3227745755,CA +3227745756,3227745759,US +3227745760,3227745867,CA +3227745868,3227745871,US +3227745872,3227746007,CA +3227746008,3227746011,US +3227746012,3227746167,CA +3227746168,3227746175,US +3227746176,3227746559,CA 3227746560,3227746815,AU 3227746816,3227747071,BR -3227747072,3227747855,CA -3227747856,3227747863,US -3227747864,3227748035,CA +3227747072,3227748035,CA 3227748036,3227748039,US 3227748040,3227749839,CA 3227749840,3227749855,BZ @@ -115451,9 +118255,7 @@ 3227818752,3227819263,MX 3227819264,3227819519,AR 3227819520,3227822079,MX -3227822336,3227822847,MX -3227822848,3227823103,HN -3227823104,3227824383,MX +3227822336,3227824383,MX 3227824384,3227824639,BR 3227824640,3227825663,MX 3227825664,3227825919,CR @@ -115487,8 +118289,7 @@ 3227851776,3227852031,DE 3227852032,3227853311,US 3227853312,3227853567,GB -3227853568,3227860991,US -3227863040,3227863807,US +3227853568,3227863807,US 3227863808,3227864063,DE 3227864064,3227865343,US 3227865344,3227866111,NL @@ -115649,9 +118450,7 @@ 3228125952,3228126207,DE 3228126208,3228133375,US 3228133376,3228133631,CA -3228133632,3228133887,US -3228133888,3228134143,CA -3228134144,3228134399,US +3228133632,3228134399,US 3228134400,3228134655,CA 3228134656,3228172287,US 3228172288,3228237823,IT @@ -115960,8 +118759,8 @@ 3229264896,3229265919,US 3229265920,3229266175,AU 3229266176,3229266943,US -3229266944,3229267199,NZ -3229267200,3229273599,US +3229266944,3229267455,NZ +3229267456,3229273599,US 3229273600,3229273855,CA 3229273856,3229275647,US 3229275648,3229275903,GB @@ -116098,13 +118897,13 @@ 3229940736,3229940991,CH 3229940992,3229941247,AU 3229941248,3229945343,US -3229945600,3229945855,PT +3229945600,3229945855,NL 3229945856,3229947135,US 3229947136,3229947391,AU 3229947392,3229948927,US 3229948928,3229949183,IT 3229949184,3229949695,US -3229949696,3229949951,AU +3229949696,3229949951,NZ 3229949952,3229950207,NO 3229950208,3229950975,US 3229950976,3229951231,IL @@ -116183,6 +118982,7 @@ 3230116096,3230117631,US 3230117632,3230117887,FR 3230117888,3230120191,US +3230120192,3230120447,BR 3230120448,3230120703,US 3230120704,3230120959,PT 3230120960,3230125823,US @@ -116243,9 +119043,7 @@ 3230168064,3230177791,US 3230177792,3230178303,GB 3230178304,3230178559,CH -3230178560,3230214911,US -3230214912,3230215167,PR -3230215168,3230220287,US +3230178560,3230220287,US 3230220288,3230220543,NL 3230220544,3230222079,US 3230222080,3230222335,NL @@ -116292,9 +119090,7 @@ 3230259200,3230269695,US 3230269696,3230271743,GB 3230271744,3230272511,US -3230273536,3230277631,US -3230277632,3230281727,DE -3230281728,3230291455,US +3230273536,3230291455,US 3230291456,3230291711,PT 3230291712,3230295039,US 3230295040,3230295295,AU @@ -116416,6 +119212,17 @@ 3230528512,3230529535,MX 3230529536,3230531583,BR 3230531584,3230662655,ZA +3230662656,3230663679,ES +3230663680,3230667775,RU +3230667776,3230669823,RO +3230669824,3230670847,RU +3230670848,3230671103,DE +3230671104,3230671871,US +3230671872,3230673919,RU +3230673920,3230674943,CZ +3230674944,3230675967,RU +3230675968,3230678015,CZ +3230678016,3230679039,HR 3230679040,3230681599,BR 3230681600,3230681855,FR 3230682112,3230682623,FR @@ -116429,9 +119236,10 @@ 3230777344,3230784511,BR 3230784512,3230785535,MX 3230785536,3230786559,PL -3230787328,3230795007,US -3230795008,3230795263,TW -3230795264,3230823679,US +3230786560,3230787071,ID +3230787328,3230797311,US +3230797312,3230797567,SG +3230797568,3230823679,US 3230823680,3230823935,DK 3230823936,3230824191,US 3230824192,3230824447,FR @@ -116491,7 +119299,9 @@ 3230868480,3230868735,GB 3230868736,3230870015,US 3230870016,3230870271,PL -3230870272,3230878719,US +3230870272,3230873343,US +3230873344,3230873599,HK +3230873600,3230878719,US 3230878720,3230879487,PT 3230879488,3230879743,FR 3230879744,3230895359,US @@ -116693,8 +119503,9 @@ 3231156224,3231166463,US 3231166464,3231167231,CA 3231167232,3231167487,CO -3231167488,3231170559,CA -3231170560,3231174655,US +3231167488,3231167743,MX +3231167744,3231168511,CA +3231168512,3231174655,US 3231174656,3231178751,CN 3231178752,3231179263,HK 3231179264,3231180287,US @@ -116858,16 +119669,13 @@ 3231411056,3231411063,AU 3231411064,3231423999,US 3231424000,3231424511,PR -3231424512,3231455521,US -3231455522,3231455522,DE -3231455523,3231482879,US +3231424512,3231482879,US 3231482880,3231483135,BE 3231483136,3231484927,US 3231484928,3231487999,JP 3231488512,3231488767,JP 3231489280,3231489535,US -3231489536,3231489791,JP -3231489792,3231490047,AU +3231489536,3231490047,AU 3231490048,3231490559,US 3231490560,3231490815,GB 3231490816,3231491327,US @@ -116899,10 +119707,12 @@ 3231515648,3231516671,US 3231516672,3231518719,SE 3231518720,3231519231,BR -3231519232,3231528191,US +3231519232,3231521471,US +3231521472,3231521479,AU +3231521480,3231528191,US 3231528192,3231528287,CA 3231528288,3231528303,US -3231528304,3231528311,NO +3231528304,3231528311,CA 3231528312,3231528383,US 3231528384,3231528447,CA 3231528448,3231528959,US @@ -116914,11 +119724,7 @@ 3231529024,3231529031,US 3231529032,3231529055,CA 3231529056,3231529071,US -3231529072,3231529119,CA -3231529120,3231529127,US -3231529128,3231529167,CA -3231529168,3231529175,US -3231529176,3231529191,CA +3231529072,3231529191,CA 3231529192,3231529199,US 3231529200,3231529435,CA 3231529436,3231529439,US @@ -116968,8 +119774,8 @@ 3231589120,3231591679,US 3231591680,3231591935,AU 3231591936,3231593983,US -3231593984,3231594239,GB -3231594240,3231596031,US +3231593984,3231594495,GB +3231594496,3231596031,US 3231596032,3231596543,PR 3231596544,3231634943,US 3231634944,3231635455,CA @@ -117008,8 +119814,8 @@ 3231676160,3231676671,US 3231676672,3231676927,FR 3231676928,3231677183,FI -3231677184,3231689727,US -3231689728,3231690751,MX +3231677184,3231689215,US +3231689216,3231690751,MX 3231690752,3231692799,CA 3231692800,3231694847,US 3231694848,3231711231,CA @@ -117220,7 +120026,8 @@ 3232112640,3232113663,PL 3232113664,3232114687,IQ 3232114688,3232115711,TR -3232115712,3232116735,GB +3232115712,3232115967,NL +3232115968,3232116735,GB 3232116736,3232129023,DE 3232129024,3232130047,NL 3232130048,3232131071,UA @@ -117342,53 +120149,39 @@ 3232825344,3233288191,US 3233288192,3233292287,CA 3233292288,3233431551,US -3233431552,3233448223,CA -3233448224,3233448255,US -3233448256,3233448263,CA -3233448264,3233448271,US -3233448272,3233448287,CA +3233431552,3233448239,CA +3233448240,3233448255,US +3233448256,3233448287,CA 3233448288,3233448295,US -3233448296,3233448303,CA -3233448304,3233448319,US -3233448320,3233448447,CA +3233448296,3233448447,CA 3233448448,3233448463,US 3233448464,3233448479,CA 3233448480,3233448495,US -3233448496,3233448527,CA -3233448528,3233448543,US -3233448544,3233448575,CA -3233448576,3233448607,US -3233448608,3233448655,CA -3233448656,3233448671,US -3233448672,3233448823,CA +3233448496,3233448591,CA +3233448592,3233448607,US +3233448608,3233448823,CA 3233448824,3233448831,US 3233448832,3233448863,CA 3233448864,3233448871,US -3233448872,3233448879,FI -3233448880,3233448895,US -3233448896,3233448903,CA -3233448904,3233448927,US -3233448928,3233449071,CA -3233449072,3233449079,US -3233449080,3233449095,CA +3233448872,3233448903,CA +3233448904,3233448911,US +3233448912,3233449095,CA 3233449096,3233449103,GB 3233449104,3233449199,CA 3233449200,3233449215,US 3233449216,3233449311,CA 3233449312,3233449319,RO -3233449320,3233449327,CA -3233449328,3233449343,US -3233449344,3233449359,CA +3233449320,3233449359,CA 3233449360,3233449367,US -3233449368,3233449519,CA -3233449520,3233449567,US -3233449568,3233449583,CA -3233449584,3233449663,US -3233449664,3233449671,CA -3233449672,3233449695,US -3233449696,3233449727,CA -3233449728,3233449783,US -3233449784,3233449823,CA +3233449368,3233449535,CA +3233449536,3233449567,US +3233449568,3233449615,CA +3233449616,3233449631,US +3233449632,3233449639,CA +3233449640,3233449663,US +3233449664,3233449759,CA +3233449760,3233449775,US +3233449776,3233449823,CA 3233449824,3233449839,US 3233449840,3233450047,CA 3233450048,3233450111,US @@ -117396,105 +120189,82 @@ 3233450128,3233450135,US 3233450136,3233450199,CA 3233450200,3233450207,GB -3233450208,3233450411,CA -3233450412,3233450415,US -3233450416,3233450607,CA -3233450608,3233450615,US -3233450616,3233450735,CA -3233450736,3233450739,US -3233450740,3233450775,CA -3233450776,3233450783,SE +3233450208,3233450783,CA 3233450784,3233450815,US -3233450816,3233450847,CA -3233450848,3233450887,US +3233450816,3233450863,CA +3233450864,3233450887,US 3233450888,3233450895,CA -3233450896,3233450959,US -3233450960,3233450991,CA -3233450992,3233451263,US +3233450896,3233450911,US +3233450912,3233450927,CA +3233450928,3233450959,US +3233450960,3233451007,CA +3233451008,3233451263,US 3233451264,3233451519,CA -3233451520,3233451551,GB -3233451552,3233451583,US -3233451584,3233451647,GB -3233451648,3233451711,US -3233451712,3233451751,GB -3233451752,3233451807,US -3233451808,3233451823,CA -3233451824,3233451831,US -3233451832,3233451879,CA -3233451880,3233451951,US +3233451520,3233451775,GB +3233451776,3233451903,CA +3233451904,3233451951,US 3233451952,3233452031,CA -3233452032,3233452319,US -3233452320,3233452335,CA -3233452336,3233452351,US -3233452352,3233452383,CA -3233452384,3233452495,US -3233452496,3233452511,CA -3233452512,3233452527,US +3233452032,3233452287,US +3233452288,3233452303,CA +3233452304,3233452319,US +3233452320,3233452383,CA +3233452384,3233452487,US +3233452488,3233452519,CA +3233452520,3233452527,US 3233452528,3233452543,CA -3233452544,3233452879,US +3233452544,3233452831,US +3233452832,3233452847,CA +3233452848,3233452879,US 3233452880,3233452959,CA -3233452960,3233453199,US +3233452960,3233453007,US +3233453008,3233453023,CA +3233453024,3233453199,US 3233453200,3233453247,CA -3233453248,3233453279,US +3233453248,3233453263,US +3233453264,3233453271,CA +3233453272,3233453279,US 3233453280,3233453295,CA 3233453296,3233453311,US -3233453312,3233453383,CA -3233453384,3233453391,US -3233453392,3233453439,CA -3233453440,3233453471,US -3233453472,3233453503,CA -3233453504,3233453567,US -3233453568,3233453623,IT -3233453624,3233454079,US -3233454080,3233454175,CA -3233454176,3233454207,US -3233454208,3233454399,CA -3233454400,3233454447,US -3233454448,3233454511,CA +3233453312,3233453455,CA +3233453456,3233453471,US +3233453472,3233453567,CA +3233453568,3233453631,IT +3233453632,3233454079,US +3233454080,3233454399,CA +3233454400,3233454415,US +3233454416,3233454423,CA +3233454424,3233454431,US +3233454432,3233454511,CA 3233454512,3233454527,US 3233454528,3233454559,CA 3233454560,3233454575,US -3233454576,3233454591,CA -3233454592,3233454599,SE -3233454600,3233454639,CA -3233454640,3233454647,US -3233454648,3233454687,CA -3233454688,3233454695,US -3233454696,3233454735,CA -3233454736,3233454743,US -3233454744,3233454799,CA -3233454800,3233454807,US -3233454808,3233454815,CA +3233454576,3233454727,CA +3233454728,3233454783,US +3233454784,3233454815,CA 3233454816,3233454823,US -3233454824,3233454831,CA -3233454832,3233454839,US -3233454840,3233454879,CA -3233454880,3233454911,US -3233454912,3233455039,CA +3233454824,3233454847,CA +3233454848,3233454879,US +3233454880,3233455039,CA 3233455040,3233455071,US -3233455072,3233455087,CA -3233455088,3233455103,US -3233455104,3233455327,CA +3233455072,3233455327,CA 3233455328,3233455335,US -3233455336,3233455351,CA -3233455352,3233455359,US -3233455360,3233455423,CA -3233455424,3233455447,US -3233455448,3233455455,CA -3233455456,3233455487,US +3233455336,3233455439,CA +3233455440,3233455447,US +3233455448,3233455471,CA +3233455472,3233455487,US 3233455488,3233455519,CA 3233455520,3233455551,US -3233455552,3233455663,CA -3233455664,3233455719,US -3233455720,3233455743,CA +3233455552,3233455695,CA +3233455696,3233455711,US +3233455712,3233455743,CA 3233455744,3233455807,US -3233455808,3233455839,CA -3233455840,3233455871,US +3233455808,3233455855,CA +3233455856,3233455871,US 3233455872,3233455935,CA 3233455936,3233455967,US -3233455968,3233455999,CA -3233456000,3233456047,US -3233456048,3233456063,CA +3233455968,3233456015,CA +3233456016,3233456031,US +3233456032,3233456063,CA 3233456064,3233456111,US 3233456112,3233456119,CA 3233456120,3233456191,US @@ -117506,92 +120276,96 @@ 3233456416,3233456639,US 3233456640,3233456655,CA 3233456656,3233456671,US -3233456672,3233456767,CA -3233456768,3233456895,US +3233456672,3233456799,CA +3233456800,3233456847,US +3233456848,3233456863,CA +3233456864,3233456895,US 3233456896,3233456943,CA -3233456944,3233456999,US +3233456944,3233456959,US +3233456960,3233456975,CA +3233456976,3233456999,US 3233457000,3233457023,CA 3233457024,3233457039,US -3233457040,3233457055,CA -3233457056,3233457535,US +3233457040,3233457087,CA +3233457088,3233457471,US +3233457472,3233457519,CA +3233457520,3233457535,US 3233457536,3233457631,CA -3233457632,3233457671,US -3233457672,3233457679,CA -3233457680,3233457687,US -3233457688,3233457727,CA -3233457728,3233457775,US +3233457632,3233457647,US +3233457648,3233457663,CA +3233457664,3233457671,US +3233457672,3233457735,CA +3233457736,3233457775,US 3233457776,3233457831,CA -3233457832,3233457919,US -3233457920,3233458175,CA -3233458176,3233458207,US -3233458208,3233458223,CA +3233457832,3233457871,US +3233457872,3233458175,CA +3233458176,3233458191,US +3233458192,3233458223,CA 3233458224,3233458271,US 3233458272,3233458303,CA -3233458304,3233458527,US -3233458528,3233458535,CA -3233458536,3233458559,US -3233458560,3233458591,CA -3233458592,3233458623,US -3233458624,3233458687,CA +3233458304,3233458351,US +3233458352,3233458359,CA +3233458360,3233458399,US +3233458400,3233458431,CA +3233458432,3233458527,US +3233458528,3233458591,CA +3233458592,3233458607,US +3233458608,3233458687,CA 3233458688,3233458943,US 3233458944,3233458959,BG -3233458960,3233459839,US -3233459840,3233459919,CA -3233459920,3233459935,US -3233459936,3233459967,CA +3233458960,3233459455,US +3233459456,3233459471,CA +3233459472,3233459631,US +3233459632,3233459679,CA +3233459680,3233459695,US +3233459696,3233459711,CA +3233459712,3233459727,US +3233459728,3233459775,CA +3233459776,3233459807,US +3233459808,3233459823,CA +3233459824,3233459839,US +3233459840,3233459967,CA 3233459968,3233459999,US 3233460000,3233460015,CA -3233460016,3233460063,US -3233460064,3233460119,CA -3233460120,3233460159,US -3233460160,3233460223,CA +3233460016,3233460047,US +3233460048,3233460223,CA 3233460224,3233460479,US -3233460480,3233460487,CA -3233460488,3233460511,US +3233460480,3233460495,CA +3233460496,3233460511,US 3233460512,3233460519,SE 3233460520,3233460527,CA 3233460528,3233460535,US -3233460536,3233460543,CA -3233460544,3233460607,US -3233460608,3233460671,CA -3233460672,3233461279,US +3233460536,3233460607,CA +3233460608,3233461279,US 3233461280,3233461303,CA 3233461304,3233461319,US -3233461320,3233461327,CA -3233461328,3233461335,US -3233461336,3233461343,CA -3233461344,3233461351,US -3233461352,3233461375,CA -3233461376,3233461439,US -3233461440,3233461471,CA -3233461472,3233461543,US +3233461320,3233461375,CA +3233461376,3233461407,US +3233461408,3233461487,CA +3233461488,3233461543,US 3233461544,3233461567,CA -3233461568,3233461631,US -3233461632,3233461639,CA +3233461568,3233461583,US +3233461584,3233461599,CA +3233461600,3233461615,US +3233461616,3233461639,CA 3233461640,3233461679,US -3233461680,3233461687,CA -3233461688,3233461711,US -3233461712,3233461727,CA +3233461680,3233461727,CA 3233461728,3233461743,US 3233461744,3233461759,CA -3233461760,3233461855,US +3233461760,3233461823,US +3233461824,3233461839,CA +3233461840,3233461855,US 3233461856,3233461871,CA 3233461872,3233462015,US -3233462016,3233462063,CA -3233462064,3233462071,US -3233462072,3233462127,CA -3233462128,3233462271,US -3233462272,3233462527,CA +3233462016,3233462127,CA +3233462128,3233462143,US +3233462144,3233462527,CA 3233462528,3233462783,US 3233462784,3233463295,CA 3233463296,3233463551,US -3233463552,3233463615,CA -3233463616,3233463663,US -3233463664,3233463679,CA -3233463680,3233463855,US -3233463856,3233463871,CA -3233463872,3233463887,US -3233463888,3233463919,CA +3233463552,3233463807,CA +3233463808,3233463855,US +3233463856,3233463919,CA 3233463920,3233463999,US 3233464000,3233464063,CA 3233464064,3233484799,US @@ -117643,7 +120417,7 @@ 3233579520,3233580031,US 3233580032,3233580287,GB 3233580288,3233581055,US -3233581056,3233581311,NL +3233581056,3233581311,DE 3233581312,3233583359,US 3233583360,3233583615,GB 3233583616,3233584895,US @@ -117672,9 +120446,7 @@ 3233607168,3233607935,US 3233607936,3233608191,NZ 3233608192,3233609727,HU -3233609728,3233612031,US -3233612032,3233612287,GB -3233612288,3233613823,US +3233609728,3233613823,US 3233613824,3233614847,GB 3233614848,3233615359,US 3233615360,3233615615,NL @@ -117716,7 +120488,7 @@ 3233650688,3233651199,US 3233651200,3233651455,IT 3233651456,3233651967,US -3233651968,3233652223,NL +3233651968,3233652223,GB 3233652224,3233652479,US 3233652736,3233652991,NL 3233652992,3233654271,US @@ -117808,17 +120580,19 @@ 3233802752,3233808383,US 3233808384,3233873919,TW 3233873920,3233874943,AU -3233874944,3233903615,US +3233874944,3233890815,US +3233890816,3233891071,ID +3233891072,3233901055,US +3233901056,3233901567,IN +3233901568,3233903615,US 3233903616,3233903743,GB 3233903744,3233903807,US 3233903808,3233903871,GB -3233903872,3233908479,US +3233903872,3233907967,US +3233907968,3233908223,HK +3233908224,3233908479,US 3233908480,3233908735,SG -3233908736,3233917853,US -3233917854,3233917854,MX -3233917855,3233921535,US -3233921536,3233921791,MX -3233921792,3233939455,US +3233908736,3233939455,US 3233939456,3234004991,FI 3234005248,3234005503,GB 3234005760,3234006015,CA @@ -117881,9 +120655,37 @@ 3234127616,3234127871,CA 3234127872,3234128455,US 3234128456,3234128463,GB -3234128464,3234131183,US -3234131184,3234131191,GB -3234131192,3234136063,US +3234128464,3234128975,US +3234128976,3234128983,CN +3234128984,3234131135,US +3234131136,3234131143,GB +3234131144,3234131151,US +3234131152,3234131159,BR +3234131160,3234131167,US +3234131168,3234131183,NL +3234131184,3234131199,GB +3234131200,3234131207,AU +3234131208,3234131247,US +3234131248,3234131255,DO +3234131256,3234131263,US +3234131264,3234131279,RU +3234131280,3234131295,BR +3234131296,3234131327,US +3234131328,3234131359,TR +3234131360,3234131375,BR +3234131376,3234131391,US +3234131392,3234131423,IN +3234131424,3234131519,AU +3234131520,3234131535,US +3234131536,3234131551,IN +3234131552,3234131583,JM +3234131584,3234131639,US +3234131640,3234131647,JM +3234131648,3234131679,US +3234131680,3234131687,JM +3234131688,3234131695,US +3234131696,3234131703,IT +3234131704,3234136063,US 3234136064,3234150911,CA 3234150912,3234151423,US 3234151424,3234158847,CA @@ -117908,21 +120710,15 @@ 3234201344,3234203647,US 3234203648,3234205695,AR 3234205696,3234226175,US -3234226176,3234226207,CA -3234226208,3234226239,US -3234226240,3234226263,CA +3234226176,3234226263,CA 3234226264,3234226271,US 3234226272,3234226279,CA 3234226280,3234226303,US -3234226304,3234226359,CA -3234226360,3234226367,US -3234226368,3234226559,CA -3234226560,3234226575,US -3234226576,3234226591,CA -3234226592,3234226687,US +3234226304,3234226623,CA +3234226624,3234226687,US 3234226688,3234226711,CA -3234226712,3234226767,US -3234226768,3234226847,CA +3234226712,3234226751,US +3234226752,3234226847,CA 3234226848,3234226863,US 3234226864,3234226879,CA 3234226880,3234226943,US @@ -117930,14 +120726,9 @@ 3234226960,3234226967,US 3234226968,3234227007,CA 3234227008,3234227023,US -3234227024,3234227047,CA -3234227048,3234227055,US -3234227056,3234227135,CA +3234227024,3234227135,CA 3234227136,3234227143,US -3234227144,3234227151,CA -3234227152,3234227159,US -3234227160,3234227167,FI -3234227168,3234227191,CA +3234227144,3234227191,CA 3234227192,3234227455,US 3234227456,3234227611,CA 3234227612,3234227615,US @@ -117948,8 +120739,8 @@ 3234227644,3234227695,CA 3234227696,3234227699,US 3234227700,3234227707,CA -3234227708,3234227759,US -3234227760,3234227775,CA +3234227708,3234227711,US +3234227712,3234227775,CA 3234227776,3234227807,US 3234227808,3234227839,CA 3234227840,3234227879,US @@ -117959,37 +120750,33 @@ 3234227952,3234228223,US 3234228224,3234228287,CA 3234228288,3234228383,US -3234228384,3234228447,CA -3234228448,3234228455,US -3234228456,3234228463,CA +3234228384,3234228463,CA 3234228464,3234228479,US 3234228480,3234228607,CA 3234228608,3234228639,US 3234228640,3234228671,CA -3234228672,3234228735,US -3234228736,3234228999,CA -3234229000,3234229007,US -3234229008,3234229039,CA +3234228672,3234228703,US +3234228704,3234228719,CA +3234228720,3234228735,US +3234228736,3234229039,CA 3234229040,3234229047,US 3234229048,3234229063,CA -3234229064,3234229095,US -3234229096,3234229111,CA +3234229064,3234229079,US +3234229080,3234229111,CA 3234229112,3234229119,US -3234229120,3234229135,CA -3234229136,3234229143,US -3234229144,3234229191,CA +3234229120,3234229191,CA 3234229192,3234229199,US 3234229200,3234229215,CA 3234229216,3234229223,SE 3234229224,3234229239,CA -3234229240,3234229599,US +3234229240,3234229503,US +3234229504,3234229567,CA +3234229568,3234229599,US 3234229600,3234229607,CA 3234229608,3234229615,US 3234229616,3234229695,CA -3234229696,3234229759,US -3234229760,3234229839,CA -3234229840,3234229847,US -3234229848,3234229895,CA +3234229696,3234229743,US +3234229744,3234229895,CA 3234229896,3234229903,US 3234229904,3234229911,CA 3234229912,3234229951,US @@ -117997,62 +120784,58 @@ 3234230016,3234230207,ES 3234230208,3234230271,US 3234230272,3234230399,CA -3234230400,3234230463,US -3234230464,3234230511,CA -3234230512,3234230783,US -3234230784,3234230911,CA -3234230912,3234230991,US -3234230992,3234230999,CA -3234231000,3234231047,US -3234231048,3234231055,CA +3234230400,3234230431,US +3234230432,3234230527,CA +3234230528,3234230783,US +3234230784,3234230927,CA +3234230928,3234230991,US +3234230992,3234231007,CA +3234231008,3234231039,US +3234231040,3234231055,CA 3234231056,3234231063,US 3234231064,3234231087,CA 3234231088,3234231103,US -3234231104,3234231127,CA -3234231128,3234231135,US -3234231136,3234231143,CA -3234231144,3234231159,US -3234231160,3234231199,CA -3234231200,3234231215,US -3234231216,3234231231,CA -3234231232,3234231247,US -3234231248,3234231255,CA +3234231104,3234231143,CA +3234231144,3234231151,US +3234231152,3234231255,CA 3234231256,3234231279,US -3234231280,3234231287,CA -3234231288,3234231295,SE -3234231296,3234231423,CA +3234231280,3234231423,CA 3234231424,3234231551,US 3234231552,3234231807,CA -3234231808,3234232159,US +3234231808,3234232111,US +3234232112,3234232127,CA +3234232128,3234232159,US 3234232160,3234232247,CA -3234232248,3234232319,US +3234232248,3234232255,US +3234232256,3234232319,CA 3234232320,3234232575,EG -3234232576,3234233063,US -3234233064,3234233071,SE -3234233072,3234233375,US -3234233376,3234233383,CA -3234233384,3234233391,US -3234233392,3234233399,CA +3234232576,3234233343,US +3234233344,3234233399,CA 3234233400,3234233407,US 3234233408,3234233471,CA 3234233472,3234233487,US -3234233488,3234233495,CA -3234233496,3234233503,SE -3234233504,3234233599,US -3234233600,3234233631,CA -3234233632,3234233759,US +3234233488,3234233519,CA +3234233520,3234233599,US +3234233600,3234233647,CA +3234233648,3234233759,US 3234233760,3234233791,CA 3234233792,3234233823,US 3234233824,3234233855,CA -3234233856,3234234199,US +3234233856,3234234127,US +3234234128,3234234143,CA +3234234144,3234234199,US 3234234200,3234234207,CA 3234234208,3234234239,US 3234234240,3234234247,CA 3234234248,3234234271,US 3234234272,3234234287,CA -3234234288,3234238463,US +3234234288,3234234335,US +3234234336,3234234367,CA +3234234368,3234238463,US 3234238464,3234239487,MY -3234239488,3234267135,US +3234239488,3234240255,US +3234240256,3234240511,IE +3234240512,3234267135,US 3234267136,3234267391,CA 3234267392,3234268927,US 3234268928,3234269183,SG @@ -118218,7 +121001,8 @@ 3235184896,3235275775,US 3235275776,3235276799,CA 3235276800,3235278847,US -3235278848,3235282943,BB +3235278848,3235282431,BB +3235282432,3235282943,GD 3235282944,3235315711,CA 3235315712,3235512319,US 3235512320,3235577855,JP @@ -118272,9 +121056,7 @@ 3235959552,3235959807,CA 3235959808,3235962111,US 3235962112,3235962367,CA -3235962368,3235963647,US -3235963648,3235963903,CA -3235963904,3235968511,US +3235962368,3235968511,US 3235968512,3235968767,CA 3235968768,3235970559,US 3235970560,3235970815,CA @@ -118484,55 +121266,48 @@ 3237036128,3237036135,CA 3237036136,3237036159,US 3237036160,3237036255,CA -3237036256,3237036383,US +3237036256,3237036351,US +3237036352,3237036367,CA +3237036368,3237036383,US 3237036384,3237036415,CA 3237036416,3237036495,US 3237036496,3237036511,CA 3237036512,3237036543,US 3237036544,3237036551,CA 3237036552,3237036555,US -3237036556,3237036679,CA -3237036680,3237036687,SE -3237036688,3237036695,US -3237036696,3237036703,CA +3237036556,3237036703,CA 3237036704,3237036711,US 3237036712,3237036799,CA 3237036800,3237037311,US 3237037312,3237037567,CA 3237037568,3237037583,US -3237037584,3237037591,CA -3237037592,3237037599,US -3237037600,3237037607,CA +3237037584,3237037607,CA 3237037608,3237037631,US -3237037632,3237037647,CA -3237037648,3237037655,SE -3237037656,3237037703,CA +3237037632,3237037703,CA 3237037704,3237037711,US 3237037712,3237037751,CA 3237037752,3237037759,US -3237037760,3237037767,CA -3237037768,3237037775,NO -3237037776,3237037783,CA -3237037784,3237037791,US -3237037792,3237037815,CA -3237037816,3237037847,US -3237037848,3237037887,CA +3237037760,3237037815,CA +3237037816,3237037823,US +3237037824,3237037887,CA 3237037888,3237037895,US 3237037896,3237037943,CA -3237037944,3237037975,US -3237037976,3237037991,CA -3237037992,3237038007,US -3237038008,3237038015,CA -3237038016,3237038047,US +3237037944,3237037959,US +3237037960,3237037967,CA +3237037968,3237037975,US +3237037976,3237037999,CA +3237038000,3237038007,US +3237038008,3237038031,CA +3237038032,3237038047,US 3237038048,3237038079,CA 3237038080,3237038335,US 3237038336,3237038367,CA 3237038368,3237038399,US 3237038400,3237038415,CA 3237038416,3237038431,US -3237038432,3237038463,CA -3237038464,3237038591,US -3237038592,3237038607,CA +3237038432,3237038495,CA +3237038496,3237038575,US +3237038576,3237038607,CA 3237038608,3237038615,US 3237038616,3237038663,CA 3237038664,3237038671,US @@ -118547,21 +121322,27 @@ 3237038792,3237038823,CA 3237038824,3237038839,US 3237038840,3237038863,CA -3237038864,3237039055,US -3237039056,3237039103,CA -3237039104,3237039231,US -3237039232,3237039295,CA -3237039296,3237039615,US -3237039616,3237039811,CA -3237039812,3237039815,US -3237039816,3237039835,CA -3237039836,3237039839,US -3237039840,3237039935,CA +3237038864,3237038879,US +3237038880,3237038911,CA +3237038912,3237038927,US +3237038928,3237038991,CA +3237038992,3237039039,US +3237039040,3237039103,CA +3237039104,3237039183,US +3237039184,3237039199,CA +3237039200,3237039215,US +3237039216,3237039295,CA +3237039296,3237039343,US +3237039344,3237039359,CA +3237039360,3237039615,US +3237039616,3237039935,CA 3237039936,3237040063,US 3237040064,3237040143,CA 3237040144,3237040159,US 3237040160,3237040255,CA -3237040256,3237040335,US +3237040256,3237040303,US +3237040304,3237040319,CA +3237040320,3237040335,US 3237040336,3237040351,CA 3237040352,3237040895,US 3237040896,3237041151,CA @@ -118571,28 +121352,24 @@ 3237041824,3237041935,CA 3237041936,3237041983,US 3237041984,3237042047,CA -3237042048,3237042079,US -3237042080,3237042127,CA +3237042048,3237042063,US +3237042064,3237042127,CA 3237042128,3237042431,US 3237042432,3237042463,CA 3237042464,3237042471,US 3237042472,3237042479,CA 3237042480,3237042495,US -3237042496,3237042511,CA -3237042512,3237042527,US -3237042528,3237042607,CA +3237042496,3237042607,CA 3237042608,3237042623,US 3237042624,3237042631,CA 3237042632,3237042639,US 3237042640,3237042647,CA -3237042648,3237042671,US -3237042672,3237042679,CA +3237042648,3237042655,US +3237042656,3237042679,CA 3237042680,3237042687,US 3237042688,3237042943,CA 3237042944,3237043455,US -3237043456,3237043479,CA -3237043480,3237043483,US -3237043484,3237043711,CA +3237043456,3237043711,CA 3237043712,3237043967,US 3237043968,3237044223,CH 3237044224,3237044287,US @@ -118602,69 +121379,64 @@ 3237044624,3237044631,US 3237044632,3237044639,CA 3237044640,3237044647,US -3237044648,3237044679,CA -3237044680,3237044703,US +3237044648,3237044695,CA +3237044696,3237044703,US 3237044704,3237044711,CA 3237044712,3237044719,US 3237044720,3237044727,CA -3237044728,3237044799,US -3237044800,3237044815,CA +3237044728,3237044735,US +3237044736,3237044815,CA 3237044816,3237044831,US 3237044832,3237044887,CA 3237044888,3237044895,US -3237044896,3237044903,CA -3237044904,3237044911,US -3237044912,3237045031,CA +3237044896,3237045031,CA 3237045032,3237045039,US -3237045040,3237045119,CA -3237045120,3237045127,US -3237045128,3237045199,CA -3237045200,3237045207,US -3237045208,3237045223,CA +3237045040,3237045223,CA 3237045224,3237045231,US 3237045232,3237045247,CA 3237045248,3237045503,US -3237045504,3237045559,CA -3237045560,3237045567,US -3237045568,3237045591,CA -3237045592,3237045599,SE -3237045600,3237045663,CA -3237045664,3237045671,FI -3237045672,3237045687,CA -3237045688,3237045695,US -3237045696,3237045711,CA +3237045504,3237045711,CA 3237045712,3237045719,US 3237045720,3237045759,CA 3237045760,3237046559,US 3237046560,3237046607,CA -3237046608,3237046639,US -3237046640,3237046647,CA +3237046608,3237046623,US +3237046624,3237046647,CA 3237046648,3237046655,SE -3237046656,3237046767,US +3237046656,3237046671,CA +3237046672,3237046767,US 3237046768,3237046775,CA -3237046776,3237046943,US +3237046776,3237046815,US +3237046816,3237046879,CA +3237046880,3237046943,US 3237046944,3237047039,CA 3237047040,3237047295,FR -3237047296,3237047871,US +3237047296,3237047807,US +3237047808,3237047839,CA +3237047840,3237047871,US 3237047872,3237047935,CA -3237047936,3237048143,US +3237047936,3237048031,US +3237048032,3237048079,CA +3237048080,3237048111,US +3237048112,3237048127,CA +3237048128,3237048143,US 3237048144,3237048159,CA 3237048160,3237048191,US 3237048192,3237048255,CA 3237048256,3237048575,US 3237048576,3237048767,CA -3237048768,3237048815,US -3237048816,3237049727,CA +3237048768,3237048783,US +3237048784,3237049727,CA 3237049728,3237050111,US -3237050112,3237050143,GB -3237050144,3237050207,US -3237050208,3237050239,GB -3237050240,3237051903,US +3237050112,3237050159,GB +3237050160,3237050175,US +3237050176,3237050303,GB +3237050304,3237051903,US 3237051904,3237052159,TR -3237052160,3237052287,CA -3237052288,3237052383,US -3237052384,3237052399,CA -3237052400,3237125295,US +3237052160,3237052319,CA +3237052320,3237052383,US +3237052384,3237052415,CA +3237052416,3237125295,US 3237125296,3237125311,CR 3237125312,3237154815,US 3237154816,3237155839,ES @@ -118739,7 +121511,8 @@ 3237554432,3237554434,SG 3237554435,3237554435,US 3237554436,3237554463,SG -3237554464,3237554943,US +3237554464,3237554687,AU +3237554688,3237554943,US 3237554944,3237555199,SG 3237555200,3237568511,US 3237568512,3237572607,CA @@ -118754,10 +121527,12 @@ 3237624832,3237634047,US 3237634048,3237634601,GB 3237634602,3237634603,US -3237634604,3237638143,GB -3237638144,3237647103,US +3237634604,3237636095,GB +3237636096,3237647103,US 3237647104,3237647359,AU -3237647360,3237653503,US +3237647360,3237648383,US +3237648384,3237650431,AU +3237650432,3237653503,US 3237653504,3237653759,IN 3237653760,3237655039,US 3237655040,3237655551,IN @@ -119141,7 +121916,9 @@ 3238067456,3238067711,SE 3238067712,3238067967,AT 3238067968,3238068223,GB -3238068224,3238133759,IE +3238068224,3238084607,IE +3238084608,3238085631,US +3238085632,3238133759,IE 3238133760,3238199295,SI 3238199296,3238264831,DK 3238264832,3238330367,IS @@ -119155,6 +121932,13 @@ 3238461440,3238502399,DE 3238502400,3238504447,RU 3238504448,3238510591,DE +3238510592,3238511615,GB +3238511616,3238512639,RU +3238512640,3238514687,GB +3238514688,3238515711,HU +3238515712,3238516735,FR +3238516736,3238517759,RU +3238517760,3238518783,PS 3238518784,3238526975,DE 3238526976,3238527231,RU 3238528000,3238529023,BG @@ -119170,7 +121954,8 @@ 3238541568,3238541823,PL 3238541824,3238542591,CH 3238542592,3238542847,PL -3238543360,3238545407,CH +3238543360,3238544383,CH +3238544384,3238545407,DE 3238545920,3238546431,RU 3238546432,3238546943,CH 3238546944,3238547455,UA @@ -119220,6 +122005,12 @@ 3238598912,3238599167,PL 3238599168,3238599679,HU 3238599680,3238599935,US +3238600704,3238601727,DE +3238601728,3238603775,CZ +3238603776,3238604799,DE +3238604800,3238605823,RU +3238605824,3238606847,SI +3238606848,3238608895,RU 3238608896,3238621183,SE 3238621184,3238621439,CZ 3238621440,3238621695,GB @@ -119243,9 +122034,7 @@ 3238656512,3238657023,UA 3238657024,3238657535,AT 3238657536,3238657791,GB -3238658048,3238818815,SE -3238818816,3238819327,KZ -3238819328,3238821887,SE +3238658048,3238821887,SE 3238821888,3238823935,HR 3238823936,3238860799,SE 3238860800,3238862847,HR @@ -119272,7 +122061,7 @@ 3239028736,3239051263,SE 3239051264,3239053311,DE 3239053312,3239053567,GB -3239053568,3239054335,AT +3239053568,3239054335,US 3239054336,3239055359,CZ 3239055360,3239059455,DE 3239059456,3239060479,RU @@ -119330,9 +122119,7 @@ 3239112192,3239112447,IL 3239112704,3239112959,PL 3239112960,3239113215,CH -3239113216,3239113471,AT -3239113472,3239113727,ES -3239113728,3239113983,AT +3239113216,3239113983,AT 3239113984,3239114239,DE 3239114240,3239114495,BG 3239114496,3239114751,UA @@ -119421,9 +122208,7 @@ 3239171584,3239171839,PL 3239172096,3239172607,UA 3239172608,3239172863,SE -3239172864,3239172991,DE -3239172992,3239173002,BG -3239173003,3239173119,DE +3239172864,3239173119,DE 3239173376,3239173631,DE 3239173632,3239173887,AT 3239173888,3239174143,PL @@ -119435,9 +122220,9 @@ 3239180288,3239181311,CZ 3239181312,3239181567,AT 3239181824,3239182079,GB -3239182336,3239205887,DE -3239205888,3239206143,US -3239206144,3239264255,DE +3239182336,3239204863,DE +3239204864,3239206911,US +3239206912,3239264255,DE 3239264256,3239264767,NO 3239264768,3239266303,RU 3239266816,3239267327,UA @@ -119489,7 +122274,8 @@ 3239306240,3239307263,UA 3239307264,3239308287,EG 3239308288,3239309311,DE -3239309312,3239311359,UA +3239309312,3239310335,UA +3239310336,3239311359,SA 3239311360,3239312383,PL 3239312384,3239313407,UA 3239313408,3239445759,DE @@ -119540,7 +122326,8 @@ 3239483392,3239484415,DE 3239484416,3239484671,TW 3239484672,3239484927,IT -3239484928,3239485439,AT +3239484928,3239485183,US +3239485184,3239485439,AT 3239485440,3239486719,DE 3239486720,3239486975,ES 3239486976,3239487487,DE @@ -119668,9 +122455,9 @@ 3239635968,3239636991,DE 3239636992,3239638015,BG 3239638016,3239639039,PL -3239639040,3239639551,SI +3239639040,3239639551,AT 3239639552,3239639807,CZ -3239639808,3239640063,SI +3239639808,3239640063,AT 3239640064,3239641087,DE 3239641088,3239643135,PL 3239643136,3239645183,RU @@ -119740,7 +122527,8 @@ 3239714048,3239714303,FR 3239714304,3239714559,SE 3239714560,3239714815,HU -3239714816,3239723007,DE +3239714816,3239716863,GB +3239716864,3239723007,DE 3239723008,3239731199,GB 3239731200,3239735295,DE 3239735296,3239735807,US @@ -119936,13 +122724,13 @@ 3239916800,3239917055,KZ 3239917056,3239917311,DE 3239917312,3239917567,BG -3239917568,3239919615,DE -3239919616,3239923711,CZ -3239923712,3239927807,DE +3239917568,3239927807,DE 3239927808,3239928831,LT 3239928832,3239929855,DE 3239929856,3239930879,RO -3239930880,3239938815,DE +3239930880,3239931135,DE +3239931136,3239931903,US +3239931904,3239938815,DE 3239938816,3239939071,NL 3239939072,3239948543,DE 3239949312,3239950335,RU @@ -120024,11 +122812,19 @@ 3240049664,3240050687,DE 3240050688,3240051711,GB 3240051712,3240052735,ES -3240052736,3240053247,DK +3240052736,3240053247,KH 3240053248,3240053503,SA 3240053504,3240053759,AE 3240053760,3240054783,PL 3240054784,3240058879,DE +3240058880,3240059903,ES +3240059904,3240060927,RU +3240060928,3240061951,MD +3240061952,3240062975,EE +3240062976,3240063999,US +3240064000,3240065023,TR +3240065024,3240066047,DE +3240066048,3240067071,RU 3240067072,3240083455,DE 3240083456,3240085503,RU 3240085504,3240087551,KZ @@ -120076,7 +122872,30 @@ 3240126208,3240128511,GB 3240128512,3240129535,ME 3240130048,3240132607,GB -3240157184,3240158207,DE +3240132608,3240133631,DE +3240133632,3240134655,NO +3240134656,3240135679,GB +3240135680,3240136703,RO +3240136704,3240137727,GB +3240137728,3240138751,NO +3240138752,3240139775,RU +3240139776,3240140799,ES +3240140800,3240141055,GB +3240141056,3240141823,RO +3240141824,3240142847,RU +3240142848,3240143871,NL +3240143872,3240144895,DE +3240144896,3240145919,RU +3240145920,3240146943,PL +3240146944,3240147967,BE +3240147968,3240148991,RU +3240148992,3240150015,PL +3240150016,3240152063,RU +3240152064,3240153087,TR +3240153088,3240154111,NL +3240154112,3240155135,ES +3240155136,3240156159,RU +3240156160,3240158207,DE 3240158208,3240159231,KW 3240159232,3240160255,HU 3240160256,3240162303,ES @@ -120109,7 +122928,7 @@ 3240179712,3240180223,FR 3240180736,3240181247,NL 3240181248,3240181759,RU -3240181760,3240182271,GI +3240181760,3240182271,UA 3240182784,3240183295,RU 3240183296,3240183807,NL 3240183808,3240184319,GB @@ -120194,8 +123013,7 @@ 3240237056,3240239103,DE 3240239104,3240240127,CH 3240240128,3240241151,US -3240241152,3240241407,FI -3240241408,3240242175,NO +3240241152,3240242175,FI 3240242176,3240243199,PL 3240243200,3240244223,DE 3240244224,3240245247,PL @@ -120211,7 +123029,9 @@ 3240252416,3240253439,LT 3240253440,3240254463,BE 3240254464,3240256511,UA -3240256512,3240257535,DE +3240256512,3240256767,DE +3240256768,3240257023,GB +3240257024,3240257535,DE 3240257536,3240258559,FO 3240258560,3240259583,RO 3240259584,3240260607,PL @@ -120349,6 +123169,19 @@ 3240378368,3240384511,GB 3240384512,3240385535,RU 3240385536,3240386559,IE +3240386560,3240387583,ES +3240387584,3240388607,DE +3240388608,3240388863,CH +3240388864,3240388895,GB +3240388896,3240389631,CH +3240389632,3240390655,IT +3240390656,3240391679,HK +3240391680,3240391935,DK +3240391936,3240392191,CH +3240392192,3240392447,ES +3240392448,3240392703,FR +3240392704,3240393727,DE +3240393728,3240394751,JP 3240394752,3240398847,GB 3240398848,3240399871,ES 3240399872,3240400895,NO @@ -120371,7 +123204,7 @@ 3240420608,3240420863,NL 3240420864,3240421119,GB 3240421376,3240422399,MD -3240422400,3240423423,DE +3240422400,3240423423,US 3240423424,3240435711,GB 3240436480,3240436735,GB 3240436736,3240439807,DE @@ -120412,6 +123245,14 @@ 3240467968,3240468223,DE 3240468224,3240468479,CH 3240468480,3240476671,GB +3240476672,3240477695,UA +3240477696,3240478719,LT +3240478720,3240479743,MD +3240479744,3240480767,NL +3240480768,3240481791,GB +3240481792,3240482815,BG +3240482816,3240483839,RO +3240483840,3240484863,LT 3240484864,3240486911,GB 3240486912,3240487935,NL 3240487936,3240488191,CH @@ -120446,6 +123287,13 @@ 3240531968,3240532991,PL 3240532992,3240534015,DE 3240534016,3240550399,GB +3240550400,3240551423,CZ +3240551424,3240552447,BR +3240552448,3240553471,RU +3240553472,3240555519,RO +3240555520,3240556543,NL +3240556544,3240557567,DE +3240557568,3240558591,CZ 3240558592,3240559615,FR 3240559616,3240560127,GB 3240560640,3240561663,GB @@ -120603,10 +123451,21 @@ 3240757248,3240759295,IT 3240759296,3240760319,ES 3240760320,3240761343,IT -3240761344,3240762111,HK -3240762112,3240762367,RU +3240761344,3240762367,RU 3240762368,3240763391,ES +3240763392,3240764415,DE +3240764416,3240765439,LT +3240765440,3240767487,GB +3240767488,3240768511,EE +3240768512,3240769535,MD +3240769536,3240770559,TR +3240770560,3240771582,NL +3240771583,3240771583,DE 3240771584,3240779775,IT +3240779776,3240780799,DE +3240780800,3240781823,TR +3240781824,3240782847,UA +3240782848,3240787967,RU 3240787968,3240788991,CZ 3240788992,3240790015,IT 3240790528,3240791551,IT @@ -120640,7 +123499,9 @@ 3240814592,3240816639,IT 3240816640,3240817663,PL 3240817664,3240818687,RU -3240818688,3240820735,NL +3240818688,3240819715,GB +3240819716,3240819716,NL +3240819717,3240820735,GB 3240820736,3240820799,FR 3240820800,3240820831,CY 3240820832,3240820863,GB @@ -120656,10 +123517,10 @@ 3240827648,3240827903,CH 3240828160,3240828415,DE 3240828928,3240830975,IT -3240830976,3240831999,GB +3240830976,3240831999,RU 3240832000,3240837119,IT 3240837120,3240838143,ES -3240838144,3240839167,DE +3240838144,3240839167,US 3240839424,3240839679,IT 3240840192,3240840447,IT 3240840448,3240840703,PL @@ -120784,6 +123645,11 @@ 3241080832,3241082879,AT 3241082880,3241083135,FR 3241083136,3241091071,CH +3241091072,3241095167,RU +3241095168,3241096191,US +3241096192,3241097215,IT +3241097216,3241098239,TR +3241098240,3241099263,DE 3241099264,3241100287,IT 3241101056,3241101311,DK 3241101312,3241101567,RO @@ -120848,9 +123714,7 @@ 3241146368,3241146623,IL 3241146624,3241146879,RO 3241146880,3241148415,CH -3241148416,3241313791,FR -3241313792,3241314047,GF -3241314048,3241419519,FR +3241148416,3241419519,FR 3241419520,3241419775,GP 3241419776,3241476095,FR 3241476864,3241477375,BE @@ -120878,9 +123742,7 @@ 3241501952,3241502463,BE 3241503232,3241503487,RS 3241503488,3241503999,BE -3241504000,3241504831,DE -3241504832,3241504847,BE -3241504848,3241505023,DE +3241504000,3241505023,DE 3241505024,3241508095,BE 3241508096,3241508351,NL 3241508864,3241517055,BE @@ -120904,8 +123766,7 @@ 3241689344,3241689599,TR 3241689600,3241689855,IN 3241689856,3241690111,CN -3241690112,3241690879,PL -3241690880,3241691135,FR +3241690112,3241691135,PL 3241691136,3241691391,US 3241691392,3241691647,TR 3241691648,3241691903,IN @@ -120942,7 +123803,7 @@ 3241738240,3241739263,DE 3241739264,3241742335,FR 3241742336,3241743359,GB -3241743360,3241743615,BG +3241743360,3241743615,DE 3241744384,3241745407,FR 3241745408,3241746431,AM 3241746432,3241747455,FR @@ -120987,6 +123848,13 @@ 3241824256,3241826303,BE 3241826304,3241827327,DE 3241827328,3241828351,BE +3241828352,3241829375,ES +3241829376,3241830399,DE +3241830400,3241831423,GB +3241831424,3241832447,FR +3241832448,3241833471,BE +3241833472,3241834495,GB +3241834496,3241836543,DE 3241836544,3241837567,BE 3241837568,3241838591,US 3241838592,3241840639,BE @@ -121000,7 +123868,7 @@ 3241848832,3241849855,RU 3241849856,3241850879,PL 3241850880,3241851903,MD -3241851904,3241852927,DE +3241851904,3241852927,US 3241852928,3241854463,SK 3241854464,3241854975,GB 3241854976,3241855999,DE @@ -121030,9 +123898,7 @@ 3241869312,3241934847,PL 3241934848,3242196991,GB 3242196992,3242393599,FI -3242393600,3242428671,NL -3242428672,3242428927,GB -3242428928,3242459135,NL +3242393600,3242459135,NL 3242459136,3242467327,BG 3242467328,3242475519,HU 3242475520,3242483711,LV @@ -121072,7 +123938,8 @@ 3242604160,3242604287,IT 3242604288,3242604671,FR 3242604672,3242604799,NL -3242604800,3242605279,FR +3242604800,3242605055,IT +3242605056,3242605279,FR 3242605280,3242605311,BE 3242605312,3242606943,FR 3242606944,3242606959,BE @@ -121087,7 +123954,8 @@ 3242607360,3242607375,GB 3242607376,3242607775,FR 3242607776,3242607807,CZ -3242607808,3242608383,FR +3242607808,3242608127,FR +3242608128,3242608383,BE 3242608384,3242608639,GB 3242608640,3242608767,FR 3242608768,3242608895,DE @@ -121121,7 +123989,9 @@ 3242618368,3242618415,FR 3242618416,3242618431,CZ 3242618432,3242618495,PL -3242618496,3242620199,FR +3242618496,3242620183,FR +3242620184,3242620187,PL +3242620188,3242620199,FR 3242620200,3242620207,ES 3242620208,3242620223,FR 3242620224,3242620239,PT @@ -121131,13 +124001,15 @@ 3242620352,3242620359,ES 3242620360,3242620367,FR 3242620368,3242620383,PL -3242620384,3242622031,FR -3242622032,3242622047,PL +3242620384,3242620415,FR +3242620416,3242620419,FI +3242620420,3242622027,FR +3242622028,3242622047,PL 3242622048,3242622079,FR 3242622080,3242622083,PL 3242622084,3242622207,FR -3242622208,3242622463,PL -3242622464,3242622591,FR +3242622208,3242622479,PL +3242622480,3242622591,FR 3242622592,3242622623,PL 3242622624,3242622915,FR 3242622916,3242622927,PL @@ -121151,11 +124023,15 @@ 3242950656,3242983423,BE 3242983424,3243048959,IT 3243048960,3243114495,SI -3243114496,3243134975,NL -3243134976,3243137023,PL -3243137024,3243245567,NL +3243114496,3243136255,NL +3243136256,3243136511,PL +3243136512,3243237887,NL +3243237888,3243238399,GB +3243238400,3243245567,NL 3243245568,3243376639,AT -3243376640,3243433983,GB +3243376640,3243393023,GB +3243393024,3243401215,JP +3243401216,3243433983,GB 3243433984,3243442175,AU 3243442176,3243507711,AT 3243507712,3243507967,GB @@ -121227,9 +124103,7 @@ 3243554816,3243555071,LV 3243555072,3243555327,RO 3243555328,3243555583,CZ -3243555840,3243556045,RO -3243556046,3243556046,NL -3243556047,3243556863,RO +3243555840,3243556863,NL 3243556864,3243565055,CZ 3243565056,3243569151,GB 3243569152,3243570175,DE @@ -121242,7 +124116,11 @@ 3243704320,3243769855,SK 3243769856,3243900927,DK 3243900928,3243966463,NO -3243966464,3243974655,PL +3243966464,3243966975,PL +3243966976,3243967487,LV +3243967488,3243970047,PL +3243970048,3243970559,LV +3243970560,3243974655,PL 3243974656,3243978751,LU 3243978752,3243982847,NL 3243982848,3243991039,HU @@ -121276,7 +124154,8 @@ 3244128256,3244129279,RU 3244129280,3244130303,FR 3244130304,3244131327,NO -3244131328,3244133375,FI +3244131328,3244132351,FI +3244132352,3244133375,EE 3244133376,3244134399,RO 3244134400,3244135423,PL 3244135424,3244137471,GB @@ -121290,10 +124169,9 @@ 3244144640,3244146687,UA 3244146688,3244146943,GB 3244146944,3244147711,RU -3244147712,3244147775,GB +3244147712,3244147775,IE 3244147776,3244147839,DE -3244147840,3244147967,GB -3244147968,3244148031,IE +3244147840,3244148031,IE 3244148032,3244148095,NO 3244148096,3244148159,IT 3244148160,3244148223,ES @@ -121388,8 +124266,7 @@ 3244838400,3244838655,GB 3244838656,3244838911,BG 3244839168,3244839423,GB -3244839424,3244839679,AT -3244839680,3244839935,DK +3244839424,3244839935,DK 3244839936,3244840191,DE 3244840192,3244840447,UA 3244840448,3244840703,IT @@ -121602,8 +124479,7 @@ 3244900608,3244900863,RU 3244900864,3244901119,PL 3244901120,3244901375,SI -3244901376,3244901631,DE -3244901632,3244901887,GB +3244901376,3244901887,DE 3244901888,3244902143,UA 3244902144,3244902655,RU 3244902656,3244902911,BE @@ -121896,6 +124772,7 @@ 3245093888,3245094911,RO 3245094912,3245095935,UA 3245095936,3245096959,IT +3245097216,3245097471,GB 3245099008,3245103103,GB 3245105664,3245106175,NL 3245106176,3245106687,AT @@ -121916,7 +124793,9 @@ 3245116928,3245117439,KW 3245117440,3245118463,LV 3245118464,3245119487,GB -3245120512,3245121535,GB +3245120512,3245120767,GB +3245120768,3245121023,SG +3245121024,3245121535,GB 3245121536,3245122047,GR 3245122048,3245122559,UA 3245122560,3245123071,DE @@ -122039,7 +124918,7 @@ 3245193216,3245195263,BE 3245195264,3245197311,GB 3245197312,3245199359,IT -3245199360,3245199615,LU +3245199360,3245199615,FR 3245199616,3245199871,SE 3245199872,3245200127,NO 3245200128,3245200383,LV @@ -122080,9 +124959,7 @@ 3245218816,3245219839,AT 3245219840,3245221887,FI 3245221888,3245223935,DE -3245223936,3245224959,NL -3245224960,3245225471,GB -3245225472,3245225727,NL +3245223936,3245225727,NL 3245225728,3245225983,GB 3245225984,3245228031,HU 3245228032,3245229055,FI @@ -122092,9 +124969,7 @@ 3245232384,3245232639,BE 3245232896,3245233151,IT 3245233152,3245233407,DK -3245233408,3245233452,DE -3245233453,3245233453,CH -3245233454,3245233663,DE +3245233408,3245233663,CH 3245233664,3245233919,GR 3245233920,3245234175,DK 3245234176,3245234431,GB @@ -122248,7 +125123,7 @@ 3245335552,3245335807,NL 3245336064,3245336575,GB 3245336576,3245336831,RO -3245337600,3245337855,PL +3245337600,3245337855,EE 3245337856,3245338367,DE 3245338368,3245339647,UA 3245339648,3245340671,LV @@ -122260,9 +125135,7 @@ 3245498368,3245514751,AU 3245514752,3245547519,GB 3245547520,3245555711,JP -3245555712,3245568533,AU -3245568534,3245568534,GB -3245568535,3245572095,AU +3245555712,3245572095,AU 3245572096,3245613055,GB 3245613056,3245621247,JP 3245621248,3245637631,AU @@ -122270,8 +125143,8 @@ 3245654016,3245670399,AU 3245670400,3245686783,GB 3245686784,3245694975,JP -3245694976,3245744127,GB -3245744128,3245752319,DE +3245694976,3245744639,GB +3245744640,3245752319,DE 3245752320,3245760511,GB 3245760512,3245776895,DE 3245776896,3245785087,GB @@ -122281,7 +125154,9 @@ 3245834240,3245867007,GB 3245867008,3245916159,IE 3245916160,3245917183,GB -3245917184,3245931263,IE +3245917184,3245923455,IE +3245923456,3245924351,GB +3245924352,3245931263,IE 3245931264,3245931519,GB 3245931520,3245932543,IE 3245932544,3245998079,BE @@ -122353,13 +125228,9 @@ 3246350848,3246351103,ES 3246351616,3246352639,ES 3246359552,3246362623,US -3246362624,3246366719,ES -3246366720,3246370815,PT -3246370816,3246371073,ES +3246362624,3246371073,ES 3246371074,3246371074,PT -3246371075,3246377007,ES -3246377008,3246377023,GB -3246377024,3246379007,ES +3246371075,3246379007,ES 3246379008,3246381055,GB 3246381056,3246383103,ES 3246383872,3246384127,ES @@ -122372,7 +125243,16 @@ 3246614528,3246784511,GB 3246784512,3246825983,CH 3246825984,3246826239,US -3246826240,3246915583,CH +3246826240,3246852095,CH +3246852096,3246853119,DE +3246853120,3246878719,CH +3246878720,3246879743,UA +3246879744,3246880767,US +3246880768,3246881791,DE +3246881792,3246882815,FR +3246882816,3246906367,CH +3246906368,3246907391,JP +3246907392,3246915583,CH 3246915584,3247046655,PT 3247046656,3247046911,AT 3247046912,3247047679,SI @@ -122398,7 +125278,8 @@ 3247066368,3247066623,LV 3247066624,3247066879,CZ 3247066880,3247067135,RU -3247067136,3247067647,DE +3247067136,3247067391,SG +3247067392,3247067647,DE 3247067648,3247067903,RU 3247067904,3247068159,CH 3247068160,3247068415,UA @@ -122466,8 +125347,7 @@ 3247111168,3247112191,CH 3247112192,3247177727,FR 3247177728,3247243263,TR -3247243264,3247243775,DE -3247243776,3247244031,NL +3247243264,3247244031,NL 3247244032,3247244287,DE 3247244288,3247248383,NL 3247248384,3247250431,DE @@ -122491,8 +125371,7 @@ 3247288320,3247291647,DE 3247291648,3247292415,NL 3247292416,3247301119,DE -3247301120,3247301375,NL -3247301376,3247302143,DE +3247301120,3247302143,NL 3247302656,3247308799,NL 3247308800,3247309055,BG 3247309056,3247309567,FI @@ -122517,7 +125396,7 @@ 3247334400,3247334655,NO 3247334656,3247335167,FI 3247335168,3247335423,DK -3247335424,3247336447,FR +3247335424,3247336447,DE 3247336448,3247337215,NO 3247337216,3247337471,CH 3247337472,3247337983,PL @@ -122545,7 +125424,7 @@ 3247356928,3247357951,DE 3247357952,3247358975,GB 3247358976,3247359999,IT -3247360000,3247361023,DE +3247360000,3247361023,US 3247361024,3247361279,FI 3247362048,3247362303,RO 3247362304,3247362559,HU @@ -122615,10 +125494,20 @@ 3247715328,3247716351,RU 3247716352,3247717375,DE 3247717376,3247718399,RU +3247718400,3247719423,IR +3247719424,3247720447,RO +3247720448,3247721471,DE +3247721472,3247722495,EE +3247722496,3247723519,FR +3247723520,3247724543,ES +3247724544,3247725567,UA +3247725568,3247726591,DE 3247726592,3247742975,ES 3247742976,3247751167,DE 3247751168,3247765503,ES -3247765504,3247766527,CH +3247765504,3247766015,CH +3247766016,3247766271,DE +3247766272,3247766527,CH 3247767040,3247767295,ES 3247767552,3247769599,ES 3247769600,3247771647,DE @@ -122711,7 +125600,7 @@ 3247913984,3247914495,DE 3247914496,3247915007,AT 3247915008,3247917055,PL -3247917056,3247918079,NL +3247917056,3247918079,DE 3247918080,3247919103,PL 3247919104,3247920127,BG 3247920128,3247921151,FR @@ -122724,7 +125613,13 @@ 3247928320,3247929343,HU 3247929344,3247931391,GB 3247931392,3247939583,IR -3247947776,3247960063,RU +3247939584,3247940607,CZ +3247940608,3247941631,UA +3247941632,3247942655,RU +3247942656,3247943679,DE +3247943680,3247944703,AE +3247944704,3247946751,LT +3247946752,3247960063,RU 3247960064,3247962111,UA 3247962112,3247963135,DE 3247963136,3247964159,UA @@ -122744,6 +125639,13 @@ 3248497152,3248498431,NO 3248498432,3248498687,DE 3248498688,3248504831,NO +3248504832,3248505855,DE +3248505856,3248507903,RU +3248507904,3248508927,MY +3248508928,3248509951,CZ +3248509952,3248510975,ES +3248510976,3248511999,DE +3248512000,3248513023,NL 3248513280,3248513535,UA 3248513536,3248514047,AT 3248514816,3248515071,FR @@ -122763,7 +125665,8 @@ 3248540672,3248541183,RU 3248541184,3248541695,SE 3248541696,3248542719,RU -3248542720,3248543743,GB +3248542720,3248543231,GB +3248543232,3248543743,TR 3248543744,3248544767,RU 3248544768,3248545791,TR 3248545792,3248546815,UA @@ -122809,8 +125712,6 @@ 3248611328,3248619519,NO 3248619520,3248623615,DK 3248624384,3248624639,US -3248624640,3248624895,AU -3248625152,3248625663,AU 3248626688,3248638463,DK 3248638464,3248638719,GB 3248638720,3248716287,DK @@ -122851,16 +125752,7 @@ 3248790784,3248791039,PL 3248791040,3248791295,BE 3248791296,3248791551,DE -3248791552,3248792063,GB -3248792320,3248792335,GB -3248792352,3248792359,GB -3248792368,3248792399,GB -3248792416,3248792431,GB -3248792496,3248792527,GB -3248792544,3248792575,GB -3248796608,3248796863,GB -3248798976,3248799231,GB -3248799736,3248799743,GB +3248791552,3248799743,GB 3248799744,3248800255,NL 3248800256,3248800767,RU 3248800768,3248801279,FR @@ -122888,9 +125780,7 @@ 3248815104,3248815615,GB 3248815616,3248816127,PL 3248816128,3248881663,CZ -3248881664,3248993791,FI -3248993792,3248994303,AX -3248994304,3249012735,FI +3248881664,3249012735,FI 3249012736,3249012991,DE 3249012992,3249013503,LU 3249014272,3249014783,DE @@ -123018,6 +125908,13 @@ 3249551360,3249552639,GB 3249552640,3249552895,NL 3249553152,3249553407,NL +3249553408,3249555455,FR +3249555456,3249556479,DE +3249556480,3249558527,RU +3249558528,3249559039,RO +3249559040,3249559551,DE +3249559552,3249560575,FR +3249560576,3249561599,RU 3249561600,3249565695,NL 3249565696,3249566719,DE 3249566720,3249567743,US @@ -123057,7 +125954,7 @@ 3249679360,3249680383,ES 3249680384,3249681407,UA 3249681664,3249681919,IE -3249682432,3249683455,DE +3249682432,3249683455,HK 3249683456,3249684479,SE 3249684480,3249696767,IE 3249697280,3249697535,IE @@ -123216,8 +126113,7 @@ 3249971200,3249971455,IT 3249971456,3249971711,SE 3249971712,3249972735,DE -3249972736,3249973247,DK -3249973248,3249973759,SE +3249972736,3249973759,SE 3249973760,3249974015,NL 3249974016,3249974527,SE 3249974528,3249974783,ES @@ -123336,6 +126232,29 @@ 3250279424,3250280447,DE 3250280448,3250281471,SE 3250281472,3250282495,RU +3250282496,3250283519,DE +3250283520,3250284543,AL +3250284544,3250285567,RU +3250285568,3250286591,TR +3250286592,3250287615,MY +3250287616,3250288639,HK +3250288640,3250290687,NL +3250290688,3250291711,DE +3250291712,3250292735,TR +3250292736,3250293759,NL +3250293760,3250294783,TR +3250294784,3250295807,RU +3250295808,3250296831,RO +3250296832,3250297087,IT +3250297088,3250297855,US +3250297856,3250298879,RU +3250298880,3250300927,DK +3250300928,3250301951,CZ +3250301952,3250302975,RU +3250302976,3250303999,PL +3250304000,3250305023,US +3250305024,3250306047,ES +3250306048,3250307071,NL 3250307072,3250308095,RU 3250308096,3250323199,AT 3250323200,3250323455,RU @@ -123370,7 +126289,8 @@ 3250362880,3250363391,DE 3250363392,3250363903,SE 3250363904,3250364415,DE -3250364416,3250372607,KW +3250364416,3250366463,EG +3250366464,3250372607,KW 3250372608,3250373631,HU 3250373632,3250374143,DE 3250374144,3250374655,PL @@ -123421,8 +126341,7 @@ 3250424320,3250424575,RU 3250424576,3250424831,NL 3250424832,3250425343,GB -3250425344,3250425599,TR -3250425600,3250425855,FR +3250425344,3250425855,TR 3250425856,3250426111,LT 3250426368,3250426623,AT 3250426624,3250426879,FR @@ -123434,7 +126353,9 @@ 3250438912,3250439167,FR 3250439168,3250440633,CH 3250440634,3250440634,US -3250440635,3250445567,CH +3250440635,3250442675,CH +3250442676,3250442676,DE +3250442677,3250445567,CH 3250445568,3250445599,GB 3250445600,3250445683,CH 3250445684,3250445687,GB @@ -123466,8 +126387,7 @@ 3250634752,3250642943,GB 3250642944,3250651135,CH 3250651136,3250659327,IT -3250659328,3250660607,GB -3250661376,3250662399,GB +3250659328,3250667519,GB 3250667520,3250675711,PL 3250675712,3250683903,GB 3250683904,3250692095,CH @@ -123655,7 +126575,21 @@ 3251165696,3251165951,DE 3251165952,3251166207,UA 3251166208,3251166463,CH -3251166720,3251166975,FR +3251166720,3251166735,IN +3251166736,3251166751,US +3251166752,3251166767,FR +3251166768,3251166783,US +3251166784,3251166799,BR +3251166800,3251166831,FR +3251166832,3251166847,AR +3251166848,3251166863,JP +3251166864,3251166879,UA +3251166880,3251166895,CN +3251166896,3251166911,US +3251166912,3251166927,AU +3251166928,3251166943,RU +3251166944,3251166959,GB +3251166960,3251166975,FR 3251166976,3251167231,CH 3251167232,3251167487,LV 3251167488,3251167743,DK @@ -123740,7 +126674,7 @@ 3251208192,3251209215,CY 3251209216,3251210239,GB 3251210240,3251211263,PL -3251211264,3251212287,UA +3251211264,3251212287,BG 3251212288,3251212415,PL 3251212416,3251212671,FI 3251212800,3251212927,FR @@ -123852,13 +126786,14 @@ 3251306496,3251307007,AT 3251307776,3251308031,GB 3251308544,3251309567,RU -3251309568,3251310591,DE +3251309568,3251310591,US 3251311104,3251311615,RS 3251311616,3251312127,GB 3251312384,3251312639,RS 3251313152,3251313663,RS 3251313664,3251314687,ES 3251314688,3251315711,FR +3251315712,3251316735,RO 3251316736,3251317759,RU 3251317760,3251318783,PL 3251318784,3251319807,UA @@ -123866,8 +126801,7 @@ 3251320832,3251321855,PL 3251321856,3251322879,RU 3251322880,3251331071,GB -3251331072,3251331327,FR -3251331328,3251331583,GB +3251331072,3251331583,FR 3251331584,3251332095,PL 3251332096,3251333119,RU 3251333120,3251333631,CH @@ -123920,7 +126854,9 @@ 3252221184,3252222463,LT 3252222464,3252223999,SE 3252224000,3252228095,LT -3252228096,3252240383,SE +3252228096,3252232191,SE +3252232192,3252232703,NL +3252232704,3252240383,SE 3252240384,3252286463,HR 3252286464,3252287487,LT 3252287488,3252289535,SE @@ -123967,7 +126903,7 @@ 3252342240,3252342271,CH 3252342272,3252342527,SE 3252342528,3252342543,NO -3252342544,3252342591,DE +3252342544,3252342591,FR 3252342592,3252342607,IE 3252342608,3252342655,CY 3252342656,3252342783,IL @@ -124016,7 +126952,9 @@ 3252415232,3252415999,LU 3252416000,3252420607,FR 3252420608,3252424703,NO -3252424704,3252428321,FR +3252424704,3252426751,FR +3252426752,3252427775,US +3252427776,3252428321,FR 3252428322,3252428322,AO 3252428323,3252428799,FR 3252428800,3252429823,NO @@ -124042,9 +126980,9 @@ 3252505344,3252505599,US 3252505600,3252507135,SE 3252507136,3252507647,RO -3252507648,3252508671,GB -3252508672,3252509183,BE -3252509184,3252510719,GB +3252507648,3252509439,GB +3252509440,3252509695,SG +3252509696,3252510719,GB 3252510720,3252514815,FR 3252514816,3252515071,SI 3252515072,3252515327,GB @@ -124063,10 +127001,10 @@ 3252527104,3252535295,BE 3252535296,3252536319,GB 3252536320,3252537343,RS -3252537344,3252538367,RU +3252537344,3252538367,BR 3252538368,3252539391,EE 3252539392,3252540415,DE -3252540416,3252541439,RU +3252540416,3252541439,BR 3252541952,3252542207,CI 3252542464,3252543487,DE 3252543488,3252551679,BE @@ -124083,7 +127021,7 @@ 3252567808,3252568063,RO 3252568064,3252576255,CH 3252576256,3252577279,DE -3252577280,3252578303,AT +3252577280,3252578303,US 3252578816,3252579327,CH 3252579328,3252579583,FR 3252579584,3252579839,RU @@ -124118,7 +127056,7 @@ 3252636928,3252637183,DE 3252637184,3252637695,GB 3252637696,3252641791,CH -3252642304,3252642559,PL +3252642304,3252642559,UA 3252642560,3252642815,DK 3252642816,3252643071,AE 3252643072,3252643327,RO @@ -124206,10 +127144,9 @@ 3252965376,3252972543,AT 3252972544,3252973567,JP 3252973568,3252976639,AT -3252976640,3252977663,GB +3252976640,3252977663,RU 3252977664,3252978687,DE -3252978688,3252979711,RU -3252979712,3252980735,GB +3252978688,3252980735,RU 3252980992,3252981247,GB 3252981504,3252981759,SE 3252981760,3252982015,DE @@ -124226,13 +127163,14 @@ 3252985344,3252987903,RU 3252988416,3252988927,AT 3252989440,3252989695,PL -3252989952,3252993023,AT +3252989952,3252992767,AT +3252992768,3252993023,ES 3252993024,3252994047,DE 3252994048,3252994303,AT 3252995072,3252996095,CH 3252996096,3253002239,AT 3253003008,3253003263,AT -3253003264,3253004287,GB +3253003264,3253004287,RU 3253004288,3253004799,AT 3253004800,3253005055,CZ 3253005312,3253006335,CH @@ -124249,7 +127187,9 @@ 3253270528,3253271551,BY 3253271552,3253288703,RU 3253288704,3253288959,AR -3253288960,3253313535,RU +3253288960,3253291519,RU +3253291520,3253291775,NL +3253291776,3253313535,RU 3253313536,3253313791,NL 3253313792,3253338111,RU 3253338112,3253338367,PL @@ -124306,8 +127246,8 @@ 3253416448,3253416703,GB 3253416704,3253416959,US 3253416960,3253418495,SE -3253418496,3253419007,DK -3253419008,3253419519,SE +3253418496,3253418751,DK +3253418752,3253419519,SE 3253419520,3253419775,GB 3253419776,3253428223,SE 3253428224,3253428479,DE @@ -124344,7 +127284,7 @@ 3253455616,3253455871,US 3253455872,3253456383,SE 3253456384,3253456639,US -3253456896,3253460735,SE +3253456640,3253460735,SE 3253460736,3253460991,IT 3253460992,3253461247,US 3253461248,3253461759,SE @@ -124376,7 +127316,8 @@ 3253617664,3253618687,GB 3253618688,3253619711,UA 3253619712,3253620735,IT -3253620736,3253622783,GB +3253620736,3253621759,GB +3253621760,3253622783,RU 3253622784,3253623807,DE 3253623808,3253624831,PL 3253624832,3253625855,UA @@ -124499,8 +127440,9 @@ 3253730304,3253730815,RO 3253730816,3253731327,UA 3253731328,3253731583,DE -3253731584,3253731711,HU -3253731712,3253737791,GB +3253731584,3253736959,GB +3253736960,3253737215,FR +3253737216,3253737791,GB 3253737792,3253737807,FR 3253737808,3253737823,GB 3253737824,3253737831,PL @@ -124513,17 +127455,17 @@ 3253738568,3253738569,BE 3253738570,3253738570,US 3253738571,3253738575,BE -3253738576,3253740031,GB -3253740032,3253740543,FR -3253740544,3253741679,GB +3253738576,3253741679,GB 3253741680,3253741695,RU 3253741696,3253744415,GB 3253744416,3253744447,CH 3253744448,3253744511,GB 3253744512,3253744512,US -3253744513,3253745151,GB -3253745152,3253745279,NO -3253745280,3253749791,GB +3253744513,3253745172,GB +3253745173,3253745173,NO +3253745174,3253745181,GB +3253745182,3253745182,NO +3253745183,3253749791,GB 3253749792,3253749799,US 3253749800,3253751175,GB 3253751176,3253751179,SE @@ -124535,21 +127477,25 @@ 3253755236,3253755239,IE 3253755240,3253755551,GB 3253755552,3253755559,IT -3253755560,3253758491,GB -3253758492,3253758495,BG -3253758496,3253758499,GB -3253758500,3253758503,BG -3253758504,3253761407,GB +3253755560,3253760511,GB +3253760512,3253760767,FR +3253760768,3253761407,GB 3253761408,3253761416,ES 3253761417,3253761417,GB 3253761418,3253761471,ES -3253761472,3253762815,GB +3253761472,3253762303,GB +3253762304,3253762559,CH +3253762560,3253762815,GB 3253762816,3253762943,CH 3253762944,3253762991,GB 3253762992,3253762999,DE 3253763000,3253763071,GB 3253763072,3253763327,SE -3253763328,3253764767,GB +3253763328,3253764719,GB +3253764720,3253764727,DE +3253764728,3253764735,GB +3253764736,3253764743,IT +3253764744,3253764767,GB 3253764768,3253764783,FR 3253764784,3253764799,GB 3253764800,3253764831,SI @@ -124560,9 +127506,7 @@ 3253767676,3253767679,DE 3253767680,3253767711,GB 3253767712,3253767743,DE -3253767744,3253768383,GB -3253768384,3253768415,SE -3253768416,3253768565,GB +3253767744,3253768565,GB 3253768566,3253768566,DE 3253768567,3253769362,GB 3253769363,3253769363,DE @@ -124572,8 +127516,8 @@ 3253770752,3253770879,FR 3253770880,3253770983,GB 3253770984,3253770984,DE -3253770985,3253771199,GB -3253771200,3253771215,IE +3253770985,3253771007,GB +3253771008,3253771215,IE 3253771216,3253771231,GB 3253771232,3253771263,IE 3253771264,3253771283,GB @@ -124582,14 +127526,9 @@ 3253771562,3253771562,DE 3253771563,3253772063,GB 3253772064,3253772095,DE -3253772096,3253772287,GB -3253772288,3253772311,PL -3253772312,3253772319,GB -3253772320,3253772519,PL +3253772096,3253772519,GB 3253772520,3253772527,DE -3253772528,3253772543,PL -3253772544,3253772799,GB -3253772800,3253773055,ES +3253772528,3253773055,GB 3253773056,3253773311,DE 3253773312,3253774583,GB 3253774584,3253774591,DE @@ -124597,15 +127536,11 @@ 3253775184,3253775191,FR 3253775192,3253775215,GB 3253775216,3253775223,DE -3253775224,3253775487,GB -3253775488,3253775551,US -3253775552,3253775586,GB +3253775224,3253775586,GB 3253775587,3253775587,DE 3253775588,3253775599,GB -3253775600,3253775609,IT -3253775610,3253775610,GB -3253775611,3253775615,IT -3253775616,3253775807,GB +3253775600,3253775607,IT +3253775608,3253775807,GB 3253775808,3253775823,DE 3253775824,3253776159,GB 3253776160,3253776175,DE @@ -124613,13 +127548,10 @@ 3253776304,3253776311,ES 3253776312,3253776809,GB 3253776810,3253776810,CH -3253776811,3253777279,GB -3253777280,3253777407,NL -3253777408,3253777791,GB +3253776811,3253777791,GB 3253777792,3253777855,FR 3253777856,3253777919,GB -3253777920,3253778175,AT -3253778176,3253778259,FR +3253777920,3253778259,FR 3253778260,3253778263,NO 3253778264,3253778271,FR 3253778272,3253778287,DE @@ -124642,39 +127574,33 @@ 3253780568,3253780571,HU 3253780572,3253780575,NO 3253780576,3253780579,SE -3253780580,3253780991,GB -3253780992,3253781327,DE +3253780580,3253781327,GB 3253781328,3253781335,ES -3253781336,3253781415,DE -3253781416,3253781423,GB -3253781424,3253781503,DE -3253781504,3253781615,GB +3253781336,3253781423,GB +3253781424,3253781431,DE +3253781432,3253781615,GB 3253781616,3253781631,FR -3253781632,3253782527,GB +3253781632,3253781759,US +3253781760,3253782527,GB 3253782528,3253782535,FR 3253782536,3253783487,GB 3253783488,3253783519,DE 3253783520,3253787903,GB -3253787904,3253788079,FR -3253788080,3253788082,GB -3253788083,3253788095,FR -3253788096,3253789183,GB -3253789184,3253789439,UA -3253789440,3253791419,GB +3253787904,3253787967,FR +3253787968,3253791419,GB 3253791420,3253791423,DE 3253791424,3253792079,GB 3253792080,3253792095,DE 3253792096,3253793071,GB 3253793072,3253793087,FR -3253793088,3253793279,GB -3253793280,3253793359,DE +3253793088,3253793359,GB 3253793360,3253793375,DK -3253793376,3253793407,DE -3253793408,3253794047,GB -3253794048,3253794303,FR +3253793376,3253794271,GB +3253794272,3253794287,FR +3253794288,3253794303,ES 3253794304,3253796351,GB -3253796352,3253796479,FR -3253796480,3253796863,GB +3253796352,3253796607,FR +3253796608,3253796863,GB 3253796864,3253862399,SE 3253862400,3253862655,GB 3253862656,3253882879,FR @@ -124771,9 +127697,10 @@ 3253977088,3253985279,TR 3253985280,3253993471,GB 3253993472,3254067199,BE -3254067200,3254075391,CZ -3254075392,3254083583,HU -3254083584,3254124543,BE +3254067200,3254069247,CZ +3254069248,3254079487,BE +3254079488,3254081535,HU +3254081536,3254124543,BE 3254124544,3254137855,CH 3254137856,3254138879,IE 3254138880,3254156799,CH @@ -124828,19 +127755,21 @@ 3254491136,3254491391,DZ 3254491392,3254493695,FR 3254493696,3254493951,GP -3254493952,3254494079,MQ -3254494080,3254494207,GF +3254493952,3254494207,MQ 3254494208,3254494463,GP 3254494464,3254509412,FR 3254509413,3254509413,GQ 3254509414,3254576383,FR 3254576384,3254576543,DO 3254576544,3254607871,FR -3254607872,3254611455,RE +3254607872,3254610175,RE +3254610176,3254610431,YT +3254610432,3254611455,RE 3254611456,3254611967,YT -3254611968,3254612223,RE -3254612224,3254612479,FR -3254612480,3254615551,RE +3254611968,3254612223,FR +3254612224,3254612991,RE +3254612992,3254613247,FR +3254613248,3254615551,RE 3254615552,3254616063,YT 3254616064,3254648831,FR 3254648832,3254649855,AL @@ -125109,14 +128038,14 @@ 3254962381,3254962381,NL 3254962382,3254962421,FR 3254962422,3254962422,NL -3254962423,3255009023,FR -3255009024,3255009279,MQ -3255009280,3255019519,FR -3255019520,3255019775,GP -3255019776,3255022591,FR +3254962423,3255019519,FR +3255019520,3255021567,GP +3255021568,3255022591,FR 3255022592,3255022847,RE -3255022848,3255032831,FR -3255032832,3255033087,GF +3255022848,3255024383,FR +3255024384,3255024639,YT +3255024640,3255031807,FR +3255031808,3255033087,GF 3255033088,3255052287,FR 3255052288,3255053311,IT 3255053312,3255054335,SE @@ -125139,7 +128068,7 @@ 3255085056,3255086079,RO 3255086080,3255087103,GB 3255087104,3255107583,FR -3255107584,3255108607,NL +3255107584,3255108607,AU 3255108608,3255109631,GB 3255109632,3255110655,RU 3255110656,3255111679,PL @@ -125156,8 +128085,7 @@ 3255123712,3255123967,DE 3255123968,3255124991,ES 3255124992,3255126015,HR -3255126016,3255126527,FR -3255128064,3255128575,FR +3255126016,3255128575,FR 3255129856,3255130111,HR 3255130112,3255130623,FR 3255131136,3255132159,RU @@ -125169,7 +128097,8 @@ 3255135232,3255140351,FR 3255140352,3255141375,CH 3255141376,3255146495,FR -3255146496,3255148543,DE +3255146496,3255147519,US +3255147520,3255148543,DE 3255148544,3255149567,SY 3255150080,3255152639,FR 3255152640,3255153663,IR @@ -125187,45 +128116,9 @@ 3255171072,3255172095,RO 3255172352,3255172607,DE 3255173120,3255173631,SH -3255173648,3255173711,GB -3255173760,3255173823,GB -3255173840,3255174151,GB -3255174160,3255174167,GB -3255174200,3255174207,GB -3255174216,3255174247,GB -3255174272,3255174279,GB -3255174312,3255174319,GB -3255174328,3255174335,GB -3255174376,3255174383,GB -3255174400,3255175167,GB -3255175200,3255175231,GB -3255175248,3255175263,GB -3255175280,3255175295,GB -3255175312,3255175327,GB -3255175432,3255175447,GB -3255175456,3255175503,GB -3255175512,3255175535,GB -3255175552,3255175559,GB -3255175592,3255175607,GB -3255176192,3255177215,GB -3255177472,3255177855,GB -3255177984,3255187199,GB -3255187200,3255187455,DE -3255187456,3255187711,GB -3255188480,3255191807,GB -3255192320,3255193343,GB -3255193600,3255193863,GB -3255193888,3255193959,GB -3255193968,3255193975,GB +3255173632,3255193975,GB 3255193976,3255193983,GI -3255193984,3255193999,GB -3255194016,3255194039,GB -3255194056,3255194063,GB -3255194072,3255194431,GB -3255194496,3255194559,GB -3255194624,3255194703,GB -3255194720,3255194815,GB -3255194880,3255205887,GB +3255193984,3255205887,GB 3255205888,3255214079,FR 3255214080,3255222271,CH 3255222272,3255223295,DE @@ -125259,13 +128152,7 @@ 3255237120,3255237375,AT 3255237888,3255238143,ES 3255238400,3255238655,QA -3255238656,3255255039,BE -3255255040,3255259135,LU -3255259136,3255279615,BE -3255279616,3255280018,GB -3255280019,3255280019,BE -3255280020,3255283711,GB -3255283712,3255304191,BE +3255238656,3255304191,BE 3255304192,3255304447,DE 3255304448,3255305215,LV 3255305216,3255305471,BG @@ -125480,7 +128367,9 @@ 3255521101,3255521101,DE 3255521102,3255522303,CH 3255522304,3255523327,ES -3255523328,3255544319,CH +3255523328,3255533567,CH +3255533568,3255534591,DE +3255534592,3255544319,CH 3255544320,3255544575,DE 3255544576,3255544831,AT 3255544832,3255548927,CH @@ -125488,8 +128377,7 @@ 3255549952,3255550975,PL 3255550976,3255551231,DE 3255551232,3255551487,US -3255551488,3255551743,DE -3255551744,3255551999,US +3255551488,3255551999,DE 3255552000,3255558143,CH 3255558400,3255558655,UA 3255558912,3255559167,GB @@ -125549,14 +128437,22 @@ 3255751168,3255751423,DK 3255751424,3255752959,SE 3255752960,3255753215,RO -3255753216,3255753471,SE -3255753728,3255762431,SE +3255753216,3255762431,SE 3255762432,3255762943,BE 3255762944,3255771135,DE -3255779328,3255787519,DE +3255771136,3255772159,TR +3255772160,3255772415,DE +3255772416,3255772671,GB +3255772672,3255773183,DE +3255773184,3255774207,GB +3255774208,3255775231,DE +3255775232,3255776255,GB +3255776256,3255777279,UA +3255777280,3255778303,RU +3255778304,3255787519,DE 3255787520,3255789567,TR 3255789568,3255790591,RO -3255790592,3255791615,DE +3255790592,3255791615,US 3255791616,3255792639,UA 3255792640,3255793663,RU 3255793664,3255794943,PL @@ -125573,7 +128469,10 @@ 3255817728,3255820287,DE 3255820288,3255821311,RS 3255821312,3255822335,CH -3255822336,3255826431,DE +3255822336,3255825407,DE +3255825408,3255825547,GB +3255825548,3255825548,DE +3255825549,3255826431,GB 3255826432,3255827455,EE 3255827456,3255828479,DE 3255828480,3256025087,SE @@ -125620,7 +128519,7 @@ 3256417792,3256418303,GB 3256418304,3256483839,DE 3256483840,3256484095,NL -3256484864,3256485887,LB +3256484864,3256485887,NG 3256485888,3256487935,NL 3256487936,3256488959,RU 3256489472,3256489983,GR @@ -125630,9 +128529,9 @@ 3256492032,3256502271,NL 3256502272,3256503295,IR 3256503296,3256509439,NL -3256509440,3256510463,GB +3256509440,3256510463,RU 3256510464,3256513023,NL -3256513536,3256514559,GB +3256513536,3256514559,RU 3256514560,3256524287,NL 3256524288,3256524799,DE 3256524800,3256525823,NL @@ -125710,7 +128609,6 @@ 3256695808,3256696831,UA 3256699136,3256699391,NL 3256700416,3256700671,NL -3256705280,3256705535,FR 3256705536,3256705791,BE 3256705792,3256706047,AT 3256711168,3256711423,DE @@ -125757,7 +128655,7 @@ 3256794880,3256795135,AT 3256795136,3256811519,GR 3256811520,3256813567,DE -3256813568,3256814591,GB +3256813568,3256814591,RU 3256815104,3256819711,DE 3256819712,3256821503,PL 3256821504,3256821759,NO @@ -125786,6 +128684,20 @@ 3256838144,3256839167,ES 3256839168,3256840191,IT 3256840192,3256844287,DE +3256844288,3256845311,CH +3256845312,3256846335,RU +3256846336,3256847359,FR +3256847360,3256849407,GB +3256849408,3256850431,DE +3256850432,3256852479,RU +3256852480,3256853503,FR +3256853504,3256854527,DK +3256854528,3256855551,UA +3256855552,3256856575,RU +3256856576,3256857599,TR +3256857600,3256858623,LT +3256858624,3256859647,GB +3256859648,3256860671,CZ 3256860672,3256863743,DE 3256864256,3256864511,DE 3256864512,3256864767,CH @@ -125811,6 +128723,14 @@ 3256899072,3256899583,RU 3256899584,3256900607,RO 3256900608,3256901631,DE +3256901632,3256902655,UZ +3256902656,3256903679,IT +3256903680,3256904703,RO +3256904704,3256905727,UA +3256905728,3256906751,ES +3256906752,3256907775,EE +3256907776,3256908799,MD +3256908800,3256909823,RU 3256909824,3256910847,KZ 3256910848,3256911871,ES 3256911872,3256912895,UA @@ -125824,15 +128744,23 @@ 3256920064,3256921087,FR 3256921088,3256922111,IT 3256922112,3256934399,GB +3256934400,3256935423,AU +3256935424,3256935935,RU +3256935936,3256936191,EE +3256936192,3256936447,RU +3256936448,3256937471,DE +3256937472,3256939519,RU +3256939520,3256940543,NL +3256940544,3256941311,AE +3256941312,3256941567,KZ +3256941568,3256942591,RU 3256942592,3256944639,GB 3256945408,3256945663,GB 3256945664,3256945919,SI 3256945920,3256946175,GB 3256946176,3256946431,RO 3256946432,3256946687,UA -3256946688,3256946943,GB -3256946944,3256947199,DE -3256947200,3256947711,GB +3256946688,3256947711,DE 3256947712,3256948735,RU 3256948736,3256950015,GB 3256950272,3256950527,NO @@ -125897,7 +128825,8 @@ 3257031680,3257032703,GB 3257032704,3257033727,RU 3257033728,3257034751,FR -3257034752,3257035775,GB +3257034752,3257035007,CZ +3257035008,3257035775,GB 3257035776,3257036799,NL 3257036800,3257040895,GB 3257040896,3257041919,RO @@ -125911,17 +128840,40 @@ 3257058816,3257059071,PL 3257059328,3257060351,DE 3257060352,3257065471,GB +3257065472,3257065727,AT +3257065728,3257065983,DE +3257065984,3257066495,AT +3257066496,3257067519,GB +3257067520,3257068543,DE +3257068544,3257069567,RU +3257069568,3257070591,DE +3257070592,3257071103,RU +3257071104,3257071615,NL +3257071616,3257072639,RU +3257072640,3257073663,NO 3257073664,3257076735,GB -3257076736,3257077759,DE -3257077760,3257081855,GB +3257076736,3257077503,DE +3257077504,3257077759,US +3257077760,3257083903,GB +3257083904,3257084159,US +3257084160,3257084927,ES +3257084928,3257086975,RU +3257086976,3257087999,MD +3257088000,3257089023,DE +3257089024,3257090047,UA 3257090048,3257092351,GB 3257092608,3257092863,RO 3257093888,3257094143,GB 3257094656,3257095167,GB 3257095168,3257096191,SI 3257096192,3257097215,ES -3257097216,3257098239,GB -3257106432,3257118719,GB +3257097216,3257099263,GB +3257099264,3257102335,DE +3257102336,3257102847,RU +3257102848,3257103359,NL +3257103360,3257104383,GB +3257104384,3257105407,DE +3257105408,3257118719,GB 3257118720,3257119743,IT 3257120512,3257120767,GB 3257121280,3257121535,GB @@ -125983,7 +128935,9 @@ 3257181696,3257181951,FR 3257182208,3257182463,PL 3257183232,3257184255,US -3257184256,3257185279,RU +3257184256,3257184511,RU +3257184512,3257184767,CZ +3257184768,3257185279,UA 3257185280,3257186303,HU 3257186304,3257187327,DE 3257187328,3257187583,RO @@ -126010,6 +128964,21 @@ 3257269248,3257269503,IT 3257269504,3257269759,AT 3257270016,3257270271,DE +3257270272,3257271295,RU +3257271296,3257272319,NL +3257272320,3257273343,RU +3257273344,3257274367,IE +3257274368,3257275391,DE +3257275392,3257276415,UA +3257276416,3257277439,NL +3257277440,3257278463,RO +3257278464,3257279487,FR +3257279488,3257280511,BG +3257280512,3257281535,DE +3257281536,3257282559,ES +3257282560,3257284607,TR +3257284608,3257285631,ES +3257285632,3257286655,IT 3257286656,3257294847,CH 3257294848,3257303039,HU 3257303040,3257311231,PT @@ -126026,7 +128995,7 @@ 3257357312,3257357567,PT 3257357568,3257357823,SI 3257357824,3257363455,DE -3257363456,3257364479,GB +3257363456,3257364479,RU 3257364480,3257367039,DE 3257367552,3257368575,PT 3257368576,3257371903,DE @@ -126114,7 +129083,9 @@ 3257563648,3257564159,NL 3257564160,3257564671,GB 3257564672,3257565183,RO -3257565184,3257573375,CY +3257565184,3257566719,CY +3257566720,3257567231,RU +3257567232,3257573375,CY 3257573376,3257574143,CH 3257577472,3257581567,DE 3257581568,3257585663,UA @@ -126160,8 +129131,8 @@ 3257771264,3257772287,DE 3257772544,3257776127,NL 3257776128,3257776383,DE -3257776384,3257779199,NL -3257779712,3257780479,DE +3257776384,3257780223,NL +3257780224,3257780479,DE 3257780480,3257782271,NL 3257782272,3257784831,DE 3257784832,3257787135,NL @@ -126245,10 +129216,13 @@ 3258023936,3258056703,DE 3258057216,3258057471,CZ 3258058240,3258058495,RU -3258059008,3258059519,RU +3258059008,3258059263,UA +3258059264,3258059519,RU 3258059520,3258059775,RO 3258059776,3258060799,RU -3258060800,3258061823,GB +3258060800,3258061055,GB +3258061056,3258061311,DE +3258061312,3258061823,GB 3258061824,3258062847,NL 3258062848,3258063103,RU 3258063360,3258063871,CZ @@ -126344,8 +129318,7 @@ 3258098944,3258099199,GB 3258099200,3258099455,SI 3258099456,3258099711,UA -3258099712,3258099967,FI -3258099968,3258100223,UA +3258099712,3258100223,FI 3258100736,3258100991,CH 3258100992,3258101247,AT 3258101248,3258101503,RO @@ -126393,12 +129366,14 @@ 3258271744,3258272767,NL 3258272768,3258273791,FR 3258273792,3258279935,NL -3258279936,3258281983,DE +3258279936,3258280959,DE +3258280960,3258281983,US 3258281984,3258284031,NL 3258284288,3258284543,NL 3258285056,3258286079,RS 3258286080,3258288127,NL -3258288128,3258290175,DE +3258288128,3258289151,GB +3258289152,3258290175,DE 3258290176,3258291199,MD 3258291200,3258292223,ES 3258292224,3258293247,IT @@ -126459,7 +129434,7 @@ 3258423296,3258424319,RO 3258424320,3258426367,DE 3258426368,3258427391,RU -3258427648,3258427903,RO +3258427648,3258427903,ES 3258427904,3258428159,DE 3258428416,3258444287,DE 3258444800,3258445823,RU @@ -126469,16 +129444,16 @@ 3258449920,3258468351,CH 3258468352,3258469119,HR 3258469120,3258469375,SI -3258469376,3258470399,AT +3258469376,3258470399,US 3258470400,3258471423,UA 3258471424,3258472447,NL 3258472448,3258473471,IT 3258473472,3258474495,FR 3258474496,3258486783,CH 3258486784,3258487807,LI -3258487808,3258488831,GB +3258487808,3258488831,RU 3258488832,3258495999,CH -3258496000,3258497023,GB +3258496000,3258497023,RU 3258497024,3258498047,TR 3258498048,3258499071,CH 3258499072,3258500095,ES @@ -126538,7 +129513,10 @@ 3258681344,3258682367,NL 3258683136,3258685439,DE 3258685440,3258685695,CH -3258685696,3258691583,DE +3258685696,3258688511,DE +3258688512,3258689023,SG +3258689024,3258689535,LT +3258689536,3258691583,DE 3258691840,3258692351,AT 3258692352,3258692607,DE 3258692608,3258692863,FR @@ -126603,6 +129581,15 @@ 3258776064,3258776319,GE 3258776320,3258776575,PL 3258776576,3258777599,UA +3258777600,3258778623,RU +3258778624,3258779647,NL +3258779648,3258780159,RU +3258780160,3258780671,GB +3258780672,3258781695,RO +3258781696,3258782719,ES +3258782720,3258783743,SE +3258783744,3258784767,NL +3258784768,3258785791,DE 3258785792,3258786047,MD 3258786048,3258786303,DE 3258786304,3258786815,BG @@ -126633,18 +129620,17 @@ 3258810368,3258811391,NL 3258811392,3258812415,DE 3258812416,3258813439,MK -3258813440,3258813695,TR -3258813696,3258813951,GB -3258813952,3258814463,TR -3258814464,3258816511,GB +3258813440,3258816511,GB 3258816512,3258817535,DE 3258818048,3258818303,SE 3258818560,3258834943,GB 3258834944,3258835967,TR 3258835968,3258836991,PL 3258836992,3258838015,RU -3258838016,3258839039,NL -3258839040,3258843135,GB +3258838016,3258838271,NL +3258838272,3258838527,GB +3258838528,3258838783,NL +3258838784,3258843135,GB 3258843136,3258843391,RU 3258844928,3258847231,GB 3258847232,3258848255,RU @@ -126692,7 +129678,8 @@ 3258904576,3258905599,PT 3258905600,3258906623,UA 3258906624,3258907647,DE -3258907648,3258908671,ES +3258907648,3258907903,IE +3258907904,3258908671,ES 3258908672,3258941439,GB 3258941440,3258943487,PL 3258943488,3258944511,BG @@ -126713,7 +129700,7 @@ 3259243008,3259243263,SG 3259243264,3259243519,JP 3259243520,3259244543,US -3259244800,3259246591,SE +3259244544,3259246591,SE 3259246592,3259247615,IT 3259247616,3259247871,RO 3259247872,3259248127,SE @@ -126808,8 +129795,8 @@ 3259320056,3259320063,AT 3259320064,3259320575,GB 3259320576,3259320583,FR -3259320584,3259326463,GB -3259326464,3259327487,IE +3259320584,3259326975,GB +3259326976,3259327487,IE 3259327488,3259328190,GB 3259328191,3259328191,US 3259328192,3259328511,GB @@ -126847,9 +129834,9 @@ 3259438080,3259438335,ES 3259438336,3259438591,SE 3259438592,3259439103,NO -3259439104,3259455359,SE -3259455360,3259455487,NO -3259455488,3259457279,SE +3259439104,3259455455,SE +3259455456,3259455471,NO +3259455472,3259457279,SE 3259457280,3259457535,IT 3259457536,3259466239,SE 3259466240,3259466495,HU @@ -126873,7 +129860,8 @@ 3259496448,3259498495,SE 3259498496,3259541503,GB 3259541504,3259543551,NL -3259543552,3259656191,GB +3259543552,3259650047,GB +3259652096,3259656191,GB 3259658240,3259760639,GB 3259760640,3259768831,DE 3259768832,3259769855,US @@ -126884,7 +129872,7 @@ 3259793408,3259794431,NL 3259794432,3259794943,US 3259794944,3259795455,NL -3259795456,3259796479,LV +3259795456,3259796479,US 3259796480,3259807743,DE 3259808512,3259808767,DE 3259808768,3259809791,UA @@ -126893,7 +129881,9 @@ 3259812864,3259813887,MD 3259813888,3259814399,DE 3259814400,3259814655,AT -3259814656,3259821055,DE +3259814656,3259818239,DE +3259818240,3259818495,NL +3259818496,3259821055,DE 3259821824,3259822079,AT 3259822592,3259823103,DE 3259823104,3259823615,RO @@ -126938,7 +129928,9 @@ 3260506368,3260506623,CH 3260506624,3260509439,RU 3260509440,3260509695,CH -3260509696,3260547071,RU +3260509696,3260520191,RU +3260520192,3260520447,IN +3260520448,3260547071,RU 3260547072,3260547327,DE 3260547328,3260547583,UA 3260547584,3260547839,NL @@ -127013,6 +130005,17 @@ 3260678144,3260743679,IL 3260743680,3260809215,JP 3260809216,3260874751,PL +3260874752,3260875775,RU +3260875776,3260876799,NL +3260876800,3260877823,DE +3260877824,3260878847,CZ +3260878848,3260879871,GB +3260879872,3260880895,NL +3260880896,3260882943,RU +3260882944,3260883967,SE +3260883968,3260884991,RO +3260884992,3260886015,IT +3260886016,3260887039,ES 3260891136,3260892159,EE 3260892160,3260893183,DE 3260893184,3260894207,SE @@ -127035,9 +130038,7 @@ 3260940288,3261071359,DE 3261071360,3261136895,AT 3261136896,3261202431,DE -3261202432,3261205759,FR -3261205760,3261206015,BE -3261206016,3261213439,FR +3261202432,3261213439,FR 3261213440,3261213695,AF 3261213696,3261267967,FR 3261267968,3261270015,DE @@ -127045,7 +130046,8 @@ 3261271040,3261272063,DE 3261272064,3261273087,TR 3261273088,3261274111,DE -3261274112,3261275135,RU +3261274112,3261274367,FR +3261274368,3261275135,RU 3261275136,3261276159,CZ 3261276160,3261278207,DE 3261278208,3261279231,NO @@ -127065,7 +130067,9 @@ 3261297920,3261298175,PL 3261298176,3261307903,DE 3261307904,3261308927,RU -3261308928,3261333503,DE +3261308928,3261323263,DE +3261323264,3261325311,RU +3261325312,3261333503,DE 3261333504,3261399039,FI 3261399040,3261472767,GB 3261472768,3261503487,RO @@ -127075,7 +130079,7 @@ 3261531904,3261532159,GB 3261532160,3261532415,SE 3261532416,3261532671,GB -3261532672,3261532927,US +3261532672,3261532927,SE 3261532928,3261533183,GB 3261533184,3261533439,SE 3261533440,3261533695,US @@ -127157,7 +130161,7 @@ 3261777408,3261777449,GB 3261777450,3261777451,NL 3261777452,3261777919,GB -3261777920,3261778943,PL +3261777920,3261778431,PL 3261778944,3261779455,RO 3261779456,3261779967,DE 3261779968,3261780479,UA @@ -127179,12 +130183,10 @@ 3261805568,3261806591,DE 3261806592,3261810687,AT 3261810688,3261811711,CZ -3261811712,3261812735,NL +3261811712,3261812479,CA +3261812480,3261812735,NL 3261812736,3261812991,RU -3261812992,3261815807,AT -3261816064,3261816575,AT -3261816576,3261816831,DE -3261816832,3261820927,AT +3261812992,3261820927,AT 3261820928,3261821183,RO 3261821184,3261821439,AT 3261821440,3261821695,NL @@ -127241,8 +130243,8 @@ 3262008832,3262009087,AT 3262009088,3262009343,UA 3262009344,3262010367,RU -3262010368,3262010879,DE -3262010880,3262011391,US +3262010368,3262010623,US +3262010624,3262011391,DE 3262011392,3262012415,JP 3262012416,3262013439,US 3262013440,3262017535,SE @@ -127266,9 +130268,8 @@ 3262030848,3262031871,FR 3262031872,3262032895,TR 3262032896,3262033919,DE -3262033920,3262034943,FI -3262034944,3262035455,AX -3262035456,3262036991,FI +3262033920,3262035199,AX +3262035200,3262036991,FI 3262036992,3262038015,AX 3262038016,3262038271,FR 3262038528,3262038783,IL @@ -127313,33 +130314,30 @@ 3262122752,3262122815,AX 3262122816,3262124031,FI 3262124032,3262128127,DE -3262128128,3262136319,GB +3262128128,3262137599,GB 3262137600,3262137855,DE -3262139392,3262140415,GB -3262140416,3262140671,DE +3262137856,3262141183,GB 3262141184,3262141439,DE 3262141440,3262142463,ES -3262142464,3262142719,DE -3262143488,3262143743,GB +3262142464,3262143999,GB 3262144000,3262144047,DE -3262145024,3262145279,DE -3262145552,3262145567,DE +3262144048,3262145615,GB 3262145616,3262145631,DE -3262146048,3262146815,DE -3262147584,3262147839,DE -3262148608,3262148863,DE -3262148880,3262148919,DE -3262148928,3262149119,DE -3262149120,3262149151,FR -3262149152,3262149159,DE -3262149168,3262149375,FR +3262145632,3262146559,GB +3262146560,3262146815,DE +3262146816,3262148911,GB +3262148912,3262148919,DE +3262148920,3262149167,GB +3262149168,3262149215,FR +3262149216,3262149631,GB 3262149632,3262149887,DE -3262150912,3262151047,DE +3262149888,3262151071,GB 3262151072,3262151103,DE -3262151136,3262151151,DE -3262151168,3262151423,DE +3262151104,3262151935,GB 3262151936,3262152191,DE +3262152192,3262152663,GB 3262152664,3262152671,DE +3262152672,3262152703,GB 3262152704,3262185471,AT 3262185472,3262191615,DE 3262191616,3262192639,RU @@ -127371,7 +130369,9 @@ 3262240768,3262243327,DE 3262243840,3262244863,CH 3262244864,3262246911,RU -3262246912,3262283775,DE +3262246912,3262271999,DE +3262272000,3262272255,RU +3262272256,3262283775,DE 3262283776,3262284799,RU 3262284800,3262285823,UA 3262285824,3262286847,LU @@ -127700,7 +130700,8 @@ 3262473767,3262473777,DE 3262473778,3262473778,US 3262473779,3262473780,DE -3262473781,3262473782,US +3262473781,3262473781,US +3262473782,3262473782,PR 3262473783,3262473855,DE 3262473856,3262473859,US 3262473860,3262473903,DE @@ -128775,9 +131776,7 @@ 3262479430,3262479430,GB 3262479431,3262479433,DE 3262479434,3262479434,IT -3262479435,3262479437,DE -3262479438,3262479438,IT -3262479439,3262479439,DE +3262479435,3262479439,DE 3262479440,3262479440,AT 3262479441,3262479441,DK 3262479442,3262479442,IT @@ -128994,8 +131993,7 @@ 3262479766,3262479766,CH 3262479767,3262479770,DE 3262479771,3262479771,IT -3262479772,3262479775,DE -3262479776,3262479776,IT +3262479772,3262479776,DE 3262479777,3262479777,BE 3262479778,3262479778,NL 3262479779,3262479782,DE @@ -129336,7 +132334,9 @@ 3262627840,3262636031,IT 3262636032,3262644223,BE 3262644224,3262648319,NL -3262648320,3262650367,DE +3262648320,3262648831,DE +3262648832,3262649855,NL +3262649856,3262650367,DE 3262650368,3262654463,NL 3262654464,3262654719,DE 3262654720,3262658303,NL @@ -129362,7 +132362,8 @@ 3262691584,3262692607,NL 3262692608,3262701567,DE 3262701568,3262703103,NL -3262703360,3262704383,DE +3262703360,3262703615,SE +3262703616,3262704383,DE 3262704384,3262707807,NL 3262707808,3262707839,DE 3262707840,3262707967,NL @@ -129389,7 +132390,17 @@ 3262832640,3262840319,DE 3262840320,3262906367,NL 3262906368,3262914559,CH -3262922752,3262923775,AT +3262914560,3262914815,GB +3262914816,3262915071,CH +3262915072,3262915327,JP +3262915328,3262915583,SG +3262915584,3262917631,RU +3262917632,3262918655,DE +3262918656,3262919679,RU +3262919680,3262920703,NL +3262920704,3262921727,ES +3262921728,3262922751,DE +3262922752,3262923775,US 3262923776,3262924799,ES 3262924800,3262925823,IT 3262926336,3262954495,CH @@ -129499,9 +132510,7 @@ 3263104041,3263104041,GB 3263104042,3263107071,DE 3263107072,3263109119,US -3263109120,3263109706,DE -3263109707,3263109707,FR -3263109708,3263109951,DE +3263109120,3263109951,DE 3263109952,3263109959,FR 3263109960,3263129599,DE 3263130368,3263130623,DE @@ -129515,9 +132524,7 @@ 3263138816,3263143935,DE 3263144192,3263144447,DE 3263144960,3263145983,EE -3263145984,3263159039,DE -3263159040,3263159295,AT -3263159296,3263165439,DE +3263145984,3263165439,DE 3263165440,3263167487,FR 3263168000,3263168255,DE 3263168512,3263430655,GB @@ -129575,8 +132582,7 @@ 3263481472,3263481487,JP 3263481488,3263481503,GB 3263481504,3263481855,JP -3263481856,3263483903,SE -3263484416,3263496191,SE +3263481856,3263496191,SE 3263496192,3263503103,GB 3263503104,3263503359,DE 3263503360,3263511551,GB @@ -129642,9 +132648,13 @@ 3263680512,3263690751,RU 3263690752,3263692799,SY 3263692800,3263823871,FI -3263823872,3263886079,DE +3263823872,3263858687,DE +3263858688,3263858943,CN +3263858944,3263886079,DE 3263886080,3263886335,SG -3263886336,3263954943,DE +3263886336,3263886591,DE +3263886592,3263886847,CN +3263886848,3263954943,DE 3263954944,3263979519,ES 3263979520,3263987711,DE 3263987712,3264004095,ES @@ -129905,7 +132915,8 @@ 3264606976,3264607231,BE 3264607232,3264607487,IT 3264607488,3264610303,DE -3264610304,3264614127,FR +3264610304,3264612351,GB +3264612352,3264614127,FR 3264614128,3264614131,NL 3264614132,3264614399,FR 3264614400,3264614911,GB @@ -129984,7 +132995,11 @@ 3264674304,3264674815,PL 3264674816,3264675327,GB 3264675328,3264675839,RU -3264675840,3264741375,NL +3264675840,3264676159,NL +3264676160,3264676223,FR +3264676224,3264676287,NL +3264676288,3264676351,BE +3264676352,3264741375,NL 3264741376,3264749567,SI 3264749568,3264750079,LV 3264750080,3264750591,RU @@ -130006,9 +133021,7 @@ 3264765952,3264774143,AT 3264774144,3264782335,HU 3264782336,3264790527,AT -3264790528,3264804607,HR -3264804608,3264804863,SI -3264804864,3264806911,HR +3264790528,3264806911,HR 3264806912,3264815103,GB 3264815104,3264825343,SE 3264825856,3264826111,NL @@ -130089,11 +133102,7 @@ 3264897024,3264905215,GB 3264905216,3264913407,CY 3264913408,3264921599,GB -3264921600,3264924671,LU -3264924672,3264925695,FR -3264925696,3264928255,LU -3264928256,3264928511,FR -3264928512,3264929791,LU +3264921600,3264929791,LU 3264929792,3264937983,SK 3264937984,3265003519,GB 3265003520,3265005567,DE @@ -130132,11 +133141,9 @@ 3265069056,3265134591,FI 3265134592,3265134847,CH 3265134848,3265134879,BE -3265134880,3265135017,CH -3265135018,3265135019,BE -3265135020,3265135039,CH -3265135040,3265135071,BE -3265135072,3265136127,CH +3265134880,3265134975,CH +3265134976,3265135103,BE +3265135104,3265136127,CH 3265136128,3265136383,GB 3265136384,3265136463,CH 3265136464,3265136467,FR @@ -130157,20 +133164,12 @@ 3265140192,3265140735,CH 3265140736,3265141551,GB 3265141552,3265141555,IE -3265141556,3265141775,GB -3265141776,3265141823,CH -3265141824,3265141839,GB -3265141840,3265141855,CH -3265141856,3265141887,GB +3265141556,3265141887,GB 3265141888,3265142220,CH 3265142221,3265142221,GB 3265142222,3265142783,CH 3265142784,3265150975,MT -3265150976,3265153023,AD -3265153024,3265153279,ES -3265153280,3265153535,AD -3265153536,3265154047,ES -3265154048,3265159167,AD +3265150976,3265159167,AD 3265159168,3265167359,FR 3265167360,3265175551,AT 3265175552,3265183743,NL @@ -130368,17 +133367,9 @@ 3266345984,3266346495,GB 3266346496,3266346751,IT 3266346752,3266347007,FR -3266351360,3266352607,GB -3266352896,3266353567,GB -3266353584,3266353591,GB -3266353664,3266353671,GB -3266353680,3266353687,GB +3266347008,3266353775,GB 3266353776,3266353783,US -3266353856,3266353863,GB -3266353880,3266353887,GB -3266353896,3266353903,GB -3266353920,3266354175,GB -3266354688,3266355199,GB +3266353784,3266355199,GB 3266355200,3266363391,RO 3266363392,3266371583,GB 3266371584,3266379775,HU @@ -130396,7 +133387,9 @@ 3266420736,3266428927,GB 3266428928,3266437119,GR 3266437120,3266445311,GL -3266445312,3266510847,NL +3266445312,3266473087,NL +3266473088,3266473215,GB +3266473216,3266510847,NL 3266510848,3266543615,ES 3266543616,3266576383,IT 3266576384,3266578431,DE @@ -130414,7 +133407,8 @@ 3266606080,3266607103,FR 3266607104,3266616575,DE 3266617328,3266617343,GB -3266617344,3266622463,DE +3266617344,3266621439,DE +3266621440,3266622463,US 3266622464,3266623487,LU 3266623488,3266624511,GB 3266625024,3266625279,DE @@ -130443,18 +133437,20 @@ 3266766848,3266772991,DK 3266772992,3266781183,IT 3266781184,3266789375,PL -3266789376,3266797567,SM +3266789376,3266792447,SM +3266792448,3266792959,IT +3266792960,3266797567,SM 3266797568,3266797823,GB 3266797824,3266798207,ES 3266798208,3266798847,GB 3266798848,3266798879,CZ -3266798880,3266801845,GB -3266801846,3266801846,BG -3266801847,3266802415,GB -3266802416,3266802423,BG -3266802424,3266803215,GB +3266798880,3266801343,GB +3266801344,3266801359,BG +3266801360,3266801663,GB +3266801664,3266803215,BG 3266803216,3266803219,FR -3266803220,3266804095,GB +3266803220,3266803711,BG +3266803712,3266804095,GB 3266804096,3266804127,NL 3266804128,3266804479,GB 3266804480,3266804735,NL @@ -130558,11 +133554,11 @@ 3267559424,3267624959,DE 3267627372,3267627375,DE 3267627408,3267627411,GB -3267628396,3267628415,FR +3267628032,3267629055,FR +3267629588,3267629591,BE 3267630080,3267631103,GB 3267634176,3267635199,GB -3267648320,3267648335,GB -3267648402,3267648402,GB +3267647488,3267649535,GB 3267657552,3267657555,RO 3267657560,3267657563,RO 3267657576,3267657583,RO @@ -130600,131 +133596,17 @@ 3268173824,3268182015,MT 3268182016,3268198399,PL 3268198400,3268214783,MA -3268215584,3268215615,GB -3268215648,3268215679,GB -3268215712,3268215743,GB -3268215808,3268216063,GB -3268218112,3268218367,GB -3268219808,3268219823,GB -3268221440,3268221471,GB -3268221504,3268221599,GB -3268221696,3268221951,GB -3268222976,3268223167,GB -3268223200,3268223231,GB +3268214784,3268224767,GB 3268224768,3268225023,US -3268226368,3268226399,GB -3268226496,3268226631,GB -3268226640,3268226655,GB -3268226688,3268226815,GB -3268227328,3268227391,GB -3268227520,3268227615,GB -3268231168,3268231199,GB -3268231320,3268231359,GB -3268231392,3268231423,GB -3268231648,3268231679,GB -3268231744,3268231807,GB -3268232224,3268232243,GB -3268232352,3268232367,GB -3268232384,3268232415,GB -3268232480,3268232575,GB -3268232960,3268233087,GB -3268234176,3268234239,GB -3268234560,3268234623,GB -3268235008,3268235263,GB -3268235264,3268235519,DE -3268235520,3268235775,GB -3268235968,3268236031,GB -3268236192,3268236207,GB -3268236544,3268236607,GB -3268236672,3268236799,GB -3268237824,3268237855,GB -3268237904,3268237911,GB -3268238336,3268238359,GB -3268238384,3268238399,GB -3268238464,3268238623,GB -3268238632,3268238719,GB -3268238752,3268238783,GB -3268239584,3268240127,GB -3268240160,3268240191,GB -3268240384,3268240399,GB -3268240480,3268240487,GB -3268240688,3268240695,GB -3268240712,3268240735,GB -3268240744,3268240751,GB -3268240976,3268240991,GB -3268241008,3268241023,GB -3268241544,3268241551,GB -3268241640,3268241655,GB -3268242496,3268242523,GB -3268242880,3268243071,GB -3268243328,3268243391,GB -3268244776,3268244783,GB -3268244792,3268244799,GB -3268246272,3268246783,GB -3268246976,3268246991,GB -3268248320,3268248447,GB -3268248512,3268248543,GB -3268249600,3268251311,GB +3268225024,3268251311,GB 3268251312,3268251327,IE 3268251328,3268251615,GB 3268251616,3268251631,CH -3268251632,3268251647,GB -3268254464,3268254543,GB -3268254624,3268254639,GB -3268254896,3268254903,GB -3268255824,3268255863,GB -3268255896,3268255919,GB -3268255952,3268255959,GB -3268255968,3268255983,GB -3268256896,3268256959,GB -3268257024,3268257055,GB -3268257088,3268257119,GB -3268257416,3268257419,GB +3268251632,3268257431,GB 3268257432,3268257439,IT -3268257464,3268257471,GB -3268257488,3268257503,GB -3268257512,3268257527,GB -3268258560,3268258623,GB -3268258688,3268258751,GB -3268259520,3268259527,GB -3268259544,3268259551,GB -3268259560,3268259575,GB -3268259808,3268259815,GB -3268259832,3268260095,GB -3268260352,3268260383,GB -3268260416,3268260447,GB -3268260512,3268260607,GB -3268260640,3268260647,GB -3268261936,3268261951,GB -3268262768,3268262783,GB -3268262880,3268262887,GB -3268263232,3268263263,GB -3268263776,3268263783,GB -3268264736,3268264767,GB -3268265416,3268265431,GB -3268265984,3268266495,GB -3268266984,3268266991,GB -3268267536,3268267551,GB -3268267584,3268267599,GB -3268267616,3268267647,GB -3268267744,3268267775,GB -3268267952,3268267959,GB -3268272728,3268272735,GB -3268273024,3268273151,GB -3268274112,3268274175,GB -3268274456,3268274459,GB -3268274528,3268274543,GB -3268274560,3268274591,GB -3268275984,3268275999,GB -3268276640,3268276655,GB -3268276672,3268276687,GB -3268276864,3268276895,GB -3268277056,3268277119,GB -3268277760,3268278015,GB -3268278464,3268278495,GB -3268280064,3268280319,GB -3268280320,3268334335,FR -3268334336,3268334591,RE +3268257440,3268280319,GB +3268280320,3268334079,FR +3268334080,3268334591,RE 3268334592,3268345855,FR 3268345856,3268411391,GB 3268411392,3268476927,AT @@ -130734,8 +133616,7 @@ 3268673536,3268739071,CZ 3268739072,3268739327,DE 3268739328,3268739583,PL -3268739584,3268739839,DE -3268739840,3268740095,GB +3268739584,3268740095,DE 3268740096,3268740351,IL 3268740352,3268740607,DE 3268740608,3268740863,RO @@ -130777,7 +133658,9 @@ 3268771328,3268771839,NL 3268771840,3268788223,NO 3268788224,3268804607,CZ -3268804608,3268870143,FR +3268804608,3268869375,FR +3268869376,3268869631,PF +3268869632,3268870143,FR 3268870144,3268935679,FI 3268935680,3269066751,GB 3269066752,3269075719,SE @@ -130785,105 +133668,68 @@ 3269075728,3269132287,SE 3269132288,3269197823,GR 3269197824,3269263359,ES -3269264640,3269264895,DE -3269265856,3269265919,DE -3269265920,3269266175,GB +3269263360,3269266687,GB 3269266688,3269266943,DE -3269266944,3269267455,GB -3269272576,3269272583,DE +3269266944,3269272703,GB 3269272704,3269272831,DE -3269272832,3269272847,GB -3269272848,3269272863,NL -3269272864,3269272887,GB -3269272896,3269273087,NL -3269273088,3269273343,DE -3269273600,3269273855,GB -3269273856,3269275647,DE -3269275904,3269276159,DE -3269276160,3269276415,GB -3269277184,3269277695,FR +3269272832,3269274623,GB +3269274624,3269274879,DE +3269274880,3269275391,GB +3269275392,3269275647,DE +3269275648,3269277695,GB 3269277696,3269278719,NL -3269279232,3269279487,NL -3269279672,3269279679,CH -3269279744,3269280255,GB +3269278720,3269280255,GB 3269280256,3269280767,NL 3269280768,3269281023,GB 3269281024,3269281279,NL -3269281280,3269281535,FR -3269282048,3269282303,DE -3269282304,3269282559,GB +3269281280,3269281343,FR +3269281344,3269282559,GB 3269282560,3269282815,FR -3269283328,3269283583,DE -3269283872,3269283903,DE -3269284096,3269284351,GB -3269284864,3269285079,FR -3269285088,3269285135,DE -3269285136,3269285151,GB -3269285152,3269285215,DE -3269285216,3269285311,FR -3269285312,3269285327,DE +3269282816,3269284863,GB +3269284864,3269285055,FR +3269285056,3269285183,GB +3269285184,3269285215,DE +3269285216,3269285247,FR +3269285248,3269285335,GB 3269285336,3269285343,FR -3269285344,3269285375,GB -3269285376,3269285631,FR +3269285344,3269285631,GB 3269285632,3269285887,DE -3269286400,3269286479,DE -3269288688,3269288695,DE +3269285888,3269286463,GB +3269286464,3269286479,DE +3269286480,3269288703,GB 3269288704,3269288959,DE -3269290560,3269290575,DE -3269290592,3269290687,DE -3269290736,3269290743,DE -3269291264,3269291519,DE -3269291520,3269291567,GB -3269291584,3269291647,GB -3269291776,3269292287,ES -3269293120,3269293151,DE -3269293208,3269293215,DE -3269293376,3269293391,DE -3269293856,3269293887,DE -3269293920,3269293951,DE -3269294080,3269295103,GB -3269296232,3269296235,DE -3269296368,3269296375,DE -3269297152,3269297663,GB -3269298664,3269298671,DE +3269288960,3269290559,GB +3269290560,3269290567,DE +3269290568,3269303039,GB 3269303040,3269303295,DE -3269303296,3269303423,GB -3269303552,3269303679,DE +3269303296,3269305343,GB 3269305344,3269305351,DE +3269305352,3269305855,GB 3269305856,3269306879,DE -3269307648,3269307903,DE -3269310656,3269310671,DE -3269310976,3269311231,DE -3269311872,3269311999,DE -3269313792,3269314175,DE -3269314192,3269314199,DE -3269315584,3269315591,DE -3269317632,3269317663,GB +3269306880,3269317663,GB 3269317664,3269317671,IE -3269317672,3269317887,GB -3269317888,3269318399,DE -3269318400,3269318655,GB -3269318656,3269318983,DE -3269319008,3269319047,DE +3269317672,3269319055,GB 3269319056,3269319071,DE -3269319136,3269320447,DE -3269320704,3269321727,GB -3269322240,3269322495,DE -3269322656,3269322679,DE -3269322752,3269323263,DE -3269326848,3269326855,DE -3269326960,3269326971,DE -3269326992,3269326999,DE -3269327024,3269327039,DE -3269327056,3269327103,DE -3269327760,3269327775,DE -3269327864,3269328383,DE -3269328896,3269394431,GB +3269319072,3269319167,GB +3269319168,3269319679,DE +3269319680,3269320191,GB +3269320192,3269320447,DE +3269320448,3269322751,GB +3269322752,3269323007,DE +3269323008,3269326963,GB +3269326964,3269326967,DE +3269326968,3269327055,GB +3269327056,3269327071,DE +3269327072,3269327871,GB +3269327872,3269328383,DE +3269328384,3269394431,GB 3269394432,3269419007,AU 3269419008,3269435391,GB 3269435392,3269443583,AU 3269443584,3269459967,GB -3269459968,3269525503,ES +3269459968,3269466367,ES +3269466368,3269466623,DE +3269466624,3269525503,ES 3269525504,3269591039,IR 3269591040,3269621759,RU 3269621760,3269623295,BY @@ -131172,15 +134018,17 @@ 3271425024,3271425279,DE 3271425280,3271425535,DK 3271425536,3271426047,DE -3271426048,3271491583,FR +3271426048,3271473151,FR +3271473152,3271475199,NC +3271475200,3271491583,FR 3271491584,3271557119,DK 3271557120,3271589887,BE 3271589888,3271688191,NO +3271688192,3271691775,GB 3271691776,3271692031,US -3271692032,3271692287,GB +3271692032,3271694079,GB 3271694080,3271694335,IE -3271694592,3271695103,GB -3271696384,3271698431,GB +3271694336,3271698431,GB 3271704576,3271712767,RU 3271712768,3271720959,LV 3271720960,3271729151,GB @@ -131206,8 +134054,7 @@ 3271748096,3271748607,GR 3271748608,3271749119,UA 3271749120,3271750143,RU -3271750656,3271750911,IE -3271750912,3271751167,GB +3271750656,3271751167,GB 3271751168,3271751679,RO 3271751680,3271752191,NL 3271752192,3271752703,GB @@ -131240,7 +134087,7 @@ 3271811072,3271812095,UA 3271812096,3271813119,ES 3271813120,3271814143,PL -3271814144,3271815167,UA +3271814144,3271815167,SA 3271815168,3271816191,RU 3271816192,3271817215,UA 3271817216,3271818239,DE @@ -131290,12 +134137,16 @@ 3271933184,3271933439,GB 3271933440,3271933695,SE 3271933696,3271933951,DE -3271933952,3272015871,FR -3272015872,3272016895,US +3271933952,3272001535,FR +3272001536,3272002559,GP +3272002560,3272015871,FR +3272015872,3272016127,GB +3272016128,3272016895,US 3272016896,3272017919,DE 3272017920,3272018943,IQ -3272018944,3272019455,ES -3272019456,3272019967,CZ +3272018944,3272019455,CZ +3272019456,3272019711,UA +3272019712,3272019967,UZ 3272019968,3272020991,IT 3272020992,3272024063,DK 3272024064,3272032255,IE @@ -131303,7 +134154,9 @@ 3272040448,3272048639,FR 3272048640,3272056831,NL 3272056832,3272065023,RU -3272065024,3272073727,GB +3272065024,3272067071,GB +3272067072,3272069119,CZ +3272069120,3272073727,GB 3272073728,3272073855,IE 3272073856,3272081407,GB 3272081408,3272087551,PT @@ -131368,90 +134221,53 @@ 3272213440,3272213471,ES 3272213472,3272213487,CY 3272213488,3272213503,ES -3272213504,3272213567,IT -3272213568,3272213575,GB -3272213576,3272213583,IE -3272213584,3272213599,DE -3272213600,3272213615,IT -3272213632,3272213639,NL -3272213656,3272213663,IT +3272213504,3272213671,GB 3272213672,3272213679,IT -3272213752,3272213759,IT +3272213680,3272213759,GB 3272213760,3272214015,NL -3272214016,3272214271,ES -3272214272,3272214303,GB -3272214336,3272214351,GB -3272214352,3272214407,FR -3272214432,3272214463,SE +3272214016,3272214399,GB +3272214400,3272214407,FR +3272214408,3272214527,GB 3272214528,3272215039,FR 3272215040,3272215295,ES 3272215296,3272215551,NL 3272215552,3272215807,CH -3272215808,3272215823,NL -3272215872,3272215879,BE -3272215884,3272215919,CH -3272215920,3272215935,NL -3272215936,3272215999,GB +3272215808,3272215999,GB 3272216000,3272216007,IT -3272216016,3272216031,DE -3272216032,3272216039,IT -3272216040,3272216047,GB +3272216008,3272216047,GB 3272216048,3272216055,IT +3272216056,3272216215,GB 3272216216,3272216223,FR +3272216224,3272216263,GB 3272216264,3272216271,IT +3272216272,3272216479,GB 3272216480,3272216480,IR -3272216992,3272217007,GB -3272217088,3272217151,GB -3272217152,3272217159,BE -3272217216,3272217279,BE -3272217280,3272217303,DE -3272217304,3272217327,BE -3272217344,3272217599,GB -3272217600,3272217631,CH -3272217856,3272217875,ES -3272217880,3272217887,IT -3272217896,3272217919,ES -3272217920,3272217983,DE +3272216481,3272217311,GB +3272217312,3272217327,BE +3272217328,3272217911,GB +3272217912,3272217919,ES +3272217920,3272217983,GB 3272217984,3272218079,ES -3272218112,3272218623,GB -3272218632,3272218639,RU -3272218688,3272218719,DE -3272218752,3272218879,GB +3272218080,3272218879,GB 3272218880,3272219135,BE -3272219136,3272219391,NL -3272219392,3272219647,GB +3272219136,3272219647,GB 3272219648,3272219903,FR -3272219904,3272220159,DE -3272220672,3272221183,GB -3272221184,3272221439,NL -3272221440,3272221447,SE -3272221448,3272221455,NO -3272221456,3272221463,SE -3272221472,3272221495,SE -3272221504,3272221519,SE +3272219904,3272221695,GB 3272221696,3272221951,NL 3272221952,3272222207,GB 3272222208,3272222463,ES 3272222464,3272222719,NL -3272222720,3272223015,GB -3272223024,3272223039,GB +3272222720,3272223231,GB 3272223232,3272223487,NL -3272223488,3272223503,SG -3272223744,3272224511,GB -3272224768,3272225023,GB -3272225280,3272225535,IT -3272225536,3272225791,GB -3272225792,3272225815,IT -3272225856,3272225919,GB +3272223488,3272225279,GB +3272225280,3272225815,IT +3272225816,3272225919,GB 3272225920,3272226047,IT -3272226048,3272226815,FR -3272226816,3272227071,GB -3272227072,3272227327,PT +3272226048,3272226303,GB +3272226304,3272226559,FR +3272226560,3272227327,GB 3272227328,3272227359,US -3272227360,3272227511,GB -3272227520,3272227583,GB -3272227584,3272227839,FR -3272227840,3272228351,ES +3272227360,3272228351,GB 3272228352,3272228607,FR 3272228608,3272228639,NL 3272228640,3272228671,IT @@ -131584,7 +134400,9 @@ 3272647168,3272647385,IL 3272647386,3272647386,DE 3272647387,3272647679,IL -3272647680,3272654847,GB +3272647680,3272648703,GB +3272648704,3272650751,IE +3272650752,3272654847,GB 3272654848,3272663039,FI 3272663040,3272671231,AT 3272671232,3272736767,SE @@ -131616,7 +134434,7 @@ 3272896000,3272896511,PL 3272896512,3272897535,DE 3272897536,3272898047,FI -3272898048,3272898559,UA +3272898048,3272898559,RU 3272898560,3272899071,DE 3272899328,3272899583,PL 3272899584,3272900095,UA @@ -131737,9 +134555,7 @@ 3273195008,3273195519,RU 3273195520,3273200387,FR 3273200388,3273200388,GB -3273200389,3273225727,FR -3273225728,3273225983,GF -3273225984,3273261055,FR +3273200389,3273261055,FR 3273261056,3273261567,NO 3273261568,3273262079,BE 3273262080,3273262591,LU @@ -131764,173 +134580,93 @@ 3273293824,3273302015,MK 3273302016,3273310207,RU 3273310208,3273318399,AT -3273318400,3273326591,GB +3273318400,3273326983,GB 3273326984,3273326987,DE -3273326992,3273327047,DE -3273327104,3273327295,DE +3273326988,3273327287,GB +3273327288,3273327295,DE +3273327296,3273327335,GB 3273327336,3273327359,DE +3273327360,3273327439,GB 3273327440,3273327447,IE -3273327488,3273327495,GB +3273327448,3273327519,GB 3273327520,3273327551,IE -3273327552,3273327583,GB -3273328512,3273328639,DE -3273328640,3273329199,GB -3273329200,3273329215,DE -3273329216,3273329279,GB -3273329312,3273329327,GB -3273329416,3273329423,GB -3273329424,3273329439,DE -3273329440,3273329599,GB -3273329632,3273329639,GB -3273329664,3273329823,GB -3273329832,3273329887,GB -3273329904,3273330111,GB -3273330128,3273330171,GB +3273327552,3273330175,GB 3273330176,3273330183,IR -3273330232,3273330235,GB -3273330288,3273330295,IE +3273330184,3273330303,GB 3273330304,3273330431,IE -3273330496,3273330519,GB -3273330528,3273330551,GB -3273330560,3273330951,GB -3273330960,3273331191,GB -3273331712,3273331743,GB -3273331752,3273331791,GB -3273331808,3273331823,GB -3273331840,3273331887,GB -3273331904,3273331967,GB -3273331968,3273332031,DE -3273332032,3273332095,GB -3273332096,3273332223,DE -3273332224,3273332231,GB -3273332240,3273332255,GB -3273332264,3273332479,GB -3273332544,3273332575,DE -3273332608,3273332671,DE -3273333056,3273333119,DE -3273334272,3273334671,DE +3273330432,3273334527,GB +3273334528,3273334655,DE +3273334656,3273334719,GB 3273334720,3273334783,DE -3273334784,3273335039,AE -3273335296,3273335807,GB -3273335936,3273335999,DE -3273336848,3273336863,DE -3273336864,3273336871,GB -3273336880,3273336895,DE -3273336960,3273337087,DE -3273337856,3273338111,DE +3273334784,3273338623,GB 3273338624,3273338879,DE -3273339136,3273339391,DE -3273339392,3273339919,GB -3273339920,3273339943,DE -3273339944,3273339955,GB -3273339960,3273339967,GB -3273339984,3273340095,GB -3273340096,3273340111,GI -3273340112,3273340119,GB -3273340160,3273340415,GB -3273340928,3273341711,FR -3273341752,3273341823,FR -3273341856,3273341951,FR -3273342022,3273342022,GB -3273342034,3273342034,GB -3273342080,3273342095,GB -3273342192,3273342207,GB -3273342208,3273342231,AE -3273342240,3273342255,AE -3273342464,3273342975,DE -3273342976,3273343999,GB +3273338880,3273340927,GB +3273340928,3273341439,FR +3273341440,3273341751,GB +3273341752,3273341759,FR +3273341760,3273341835,GB +3273341836,3273341836,DE +3273341837,3273341855,GB +3273341856,3273341887,FR +3273341888,3273342463,GB +3273342464,3273342719,DE +3273342720,3273343999,GB 3273344000,3273344511,DE +3273344512,3273345023,GB 3273345024,3273345279,DE -3273346560,3273346815,OM -3273346816,3273347071,DE -3273347584,3273347839,GB -3273347840,3273348351,DE -3273349120,3273349631,DE -3273350272,3273350287,DE -3273350336,3273350351,DE -3273351168,3273351423,GB -3273351424,3273351455,DE -3273351504,3273351519,DE -3273351872,3273351903,DE -3273351936,3273352191,DE -3273352928,3273352959,DE -3273352992,3273353023,DE -3273357312,3273358335,GB -3273359888,3273359903,DE -3273360016,3273360079,DE -3273361472,3273361535,DE -3273361632,3273361663,DE -3273361792,3273361823,DE +3273345280,3273347839,GB +3273347840,3273348095,DE +3273348096,3273350343,GB +3273350344,3273350351,DE +3273350352,3273361855,GB 3273361856,3273361919,DE -3273362048,3273362175,DE +3273361920,3273362143,GB +3273362144,3273362175,DE +3273362176,3273362239,GB 3273362240,3273362255,DE -3273363208,3273363211,DE -3273363328,3273363391,DE -3273363456,3273364479,GB -3273364608,3273364735,DE -3273364992,3273365247,DE -3273365504,3273365519,NL -3273365520,3273365543,GB -3273365544,3273365759,NL -3273365760,3273365767,GB +3273362256,3273363327,GB +3273363328,3273363359,DE +3273363360,3273365887,GB 3273365888,3273366015,FR 3273366016,3273366527,DE -3273366528,3273367551,GB -3273367552,3273367567,DE +3273366528,3273368063,GB 3273368064,3273368575,DE -3273369344,3273369855,DE -3273369872,3273369903,FR +3273368576,3273369343,GB +3273369344,3273369599,DE +3273369600,3273369887,GB +3273369888,3273369895,FR +3273369896,3273369911,GB 3273369912,3273369919,FR -3273369976,3273369983,FR +3273369920,3273370031,GB 3273370032,3273370039,FR +3273370040,3273370047,GB 3273370048,3273370063,FR -3273370624,3273371135,DE -3273371712,3273371743,DE -3273371760,3273371775,DE +3273370064,3273371807,GB 3273371808,3273371823,DE -3273371872,3273371875,DE -3273372000,3273372055,DE +3273371824,3273372095,GB 3273372096,3273372159,DE -3273372672,3273372927,GB +3273372160,3273372927,GB 3273372928,3273373567,DE -3273373568,3273374847,GB -3273374856,3273374863,GB -3273374896,3273374903,GB -3273374928,3273374931,GB -3273375104,3273375231,GB -3273375232,3273375551,DE -3273375744,3273375871,DE -3273376000,3273376255,DE -3273376536,3273376543,DE -3273377792,3273378095,DE -3273378560,3273378815,DE -3273381888,3273382143,DE -3273382144,3273382399,GB -3273382400,3273382463,DE -3273382480,3273382591,DE -3273382640,3273382687,DE -3273384192,3273384703,DE -3273384960,3273385215,DE -3273385280,3273385343,DE +3273373568,3273377791,GB +3273377792,3273378047,DE +3273378048,3273382671,GB +3273382672,3273382687,DE +3273382688,3273384191,GB +3273384192,3273384447,DE +3273384448,3273385471,GB 3273385472,3273385727,DE -3273385760,3273385791,DE -3273385856,3273385919,DE -3273387056,3273387071,DE -3273387216,3273387231,DE +3273385728,3273387263,GB 3273387264,3273387519,DE -3273387552,3273387583,DE -3273388160,3273388223,DE -3273388800,3273388807,DE -3273388816,3273388863,DE -3273388872,3273388879,DE -3273388904,3273388911,DE -3273388912,3273388927,GB -3273390080,3273390111,DE +3273387520,3273390111,GB 3273390112,3273390143,US 3273390144,3273390207,DE +3273390208,3273390367,GB 3273390368,3273390399,DE -3273391104,3273391359,DE -3273391488,3273391615,DE +3273390400,3273391103,GB +3273391104,3273391231,DE +3273391232,3273391327,GB +3273391328,3273391343,DE +3273391344,3273392127,GB 3273392128,3273392639,PL 3273392640,3273393663,RO 3273394176,3273394687,RO @@ -131966,17 +134702,22 @@ 3273523200,3273588735,DE 3273588736,3273687039,IT 3273687040,3273719807,DE -3273719808,3273727079,NL -3273727080,3273727088,GB +3273719808,3273725951,NL +3273725952,3273727088,GB 3273727089,3273727095,ES 3273727096,3273727103,DE -3273727104,3273727119,NL +3273727104,3273727119,GB 3273727120,3273727127,PT 3273727128,3273727135,FI 3273727136,3273727143,NO 3273727144,3273727151,CZ 3273727152,3273727167,IT -3273727168,3273729023,NL +3273727168,3273727999,GB +3273728000,3273728511,NL +3273728512,3273728590,GB +3273728591,3273728592,NL +3273728593,3273728767,GB +3273728768,3273729023,NL 3273732096,3273736191,GB 3273736192,3273744383,FR 3273744384,3273752575,GB @@ -132051,7 +134792,9 @@ 3273883648,3273916415,NL 3273916416,3273932799,IT 3273932800,3273940991,DE -3273940992,3273947135,GB +3273940992,3273943039,GB +3273943040,3273945087,DE +3273945088,3273947135,GB 3273947136,3273949183,DE 3273949184,3273981951,FR 3273981952,3274048511,DE @@ -132197,90 +134940,7 @@ 3274424320,3274435711,SE 3274435712,3274435839,US 3274435840,3274440703,SE -3274442752,3274443263,GB -3274443520,3274443647,GB -3274443712,3274443775,GB -3274443808,3274444031,GB -3274446336,3274447871,GB -3274448384,3274448639,GB -3274448896,3274449663,GB -3274449920,3274450231,GB -3274450248,3274450367,GB -3274450376,3274450391,GB -3274450408,3274450415,GB -3274450432,3274450591,GB -3274450656,3274450687,GB -3274451200,3274452255,GB -3274452264,3274452311,GB -3274452320,3274452335,GB -3274452344,3274452367,GB -3274452384,3274452391,GB -3274452400,3274452423,GB -3274452432,3274452439,GB -3274452448,3274452455,GB -3274452464,3274452471,GB -3274452496,3274452543,GB -3274452560,3274452575,GB -3274452656,3274452703,GB -3274452736,3274452927,GB -3274452992,3274453767,GB -3274453784,3274453791,GB -3274453800,3274453847,GB -3274453864,3274453871,GB -3274453888,3274453903,GB -3274453920,3274453935,GB -3274453944,3274453951,GB -3274453960,3274453975,GB -3274453984,3274453991,GB -3274454000,3274454271,GB -3274454656,3274455311,GB -3274455328,3274455335,GB -3274455344,3274455351,GB -3274455360,3274455375,GB -3274455384,3274455391,GB -3274455400,3274455423,GB -3274455432,3274455439,GB -3274455448,3274455503,GB -3274455520,3274455535,GB -3274455744,3274455807,GB -3274455872,3274455935,GB -3274455968,3274456359,GB -3274456368,3274456375,GB -3274456384,3274456391,GB -3274456400,3274456407,GB -3274456416,3274456447,GB -3274456456,3274456511,GB -3274456528,3274456535,GB -3274456544,3274456559,GB -3274456568,3274460223,GB -3274460416,3274462207,GB -3274462464,3274465023,GB -3274465152,3274466351,GB -3274466368,3274466399,GB -3274466416,3274466463,GB -3274466560,3274466735,GB -3274466744,3274466763,GB -3274466768,3274466783,GB -3274466816,3274467099,GB -3274467104,3274467307,GB -3274467328,3274470383,GB -3274470400,3274470535,GB -3274470656,3274471423,GB -3274471536,3274471615,GB -3274471680,3274471935,GB -3274472960,3274483711,GB -3274489600,3274489855,GB -3274490176,3274490895,GB -3274490912,3274491023,GB -3274491040,3274491199,GB -3274491208,3274491247,GB -3274491256,3274491295,GB -3274491312,3274491319,GB -3274491328,3274491335,GB -3274491344,3274491383,GB -3274491392,3274504447,GB -3274505728,3274505791,GB -3274505793,3274505855,GB +3274440704,3274506239,GB 3274506240,3274571775,IT 3274571776,3274579967,GR 3274579968,3274580991,UA @@ -132297,10 +134957,7 @@ 3274604544,3274612735,TR 3274612736,3274620927,RU 3274620928,3274629119,FR -3274629120,3274635263,LU -3274635264,3274635519,FR -3274635520,3274635775,LU -3274635776,3274637311,FR +3274629120,3274637311,LU 3274637312,3274670079,CZ 3274670080,3274686463,DK 3274686464,3274686719,RU @@ -132388,10 +135045,9 @@ 3274842112,3274850303,DK 3274850304,3274855423,GB 3274855424,3274855935,AT -3274855936,3274864639,GB -3274864640,3274865663,RU -3274865664,3274866175,GB -3274866176,3274866687,RU +3274855936,3274866175,GB +3274866176,3274866431,RU +3274866432,3274866687,GB 3274866688,3274883071,DE 3274883072,3274899455,EE 3274899456,3274902399,DE @@ -132554,15 +135210,14 @@ 3274964896,3274964927,NL 3274964928,3274964991,GB 3274964992,3275030527,DE -3275030528,3275096063,ES +3275030528,3275095839,ES +3275095840,3275095871,BE +3275095872,3275096063,ES 3275096064,3275104255,RU -3275104256,3275104256,DE -3275104257,3275104767,RU -3275104768,3275105279,DE +3275104256,3275105279,DE 3275105280,3275105791,GB 3275105792,3275106303,NL -3275106304,3275106815,RU -3275106816,3275107327,UA +3275106304,3275107327,RU 3275107328,3275107839,BG 3275107840,3275108351,PL 3275108352,3275108863,FR @@ -132598,182 +135253,25 @@ 3275399168,3275407359,AT 3275407360,3275415551,GB 3275415552,3275423743,UA -3275423744,3275423751,GB -3275423808,3275423839,GB -3275423872,3275424295,GB -3275424432,3275424439,GB -3275424480,3275424487,GB -3275424496,3275424639,GB -3275424648,3275424703,GB -3275424712,3275424743,GB -3275424752,3275424863,GB -3275424904,3275424911,GB -3275424960,3275424975,GB -3275424992,3275425031,GB -3275425040,3275425063,GB -3275425072,3275425135,GB -3275425144,3275425303,GB -3275425328,3275425343,GB -3275425552,3275425559,GB -3275425568,3275425583,GB -3275425792,3275426559,GB -3275426576,3275427103,GB -3275427112,3275427263,GB -3275427296,3275427599,GB -3275427616,3275427715,GB -3275427728,3275428367,GB -3275428376,3275428399,GB -3275428416,3275428447,GB -3275428608,3275428863,GB -3275429888,3275430143,GB -3275430592,3275430631,GB -3275430656,3275430911,GB -3275431936,3275432863,GB -3275432872,3275432883,GB -3275433984,3275436543,GB -3275436800,3275438615,GB -3275438648,3275438655,GB -3275438672,3275438847,GB -3275439104,3275439447,GB -3275439460,3275439463,GB -3275439472,3275439679,GB -3275439688,3275439695,GB -3275439712,3275439839,GB -3275439872,3275439935,GB -3275439944,3275439951,GB -3275439968,3275440895,GB -3275441152,3275441407,GB -3275441424,3275441439,GB -3275441472,3275441567,GB -3275441600,3275441823,GB -3275441832,3275441835,GB -3275441840,3275442687,GB -3275442720,3275442723,GB -3275443200,3275443227,GB -3275443230,3275443230,GB -3275443232,3275443239,GB -3275443248,3275443407,GB -3275443424,3275443727,GB -3275443760,3275443775,GB -3275443840,3275443967,GB -3275444224,3275444735,GB -3275446272,3275446783,GB -3275446800,3275446815,GB -3275446848,3275446911,GB -3275446976,3275447039,GB -3275447056,3275447087,GB -3275447104,3275447135,GB -3275448320,3275449023,GB -3275449088,3275449471,GB -3275449488,3275449519,GB -3275449520,3275449527,FR -3275449528,3275449559,GB -3275449584,3275449887,GB -3275449904,3275449911,GB -3275449920,3275449927,GB -3275450048,3275450071,GB -3275450080,3275450207,GB -3275450224,3275450879,GB -3275451232,3275451263,GB -3275451392,3275451663,GB -3275451680,3275451711,GB -3275451720,3275451727,GB -3275451744,3275451767,GB -3275451776,3275451779,GB -3275451784,3275451791,GB -3275452416,3275453023,GB -3275453120,3275453151,GB -3275453168,3275453399,GB -3275453408,3275453839,GB -3275453848,3275453919,GB -3275453936,3275453951,GB -3275453984,3275454063,GB -3275454112,3275454127,GB -3275454144,3275454159,GB -3275454168,3275454175,GB -3275454192,3275454255,GB -3275454272,3275454303,GB -3275454336,3275454383,GB -3275454432,3275455231,GB -3275455248,3275455295,GB -3275455360,3275455487,GB -3275455744,3275456391,GB -3275456416,3275458303,GB +3275423744,3275425583,GB +3275425592,3275432895,GB +3275432928,3275458303,GB 3275458304,3275458559,FK 3275458560,3275459071,IE +3275459072,3275459599,GB 3275459600,3275459615,IE +3275459616,3275459839,GB 3275459840,3275460095,IE -3275460096,3275460223,GB -3275460224,3275460239,IE -3275460288,3275460295,GB +3275460096,3275460239,GB +3275460256,3275460351,GB 3275460352,3275460607,IE -3275460608,3275463183,GB -3275463192,3275463199,GB -3275463216,3275463231,GB -3275463248,3275463279,GB -3275463296,3275463359,GB -3275463392,3275463423,GB -3275463456,3275463495,GB -3275463504,3275463523,GB -3275463528,3275463599,GB -3275463616,3275463635,GB -3275463640,3275464031,GB -3275464032,3275464047,IE -3275464048,3275468655,GB +3275460608,3275464031,GB +3275464032,3275464063,IE +3275464064,3275468655,GB 3275468656,3275468671,IE -3275468672,3275473151,GB -3275473232,3275473295,GB -3275473304,3275473311,GB -3275473328,3275473343,GB -3275473352,3275473359,GB -3275473368,3275473647,GB -3275473664,3275473895,GB -3275473904,3275474047,GB -3275474088,3275474303,GB -3275474368,3275474703,GB -3275474720,3275474735,GB -3275474752,3275474887,GB -3275474896,3275474911,GB -3275474936,3275474951,GB -3275474960,3275474975,GB -3275474984,3275475039,GB -3275475044,3275475287,GB -3275475292,3275475295,GB -3275475328,3275475759,GB -3275475800,3275475807,GB -3275475824,3275475831,GB -3275475840,3275475855,GB -3275475876,3275475879,GB -3275475968,3275476631,GB -3275476640,3275476687,GB -3275476704,3275476735,GB -3275476944,3275476959,GB -3275476976,3275477015,GB -3275477040,3275477087,GB -3275477104,3275477135,GB -3275477160,3275477167,GB -3275477184,3275477191,GB -3275477200,3275477231,GB -3275477440,3275477567,GB -3275477760,3275478271,GB -3275478528,3275481087,GB +3275468672,3275481087,GB 3275481344,3275481599,GB -3275482112,3275482431,GB -3275482448,3275482455,GB -3275482480,3275483647,GB -3275484160,3275484415,GB -3275485184,3275485215,GB -3275485224,3275485231,GB -3275485248,3275485375,GB -3275485408,3275485431,GB -3275485440,3275485759,GB -3275485840,3275485855,GB -3275485936,3275485936,GB -3275486208,3275487231,GB -3275487240,3275487243,CZ -3275487248,3275487263,CZ -3275488768,3275489279,CZ -3275489280,3275497471,GB +3275482112,3275497471,GB 3275497472,3275505663,DE 3275505664,3275506175,PL 3275506176,3275506687,UA @@ -132849,6 +135347,7 @@ 3275551744,3275552767,RU 3275552768,3275553791,LV 3275553792,3275554815,FI +3275554816,3275563007,ES 3275563584,3275563647,CH 3275588448,3275588463,BE 3275590656,3275590911,BE @@ -132972,7 +135471,7 @@ 3275908864,3275909119,PL 3275909376,3275909631,UA 3275909632,3275909887,EE -3275909888,3275910143,BE +3275909888,3275910143,SI 3275910144,3275910399,RU 3275910400,3275910655,DK 3275910656,3275910911,UA @@ -133013,38 +135512,26 @@ 3275931648,3275939839,UA 3275939840,3275948031,GB 3275948032,3276013567,SE -3276013568,3276014463,GB -3276014464,3276014479,FR -3276014480,3276014591,GB -3276014592,3276014847,FR +3276013568,3276014239,GB +3276014240,3276014247,FR +3276014248,3276014335,GB +3276014336,3276014847,FR 3276014848,3276015055,GB 3276015056,3276015063,FR 3276015064,3276015103,GB -3276015104,3276018175,FR -3276018176,3276018687,GB -3276018688,3276020991,FR -3276020992,3276021007,GB -3276021008,3276021015,FR -3276021016,3276021055,GB -3276021056,3276021071,FR -3276021072,3276021095,GB -3276021096,3276021096,FR -3276021097,3276021247,GB -3276021248,3276024831,FR -3276024832,3276025855,GB -3276025856,3276028159,FR +3276015104,3276021119,FR +3276021120,3276021247,GB +3276021248,3276028159,FR 3276028160,3276028279,GB 3276028280,3276028287,FR 3276028288,3276028383,GB 3276028384,3276028391,FR -3276028392,3276028432,GB -3276028433,3276028433,FR -3276028434,3276028543,GB +3276028392,3276028543,GB 3276028544,3276028671,FR 3276028672,3276028927,GB -3276028928,3276030463,FR -3276030464,3276031487,GB -3276031488,3276031999,FR +3276028928,3276029311,FR +3276029312,3276029375,GB +3276029376,3276031999,FR 3276032000,3276032511,GB 3276032512,3276032767,ES 3276032768,3276036543,GB @@ -133053,10 +135540,10 @@ 3276037312,3276037319,FR 3276037320,3276038143,GB 3276038144,3276039423,FR -3276039424,3276041727,GB +3276039424,3276039679,GB +3276039680,3276041727,FR 3276041728,3276041983,ES -3276041984,3276042239,GB -3276042240,3276044287,FR +3276041984,3276044287,FR 3276044288,3276046335,GB 3276046336,3276059311,RU 3276059312,3276059319,FR @@ -133099,7 +135586,10 @@ 3276101632,3276102655,LV 3276102656,3276103679,GB 3276103680,3276104703,SI -3276104704,3276105727,GB +3276104704,3276104959,GB +3276104960,3276105215,NL +3276105216,3276105471,US +3276105472,3276105727,GB 3276105728,3276106751,AT 3276106752,3276107775,BG 3276107776,3276108799,DE @@ -133219,11 +135709,13 @@ 3276490776,3276490776,NL 3276490782,3276490782,AT 3276490783,3276490783,CH -3276491776,3276492799,GB +3276492232,3276492235,GB +3276492248,3276492259,GB +3276492284,3276492319,GB 3276494352,3276494367,GB 3276494448,3276494451,GB -3276494476,3276494479,GB -3276495528,3276495551,GB +3276494476,3276494483,GB +3276494848,3276496895,GB 3276498120,3276498123,GB 3276499504,3276499579,DE 3276499680,3276499687,DE @@ -133240,7 +135732,7 @@ 3276501172,3276501183,DE 3276501192,3276501199,DE 3276503040,3276505087,DE -3276505088,3276509183,GB +3276507136,3276509183,GB 3276509184,3276510207,IT 3276512256,3276513023,ZA 3276518216,3276518219,NL @@ -133249,21 +135741,20 @@ 3276520704,3276520735,SE 3276522496,3276523519,NL 3276524864,3276524895,PT -3276528128,3276528195,GB -3276528200,3276528215,GB -3276528224,3276528231,GB +3276528128,3276528639,GB 3276530544,3276530555,NL 3276530560,3276530571,NL 3276530584,3276530591,NL 3276530604,3276530607,NL 3276530688,3276531711,NL -3276532481,3276532481,FR 3276532583,3276532583,GB 3276532590,3276532590,GR 3276532608,3276532608,GB 3276533248,3276533311,SI 3276536752,3276536783,HU -3276537856,3276668927,ES +3276537856,3276617727,ES +3276617728,3276617983,IT +3276617984,3276668927,ES 3276668928,3276677119,MC 3276677120,3276678143,HR 3276678144,3276678655,SE @@ -133311,7 +135802,7 @@ 3276718080,3276726271,IT 3276726272,3276727295,SE 3276727296,3276728319,ES -3276728320,3276729343,UA +3276728320,3276729343,SA 3276729344,3276730367,PL 3276730368,3276731391,DE 3276731392,3276732415,UA @@ -133680,11 +136171,11 @@ 3276861184,3276861439,DE 3276861440,3276865535,DK 3276865536,3276866559,NL -3276866560,3276867583,GB -3276867584,3276868703,IT +3276866560,3276868703,GB 3276868704,3276868711,BE -3276868712,3276873727,IT -3276873728,3276873759,GB +3276868712,3276869631,GB +3276869632,3276871679,IT +3276871680,3276873759,GB 3276873760,3276873791,ES 3276873792,3276873983,GB 3276873984,3276874239,ES @@ -133703,10 +136194,10 @@ 3276881416,3276881811,GB 3276881812,3276881815,FR 3276881816,3276881919,GB -3276881920,3276884687,IT +3276881920,3276883967,IT +3276883968,3276884687,GB 3276884688,3276884719,PL -3276884720,3276886015,IT -3276886016,3276886363,GB +3276884720,3276886363,GB 3276886364,3276886367,DE 3276886368,3276886527,GB 3276886528,3276886783,DE @@ -133715,12 +136206,7 @@ 3276887040,3276889087,GB 3276889088,3276890111,IT 3276890112,3276892159,US -3276892160,3276892287,GB -3276892288,3276892351,IT -3276892352,3276892671,GB -3276892672,3276893183,IT -3276893184,3276893695,GB -3276893696,3276893951,IT +3276892160,3276893951,IT 3276893952,3276898783,GB 3276898784,3276898799,CH 3276898800,3276900207,GB @@ -133737,28 +136223,22 @@ 3276903424,3276903487,SE 3276903488,3276903551,GB 3276903552,3276903679,SE -3276903680,3276905983,GB -3276905984,3276906239,BE -3276906240,3276907341,GB +3276903680,3276907341,GB 3276907342,3276907342,NL -3276907343,3276908759,GB +3276907343,3276907519,GB +3276907520,3276908031,NL +3276908032,3276908759,GB 3276908760,3276908760,NL 3276908761,3276909831,GB 3276909832,3276909835,NL 3276909836,3276910591,GB -3276910592,3276911615,IT -3276911616,3276911679,GB -3276911680,3276911711,IT -3276911712,3276912207,GB -3276912208,3276912215,IT -3276912216,3276912287,GB -3276912288,3276912319,IT -3276912320,3276912671,GB +3276910592,3276912639,IT +3276912640,3276912671,GB 3276912672,3276912687,IT 3276912688,3276912879,GB 3276912880,3276912895,IT -3276912896,3276914687,GB -3276914688,3276917231,ES +3276912896,3276916735,GB +3276916736,3276917231,ES 3276917232,3276917247,FR 3276917248,3276918783,ES 3276918784,3276919061,GB @@ -133769,13 +136249,7 @@ 3276919488,3276919535,DE 3276919536,3276921855,GB 3276921856,3276922879,DE -3276922880,3276924927,FR -3276924928,3276925761,GB -3276925762,3276925762,FR -3276925763,3276925925,GB -3276925926,3276925926,FR -3276925927,3276925951,GB -3276925952,3276926207,FR +3276922880,3276926207,FR 3276926208,3276926683,GB 3276926684,3276926687,FR 3276926688,3276931071,GB @@ -133976,30 +136450,38 @@ 3277395200,3277402591,GB 3277402592,3277402607,ES 3277402608,3277403135,GB -3277403136,3277403215,FR -3277403216,3277403231,GB -3277403232,3277403311,FR -3277403312,3277403327,GB -3277403328,3277403359,FR -3277403360,3277403375,GB -3277403376,3277403455,FR +3277403136,3277403295,FR +3277403296,3277403327,GB +3277403328,3277403455,FR 3277403456,3277403471,AT 3277403472,3277403487,FR 3277403488,3277403647,GB -3277403648,3277403807,ES -3277403808,3277404159,GB -3277404160,3277404415,DE -3277404416,3277404671,IT -3277404672,3277404703,CH -3277404704,3277404719,GB -3277404720,3277404735,CH -3277404736,3277404927,GB -3277404928,3277404975,NL -3277404976,3277405199,GB -3277405200,3277405247,SE -3277405248,3277416703,GB -3277416704,3277416959,ES -3277416960,3277455359,GB +3277403648,3277403743,ES +3277403744,3277403759,GB +3277403760,3277403791,ES +3277403792,3277404159,GB +3277404160,3277404191,DE +3277404192,3277404207,GB +3277404208,3277404319,DE +3277404320,3277404335,GB +3277404336,3277404367,DE +3277404368,3277404383,GB +3277404384,3277404415,DE +3277404416,3277404479,IT +3277404480,3277404495,GB +3277404496,3277404511,IT +3277404512,3277404527,GB +3277404528,3277404623,IT +3277404624,3277404639,GB +3277404640,3277404671,IT +3277404672,3277404799,CH +3277404800,3277404927,GB +3277404928,3277405055,NL +3277405056,3277405183,GB +3277405184,3277405215,SE +3277405216,3277405231,GB +3277405232,3277405247,SE +3277405248,3277455359,GB 3277455360,3277463551,DE 3277463552,3277471743,US 3277471744,3277473791,PL @@ -134053,7 +136535,9 @@ 3277698560,3277699071,DE 3277699584,3277700607,RU 3277700608,3277701119,UA -3277701120,3277701631,DK +3277701120,3277701313,DK +3277701314,3277701315,NO +3277701316,3277701631,DK 3277701632,3277702143,AT 3277702656,3277703679,DE 3277703680,3277704191,PL @@ -134080,7 +136564,8 @@ 3277716480,3277716991,SE 3277716992,3277717503,IT 3277717504,3277725695,YE -3277725696,3277729791,GB +3277725696,3277727743,CH +3277727744,3277729791,GB 3277729792,3277730157,CH 3277730158,3277730158,GB 3277730159,3277730559,CH @@ -134180,7 +136665,17 @@ 3277856768,3277864959,DE 3277864960,3277873151,RU 3277873152,3277881343,NL -3277881344,3277889535,IT +3277881344,3277884175,IT +3277884176,3277884191,IR +3277884192,3277885439,IT +3277885440,3277885695,IQ +3277885696,3277885727,LB +3277885728,3277885951,IT +3277885952,3277886463,LB +3277886464,3277887487,IQ +3277887488,3277888255,IT +3277888256,3277888319,LB +3277888320,3277889535,IT 3277889536,3277897727,RU 3277897728,3277905919,IT 3277905920,3277914111,BG @@ -134236,8 +136731,12 @@ 3278780928,3278781439,GB 3278781440,3278781951,DE 3278781952,3278782463,RU -3278782464,3278790655,GB -3278790656,3278807039,IT +3278782464,3278790143,GB +3278790144,3278790399,ES +3278790400,3278790655,GB +3278790656,3278793727,IT +3278793728,3278794751,GB +3278794752,3278807039,IT 3278807040,3278815231,GB 3278815232,3278823423,AT 3278823424,3278831615,FR @@ -134360,7 +136859,8 @@ 3278938788,3278938791,ES 3278938792,3278938803,DE 3278938804,3278938807,IT -3278938808,3278938815,GB +3278938808,3278938811,DE +3278938812,3278938815,GB 3278938816,3278938831,DE 3278938832,3278938835,IT 3278938836,3278938839,FR @@ -136379,9 +138879,9 @@ 3279077376,3279085567,ES 3279085568,3279089663,NL 3279089664,3279093759,KG -3279093760,3279118335,FR -3279118336,3279126527,RE -3279126528,3279159295,FR +3279093760,3279123455,FR +3279123456,3279123967,RE +3279123968,3279159295,FR 3279159296,3279290367,PL 3279290368,3279291391,NL 3279291392,3279291647,GB @@ -136505,10 +139005,12 @@ 3279591168,3279592703,GB 3279592704,3279592959,DE 3279592960,3279593471,GB -3279593472,3279595519,DE -3279595520,3279598591,GB +3279593472,3279596543,DE +3279596544,3279598591,GB 3279598592,3279599615,DE -3279599616,3279601663,GB +3279599616,3279600639,GB +3279600640,3279600895,DE +3279600896,3279601663,GB 3279601664,3279609855,CZ 3279609856,3279618047,RU 3279618048,3279671295,UA @@ -136517,8 +139019,8 @@ 3279675392,3279677439,BG 3279677440,3279678463,US 3279678464,3279679487,SG -3279679488,3279680511,UA -3279680512,3279681535,BG +3279679488,3279680511,US +3279680512,3279681535,CZ 3279681536,3279683583,UA 3279683584,3279946751,DE 3279946752,3279947775,BN @@ -136625,7 +139127,11 @@ 3280134144,3280142335,IT 3280142336,3280207871,RU 3280207872,3280273407,FR -3280273408,3280325119,RU +3280273408,3280297983,RU +3280297984,3280306175,ES +3280306176,3280314367,RU +3280314368,3280322559,ES +3280322560,3280325119,RU 3280325120,3280325631,US 3280325632,3280326655,ES 3280326656,3280327167,US @@ -136633,7 +139139,7 @@ 3280327680,3280328703,ES 3280328704,3280329727,RU 3280329728,3280329904,IQ -3280329905,3280329905,DE +3280329905,3280329905,US 3280329906,3280330751,IQ 3280330752,3280338943,RU 3280338944,3280347135,GB @@ -136650,7 +139156,9 @@ 3280391910,3280391910,NL 3280391911,3280394085,GB 3280394086,3280394086,BE -3280394087,3280396287,GB +3280394087,3280394231,GB +3280394232,3280394239,BE +3280394240,3280396287,GB 3280396288,3280404479,US 3280404480,3280416767,FR 3280416768,3280420863,ES @@ -136738,8 +139246,7 @@ 3280642048,3280650239,UA 3280650240,3280650495,RO 3280650496,3280650751,UA -3280650752,3280651007,NL -3280651008,3280651263,GB +3280650752,3280651263,GB 3280651264,3280651519,SI 3280651520,3280651775,FR 3280651776,3280652031,UA @@ -136770,8 +139277,7 @@ 3280662624,3280662655,IT 3280662656,3280662687,AR 3280662688,3280662703,AT -3280662704,3280662783,DE -3280662784,3280663295,CZ +3280662704,3280663295,DE 3280663296,3280663327,AR 3280663328,3280663343,DE 3280663344,3280663391,IT @@ -136782,7 +139288,9 @@ 3280664064,3280664831,DE 3280664832,3280665087,CZ 3280665088,3280666623,DE -3280666624,3280732159,NO +3280666624,3280701439,NO +3280701440,3280701567,GB +3280701568,3280732159,NO 3280732160,3280764927,DE 3280764928,3280765951,PL 3280765952,3280766975,DK @@ -136814,7 +139322,9 @@ 3280794624,3280795647,UA 3280795648,3280796671,MZ 3280796672,3280797695,CZ -3280797696,3280863231,CH +3280797696,3280816127,CH +3280816128,3280817151,DE +3280817152,3280863231,CH 3280863232,3280928767,TR 3280928768,3280934927,GB 3280934928,3280934935,DE @@ -136824,9 +139334,7 @@ 3280935088,3280935095,ES 3280935096,3280935119,GB 3280935120,3280935127,FR -3280935128,3280935935,GB -3280935936,3280936959,DE -3280936960,3280940787,GB +3280935128,3280940787,GB 3280940788,3280940791,DE 3280940792,3280941387,GB 3280941388,3280941395,DE @@ -136838,7 +139346,11 @@ 3280952784,3280952799,DE 3280952800,3280953441,GB 3280953442,3280953442,TR -3280953443,3280955707,GB +3280953443,3280954623,GB +3280954624,3280954831,AE +3280954832,3280954839,GB +3280954840,3280954879,AE +3280954880,3280955707,GB 3280955708,3280955711,DE 3280955712,3280960679,GB 3280960680,3280960683,ES @@ -136846,11 +139358,19 @@ 3280961024,3280961273,ES 3280961274,3280961274,PT 3280961275,3280961279,ES -3280961280,3280985279,GB +3280961280,3280961303,GB +3280961304,3280961311,ES +3280961312,3280964087,GB +3280964088,3280964095,SE +3280964096,3280972143,GB +3280972144,3280972151,NL +3280972152,3280972159,GB +3280972160,3280972167,NL +3280972168,3280985279,GB 3280985280,3280985343,CH -3280985344,3280986111,GB -3280986112,3280994303,DE -3280994304,3280994559,GB +3280985344,3280990207,GB +3280990208,3280992255,DE +3280992256,3280994559,GB 3280994560,3280994815,RU 3280994816,3280995071,NL 3280995072,3280995327,DE @@ -136881,20 +139401,7 @@ 3281002496,3281010687,CH 3281010688,3281018879,BE 3281018880,3281027071,CZ -3281027080,3281027087,GB -3281027136,3281027151,GB -3281027200,3281027215,GB -3281027280,3281027287,GB -3281027304,3281027311,GB -3281027320,3281027327,GB -3281027584,3281027615,GB -3281027632,3281027679,GB -3281027696,3281027743,GB -3281027776,3281027807,GB -3281027840,3281027903,GB -3281028096,3281028159,GB -3281028992,3281029055,GB -3281030400,3281035263,GB +3281027072,3281035263,GB 3281035264,3281043455,CH 3281043456,3281049615,RU 3281049616,3281049622,GI @@ -137072,11 +139579,7 @@ 3282466856,3282466863,IT 3282466864,3282468095,GB 3282468096,3282468351,DE -3282468352,3282468607,GB -3282468608,3282468755,NL -3282468756,3282468759,GB -3282468760,3282468863,NL -3282468864,3282477055,GB +3282468352,3282477055,GB 3282477056,3282485247,RU 3282485248,3282493439,GI 3282501632,3282534399,GR @@ -137087,7 +139590,7 @@ 3282550784,3282554879,FR 3282554880,3282558975,DE 3282558976,3282563071,FR -3282563072,3282567167,GB +3282563072,3282567167,HK 3282567168,3282622871,SK 3282622872,3282622879,AT 3282622880,3282632703,SK @@ -137269,8 +139772,7 @@ 3283496192,3283496447,DE 3283496448,3283496703,HR 3283496704,3283496959,LV -3283496960,3283497215,DE -3283497216,3283497471,PL +3283496960,3283497471,PL 3283497472,3283497727,DE 3283497728,3283498239,PL 3283498240,3283498495,CH @@ -137286,6 +139788,7 @@ 3283500800,3283501055,UA 3283501056,3283509247,LT 3283509248,3283513343,DE +3283513344,3283515391,GB 3283515392,3283517439,DE 3283517440,3283525631,RU 3283525632,3283533823,GB @@ -137307,7 +139810,6 @@ 3283563520,3283564543,GB 3283568640,3283569663,GB 3283576832,3283579903,DE -3283586304,3283586559,ES 3283593216,3283595263,IT 3283615744,3283623935,HU 3283623936,3283632127,DK @@ -137449,24 +139951,36 @@ 3284016384,3284016639,CH 3284016640,3284017151,DK 3284017152,3284025343,GR -3284025344,3284030471,US +3284025344,3284025439,US +3284025440,3284025471,DE +3284025472,3284027391,US +3284027392,3284028139,GB +3284028140,3284028143,US +3284028144,3284028287,GB +3284028288,3284028319,US +3284028320,3284029183,GB +3284029184,3284029199,US +3284029200,3284029295,GB +3284029296,3284029311,US +3284029312,3284030471,GB 3284030472,3284030479,IL 3284030480,3284030495,FR -3284030496,3284030527,US +3284030496,3284030527,GB 3284030528,3284030535,DE -3284030536,3284030575,US +3284030536,3284030575,GB 3284030576,3284030583,DE -3284030584,3284030615,US +3284030584,3284030615,GB 3284030616,3284030623,SE -3284030624,3284030775,US +3284030624,3284030775,GB 3284030776,3284030783,SE -3284030784,3284030799,US +3284030784,3284030799,GB 3284030800,3284030815,SE -3284030816,3284030975,US +3284030816,3284030975,GB 3284030976,3284030991,BE 3284030992,3284031007,FR -3284031008,3284031487,BE -3284031488,3284033535,US +3284031008,3284031231,BE +3284031232,3284031487,FR +3284031488,3284033535,GB 3284033536,3284041727,RU 3284041728,3284041983,DK 3284041984,3284042239,SI @@ -137844,7 +140358,7 @@ 3285453440,3285453567,GB 3285453644,3285453647,GB 3285453664,3285453695,GB -3285454080,3285454335,GB +3285453824,3285454847,GB 3285455668,3285455671,DE 3285457080,3285457083,GB 3285458176,3285458431,GB @@ -137865,6 +140379,7 @@ 3285477136,3285477151,IT 3285479396,3285479399,FR 3285485568,3285485571,SK +3285487360,3285487391,GB 3285487396,3285487399,GB 3285487440,3285487443,GB 3285488576,3285488639,CY @@ -137900,8 +140415,7 @@ 3285637120,3285638143,DE 3285638144,3285639167,UA 3285639168,3285641215,FR -3285641216,3285641471,RU -3285641472,3285641983,CH +3285641216,3285641983,CH 3285641984,3285642239,RU 3285642240,3285643263,UA 3285643264,3285645311,FR @@ -137911,9 +140425,17 @@ 3285721088,3285729279,SE 3285729280,3285737471,CH 3285737472,3285745663,PL +3285745664,3285746687,TR +3285746688,3285747711,RU +3285747712,3285748735,ES +3285748736,3285749759,FR +3285749760,3285750783,DE +3285750784,3285751807,US +3285751808,3285752831,RU +3285752832,3285753855,MD 3285753856,3285762047,US 3285762048,3285762559,FR -3285762560,3285763071,US +3285762560,3285763071,RU 3285763072,3285763583,GB 3285763584,3285764095,DE 3285764096,3285764607,RU @@ -137966,17 +140488,15 @@ 3285913704,3285913711,FI 3285913712,3285913999,GB 3285914000,3285914007,IE -3285914008,3285915903,GB +3285914008,3285915647,GB 3285915904,3285916159,AT -3285916160,3285916415,GB 3285916416,3285916671,YE -3285916672,3285917703,GB +3285917696,3285917703,GB 3285917712,3285917807,GB 3285917884,3285917887,GB 3285917952,3285918463,GB 3285919744,3285921791,QA 3285924352,3285924415,ES -3285924864,3285924911,DE 3285924912,3285924919,CH 3285924920,3285924927,FI 3285924928,3285924943,DE @@ -137994,11 +140514,9 @@ 3285925064,3285925071,RU 3285925072,3285925079,PL 3285925080,3285925087,IT -3285925088,3285925115,DE +3285925088,3285925103,DE 3285925116,3285925117,DK -3285925118,3285925163,DE 3285925164,3285925171,CH -3285925172,3285925887,DE 3285926432,3285926463,CH 3285926592,3285926623,DE 3285928304,3285928311,GB @@ -138010,6 +140528,9 @@ 3285931560,3285931567,HU 3285931568,3285931599,DE 3285931608,3285931615,DE +3285934080,3285934847,ES +3285934848,3285935103,GB +3285935104,3285935871,ES 3285935872,3285936127,GB 3285936136,3285936147,FR 3285936152,3285936231,FR @@ -138125,11 +140646,15 @@ 3286368256,3286376447,CH 3286376448,3286384639,GB 3286384640,3286401023,DE -3286401024,3286403071,GB -3286403072,3286403199,JE -3286403200,3286403327,GG -3286403328,3286404095,JE -3286404096,3286408703,GG +3286401024,3286402047,GG +3286402048,3286403071,GB +3286403072,3286403135,GG +3286403136,3286403199,JE +3286403200,3286405119,GG +3286405120,3286406143,JE +3286406144,3286406655,GB +3286406656,3286407167,JE +3286407168,3286408703,GG 3286408704,3286408959,GB 3286408960,3286409215,GG 3286409216,3286417407,DE @@ -138174,7 +140699,9 @@ 3286514688,3286552575,HU 3286552576,3286553087,BG 3286553088,3286564863,HU -3286564864,3286630399,AE +3286564864,3286566655,AE +3286566656,3286566911,KW +3286566912,3286630399,AE 3286630400,3286638591,BG 3286638592,3286646783,AT 3286646784,3286654975,RU @@ -138241,8 +140768,10 @@ 3286791680,3286791935,AT 3286791936,3286794239,GB 3286794240,3286798335,DE -3286798336,3286802431,IT -3286802432,3286892543,DE +3286798336,3286799359,IT +3286799360,3286888447,DE +3286888448,3286889471,IE +3286889472,3286892543,DE 3286892544,3286893055,LI 3286893056,3286893567,RU 3286893568,3286894591,UA @@ -138532,7 +141061,7 @@ 3287605248,3287630335,DE 3287630336,3287631359,PL 3287631360,3287631871,IR -3287632384,3287632895,SE +3287632384,3287632895,US 3287632896,3287633407,RU 3287633408,3287633919,SK 3287633920,3287634431,UA @@ -138645,7 +141174,7 @@ 3287740928,3287741439,RO 3287741440,3287741951,CH 3287742976,3287743487,RO -3287743488,3287743999,DE +3287743488,3287743999,LV 3287744512,3287810047,DE 3287810048,3287818239,FR 3287818240,3287826431,AT @@ -138682,13 +141211,9 @@ 3287834624,3287842815,GB 3287842816,3287851007,DE 3287851008,3287859199,UA -3287859200,3287859711,GB -3287859968,3287860479,GB -3287861248,3287862015,GB -3287863808,3287864063,GB -3287866384,3287866439,GB -3287866496,3287866591,GB -3287866608,3287866623,GB +3287859200,3287859455,GB +3287859456,3287859711,FK +3287859712,3287867391,GB 3287867392,3287867903,UA 3287867904,3287868415,PL 3287868416,3287868927,RO @@ -138706,8 +141231,7 @@ 3287875584,3287941119,DK 3287941120,3287945215,IT 3287945216,3287949311,GB -3287949312,3287949567,AT -3287949568,3287949823,IL +3287949312,3287949823,IL 3287949824,3287950079,IT 3287950080,3287950335,DE 3287950336,3287950591,UA @@ -138825,7 +141349,8 @@ 3288440832,3288441087,BB 3288441088,3288441343,VC 3288441344,3288442879,BB -3288442880,3288443391,KN +3288442880,3288443135,KN +3288443136,3288443391,BB 3288443392,3288443647,VC 3288443648,3288444927,BB 3288444928,3288449023,NG @@ -138835,7 +141360,9 @@ 3288466432,3288467455,SY 3288467456,3288469503,BI 3288469504,3288481791,ZA -3288481792,3288485887,ZW +3288481792,3288482303,ZW +3288482304,3288485631,ZA +3288485632,3288485887,ZW 3288485888,3288489983,MA 3288489984,3288514559,ZA 3288514560,3288522751,EG @@ -138844,9 +141371,10 @@ 3288532992,3288534527,PR 3288534528,3288535039,EG 3288535040,3288539135,CW -3288539136,3288543231,BR -3288543232,3288543487,SG -3288543488,3288543986,US +3288539136,3288541183,BR +3288541184,3288543743,US +3288543744,3288543983,CH +3288543984,3288543986,US 3288543987,3288543987,CH 3288543988,3288544767,US 3288544768,3288545023,MX @@ -138987,13 +141515,13 @@ 3289124864,3289128959,ZA 3289128960,3289137151,IN 3289137152,3289153535,BM -3289153536,3289155839,MU -3289155840,3289156351,RW -3289156352,3289156607,MU -3289156608,3289158655,RW +3289153536,3289155583,MU +3289155584,3289158655,RW 3289158656,3289159167,MU 3289159168,3289159423,RW -3289159424,3289161727,MU +3289159424,3289159679,MU +3289159680,3289160703,RW +3289160704,3289161727,MU 3289161728,3289169919,PR 3289169920,3289186303,MA 3289186304,3289186559,NG @@ -139068,7 +141596,8 @@ 3289410560,3289411583,US 3289411584,3289412607,NL 3289412608,3289413631,US -3289413632,3289414655,GB +3289413632,3289414143,GB +3289414144,3289414655,RU 3289414656,3289422847,US 3289422848,3289423871,NL 3289423872,3289430015,US @@ -139137,7 +141666,10 @@ 3289507072,3289507327,KR 3289507328,3289507583,BG 3289507584,3289507839,ID -3289507840,3289517055,US +3289507840,3289513983,US +3289513984,3289515007,DE +3289515008,3289516031,US +3289516032,3289517055,JP 3289517056,3289518079,DE 3289518080,3289540607,US 3289540608,3289541119,ES @@ -139181,7 +141713,9 @@ 3289582592,3289606143,US 3289606144,3289606655,AT 3289606656,3289607167,HK -3289607168,3289630719,US +3289607168,3289610239,US +3289610240,3289611263,DE +3289611264,3289630719,US 3289630720,3289630975,GB 3289630976,3289631743,SC 3289631744,3289634815,US @@ -139239,9 +141773,7 @@ 3290172160,3290172415,KE 3290172416,3290181631,ZA 3290181632,3290181887,US -3290181888,3290182143,PR -3290182144,3290182399,US -3290182400,3290185105,PR +3290181888,3290185105,PR 3290185106,3290185106,US 3290185107,3290185107,PR 3290185108,3290185108,US @@ -139282,7 +141814,9 @@ 3290492928,3290494975,TZ 3290494976,3290718975,ZA 3290718976,3290719231,SZ -3290719232,3290955775,ZA +3290719232,3290801905,ZA +3290801906,3290801906,GB +3290801907,3290955775,ZA 3290955776,3290980351,CR 3290980352,3290984447,ZA 3290984448,3290988543,MZ @@ -139451,8 +141985,8 @@ 3291433984,3291435263,ZA 3291435264,3291435519,NA 3291435520,3291435775,ZA -3291435776,3291437311,NA -3291437312,3291437567,ZA +3291435776,3291437055,NA +3291437056,3291437567,ZA 3291437568,3291438847,NA 3291438848,3291439103,ZA 3291439104,3291447295,NG @@ -139497,6 +142031,8 @@ 3291559936,3291560191,CG 3291560448,3291560703,SO 3291560960,3291561215,CG +3291561472,3291561727,NG +3291561984,3291562239,GN 3291611136,3291611647,ZA 3291611648,3291611903,MU 3291611904,3291612159,ZA @@ -139690,28 +142226,28 @@ 3292010752,3292011007,SC 3292011008,3292011519,US 3292011520,3292011775,SC -3292011776,3292012543,US +3292011776,3292012031,US +3292012032,3292012287,SC +3292012288,3292012543,US 3292012544,3292012799,SC 3292012800,3292013055,US 3292013056,3292013311,SC 3292013312,3292013567,US -3292013568,3292014079,SC -3292014080,3292014335,US -3292014336,3292014591,SC -3292014592,3292014847,US -3292014848,3292015103,SC -3292015104,3292016127,US +3292013568,3292015103,SC +3292015104,3292015615,US +3292015616,3292015871,SC +3292015872,3292016127,US 3292016128,3292016383,SC -3292016384,3292016895,US -3292016896,3292017919,SC -3292017920,3292018431,US -3292018432,3292018687,SC -3292018688,3292019199,US +3292016384,3292016639,US +3292016640,3292016895,SC +3292016896,3292017151,US +3292017152,3292018175,SC +3292018176,3292019199,US 3292019200,3292019455,SC 3292019456,3292019711,US 3292019712,3292019967,SC -3292019968,3292020479,US -3292020480,3292020735,SC +3292019968,3292020223,US +3292020224,3292020735,SC 3292020736,3292020991,US 3292020992,3292021247,SC 3292021248,3292021503,US @@ -139721,8 +142257,8 @@ 3292023552,3292024575,US 3292024576,3292025599,SC 3292025600,3292027135,US -3292027136,3292027903,SC -3292027904,3292028415,US +3292027136,3292028159,SC +3292028160,3292028415,US 3292028416,3292028671,SC 3292028672,3292029951,US 3292029952,3292030719,SC @@ -139737,7 +142273,9 @@ 3292035584,3292035839,US 3292035840,3292036095,SC 3292036096,3292038143,US -3292038144,3292038911,SC +3292038144,3292038399,SC +3292038400,3292038655,US +3292038656,3292038911,SC 3292038912,3292039935,US 3292039936,3292040447,SC 3292040448,3292040959,US @@ -139753,8 +142291,8 @@ 3292046592,3292047615,US 3292047616,3292047871,SC 3292047872,3292048383,US -3292048384,3292049151,SC -3292049152,3292049663,US +3292048384,3292049407,SC +3292049408,3292049663,US 3292049664,3292049919,SC 3292049920,3292050175,US 3292050176,3292050431,SC @@ -139778,8 +142316,8 @@ 3292057600,3292057855,SC 3292057856,3292059391,US 3292059392,3292059647,SC -3292059648,3292060671,US -3292060672,3292061183,SC +3292059648,3292060927,US +3292060928,3292061183,SC 3292061184,3292062719,US 3292062720,3292063231,SC 3292063232,3292063487,US @@ -139800,9 +142338,9 @@ 3292070144,3292070399,DK 3292070400,3292070911,US 3292070912,3292071167,SC -3292071168,3292071679,US -3292071680,3292072447,SC -3292072448,3292072959,US +3292071168,3292071935,US +3292071936,3292072191,SC +3292072192,3292072959,US 3292072960,3292073471,SC 3292073472,3292073727,US 3292073728,3292073983,SC @@ -139810,14 +142348,14 @@ 3292074752,3292075007,SC 3292075008,3292075263,US 3292075264,3292075775,SC -3292075776,3292076031,US -3292076032,3292077567,SC -3292077568,3292077823,US -3292077824,3292079615,SC +3292075776,3292076287,US +3292076288,3292078079,SC +3292078080,3292078335,US +3292078336,3292079615,SC 3292079616,3292080127,US 3292080128,3292080383,SC -3292080384,3292081663,US -3292081664,3292082175,SC +3292080384,3292081407,US +3292081408,3292082175,SC 3292082176,3292082431,US 3292082432,3292082687,SC 3292082688,3292082943,US @@ -139829,8 +142367,8 @@ 3292084992,3292085247,US 3292085248,3292085503,SC 3292085504,3292085759,US -3292085760,3292086015,SC -3292086016,3292088063,US +3292085760,3292086527,SC +3292086528,3292088063,US 3292088064,3292088319,SC 3292088320,3292088575,US 3292088576,3292088831,SC @@ -139858,11 +142396,13 @@ 3292097024,3292097535,SC 3292097536,3292098047,US 3292098048,3292098303,SC -3292098304,3292099327,US +3292098304,3292098815,US +3292098816,3292099071,SC +3292099072,3292099327,US 3292099328,3292099839,SC 3292099840,3292100095,US -3292100096,3292100863,SC -3292100864,3292101631,US +3292100096,3292101119,SC +3292101120,3292101631,US 3292101632,3292102655,SC 3292102656,3292102911,US 3292102912,3292103167,SC @@ -139876,9 +142416,7 @@ 3292104960,3292105215,SC 3292105216,3292105471,US 3292105472,3292105727,SC -3292105728,3292105983,US -3292105984,3292106239,SC -3292106240,3292106751,US +3292105728,3292106751,US 3292106752,3292107263,SC 3292107264,3292107519,US 3292107520,3292108799,SC @@ -139888,7 +142426,9 @@ 3292109568,3292109823,SC 3292109824,3292110079,US 3292110080,3292110591,SC -3292110592,3292111359,US +3292110592,3292110847,US +3292110848,3292111103,SC +3292111104,3292111359,US 3292111360,3292111615,SC 3292111616,3292112639,US 3292112640,3292113151,SC @@ -139903,8 +142443,10 @@ 3292116480,3292116735,US 3292116736,3292116991,SC 3292116992,3292117759,US -3292117760,3292118015,SC -3292118016,3292119039,US +3292117760,3292118271,SC +3292118272,3292118527,US +3292118528,3292118783,SC +3292118784,3292119039,US 3292119040,3292119295,SC 3292119296,3292119551,US 3292119552,3292120063,SC @@ -139912,21 +142454,23 @@ 3292120320,3292121087,SC 3292121088,3292121343,US 3292121344,3292122111,SC -3292122112,3292124159,US +3292122112,3292122367,US +3292122368,3292122623,SC +3292122624,3292123647,US +3292123648,3292123903,SC +3292123904,3292124159,US 3292124160,3292124415,SC -3292124416,3292124927,US -3292124928,3292125183,SC -3292125184,3292125439,US -3292125440,3292126207,SC +3292124416,3292125183,US +3292125184,3292126207,SC 3292126208,3292126463,US 3292126464,3292127487,SC 3292127488,3292128767,US 3292128768,3292129279,SC 3292129280,3292129535,US -3292129536,3292130559,SC -3292130560,3292130815,US -3292130816,3292131071,SC -3292131072,3292131583,US +3292129536,3292130303,SC +3292130304,3292130815,US +3292130816,3292131327,SC +3292131328,3292131583,US 3292131584,3292132095,SC 3292132096,3292132607,US 3292132608,3292132863,SC @@ -139939,8 +142483,8 @@ 3292135680,3292135935,DK 3292135936,3292136447,SC 3292136448,3292136703,CZ -3292136704,3292136959,SC -3292136960,3292137727,US +3292136704,3292137215,SC +3292137216,3292137727,US 3292137728,3292138239,SC 3292138240,3292138495,US 3292138496,3292138751,SC @@ -139949,8 +142493,8 @@ 3292139776,3292140031,US 3292140032,3292140543,SC 3292140544,3292140799,US -3292140800,3292141055,SC -3292141056,3292141823,US +3292140800,3292141311,SC +3292141312,3292141823,US 3292141824,3292143359,SC 3292143360,3292143615,US 3292143616,3292144127,SC @@ -139965,9 +142509,7 @@ 3292147456,3292147967,US 3292147968,3292148479,SC 3292148480,3292148735,US -3292148736,3292149247,SC -3292149248,3292149503,US -3292149504,3292149759,SC +3292148736,3292149759,SC 3292149760,3292150015,US 3292150016,3292151039,SC 3292151040,3292151807,US @@ -139978,47 +142520,51 @@ 3292153600,3292153855,SC 3292153856,3292154111,US 3292154112,3292154623,SC -3292154624,3292157183,US +3292154624,3292155647,US +3292155648,3292155903,SC +3292155904,3292156159,US +3292156160,3292156415,SC +3292156416,3292157183,US 3292157184,3292157439,SC 3292157440,3292158207,US 3292158208,3292158463,SC 3292158464,3292158719,US 3292158720,3292158975,SC -3292158976,3292159743,US -3292159744,3292160511,SC +3292158976,3292159487,US +3292159488,3292159999,SC +3292160000,3292160255,US +3292160256,3292160511,SC 3292160512,3292160767,US -3292160768,3292161023,SC -3292161024,3292161535,US +3292160768,3292161279,SC +3292161280,3292161535,US 3292161536,3292162303,SC 3292162304,3292162815,US 3292162816,3292163071,SC 3292163072,3292163327,US 3292163328,3292163583,SC -3292163584,3292165119,US -3292165120,3292165375,SC -3292165376,3292165887,US -3292165888,3292166143,SC -3292166144,3292166911,US +3292163584,3292164095,US +3292164096,3292164351,SC +3292164352,3292165119,US +3292165120,3292165631,SC +3292165632,3292165887,US +3292165888,3292166399,SC +3292166400,3292166911,US 3292166912,3292167679,SC 3292167680,3292167935,US -3292167936,3292168191,SC -3292168192,3292168703,US -3292168704,3292170239,SC +3292167936,3292168447,SC +3292168448,3292168959,US +3292168960,3292170239,SC 3292170240,3292171263,US -3292171264,3292171519,SC -3292171520,3292171775,US -3292171776,3292172031,SC +3292171264,3292172031,SC 3292172032,3292172799,US -3292172800,3292174079,SC +3292172800,3292173567,SC +3292173568,3292173823,US +3292173824,3292174079,SC 3292174080,3292174335,US -3292174336,3292174591,SC -3292174592,3292174847,US -3292174848,3292175359,SC +3292174336,3292175359,SC 3292175360,3292175615,US 3292175616,3292175871,SC -3292175872,3292176383,US -3292176384,3292176639,SC -3292176640,3292177151,US +3292175872,3292177151,US 3292177152,3292177407,SC 3292177408,3292178431,US 3292178432,3292180223,SC @@ -140028,15 +142574,17 @@ 3292180992,3292181759,SC 3292181760,3292182271,US 3292182272,3292182527,SC -3292182528,3292183295,US +3292182528,3292182783,US +3292182784,3292183039,SC +3292183040,3292183295,US 3292183296,3292183551,SC 3292183552,3292183807,US 3292183808,3292184063,SC 3292184064,3292184575,US 3292184576,3292184831,SC 3292184832,3292185599,US -3292185600,3292186111,SC -3292186112,3292186367,US +3292185600,3292185855,SC +3292185856,3292186367,US 3292186368,3292186879,SC 3292186880,3292187135,US 3292187136,3292187903,SC @@ -140052,11 +142600,9 @@ 3292192256,3292192511,SC 3292192512,3292192767,US 3292192768,3292193023,SC -3292193024,3292193791,US -3292193792,3292194047,SC -3292194048,3292194303,US -3292194304,3292194559,SC -3292194560,3292195327,US +3292193024,3292194303,US +3292194304,3292194815,SC +3292194816,3292195327,US 3292195328,3292195583,SC 3292195584,3292195839,US 3292195840,3292196607,SC @@ -140065,7 +142611,9 @@ 3292197632,3292197887,US 3292197888,3292198143,SC 3292198144,3292198399,US -3292198400,3292199423,SC +3292198400,3292198655,SC +3292198656,3292198911,US +3292198912,3292199423,SC 3292199424,3292199679,US 3292199680,3292200191,SC 3292200192,3292200447,US @@ -140078,9 +142626,7 @@ 3292202752,3292203007,US 3292203008,3292203519,SC 3292203520,3292204031,US -3292204032,3292204287,SC -3292204288,3292204543,US -3292204544,3292205055,SC +3292204032,3292205055,SC 3292205056,3292205311,US 3292205312,3292205823,SC 3292205824,3292206335,US @@ -140088,8 +142634,8 @@ 3292207104,3292208383,US 3292208384,3292208639,SC 3292208640,3292209151,US -3292209152,3292209407,SC -3292209408,3292210175,US +3292209152,3292209663,SC +3292209664,3292210175,US 3292210176,3292210943,SC 3292210944,3292211455,US 3292211456,3292211711,SC @@ -140099,12 +142645,12 @@ 3292212480,3292212991,SC 3292212992,3292213759,US 3292213760,3292214015,SC -3292214016,3292215295,US -3292215296,3292215807,SC +3292214016,3292215039,US +3292215040,3292215807,SC 3292215808,3292216319,US 3292216320,3292217343,SC -3292217344,3292217855,US -3292217856,3292219135,SC +3292217344,3292218111,US +3292218112,3292219135,SC 3292219136,3292219391,US 3292219392,3292219903,SC 3292219904,3292220159,US @@ -140114,21 +142660,17 @@ 3292220928,3292221183,US 3292221184,3292221439,SC 3292221440,3292221695,US -3292221696,3292222207,SC -3292222208,3292223231,US +3292221696,3292222975,SC +3292222976,3292223231,US 3292223232,3292223487,SC -3292223488,3292223743,US -3292223744,3292223999,SC -3292224000,3292225023,US +3292223488,3292225023,US 3292225024,3292225535,SC 3292225536,3292226303,US 3292226304,3292226559,SC 3292226560,3292226815,US 3292226816,3292227071,SC 3292227072,3292227839,US -3292227840,3292228607,SC -3292228608,3292228863,US -3292228864,3292229631,SC +3292227840,3292229631,SC 3292229632,3292229887,US 3292229888,3292230143,SC 3292230144,3292231935,US @@ -140138,16 +142680,18 @@ 3292232704,3292232959,US 3292232960,3292233215,SC 3292233216,3292233471,US -3292233472,3292234239,SC -3292234240,3292234495,US +3292233472,3292233983,SC +3292233984,3292234495,US 3292234496,3292234751,SC 3292234752,3292235007,US 3292235008,3292235519,SC 3292235520,3292235775,US -3292235776,3292236543,SC -3292236544,3292237055,US +3292235776,3292236799,SC +3292236800,3292237055,US 3292237056,3292237823,SC -3292237824,3292238591,US +3292237824,3292238079,US +3292238080,3292238335,SC +3292238336,3292238591,US 3292238592,3292238847,SC 3292238848,3292239103,US 3292239104,3292239871,SC @@ -140155,18 +142699,20 @@ 3292240640,3292240895,SC 3292240896,3292241151,US 3292241152,3292241407,SC -3292241408,3292242175,US -3292242176,3292242431,SC -3292242432,3292242687,US +3292241408,3292242687,US 3292242688,3292242943,SC 3292242944,3292243199,US 3292243200,3292244223,SC -3292244224,3292244991,US +3292244224,3292244479,US +3292244480,3292244735,SC +3292244736,3292244991,US 3292244992,3292245247,SC 3292245248,3292245503,US 3292245504,3292245759,SC 3292245760,3292247295,US -3292247296,3292248319,SC +3292247296,3292247807,SC +3292247808,3292248063,US +3292248064,3292248319,SC 3292248320,3292248575,US 3292248576,3292249855,SC 3292249856,3292250367,US @@ -140176,25 +142722,17 @@ 3292251392,3292251903,US 3292251904,3292252159,SC 3292252160,3292252415,US -3292252416,3292252671,SC -3292252672,3292253439,US -3292253440,3292253695,SC -3292253696,3292254207,US -3292254208,3292255743,SC -3292255744,3292255999,US -3292256000,3292256255,SC +3292252416,3292252927,SC +3292252928,3292254207,US +3292254208,3292256255,SC 3292256256,3292256511,US 3292256512,3292256767,SC -3292256768,3292257535,US -3292257536,3292258303,SC -3292258304,3292258559,US -3292258560,3292258815,SC -3292258816,3292259327,US +3292256768,3292257791,US +3292257792,3292258303,SC +3292258304,3292259327,US 3292259328,3292259583,SC 3292259584,3292260607,US -3292260608,3292261375,SC -3292261376,3292261631,US -3292261632,3292261887,SC +3292260608,3292261887,SC 3292261888,3292262399,US 3292262400,3292262911,SC 3292262912,3292263167,US @@ -140206,7 +142744,9 @@ 3292264704,3292264959,US 3292264960,3292265215,SC 3292265216,3292265727,US -3292265728,3292266495,SC +3292265728,3292265983,SC +3292265984,3292266239,DE +3292266240,3292266495,SC 3292266496,3292266751,TZ 3292267008,3292267263,KE 3292267520,3292267775,BW @@ -140222,6 +142762,10 @@ 3292278784,3292280063,TZ 3292280320,3292280575,SO 3292280832,3292281087,CG +3292281344,3292281599,NG +3292282112,3292282367,GN +3292283392,3292283647,KE +3292332032,3292334079,TN 3292334080,3292336127,TZ 3292336128,3292340223,ZA 3292340224,3292344319,GH @@ -140237,8 +142781,7 @@ 3292389376,3292391423,ZA 3292391424,3292393471,MA 3292393472,3292397567,ZA -3292397568,3292463103,PK -3292463104,3292528639,ZA +3292397568,3292528639,PK 3292528640,3294625791,MA 3294625792,3295674367,KE 3295674368,3296722943,MA @@ -140278,9 +142821,15 @@ 3301174272,3301175295,UG 3301175296,3301176831,AF 3301176832,3301177087,DE -3301177088,3301179137,AF +3301177088,3301178111,AF +3301178112,3301178367,DE +3301178368,3301178897,AF +3301178898,3301178898,DE +3301178899,3301179137,AF 3301179138,3301179138,DE -3301179139,3301179391,AF +3301179139,3301179139,AF +3301179140,3301179140,DE +3301179141,3301179391,AF 3301179392,3301179903,RU 3301179904,3301181439,SC 3301181440,3301185535,US @@ -140312,9 +142861,7 @@ 3301238784,3301240831,US 3301240832,3301242879,SE 3301242880,3301244927,GB -3301244928,3301246975,US -3301246976,3301247999,SC -3301248000,3301274623,US +3301244928,3301274623,US 3301274624,3301275647,SC 3301275648,3301285887,US 3301285888,3301286911,SC @@ -140360,8 +142907,8 @@ 3301316352,3301316607,SC 3301316608,3301316863,US 3301316864,3301317375,SC -3301317376,3301318143,US -3301318144,3301318655,SC +3301317376,3301318399,US +3301318400,3301318655,SC 3301318656,3301318911,US 3301318912,3301319679,SC 3301319680,3301319935,US @@ -140382,7 +142929,8 @@ 3301325312,3301325823,US 3301325824,3301329151,SC 3301329152,3301329407,DK -3301329408,3301330687,SC +3301329408,3301329663,CZ +3301329664,3301330687,SC 3301330688,3301330943,HK 3301330944,3301331199,HU 3301331200,3301331455,LU @@ -140397,17 +142945,15 @@ 3301334016,3301334527,SC 3301334528,3301335295,US 3301335296,3301337087,SC -3301337088,3301337599,US -3301337600,3301337855,SC -3301337856,3301338111,US +3301337088,3301338111,US 3301338112,3301339647,SC 3301339648,3301339903,US 3301339904,3301340159,SC 3301340160,3301340415,US 3301340416,3301340671,SC 3301340672,3301341439,US -3301341440,3301342207,SC -3301342208,3301342463,US +3301341440,3301341951,SC +3301341952,3301342463,US 3301342464,3301342975,SC 3301342976,3301343743,US 3301343744,3301344255,SC @@ -140426,18 +142972,20 @@ 3301349120,3301349375,CH 3301349376,3301349631,SC 3301349632,3301349887,GB -3301349888,3301351423,SC +3301349888,3301350143,SC +3301350144,3301350399,US +3301350400,3301351423,SC 3301351424,3301351935,US 3301351936,3301352703,SC 3301352704,3301352959,US 3301352960,3301353471,SC 3301353472,3301354239,US -3301354240,3301355263,SC +3301354240,3301354751,SC +3301354752,3301355007,US +3301355008,3301355263,SC 3301355264,3301355519,US -3301355520,3301356799,SC -3301356800,3301357055,US -3301357056,3301357311,SC -3301357312,3301357567,US +3301355520,3301356543,SC +3301356544,3301357567,US 3301357568,3301357823,SC 3301357824,3301358335,US 3301358336,3301359359,SC @@ -140460,7 +143008,9 @@ 3301365248,3301365503,ES 3301365504,3301365759,CH 3301365760,3301366015,NL -3301366016,3301367551,SC +3301366016,3301366783,SC +3301366784,3301367039,US +3301367040,3301367551,SC 3301367552,3301367807,US 3301367808,3301368319,SC 3301368320,3301368831,US @@ -140480,7 +143030,9 @@ 3301379584,3301380095,US 3301380096,3301380351,CA 3301380352,3301380607,SC -3301380608,3301382655,US +3301380608,3301381375,US +3301381376,3301381631,SC +3301381632,3301382655,US 3301382656,3301382911,SC 3301382912,3301383423,US 3301383424,3301383679,SC @@ -140497,22 +143049,25 @@ 3301387520,3301387775,PL 3301387776,3301388287,SC 3301388288,3301388543,LU -3301388544,3301389567,SC +3301388544,3301389311,SC +3301389312,3301389567,AT 3301389568,3301389823,BE 3301389824,3301390079,LV 3301390080,3301390335,SC 3301390336,3301390591,US 3301390592,3301390847,DE -3301390848,3301391359,US +3301390848,3301391103,US +3301391104,3301391359,SC 3301391360,3301391615,IN 3301391616,3301391871,RU -3301391872,3301392127,US -3301392128,3301392383,SC +3301391872,3301392383,SC 3301392384,3301392895,US 3301392896,3301393151,SC 3301393152,3301393407,US 3301393408,3301393663,SC -3301393664,3301394687,US +3301393664,3301394175,US +3301394176,3301394431,SC +3301394432,3301394687,US 3301394688,3301395199,SC 3301395200,3301396223,US 3301396224,3301396479,SC @@ -140523,8 +143078,8 @@ 3301399552,3301399807,US 3301399808,3301400063,SC 3301400064,3301400319,US -3301400320,3301400575,SC -3301400576,3301401343,US +3301400320,3301400831,SC +3301400832,3301401343,US 3301401344,3301401599,SC 3301401600,3301402623,US 3301402624,3301402879,GB @@ -140553,16 +143108,13 @@ 3301410560,3301410815,SC 3301410816,3301411071,US 3301411072,3301411583,SC -3301411584,3301411839,US -3301411840,3301412095,SC -3301412096,3301412607,US +3301411584,3301412095,US +3301412096,3301412351,SC +3301412352,3301412607,US 3301412608,3301412863,SC 3301412864,3301413119,CA -3301413120,3301413375,SC -3301413376,3301414143,US -3301414144,3301414399,SC -3301414400,3301414655,US -3301414656,3301414911,SC +3301413120,3301414399,US +3301414400,3301414911,SC 3301414912,3301416191,US 3301416192,3301416447,SC 3301416448,3301417471,US @@ -140584,13 +143136,14 @@ 3301423104,3301423359,US 3301423360,3301423615,SC 3301423616,3301423871,FR -3301423872,3301424383,SC +3301423872,3301424127,SC +3301424128,3301424383,IN 3301424384,3301424639,RU -3301424640,3301425151,SC -3301425152,3301425663,US +3301424640,3301425407,SC +3301425408,3301425663,US 3301425664,3301425919,SC -3301425920,3301426431,US -3301426432,3301427199,SC +3301425920,3301426175,US +3301426176,3301427199,SC 3301427200,3301428479,US 3301428480,3301428991,SC 3301428992,3301429503,US @@ -140598,12 +143151,12 @@ 3301430016,3301430271,US 3301430272,3301430783,SC 3301430784,3301431295,US -3301431296,3301432063,SC -3301432064,3301432319,US -3301432320,3301432575,SC +3301431296,3301432575,SC 3301432576,3301433087,US 3301433088,3301433343,SC -3301433344,3301435391,US +3301433344,3301433599,US +3301433600,3301433855,SC +3301433856,3301435391,US 3301435392,3301435647,SC 3301435648,3301435903,NL 3301435904,3301436159,SC @@ -140619,9 +143172,7 @@ 3301438720,3301439487,US 3301439488,3301439743,DK 3301439744,3301439999,SC -3301440000,3301440767,US -3301440768,3301441023,SC -3301441024,3301441279,US +3301440000,3301441279,US 3301441280,3301441535,SC 3301441536,3301445631,ZA 3301445632,3301453823,KE @@ -140820,11 +143371,13 @@ 3304066816,3304067071,US 3304067072,3304067327,CA 3304067328,3304067583,US -3304067584,3304071167,SC +3304067584,3304070399,SC +3304070400,3304070655,US +3304070656,3304071167,SC 3304071168,3304071423,US 3304071424,3304071679,SC -3304071680,3304071935,US -3304071936,3304072447,SC +3304071680,3304072191,US +3304072192,3304072447,SC 3304072448,3304072703,US 3304072704,3304072959,SC 3304072960,3304073215,US @@ -140833,7 +143386,8 @@ 3304073728,3304073983,SC 3304073984,3304074239,ES 3304074240,3304074495,PT -3304074496,3304075519,SC +3304074496,3304075263,SC +3304075264,3304075519,LU 3304075520,3304075775,HU 3304075776,3304076031,HK 3304076032,3304076287,AU @@ -140876,7 +143430,7 @@ 3304091136,3304091391,NO 3304091392,3304091647,NZ 3304091648,3304091903,LU -3304091904,3304092159,SC +3304091904,3304092159,HU 3304092160,3304092415,HK 3304092416,3304092671,SC 3304092672,3304092927,AT @@ -140886,14 +143440,15 @@ 3304093952,3304094207,DE 3304094208,3304094975,SC 3304094976,3304095231,RU -3304095232,3304096255,SC +3304095232,3304095487,SG +3304095488,3304096255,SC 3304096256,3304096511,US 3304096512,3304097023,SC 3304097024,3304097279,US -3304097280,3304098047,SC -3304098048,3304098303,US -3304098304,3304098815,SC -3304098816,3304099071,US +3304097280,3304097791,SC +3304097792,3304098303,US +3304098304,3304098559,SC +3304098560,3304099071,US 3304099072,3304099327,SC 3304099328,3304099583,CA 3304099584,3304099839,SC @@ -140983,7 +143538,9 @@ 3304198912,3304199167,CH 3304199168,3304199423,NL 3304199424,3304199679,GB -3304199680,3304201215,SC +3304199680,3304200191,SC +3304200192,3304200447,US +3304200448,3304201215,SC 3304201216,3304201983,US 3304201984,3304202751,SC 3304202752,3304203263,US @@ -140997,9 +143554,7 @@ 3304206080,3304206335,US 3304206336,3304206591,CA 3304206592,3304207871,SC -3304207872,3304209151,US -3304209152,3304209407,SC -3304209408,3304209663,US +3304207872,3304209663,US 3304209664,3304210431,SC 3304210432,3304210687,SG 3304210688,3304210943,RU @@ -141014,16 +143569,22 @@ 3304214016,3304214783,SC 3304214784,3304215039,LU 3304215040,3304215295,NZ -3304215296,3304216063,SC +3304215296,3304215551,SC +3304215552,3304215807,PL +3304215808,3304216063,SC 3304216064,3304216319,ES 3304216320,3304216575,CH 3304216576,3304216831,NL 3304216832,3304217087,GB 3304217088,3304218367,SC 3304218368,3304219135,US -3304219136,3304222207,SC +3304219136,3304219391,SC +3304219392,3304219647,US +3304219648,3304222207,SC 3304222208,3304222463,US -3304222464,3304223231,SC +3304222464,3304222719,SC +3304222720,3304222975,US +3304222976,3304223231,SC 3304223232,3304223487,US 3304223488,3304223999,SC 3304224000,3304224255,US @@ -141039,7 +143600,7 @@ 3304229120,3304229375,DK 3304229376,3304229887,SC 3304229888,3304230143,BE -3304230144,3304230399,SC +3304230144,3304230399,AT 3304230400,3304230655,AU 3304230656,3304230911,SC 3304230912,3304231167,HU @@ -141054,8 +143615,8 @@ 3304233472,3304233983,US 3304233984,3304234751,SC 3304234752,3304235007,US -3304235008,3304235775,SC -3304235776,3304236287,US +3304235008,3304235519,SC +3304235520,3304236287,US 3304236288,3304236799,SC 3304236800,3304237055,US 3304237056,3304237567,SC @@ -141091,7 +143652,9 @@ 3304250624,3304251391,US 3304251392,3304251903,SC 3304251904,3304252159,US -3304252160,3304253183,SC +3304252160,3304252415,SC +3304252416,3304252671,US +3304252672,3304253183,SC 3304253184,3304253439,US 3304253440,3304254463,SC 3304254464,3304254719,US @@ -141101,15 +143664,14 @@ 3304256000,3304256255,US 3304256256,3304256511,CA 3304256512,3304257023,SC -3304257024,3304257279,US -3304257280,3304257535,SC -3304257536,3304257791,US +3304257024,3304257791,US 3304257792,3304325375,SC 3304325376,3304325631,US 3304325632,3304325887,AT 3304325888,3304326143,SC 3304326144,3304326399,DE -3304326400,3304327423,SC +3304326400,3304326655,DK +3304326656,3304327423,SC 3304327424,3304327679,AT 3304327680,3304327935,SC 3304327936,3304328191,HK @@ -141117,12 +143679,15 @@ 3304328448,3304328703,LU 3304328704,3304329215,SC 3304329216,3304329471,PL -3304329472,3304329983,SC +3304329472,3304329727,PT +3304329728,3304329983,SC 3304329984,3304330239,CH -3304330240,3304331007,SC +3304330240,3304330495,SC +3304330496,3304330751,GB +3304330752,3304331007,SC 3304331008,3304331263,US -3304331264,3304331775,SC -3304331776,3304332031,US +3304331264,3304331519,SC +3304331520,3304332031,US 3304332032,3304332543,SC 3304332544,3304332799,US 3304332800,3304333055,SC @@ -141140,10 +143705,10 @@ 3304338176,3304338687,SC 3304338688,3304338943,US 3304338944,3304339967,SC -3304339968,3304340223,US -3304340224,3304340735,SC +3304339968,3304340479,US +3304340480,3304340735,SC 3304340736,3304341247,US -3304341248,3304341503,SC +3304341248,3304341503,BR 3304341504,3304341759,SG 3304341760,3304342015,RU 3304342016,3304342783,SC @@ -141160,12 +143725,11 @@ 3304345856,3304346111,LU 3304346112,3304346367,SC 3304346368,3304346623,NO -3304346624,3304347135,SC +3304346624,3304346879,SC +3304346880,3304347135,PT 3304347136,3304347391,ES 3304347392,3304348415,SC -3304348416,3304348927,US -3304348928,3304349183,SC -3304349184,3304349695,US +3304348416,3304349695,US 3304349696,3304350975,SC 3304350976,3304351487,US 3304351488,3304352255,SC @@ -141186,7 +143750,10 @@ 3304359424,3304359679,AT 3304359680,3304360191,SC 3304360192,3304360447,DK -3304360448,3304362495,SC +3304360448,3304361471,SC +3304361472,3304361727,AU +3304361728,3304361983,HK +3304361984,3304362495,SC 3304362496,3304362751,NZ 3304362752,3304363007,NO 3304363008,3304363775,SC @@ -141205,14 +143772,14 @@ 3304370432,3304370687,CA 3304370688,3304370943,US 3304370944,3304371199,CA -3304371200,3304371455,US -3304371456,3304371967,SC +3304371200,3304371711,US +3304371712,3304371967,SC 3304371968,3304372223,US 3304372224,3304372735,SC 3304372736,3304372991,US 3304372992,3304373247,SC -3304373248,3304373503,US -3304373504,3304374783,SC +3304373248,3304373759,US +3304373760,3304374783,SC 3304374784,3304375039,BR 3304375040,3304376319,SC 3304376320,3304376575,DE @@ -141220,10 +143787,12 @@ 3304376832,3304377087,CZ 3304377088,3304377343,LV 3304377344,3304377599,BE -3304377600,3304380671,SC +3304377600,3304380159,SC +3304380160,3304380415,CH +3304380416,3304380671,SC 3304380672,3304380927,GB -3304380928,3304381695,SC -3304381696,3304381951,US +3304380928,3304381439,SC +3304381440,3304381951,US 3304381952,3304382207,SC 3304382208,3304382463,US 3304382464,3304382719,SC @@ -141236,28 +143805,28 @@ 3304385024,3304385535,US 3304385536,3304386047,SC 3304386048,3304386303,US -3304386304,3304387327,SC +3304386304,3304386815,SC +3304386816,3304387071,CA +3304387072,3304387327,SC 3304387328,3304387583,CA 3304387584,3304388095,SC 3304388096,3304388351,US 3304388352,3304388607,SC 3304388608,3304388863,US -3304388864,3304389887,SC +3304388864,3304389119,SC +3304389120,3304389375,US +3304389376,3304389887,SC 3304389888,3304390143,US 3304390144,3304390399,SC 3304390400,3304390655,US 3304390656,3304391679,SC -3304391680,3304400895,US -3304400896,3304401919,SC -3304401920,3304403967,US +3304391680,3304403967,US 3304403968,3304404991,SC 3304404992,3304407039,US 3304407040,3304408063,CA 3304408064,3304415231,US 3304415232,3304416255,SC -3304416256,3304421375,US -3304421376,3304423423,SC -3304423424,3304428543,US +3304416256,3304428543,US 3304428544,3304430591,SK 3304430592,3304431615,SC 3304431616,3304432639,GB @@ -141283,8 +143852,7 @@ 3304450048,3304451071,FR 3304451072,3304452095,AT 3304452096,3304453119,IN -3304453120,3304454143,RO -3304454144,3304455167,SG +3304453120,3304455167,RO 3304455168,3304456191,BR 3304456192,3304521727,ZA 3304521728,3304528895,US @@ -141335,9 +143903,7 @@ 3304783872,3304801023,ZA 3304801024,3304804095,GH 3304804096,3304806399,NG -3304806400,3304806655,ZA -3304806656,3304807167,SC -3304807168,3304807423,ZA +3304806400,3304807423,ZA 3304807424,3304807935,SC 3304807936,3304808959,ZA 3304808960,3304809215,SC @@ -141402,12 +143968,12 @@ 3315138560,3315204095,MA 3315204096,3315269631,ET 3315269632,3315286015,ZA -3315286016,3315288319,MU -3315288320,3315288575,KE -3315288576,3315289343,MU +3315286016,3315288413,MU +3315288414,3315288414,KE +3315288415,3315289343,MU 3315289344,3315289599,KE -3315289600,3315291135,MU -3315291136,3315293183,KE +3315289600,3315292159,MU +3315292160,3315293183,KE 3315293184,3315294207,MU 3315294208,3315302399,ZA 3315302400,3315318783,ML @@ -141422,7 +143988,9 @@ 3315397097,3315400703,NG 3315400704,3315417087,UG 3315417088,3315425279,ZA -3315425280,3315433471,SC +3315425280,3315430399,SC +3315430400,3315431423,GB +3315431424,3315433471,SC 3315433472,3315449855,RW 3315449856,3315450879,BI 3315450880,3315451903,AO @@ -141541,9 +144109,9 @@ 3320446976,3320451071,SC 3320451072,3320455167,ZA 3320455168,3320463359,NG -3320463360,3320476671,NA -3320476672,3320477183,AO -3320477184,3320479743,NA +3320463360,3320475647,NA +3320475648,3320477695,AO +3320477696,3320479743,NA 3320479744,3320500223,ZA 3320500224,3320502271,BW 3320502272,3320504319,BJ @@ -141580,8 +144148,8 @@ 3321018368,3321020415,MU 3321020416,3321022463,TZ 3321022464,3321024511,ZA -3321024512,3321025023,KE -3321025024,3321025791,ZA +3321024512,3321025279,KE +3321025280,3321025791,ZA 3321025792,3321026815,KE 3321026816,3321027327,ZA 3321027328,3321028607,KE @@ -141623,7 +144191,9 @@ 3321968640,3321970687,CA 3321970688,3321987519,US 3321987520,3321987583,CN -3321987584,3321987871,US +3321987584,3321987743,US +3321987744,3321987775,CN +3321987776,3321987871,US 3321987872,3321987927,CN 3321987928,3321987967,US 3321987968,3321987983,CN @@ -141641,7 +144211,9 @@ 3321989024,3321989119,CN 3321989120,3321989399,US 3321989400,3321989407,CN -3321989408,3321989759,US +3321989408,3321989423,US +3321989424,3321989431,CN +3321989432,3321989759,US 3321989760,3321989791,CN 3321989792,3321989807,US 3321989808,3321989815,CN @@ -141844,7 +144416,9 @@ 3322072952,3322072959,CN 3322072960,3322073023,US 3322073024,3322073119,CN -3322073120,3322073151,US +3322073120,3322073135,US +3322073136,3322073143,CN +3322073144,3322073151,US 3322073152,3322073247,CN 3322073248,3322073311,US 3322073312,3322073327,CN @@ -141897,12 +144471,14 @@ 3322077696,3322077759,US 3322077760,3322078015,CN 3322078016,3322078079,US -3322078080,3322078463,CN +3322078080,3322078271,CN +3322078272,3322078335,US +3322078336,3322078463,CN 3322078464,3322078527,US 3322078528,3322078783,CN 3322078784,3322078911,US -3322078912,3322078975,CN -3322078976,3322079423,US +3322078912,3322079039,CN +3322079040,3322079423,US 3322079424,3322079551,CN 3322079552,3322079679,US 3322079680,3322079743,CN @@ -141933,9 +144509,7 @@ 3322082496,3322082559,US 3322082560,3322082751,CN 3322082752,3322082815,US -3322082816,3322082879,CN -3322082880,3322082943,US -3322082944,3322083135,CN +3322082816,3322083135,CN 3322083136,3322083199,US 3322083200,3322083391,CN 3322083392,3322083519,US @@ -141963,14 +144537,12 @@ 3322361883,3322362367,US 3322362368,3322362431,DE 3322362432,3322454015,US -3322454016,3322454271,GB -3322454272,3322609663,US +3322454016,3322456063,GB +3322456064,3322609663,US 3322609664,3322610687,SA 3322610688,3322683391,US 3322683392,3322691583,AR -3322691584,3322691775,US -3322691776,3322691791,CA -3322691792,3322692695,US +3322691584,3322692695,US 3322692696,3322692703,FR 3322692704,3322696543,US 3322696544,3322696551,GB @@ -141978,11 +144550,7 @@ 3322696608,3322696623,GB 3322696624,3322697951,US 3322697952,3322697983,CA -3322697984,3322698303,US -3322698304,3322698367,IL -3322698368,3322699199,US -3322699200,3322699207,PK -3322699208,3322700095,US +3322697984,3322700095,US 3322700096,3322700127,FR 3322700128,3322700287,US 3322700288,3322700543,NL @@ -142010,7 +144578,9 @@ 3322904864,3322904895,CN 3322904896,3322905151,US 3322905152,3322905183,CN -3322905184,3322906431,US +3322905184,3322905351,US +3322905352,3322905359,CN +3322905360,3322906431,US 3322906432,3322906559,CN 3322906560,3322906751,US 3322906752,3322906815,CN @@ -142219,8 +144789,8 @@ 3322936096,3322936103,US 3322936104,3322936239,CN 3322936240,3322936255,US -3322936256,3322936319,CN -3322936320,3322936839,US +3322936256,3322936575,CN +3322936576,3322936839,US 3322936840,3322937095,CN 3322937096,3322937119,US 3322937120,3322937151,CN @@ -142310,20 +144880,15 @@ 3323242320,3323242335,CA 3323242336,3323242367,IN 3323242368,3323242495,US -3323242496,3323242511,CA -3323242512,3323242527,US +3323242496,3323242527,CA 3323242528,3323242559,IN 3323242560,3323242575,CA 3323242576,3323242591,US -3323242592,3323242607,CA -3323242608,3323242623,US -3323242624,3323242655,CA +3323242592,3323242655,CA 3323242656,3323242687,IN -3323242688,3323242695,CA -3323242696,3323243007,US -3323243008,3323243031,CA -3323243032,3323243039,US -3323243040,3323243055,CA +3323242688,3323242719,CA +3323242720,3323243007,US +3323243008,3323243055,CA 3323243056,3323243063,US 3323243064,3323243087,CA 3323243088,3323243095,IE @@ -142335,30 +144900,32 @@ 3323243224,3323243231,US 3323243232,3323243239,CA 3323243240,3323243247,US -3323243248,3323243263,CA -3323243264,3323243487,US -3323243488,3323243519,CA -3323243520,3323243551,US -3323243552,3323243583,CA +3323243248,3323243391,CA +3323243392,3323243455,US +3323243456,3323243519,CA +3323243520,3323243535,US +3323243536,3323243583,CA 3323243584,3323243615,US -3323243616,3323243647,CA -3323243648,3323243711,US -3323243712,3323243743,CA +3323243616,3323243663,CA +3323243664,3323243695,US +3323243696,3323243743,CA 3323243744,3323243791,US 3323243792,3323243815,CA 3323243816,3323243823,US 3323243824,3323243839,CA 3323243840,3323243967,US 3323243968,3323244095,CA -3323244096,3323244255,US -3323244256,3323244319,CA +3323244096,3323244159,US +3323244160,3323244191,CA +3323244192,3323244207,US +3323244208,3323244319,CA 3323244320,3323244327,US 3323244328,3323244399,CA 3323244400,3323244407,US 3323244408,3323244511,CA 3323244512,3323244671,US -3323244672,3323244679,CA -3323244680,3323244695,US +3323244672,3323244687,CA +3323244688,3323244695,US 3323244696,3323244703,CA 3323244704,3323244735,US 3323244736,3323244767,IN @@ -142366,39 +144933,46 @@ 3323244784,3323244799,CA 3323244800,3323244927,US 3323244928,3323245055,CA -3323245056,3323245183,US -3323245184,3323245215,CA -3323245216,3323245383,US -3323245384,3323245439,CA -3323245440,3323245471,US -3323245472,3323245503,CA +3323245056,3323245087,US +3323245088,3323245119,CA +3323245120,3323245135,US +3323245136,3323245151,CA +3323245152,3323245167,US +3323245168,3323245215,CA +3323245216,3323245247,US +3323245248,3323245255,CA +3323245256,3323245263,US +3323245264,3323245279,CA +3323245280,3323245383,US +3323245384,3323245503,CA 3323245504,3323245535,US 3323245536,3323245543,CA 3323245544,3323245551,US 3323245552,3323245567,CA 3323245568,3323245647,US -3323245648,3323245655,CA -3323245656,3323245951,US +3323245648,3323245663,CA +3323245664,3323245951,US 3323245952,3323245983,CA 3323245984,3323246015,US -3323246016,3323246079,CA +3323246016,3323246047,CN +3323246048,3323246079,CA 3323246080,3323246207,US 3323246208,3323246215,CA -3323246216,3323246223,US +3323246216,3323246223,CN 3323246224,3323246231,CA 3323246232,3323246239,FI 3323246240,3323246271,CA 3323246272,3323246463,US 3323246464,3323246591,CN -3323246592,3323247567,US +3323246592,3323247439,US +3323247440,3323247455,CA +3323247456,3323247567,US 3323247568,3323247583,CA 3323247584,3323248383,US 3323248384,3323248639,CA -3323248640,3323270420,US -3323270421,3323270421,CH -3323270422,3323271167,US -3323271168,3323273215,ZA -3323273216,3323339263,US +3323248640,3323270399,US +3323270400,3323270655,CH +3323270656,3323339263,US 3323339776,3323340031,CA 3323340288,3323342591,US 3323342592,3323342847,AU @@ -142429,7 +145003,9 @@ 3323444848,3323444863,CA 3323444864,3323446271,US 3323446272,3323446527,GB -3323446528,3323457791,US +3323446528,3323449535,US +3323449536,3323449539,GB +3323449540,3323457791,US 3323457792,3323458047,GB 3323458048,3323462655,US 3323462656,3323463167,BR @@ -142437,13 +145013,17 @@ 3323477984,3323478015,GB 3323478016,3323505311,US 3323505312,3323505343,BR -3323505344,3323505615,US +3323505344,3323505359,US +3323505360,3323505367,CA +3323505368,3323505615,US 3323505616,3323505623,CA 3323505624,3323506559,US 3323506560,3323506567,PK 3323506568,3323507743,US 3323507744,3323507751,CA -3323507752,3323510287,US +3323507752,3323508639,US +3323508640,3323508647,GB +3323508648,3323510287,US 3323510288,3323510295,CA 3323510296,3323659263,US 3323659264,3323660543,NZ @@ -142454,8 +145034,7 @@ 3323677992,3323677995,US 3323677996,3323678031,CA 3323678032,3323678047,US -3323678048,3323678095,CA -3323678096,3323678103,CO +3323678048,3323678103,CA 3323678104,3323678111,GB 3323678112,3323678147,CA 3323678148,3323678151,US @@ -142494,13 +145073,10 @@ 3323681524,3323681527,BR 3323681528,3323681591,CA 3323681592,3323681599,US -3323681600,3323681663,CA +3323681600,3323681631,CA +3323681632,3323681663,NO 3323681664,3323681695,IN -3323681696,3323681711,CA -3323681712,3323681727,FR -3323681728,3323681735,CA -3323681736,3323681739,ES -3323681740,3323681747,CA +3323681696,3323681747,CA 3323681748,3323681751,VE 3323681752,3323682647,CA 3323682648,3323682651,BR @@ -142539,7 +145115,7 @@ 3323683448,3323683455,US 3323683456,3323683471,CA 3323683472,3323683479,MX -3323683480,3323683487,BR +3323683480,3323683487,CA 3323683488,3323683503,US 3323683504,3323683515,CA 3323683516,3323683519,MX @@ -142636,9 +145212,7 @@ 3323685832,3323685839,AR 3323685840,3323685871,CA 3323685872,3323685887,US -3323685888,3323685899,CA -3323685900,3323685903,US -3323685904,3323685911,CA +3323685888,3323685911,CA 3323685912,3323685919,US 3323685920,3323685923,CA 3323685924,3323685927,BR @@ -142655,9 +145229,7 @@ 3323686136,3323686143,MX 3323686144,3323686159,NO 3323686160,3323686163,US -3323686164,3323686167,CA -3323686168,3323686175,BD -3323686176,3323686183,CA +3323686164,3323686183,CA 3323686184,3323686191,BR 3323686192,3323686195,PE 3323686196,3323686199,VI @@ -142671,7 +145243,9 @@ 3323686368,3323686371,IN 3323686372,3323686383,CA 3323686384,3323686391,US -3323686392,3323686591,CA +3323686392,3323686559,CA +3323686560,3323686563,FR +3323686564,3323686591,CA 3323686592,3323686595,FR 3323686596,3323686599,CA 3323686600,3323686607,BR @@ -142707,18 +145281,17 @@ 3323687074,3323687074,US 3323687075,3323687079,CA 3323687080,3323687087,US -3323687088,3323687103,CA -3323687104,3323687111,BR +3323687088,3323687111,CA 3323687112,3323687115,PT -3323687116,3323687183,CA +3323687116,3323687123,CA +3323687124,3323687127,NL +3323687128,3323687183,CA 3323687184,3323687199,BR 3323687200,3323687215,CA 3323687216,3323687231,US 3323687232,3323687235,CA 3323687236,3323687239,SK -3323687240,3323687251,CA -3323687252,3323687255,US -3323687256,3323687279,CA +3323687240,3323687279,CA 3323687280,3323687287,US 3323687288,3323687427,CA 3323687428,3323687431,BZ @@ -142734,13 +145307,15 @@ 3323687732,3323687735,AE 3323687736,3323687743,CA 3323687744,3323687747,ES -3323687748,3323687783,CA +3323687748,3323687751,CA +3323687752,3323687759,US +3323687760,3323687783,CA 3323687784,3323687791,US 3323687792,3323687799,AU 3323687800,3323687815,CA 3323687816,3323687819,US 3323687820,3323687863,CA -3323687864,3323687871,MX +3323687864,3323687871,GB 3323687872,3323687887,PK 3323687888,3323687891,BR 3323687892,3323687903,CA @@ -142761,13 +145336,9 @@ 3323688164,3323688175,BR 3323688176,3323688183,CA 3323688184,3323688187,BR -3323688188,3323688255,CA -3323688256,3323688271,BR -3323688272,3323688343,CA +3323688188,3323688343,CA 3323688344,3323688351,AE -3323688352,3323688407,CA -3323688408,3323688411,US -3323688412,3323688463,CA +3323688352,3323688463,CA 3323688464,3323688467,BR 3323688468,3323688471,CA 3323688472,3323688479,US @@ -142841,9 +145412,9 @@ 3323690096,3323690111,PK 3323690112,3323690127,US 3323690128,3323690131,FR -3323690132,3323690155,CA -3323690156,3323690159,BE -3323690160,3323690199,CA +3323690132,3323690151,CA +3323690152,3323690155,FR +3323690156,3323690199,CA 3323690200,3323690207,US 3323690208,3323690223,CA 3323690224,3323690235,US @@ -142853,7 +145424,9 @@ 3323690404,3323690407,DM 3323690408,3323690495,CA 3323690496,3323740159,US -3323740160,3323748351,GB +3323740160,3323742207,GB +3323742208,3323746303,US +3323746304,3323748351,GB 3323748352,3323805695,US 3323805696,3323805951,GB 3323805952,3324051455,US @@ -142873,13 +145446,17 @@ 3324279104,3324279167,ZA 3324279168,3324280695,US 3324280696,3324280703,ZW -3324280704,3324354559,US +3324280704,3324322815,US +3324322816,3324323839,GB +3324323840,3324354559,US 3324354560,3324362751,CA 3324362752,3324379135,US 3324379136,3324380159,CA 3324380160,3324380927,US 3324380928,3324381183,CA -3324381184,3324470271,US +3324381184,3324449535,US +3324449536,3324449791,GB +3324449792,3324470271,US 3324470272,3324471039,GB 3324471040,3324471295,US 3324471296,3324474367,GB @@ -142936,7 +145513,9 @@ 3324636160,3324637183,NZ 3324637184,3324638207,DE 3324638208,3324638719,IN -3324638720,3324647679,US +3324638720,3324638975,US +3324638976,3324639231,DE +3324639232,3324647679,US 3324647680,3324647935,CA 3324647936,3324660479,US 3324660480,3324660735,CA @@ -143183,7 +145762,9 @@ 3324814168,3324814223,CN 3324814224,3324814239,US 3324814240,3324814255,CN -3324814256,3324814503,US +3324814256,3324814367,US +3324814368,3324814375,CN +3324814376,3324814503,US 3324814504,3324814583,CN 3324814584,3324814735,US 3324814736,3324814751,CN @@ -143219,7 +145800,9 @@ 3324816760,3324816959,CN 3324816960,3324816983,US 3324816984,3324817023,CN -3324817024,3324817079,US +3324817024,3324817055,US +3324817056,3324817063,CN +3324817064,3324817079,US 3324817080,3324817287,CN 3324817288,3324817319,US 3324817320,3324817567,CN @@ -143277,16 +145860,12 @@ 3324822016,3324822527,CA 3324822528,3324824575,US 3324824576,3324824831,DE -3324824832,3324843007,US -3324843008,3324843799,AU -3324843800,3324843801,US -3324843802,3324844031,AU -3324844032,3324867583,US +3324824832,3324867583,US 3324867584,3324868607,KZ 3324868608,3324937087,US 3324937088,3324937095,BD -3324937096,3324938159,US -3324938160,3324938167,GB +3324937096,3324938143,US +3324938144,3324938167,GB 3324938168,3324938175,US 3324938176,3324938183,IN 3324938184,3324939735,US @@ -143329,7 +145908,9 @@ 3324954368,3324954431,EE 3324954432,3324954495,US 3324954496,3324954559,EE -3324954560,3324955711,US +3324954560,3324955391,US +3324955392,3324955455,EE +3324955456,3324955711,US 3324955712,3324955775,EE 3324955776,3324955903,US 3324955904,3324955967,EE @@ -143379,7 +145960,7 @@ 3325134336,3325136127,US 3325136128,3325136383,CA 3325136384,3325142015,US -3325142016,3325142271,CR +3325142016,3325142271,AR 3325142272,3325144831,US 3325144832,3325145087,CA 3325145088,3325169663,US @@ -143540,7 +146121,9 @@ 3325192664,3325192671,BR 3325192672,3325192767,CA 3325192768,3325192775,US -3325192776,3325192983,CA +3325192776,3325192935,CA +3325192936,3325192943,DE +3325192944,3325192983,CA 3325192984,3325192991,ES 3325192992,3325193039,CA 3325193040,3325193047,ES @@ -143830,7 +146413,9 @@ 3325198376,3325198415,CA 3325198416,3325198419,VE 3325198420,3325198423,US -3325198424,3325198535,CA +3325198424,3325198455,CA +3325198456,3325198459,NL +3325198460,3325198535,CA 3325198536,3325198543,US 3325198544,3325198559,CA 3325198560,3325198575,PA @@ -143840,7 +146425,8 @@ 3325198592,3325198619,CA 3325198620,3325198623,AR 3325198624,3325198627,ES -3325198628,3325198643,CA +3325198628,3325198631,PL +3325198632,3325198643,CA 3325198644,3325198647,BD 3325198648,3325198695,CA 3325198696,3325198703,IL @@ -143903,9 +146489,7 @@ 3325200088,3325200091,ES 3325200092,3325200095,CA 3325200096,3325200111,BE -3325200112,3325200127,CA -3325200128,3325200191,BD -3325200192,3325200239,CA +3325200112,3325200239,CA 3325200240,3325200255,US 3325200256,3325200259,PE 3325200260,3325200279,CA @@ -143945,8 +146529,7 @@ 3325200828,3325200831,CO 3325200832,3325200863,BA 3325200864,3325200879,ES -3325200880,3325200891,CA -3325200892,3325200895,US +3325200880,3325200895,CA 3325200896,3325200903,RO 3325200904,3325201011,CA 3325201012,3325201015,US @@ -143987,8 +146570,8 @@ 3325201664,3325201671,CO 3325201672,3325201679,CA 3325201680,3325201687,JO -3325201688,3325201739,CA -3325201740,3325201759,US +3325201688,3325201743,CA +3325201744,3325201759,US 3325201760,3325201763,SA 3325201764,3325201775,CA 3325201776,3325201779,PK @@ -143998,21 +146581,20 @@ 3325201812,3325201815,US 3325201816,3325201847,CA 3325201848,3325201851,BR -3325201852,3325201855,ES +3325201852,3325201855,CA 3325201856,3325201919,BR 3325201920,3325201935,CA 3325201936,3325201951,FR 3325201952,3325202015,CA 3325202016,3325202031,ES -3325202032,3325202039,CA -3325202040,3325202079,US -3325202080,3325202199,CA +3325202032,3325202079,US +3325202080,3325202083,CA +3325202084,3325202087,BR +3325202088,3325202199,CA 3325202200,3325202203,US 3325202204,3325202211,CA 3325202212,3325202215,IN -3325202216,3325202219,CA -3325202220,3325202223,GB -3325202224,3325202239,CA +3325202216,3325202239,CA 3325202240,3325202255,US 3325202256,3325202271,CA 3325202272,3325202275,GB @@ -144049,7 +146631,8 @@ 3325206816,3325206819,CA 3325206820,3325206823,BR 3325206824,3325206831,CA -3325206832,3325206839,US +3325206832,3325206835,US +3325206836,3325206839,CA 3325206840,3325206847,FR 3325206848,3325206863,MX 3325206864,3325206879,CA @@ -144087,8 +146670,8 @@ 3325207704,3325207735,CA 3325207736,3325207739,CL 3325207740,3325207775,CA -3325207776,3325207783,US -3325207784,3325207791,CA +3325207776,3325207779,US +3325207780,3325207791,CA 3325207792,3325207795,GB 3325207796,3325207807,CA 3325207808,3325207935,US @@ -144120,14 +146703,11 @@ 3325208544,3325208547,US 3325208548,3325208639,CA 3325208640,3325208643,EG -3325208644,3325208647,CA -3325208648,3325208651,HR -3325208652,3325208747,CA +3325208644,3325208747,CA 3325208748,3325208751,CZ 3325208752,3325208827,CA 3325208828,3325208831,EG -3325208832,3325208835,CO -3325208836,3325208943,CA +3325208832,3325208943,CA 3325208944,3325208947,BR 3325208948,3325208999,CA 3325209000,3325209003,US @@ -144148,9 +146728,7 @@ 3325209184,3325209215,AR 3325209216,3325209231,CA 3325209232,3325209247,DE -3325209248,3325209259,CA -3325209260,3325209263,US -3325209264,3325209327,CA +3325209248,3325209327,CA 3325209328,3325209343,US 3325209344,3325209379,CA 3325209380,3325209383,CH @@ -144168,9 +146746,7 @@ 3325209552,3325209559,US 3325209560,3325209567,CA 3325209568,3325209575,US -3325209576,3325209639,CA -3325209640,3325209647,TR -3325209648,3325209655,CA +3325209576,3325209655,CA 3325209656,3325209663,CH 3325209664,3325209679,US 3325209680,3325209695,CA @@ -144181,11 +146757,7 @@ 3325209768,3325209775,US 3325209776,3325209779,CA 3325209780,3325209783,ID -3325209784,3325209823,CA -3325209824,3325209855,GB -3325209856,3325209879,CA -3325209880,3325209887,BD -3325209888,3325209915,CA +3325209784,3325209915,CA 3325209916,3325209919,FR 3325209920,3325209935,CA 3325209936,3325209939,FR @@ -144220,10 +146792,9 @@ 3325210432,3325210435,IN 3325210436,3325210439,CA 3325210440,3325210447,PA -3325210448,3325210451,FR +3325210448,3325210451,CA 3325210452,3325210455,ES -3325210456,3325210511,CA -3325210512,3325210519,MX +3325210456,3325210519,CA 3325210520,3325210527,FR 3325210528,3325210575,CA 3325210576,3325210579,BR @@ -144241,8 +146812,7 @@ 3325210752,3325210755,CA 3325210756,3325210759,PH 3325210760,3325210767,BR -3325210768,3325210771,AR -3325210772,3325210775,CA +3325210768,3325210775,CA 3325210776,3325210779,US 3325210780,3325210783,CA 3325210784,3325210787,MX @@ -144256,9 +146826,11 @@ 3325210864,3325210879,US 3325210880,3325210951,CA 3325210952,3325210955,IN -3325210956,3325210959,VN +3325210956,3325210959,CA 3325210960,3325210975,IN -3325210976,3325211071,CA +3325210976,3325210991,CA +3325210992,3325210995,ES +3325210996,3325211071,CA 3325211072,3325211087,BD 3325211088,3325211091,US 3325211092,3325211095,CA @@ -144293,14 +146865,15 @@ 3325212172,3325212175,IN 3325212176,3325212215,CA 3325212216,3325212223,HR -3325212224,3325212295,CA -3325212296,3325212303,IN -3325212304,3325212495,CA +3325212224,3325212407,CA +3325212408,3325212411,US +3325212412,3325212479,CA +3325212480,3325212483,NL +3325212484,3325212495,CA 3325212496,3325212511,FR 3325212512,3325212515,CY -3325212516,3325212519,CA -3325212520,3325212527,PK -3325212528,3325212559,CA +3325212516,3325212555,CA +3325212556,3325212559,NL 3325212560,3325212575,BR 3325212576,3325212583,CA 3325212584,3325212587,HN @@ -144308,8 +146881,7 @@ 3325212592,3325212595,SI 3325212596,3325212611,CA 3325212612,3325212615,ES -3325212616,3325212619,BD -3325212620,3325212647,CA +3325212616,3325212647,CA 3325212648,3325212655,US 3325212656,3325212719,CA 3325212720,3325212727,ID @@ -144333,11 +146905,7 @@ 3325213448,3325213451,BD 3325213452,3325213483,CA 3325213484,3325213487,VE -3325213488,3325213535,CA -3325213536,3325213543,TR -3325213544,3325213551,CA -3325213552,3325213555,ES -3325213556,3325213559,CA +3325213488,3325213559,CA 3325213560,3325213567,IN 3325213568,3325213575,CA 3325213576,3325213591,IN @@ -144345,9 +146913,7 @@ 3325213608,3325213615,US 3325213616,3325213631,CA 3325213632,3325213639,TR -3325213640,3325213655,CA -3325213656,3325213659,US -3325213660,3325213679,CA +3325213640,3325213679,CA 3325213680,3325213687,BR 3325213688,3325213695,US 3325213696,3325213711,CA @@ -144385,7 +146951,9 @@ 3325214584,3325214591,US 3325214592,3325214667,CA 3325214668,3325214671,US -3325214672,3325214703,CA +3325214672,3325214687,CA +3325214688,3325214695,US +3325214696,3325214703,CA 3325214704,3325214719,AU 3325214720,3325214735,CA 3325214736,3325214739,US @@ -144395,9 +146963,7 @@ 3325214816,3325214819,US 3325214820,3325214823,IN 3325214824,3325214831,BR -3325214832,3325214999,CA -3325215000,3325215007,BZ -3325215008,3325215055,CA +3325214832,3325215055,CA 3325215056,3325215059,IT 3325215060,3325215119,CA 3325215120,3325215127,IN @@ -144415,9 +146981,7 @@ 3325215280,3325215295,US 3325215296,3325215299,CA 3325215300,3325215303,IN -3325215304,3325215319,CA -3325215320,3325215327,BR -3325215328,3325215335,CA +3325215304,3325215335,CA 3325215336,3325215343,US 3325215344,3325215439,CA 3325215440,3325215447,LK @@ -144433,8 +146997,8 @@ 3325215612,3325215615,BR 3325215616,3325215655,CA 3325215656,3325215659,IL -3325215660,3325215667,CA -3325215668,3325215675,BR +3325215660,3325215671,CA +3325215672,3325215675,BR 3325215676,3325215731,CA 3325215732,3325215735,BR 3325215736,3325215743,CA @@ -144445,7 +147009,7 @@ 3325215808,3325215839,US 3325215840,3325215863,CA 3325215864,3325215871,BR -3325215872,3325215903,US +3325215872,3325215903,CA 3325215904,3325215911,DE 3325215912,3325215915,IN 3325215916,3325215919,GB @@ -144472,9 +147036,7 @@ 3325216144,3325216207,CA 3325216208,3325216215,JO 3325216216,3325216223,MU -3325216224,3325216247,CA -3325216248,3325216251,BR -3325216252,3325216319,CA +3325216224,3325216319,CA 3325216320,3325216327,US 3325216328,3325216359,CA 3325216360,3325216363,GB @@ -144482,9 +147044,7 @@ 3325216368,3325216383,US 3325216384,3325216399,CA 3325216400,3325216415,BR -3325216416,3325216447,CA -3325216448,3325216463,FR -3325216464,3325216527,CA +3325216416,3325216527,CA 3325216528,3325216531,US 3325216532,3325216815,CA 3325216816,3325216831,BR @@ -144539,26 +147099,22 @@ 3325217976,3325217979,MX 3325217980,3325217983,CA 3325217984,3325217987,US -3325217988,3325218015,CA -3325218016,3325218031,IN -3325218032,3325218039,CA +3325217988,3325218039,CA 3325218040,3325218047,US 3325218048,3325218131,CA 3325218132,3325218135,US 3325218136,3325218139,CA -3325218140,3325218147,GB +3325218140,3325218143,GB +3325218144,3325218147,BR 3325218148,3325218159,CA 3325218160,3325218167,US 3325218168,3325218207,CA 3325218208,3325218239,US 3325218240,3325218251,CA 3325218252,3325218255,PL -3325218256,3325218311,CA -3325218312,3325218319,RU -3325218320,3325218447,CA +3325218256,3325218447,CA 3325218448,3325218455,AR -3325218456,3325218463,MD -3325218464,3325218479,CA +3325218456,3325218479,CA 3325218480,3325218483,BR 3325218484,3325218487,CA 3325218488,3325218491,US @@ -144616,19 +147172,18 @@ 3325219792,3325219799,UY 3325219800,3325219807,CA 3325219808,3325219811,US -3325219812,3325219815,PL -3325219816,3325219839,CA +3325219812,3325219839,CA 3325219840,3325219871,TN 3325219872,3325219875,BR 3325219876,3325219887,CA 3325219888,3325219903,MX -3325219904,3325219931,US +3325219904,3325219919,CA +3325219920,3325219931,US 3325219932,3325219935,CA 3325219936,3325219951,US 3325219952,3325219983,CA 3325219984,3325219999,US -3325220000,3325220027,CA -3325220028,3325220031,US +3325220000,3325220031,CA 3325220032,3325220039,BR 3325220040,3325220043,US 3325220044,3325220047,BR @@ -144648,9 +147203,7 @@ 3325220544,3325220559,US 3325220560,3325220591,CA 3325220592,3325220595,BE -3325220596,3325220607,CA -3325220608,3325220623,US -3325220624,3325220635,CA +3325220596,3325220635,CA 3325220636,3325220636,US 3325220637,3325220647,CA 3325220648,3325220651,MX @@ -144703,9 +147256,7 @@ 3325221788,3325221791,US 3325221792,3325221799,CA 3325221800,3325221807,BR -3325221808,3325221887,CA -3325221888,3325221891,US -3325221892,3325221903,CA +3325221808,3325221903,CA 3325221904,3325221907,US 3325221908,3325221911,CA 3325221912,3325221915,ES @@ -144733,8 +147284,7 @@ 3325222612,3325222615,CA 3325222616,3325222623,US 3325222624,3325222627,DE -3325222628,3325222643,CA -3325222644,3325222647,VN +3325222628,3325222647,CA 3325222648,3325222651,IL 3325222652,3325222655,US 3325222656,3325222667,CA @@ -144747,8 +147297,8 @@ 3325222720,3325222735,AU 3325222736,3325222751,US 3325222752,3325222783,MX -3325222784,3325222839,CA -3325222840,3325222847,US +3325222784,3325222843,CA +3325222844,3325222847,US 3325222848,3325222851,CA 3325222852,3325222855,BZ 3325222856,3325222879,CA @@ -144790,13 +147340,9 @@ 3325223352,3325223355,MX 3325223356,3325223375,CA 3325223376,3325223391,US -3325223392,3325223399,CA -3325223400,3325223407,IE -3325223408,3325223427,CA +3325223392,3325223427,CA 3325223428,3325223431,US -3325223432,3325223435,CA -3325223436,3325223439,MX -3325223440,3325223463,CA +3325223432,3325223463,CA 3325223464,3325223471,US 3325223472,3325223535,CA 3325223536,3325223551,AT @@ -144820,12 +147366,10 @@ 3325223856,3325223871,AU 3325223872,3325223907,CA 3325223908,3325223911,VE -3325223912,3325223919,CA -3325223920,3325223935,BR -3325223936,3325223963,CA +3325223912,3325223963,CA 3325223964,3325223967,IL -3325223968,3325223991,US -3325223992,3325224031,CA +3325223968,3325223983,US +3325223984,3325224031,CA 3325224032,3325224039,US 3325224040,3325224043,CO 3325224044,3325224047,CA @@ -144836,8 +147380,7 @@ 3325224072,3325224079,HR 3325224080,3325224087,CA 3325224088,3325224091,BZ -3325224092,3325224095,UA -3325224096,3325224451,CA +3325224092,3325224451,CA 3325224452,3325224455,SI 3325224456,3325224479,CA 3325224480,3325224511,US @@ -144879,9 +147422,7 @@ 3325225088,3325225095,US 3325225096,3325225203,CA 3325225204,3325225207,US -3325225208,3325225247,CA -3325225248,3325225263,TR -3325225264,3325225287,CA +3325225208,3325225287,CA 3325225288,3325225291,PK 3325225292,3325225295,CA 3325225296,3325225299,US @@ -144900,8 +147441,8 @@ 3325225484,3325225487,CL 3325225488,3325225495,CA 3325225496,3325225499,MX -3325225500,3325225631,CA -3325225632,3325225647,US +3325225500,3325225615,CA +3325225616,3325225647,US 3325225648,3325225671,CA 3325225672,3325225675,US 3325225676,3325225727,CA @@ -144916,9 +147457,7 @@ 3325225800,3325225807,IN 3325225808,3325225819,CA 3325225820,3325225823,US -3325225824,3325225859,CA -3325225860,3325225863,PK -3325225864,3325225899,CA +3325225824,3325225899,CA 3325225900,3325225911,CY 3325225912,3325225915,CA 3325225916,3325225919,BR @@ -144933,7 +147472,7 @@ 3325226004,3325226007,MX 3325226008,3325226023,CA 3325226024,3325226027,FR -3325226028,3325226031,BR +3325226028,3325226031,CA 3325226032,3325226039,HK 3325226040,3325226071,CA 3325226072,3325226075,BR @@ -144991,14 +147530,13 @@ 3325227488,3325227503,RO 3325227504,3325227519,CA 3325227520,3325227527,VG -3325227528,3325227531,PE -3325227532,3325227535,CA +3325227528,3325227535,CA 3325227536,3325227539,PK 3325227540,3325227551,CA 3325227552,3325227555,BR 3325227556,3325227567,CA 3325227568,3325227571,IN -3325227572,3325227575,KE +3325227572,3325227575,CA 3325227576,3325227583,US 3325227584,3325227599,CA 3325227600,3325227615,CY @@ -145010,8 +147548,7 @@ 3325227804,3325227871,CA 3325227872,3325227875,BR 3325227876,3325227879,US -3325227880,3325228063,CA -3325228064,3325228079,US +3325227880,3325228079,CA 3325228080,3325228087,NZ 3325228088,3325228159,US 3325228160,3325228175,AE @@ -145028,12 +147565,13 @@ 3325228676,3325228683,US 3325228684,3325228687,CA 3325228688,3325228691,BR -3325228692,3325228735,CA +3325228692,3325228727,CA +3325228728,3325228731,PK +3325228732,3325228735,CA 3325228736,3325228739,FR 3325228740,3325228807,CA 3325228808,3325228815,PL -3325228816,3325228823,CA -3325228824,3325228831,BR +3325228816,3325228831,CA 3325228832,3325228863,US 3325228864,3325228871,CA 3325228872,3325228875,IN @@ -145051,9 +147589,7 @@ 3325229084,3325229087,US 3325229088,3325229175,CA 3325229176,3325229183,IN -3325229184,3325229255,CA -3325229256,3325229263,BR -3325229264,3325229279,CA +3325229184,3325229279,CA 3325229280,3325229295,US 3325229296,3325229311,FR 3325229312,3325229327,CA @@ -145068,8 +147604,8 @@ 3325229412,3325229415,RU 3325229416,3325229459,CA 3325229460,3325229463,BR -3325229464,3325229487,US -3325229488,3325229499,CA +3325229464,3325229471,US +3325229472,3325229499,CA 3325229500,3325229503,IN 3325229504,3325229511,CA 3325229512,3325229515,IN @@ -145092,11 +147628,11 @@ 3325229816,3325229823,US 3325229824,3325229831,CA 3325229832,3325229835,US -3325229836,3325229855,CA +3325229836,3325229847,CA +3325229848,3325229851,BR +3325229852,3325229855,CA 3325229856,3325229887,US -3325229888,3325229919,CA -3325229920,3325229935,FR -3325229936,3325229955,CA +3325229888,3325229955,CA 3325229956,3325229959,US 3325229960,3325229975,CA 3325229976,3325229979,IN @@ -145104,9 +147640,7 @@ 3325229992,3325229999,IN 3325230000,3325230047,CA 3325230048,3325230055,AE -3325230056,3325230059,CA -3325230060,3325230063,US -3325230064,3325230079,CA +3325230056,3325230079,CA 3325230080,3325230095,US 3325230096,3325230103,CA 3325230104,3325230111,US @@ -145174,11 +147708,7 @@ 3325307904,3325308927,GB 3325308928,3325313023,CA 3325313024,3325329407,US -3325329408,3325337599,CA -3325337600,3325338111,GB -3325338112,3325340159,CA -3325340160,3325340671,US -3325340672,3325348351,CA +3325329408,3325348351,CA 3325348352,3325348607,US 3325348608,3325359103,CA 3325359104,3325359615,US @@ -145261,7 +147791,9 @@ 3325921320,3325921323,CA 3325921324,3325921439,US 3325921440,3325921447,FI -3325921448,3325922191,US +3325921448,3325922051,US +3325922052,3325922055,MX +3325922056,3325922191,US 3325922192,3325922195,BR 3325922196,3325922503,US 3325922504,3325922511,FR @@ -145325,8 +147857,8 @@ 3326526464,3326526719,CA 3326526720,3326613503,US 3326613504,3326615551,CA -3326615552,3326619647,US -3326619648,3326623743,CA +3326615552,3326621695,US +3326621696,3326623743,CA 3326623744,3326631935,US 3326631936,3326632239,CA 3326632240,3326632247,RO @@ -145379,13 +147911,18 @@ 3327426560,3327459327,CA 3327459328,3327723519,US 3327723520,3327725311,CA -3327725312,3327788543,US +3327725312,3327751679,US +3327751680,3327751935,DE +3327751936,3327752191,CA +3327752192,3327788543,US 3327788544,3327789055,CA 3327789056,3327806463,US 3327806464,3327811583,CA 3327811584,3327885311,US 3327885312,3327918079,CA -3327918080,3328028671,US +3327918080,3327995903,US +3327995904,3327996927,CW +3327996928,3328028671,US 3328028672,3328030719,CW 3328030720,3328180479,US 3328180480,3328181247,CA @@ -145466,7 +148003,9 @@ 3328550324,3328550327,GB 3328550328,3328551031,US 3328551032,3328551039,GB -3328551040,3328551231,US +3328551040,3328551103,US +3328551104,3328551111,MX +3328551112,3328551231,US 3328551232,3328551239,DO 3328551240,3328551319,US 3328551320,3328551327,AW @@ -145508,9 +148047,9 @@ 3328584576,3328584591,GB 3328584592,3328617983,US 3328617984,3328618239,CA -3328618240,3328629503,US -3328629504,3328629759,GB -3328629760,3328630015,US +3328618240,3328629631,US +3328629632,3328629695,GB +3328629696,3328630015,US 3328630016,3328630271,CA 3328630272,3328630783,US 3328630784,3328631807,CA @@ -145537,7 +148076,9 @@ 3328811272,3328811279,CN 3328811280,3328811295,US 3328811296,3328811303,CN -3328811304,3328811615,US +3328811304,3328811407,US +3328811408,3328811415,CN +3328811416,3328811615,US 3328811616,3328811647,CN 3328811648,3328812311,US 3328812312,3328812319,CN @@ -145667,7 +148208,9 @@ 3331098368,3331102463,US 3331102464,3331102719,CA 3331102720,3331129599,US -3331129600,3331133183,CZ +3331129600,3331129855,CZ +3331129856,3331130111,US +3331130112,3331133183,CZ 3331133184,3331133439,US 3331133440,3331133695,CZ 3331133696,3331133951,US @@ -145678,14 +148221,18 @@ 3331137280,3331137791,CZ 3331137792,3331138047,US 3331138048,3331139327,CZ -3331139328,3331139583,US -3331139584,3331140095,CZ +3331139328,3331139839,US +3331139840,3331140095,CZ 3331140096,3331140351,US -3331140352,3331142143,CZ +3331140352,3331141119,CZ +3331141120,3331141375,US +3331141376,3331142143,CZ 3331142144,3331142911,US 3331142912,3331147007,CZ 3331147008,3331147263,US -3331147264,3331149055,CZ +3331147264,3331147519,CZ +3331147520,3331147775,US +3331147776,3331149055,CZ 3331149056,3331149311,US 3331149312,3331149823,CZ 3331149824,3331150335,US @@ -145698,11 +148245,11 @@ 3331153664,3331154175,CZ 3331154176,3331154687,US 3331154688,3331155199,CZ -3331155200,3331155455,US -3331155456,3331157759,CZ +3331155200,3331155711,US +3331155712,3331157759,CZ 3331157760,3331158271,US -3331158272,3331158783,CZ -3331158784,3331159039,US +3331158272,3331158527,CZ +3331158528,3331159039,US 3331159040,3331161855,CZ 3331161856,3331162111,US 3331162112,3331162367,CZ @@ -145715,7 +148262,9 @@ 3331166976,3331167231,US 3331167232,3331167743,CZ 3331167744,3331167999,US -3331168000,3331169279,CZ +3331168000,3331168511,CZ +3331168512,3331168767,US +3331168768,3331169279,CZ 3331169280,3331169791,US 3331169792,3331170559,CZ 3331170560,3331170815,US @@ -145737,7 +148286,9 @@ 3331180032,3331180543,US 3331180544,3331181823,CZ 3331181824,3331182079,US -3331182080,3331185407,CZ +3331182080,3331183615,CZ +3331183616,3331183871,US +3331183872,3331185407,CZ 3331185408,3331185663,US 3331185664,3331187199,CZ 3331187200,3331187711,US @@ -145794,15 +148345,17 @@ 3331371712,3331371775,EE 3331371776,3331372287,US 3331372288,3331372319,FR -3331372320,3331526399,US +3331372320,3331523071,US +3331523072,3331523583,GB +3331523584,3331524095,US +3331524096,3331524607,SG +3331524608,3331526399,US 3331526400,3331526655,FR 3331526656,3331527167,US 3331527168,3331527679,GB 3331527680,3331529023,US 3331529024,3331529031,IN -3331529032,3331529599,US -3331529600,3331529727,EE -3331529728,3331530215,US +3331529032,3331530215,US 3331530216,3331530223,IN 3331530224,3331563519,US 3331563520,3331563775,IN @@ -145838,13 +148391,18 @@ 3331989504,3332002071,US 3332002072,3332002079,FI 3332002080,3332002111,CA -3332002112,3332002207,US +3332002112,3332002143,US +3332002144,3332002159,CA +3332002160,3332002207,US 3332002208,3332002223,CA -3332002224,3332002303,US -3332002304,3332002367,CA -3332002368,3332002495,US +3332002224,3332002255,US +3332002256,3332002271,CA +3332002272,3332002287,US +3332002288,3332002431,CA +3332002432,3332002495,US 3332002496,3332002527,GB -3332002528,3332003839,US +3332002528,3332003711,US +3332003712,3332003839,CA 3332003840,3332004095,ID 3332004096,3332004351,SC 3332004352,3332004671,CA @@ -145971,7 +148529,9 @@ 3333018112,3333023231,CA 3333023232,3333025279,US 3333025280,3333029631,CA -3333029632,3333383167,US +3333029632,3333373951,US +3333373952,3333375999,IN +3333376000,3333383167,US 3333383168,3333384191,CN 3333384192,3333385983,US 3333385984,3333386239,JP @@ -145981,11 +148541,9 @@ 3333396674,3333396674,DE 3333396675,3333427967,US 3333427968,3333428223,GB -3333428224,3333435647,US -3333435648,3333435903,HK -3333435904,3333444095,US -3333444096,3333444351,GB -3333444352,3333444607,NL +3333428224,3333444095,US +3333444096,3333444383,GB +3333444384,3333444607,NL 3333444608,3333444863,SG 3333444864,3333445119,JP 3333445120,3333453823,US @@ -146012,9 +148570,7 @@ 3333519616,3333519871,HK 3333519872,3333520639,US 3333520640,3333520895,DE -3333520896,3333566463,US -3333566464,3333568511,GB -3333568512,3333583871,US +3333520896,3333583871,US 3333583872,3333584895,CA 3333584896,3333593855,US 3333593856,3333594111,CA @@ -146024,15 +148580,16 @@ 3333603330,3333603583,GB 3333603584,3333609983,US 3333609984,3333610239,SG -3333610240,3333621503,US +3333610240,3333614591,US +3333614592,3333614847,GB +3333614848,3333615103,SG +3333615104,3333621503,US 3333621504,3333621759,CA 3333621760,3333624319,US 3333624320,3333624575,CA 3333624576,3333675775,US 3333675776,3333676031,CA -3333676032,3333677311,US -3333677312,3333677567,HK -3333677568,3333701887,US +3333676032,3333701887,US 3333701888,3333702143,GB 3333702144,3333702399,US 3333702400,3333702655,CH @@ -146059,7 +148616,9 @@ 3333829632,3333830143,IN 3333830144,3333859839,US 3333859840,3333860095,BM -3333860096,3333939455,US +3333860096,3333871103,US +3333871104,3333871359,CA +3333871360,3333939455,US 3333939456,3333939711,CA 3333939712,3333947391,US 3333947392,3333949439,IN @@ -146090,8 +148649,8 @@ 3335004592,3335004655,US 3335004656,3335004799,CN 3335004800,3335004863,US -3335004864,3335005055,CN -3335005056,3335005183,US +3335004864,3335005119,CN +3335005120,3335005183,US 3335005184,3335005247,CN 3335005248,3335005663,US 3335005664,3335005695,CN @@ -146112,10 +148671,10 @@ 3335008928,3335009023,US 3335009024,3335009039,CN 3335009040,3335009055,US -3335009056,3335009071,CN -3335009072,3335009087,US -3335009088,3335009167,CN -3335009168,3335009279,US +3335009056,3335009167,CN +3335009168,3335009183,US +3335009184,3335009215,CN +3335009216,3335009279,US 3335009280,3335009407,CN 3335009408,3335009599,US 3335009600,3335009663,CN @@ -146141,11 +148700,7 @@ 3335277312,3335277567,FR 3335277568,3335278079,US 3335278080,3335278335,JP -3335278336,3335349343,US -3335349344,3335349367,FR -3335349368,3335349368,US -3335349369,3335349375,FR -3335349376,3335429631,US +3335278336,3335429631,US 3335429632,3335430143,CA 3335430144,3335439615,US 3335439616,3335439871,CH @@ -146155,17 +148710,16 @@ 3335451904,3335452159,CA 3335452160,3335456767,US 3335458816,3335460863,BM -3335460864,3335524351,US -3335524352,3335524607,AU -3335524608,3335526399,US +3335460864,3335475199,US +3335475200,3335475455,DE +3335475456,3335526399,US 3335526400,3335526911,BR -3335526912,3335527167,US -3335527168,3335527235,DE +3335526912,3335527235,DE 3335527236,3335527237,US 3335527238,3335527423,DE -3335527424,3335527424,US -3335527425,3335527935,IT -3335527936,3335559680,US +3335527424,3335546879,US +3335546880,3335547135,KR +3335547136,3335559680,US 3335559681,3335559935,IE 3335559936,3335564151,US 3335564152,3335564155,TH @@ -146193,7 +148747,9 @@ 3337030656,3337030911,GB 3337030912,3337044479,US 3337044480,3337044735,CA -3337044736,3337050111,US +3337044736,3337044991,US +3337044992,3337045247,CA +3337045248,3337050111,US 3337050112,3337050367,CA 3337050368,3337051903,US 3337051904,3337052159,CA @@ -146206,9 +148762,9 @@ 3337107200,3337107455,AU 3337107456,3337107711,JP 3337107712,3337107967,GB -3337107968,3337198503,US -3337198504,3337198511,CA -3337198512,3337198703,US +3337107968,3337198335,US +3337198336,3337198591,CA +3337198592,3337198703,US 3337198704,3337198707,CA 3337198708,3337201727,US 3337201728,3337201735,CA @@ -146241,9 +148797,18 @@ 3337650688,3337650943,US 3337650944,3337651199,HK 3337651200,3337652223,SG -3337652224,3337654271,US -3337654272,3337658367,AU -3337658368,3337682943,CH +3337652224,3337652991,CH +3337652992,3337653247,GB +3337653248,3337653503,CH +3337653504,3337653759,JP +3337653760,3337654015,CH +3337654016,3337654271,HK +3337654272,3337654527,SG +3337654528,3337654783,CH +3337654784,3337655295,AU +3337655296,3337656063,CH +3337656064,3337656319,US +3337656320,3337682943,CH 3337682944,3337736959,US 3337736960,3337737215,SG 3337737216,3337882111,US @@ -146266,71 +148831,68 @@ 3337959936,3337960447,US 3337960448,3337961471,CA 3337961472,3337961487,US -3337961488,3337961495,CA -3337961496,3337961511,US +3337961488,3337961503,CA +3337961504,3337961511,US 3337961512,3337961519,CA 3337961520,3337961527,RO 3337961528,3337961535,US -3337961536,3337961679,CA -3337961680,3337961999,US +3337961536,3337961687,CA +3337961688,3337961999,US 3337962000,3337962007,CA 3337962008,3337962015,US 3337962016,3337962047,IN -3337962048,3337962119,US -3337962120,3337962143,CA +3337962048,3337962111,US +3337962112,3337962143,CA 3337962144,3337962151,US 3337962152,3337962167,CA 3337962168,3337962175,US 3337962176,3337962239,CA 3337962240,3337962319,US -3337962320,3337962327,CA -3337962328,3337962431,US +3337962320,3337962335,CA +3337962336,3337962431,US 3337962432,3337962511,CA 3337962512,3337962519,US 3337962520,3337962527,CN -3337962528,3337962559,CA -3337962560,3337962575,US -3337962576,3337962607,CA +3337962528,3337962607,CA 3337962608,3337962807,US -3337962808,3337962815,CA -3337962816,3337962943,US +3337962808,3337962831,CA +3337962832,3337962863,US +3337962864,3337962879,CA +3337962880,3337962943,US 3337962944,3337962951,CA 3337962952,3337962959,NO 3337962960,3337962967,CA 3337962968,3337962975,US 3337962976,3337962991,CA -3337962992,3337963039,SC -3337963040,3337963055,CA -3337963056,3337963071,SC +3337962992,3337963007,SC +3337963008,3337963071,CA 3337963072,3337963167,US 3337963168,3337963271,DE 3337963272,3337963295,CA 3337963296,3337963311,US 3337963312,3337963335,CA 3337963336,3337963343,CN -3337963344,3337963359,US -3337963360,3337963375,CA +3337963344,3337963375,CA 3337963376,3337963383,US 3337963384,3337963391,CA -3337963392,3337963407,US -3337963408,3337963415,CA -3337963416,3337963431,US +3337963392,3337963399,US +3337963400,3337963407,CN +3337963408,3337963423,CA +3337963424,3337963431,US 3337963432,3337963455,CA 3337963456,3337963487,GB 3337963488,3337963495,US -3337963496,3337963519,CA -3337963520,3337963615,US +3337963496,3337963535,CA +3337963536,3337963551,US +3337963552,3337963583,CA +3337963584,3337963615,US 3337963616,3337963623,CA 3337963624,3337963631,US 3337963632,3337963647,CA -3337963648,3337963743,US -3337963744,3337963775,CA -3337963776,3337963783,US -3337963784,3337963799,CA -3337963800,3337963807,US -3337963808,3337963839,CA -3337963840,3337963855,US -3337963856,3337963871,CA +3337963648,3337963679,US +3337963680,3337963711,CA +3337963712,3337963743,US +3337963744,3337963871,CA 3337963872,3337963879,US 3337963880,3337963903,CA 3337963904,3337963911,MA @@ -146343,8 +148905,7 @@ 3337964320,3337964351,CA 3337964352,3337964415,US 3337964416,3337964543,CL -3337964544,3337964671,US -3337964672,3337964735,CA +3337964544,3337964735,CA 3337964736,3337964751,US 3337964752,3337964767,CA 3337964768,3337969663,US @@ -146366,7 +148927,9 @@ 3338067712,3338067967,SG 3338067968,3338069247,US 3338069248,3338069759,BB -3338069760,3338208511,US +3338069760,3338207487,US +3338207488,3338207743,CA +3338207744,3338208511,US 3338208512,3338208767,CA 3338208768,3338211583,US 3338211584,3338211839,CA @@ -146380,8 +148943,8 @@ 3338231808,3338232063,CA 3338232064,3338235647,US 3338235648,3338235903,CA -3338235904,3338241791,US -3338241792,3338242047,CA +3338235904,3338241535,US +3338241536,3338242047,CA 3338242048,3338246655,US 3338246656,3338247167,CA 3338247168,3338247423,US @@ -146392,7 +148955,9 @@ 3338248960,3338249215,CA 3338249216,3338249727,US 3338249728,3338249983,CA -3338249984,3338255615,US +3338249984,3338252543,US +3338252544,3338252799,CA +3338252800,3338255615,US 3338255616,3338255871,CA 3338255872,3338257407,US 3338257408,3338257663,CA @@ -146402,7 +148967,9 @@ 3338260736,3338260991,CA 3338260992,3338262527,US 3338262528,3338262783,CA -3338262784,3338269183,US +3338262784,3338266111,US +3338266112,3338266367,CA +3338266368,3338269183,US 3338269184,3338269439,CA 3338269440,3338269951,US 3338269952,3338270207,CA @@ -146505,16 +149072,12 @@ 3339184128,3339186175,CA 3339186176,3339261951,US 3339261952,3339263999,HK -3339264000,3339270399,US -3339270400,3339270655,CA +3339264000,3339270143,US +3339270144,3339270655,CA 3339271168,3339327999,US 3339328512,3339328831,CA 3339328832,3339328895,US -3339328896,3339328943,CA -3339328944,3339328959,AE -3339328960,3339329103,CA -3339329104,3339329119,US -3339329120,3339329279,CA +3339328896,3339329279,CA 3339329280,3339329407,US 3339329408,3339329535,CA 3339329536,3339342847,US @@ -146531,7 +149094,8 @@ 3339722704,3339722719,CA 3339722720,3339728895,US 3339728896,3339729407,AG -3339729408,3339729919,DM +3339729408,3339729663,DM +3339729664,3339729919,AG 3339729920,3339743231,US 3339743232,3339744255,CA 3339744256,3339747327,US @@ -146552,13 +149116,9 @@ 3339934720,3339935743,CA 3339935744,3339937279,US 3339937280,3339937535,MX -3339937536,3339937816,US -3339937817,3339937879,CN -3339937880,3339939130,US -3339939131,3339939191,BR -3339939192,3339939534,US -3339939535,3339939582,TR -3339939583,3339952127,US +3339937536,3339937791,US +3339937792,3339939839,CA +3339939840,3339952127,US 3339952128,3339956223,CA 3339956224,3339962559,US 3339962560,3339962591,GB @@ -146616,14 +149176,14 @@ 3340677120,3340679167,CA 3340679168,3340694783,US 3340694784,3340695039,CA -3340695040,3340851455,US +3340695040,3340846119,US +3340846120,3340846127,GB +3340846128,3340851455,US 3340851456,3340851711,CA 3340851712,3340852735,US 3340852736,3340853247,CA 3340853248,3340857343,US -3340857344,3340858015,CA -3340858016,3340858047,US -3340858048,3340858367,CA +3340857344,3340858367,CA 3340858368,3340859135,US 3340859136,3340859391,HK 3340859392,3340896255,US @@ -146636,11 +149196,15 @@ 3340911360,3340915455,CA 3340915456,3340919295,US 3340919296,3340921343,CA -3340921344,3340925807,US +3340921344,3340925159,US +3340925160,3340925167,FR +3340925168,3340925807,US 3340925808,3340925815,RU 3340925816,3340926151,US 3340926152,3340926159,CN -3340926160,3341057023,US +3340926160,3340926167,US +3340926168,3340926175,AR +3340926176,3341057023,US 3341057024,3341058047,CA 3341058048,3341180927,US 3341180928,3341182975,CA @@ -146655,7 +149219,13 @@ 3341216256,3341216767,JP 3341216768,3341217791,CA 3341217792,3341287423,US -3341287424,3341408511,CZ +3341287424,3341338623,CZ +3341338624,3341339647,MY +3341339648,3341339903,CZ +3341339904,3341340159,MY +3341340160,3341340415,CZ +3341340416,3341340671,MY +3341340672,3341408511,CZ 3341408512,3341408767,US 3341408768,3341418495,CZ 3341418496,3341445119,US @@ -146684,10 +149254,7 @@ 3341533952,3341534207,CA 3341534720,3341535015,US 3341535016,3341535023,MX -3341535024,3341535087,US -3341535088,3341535091,GH -3341535092,3341535095,TH -3341535096,3341535167,US +3341535024,3341535167,US 3341535168,3341535171,BD 3341535172,3341535231,US 3341535232,3341535487,GB @@ -146707,11 +149274,7 @@ 3341645056,3341645311,CA 3341645312,3341709311,US 3341709312,3341710335,CA -3341710336,3341727743,US -3341727744,3341728767,AU -3341728768,3341743103,US -3341743104,3341743359,GB -3341743360,3341758463,US +3341710336,3341758463,US 3341758464,3341759487,CA 3341759488,3341760511,BB 3341760512,3341762559,CA @@ -146745,12 +149308,29 @@ 3341870592,3341871103,GB 3341871104,3341873407,US 3341873408,3341873663,CA -3341873664,3341881087,US -3341881088,3341881343,SG +3341873664,3341877247,US +3341877248,3341879295,GB +3341879296,3341881343,SG 3341881344,3341891071,US 3341891072,3341891327,AU 3341891328,3342139391,US -3342139392,3342204927,CH +3342139392,3342143487,CH +3342143488,3342143999,US +3342144000,3342144511,CH +3342144512,3342144767,JP +3342144768,3342145023,GB +3342145024,3342145279,AU +3342145280,3342146303,CH +3342146304,3342146559,SG +3342146560,3342158335,CH +3342158336,3342158591,US +3342158592,3342186239,CH +3342186240,3342186495,US +3342186496,3342186751,CH +3342186752,3342187007,US +3342187008,3342189311,CH +3342189312,3342189567,US +3342189568,3342204927,CH 3342204928,3342470399,US 3342470400,3342470655,CA 3342471168,3342487551,US @@ -146773,7 +149353,9 @@ 3342516992,3342517247,CA 3342517248,3342526463,US 3342526464,3342528511,CA -3342528512,3342552063,US +3342528512,3342530559,US +3342530560,3342531583,CA +3342531584,3342552063,US 3342552064,3342553087,CA 3342553088,3342565375,US 3342565376,3342567423,CA @@ -146807,23 +149389,23 @@ 3342879488,3342879551,NL 3342879552,3342879567,US 3342879568,3342879743,NL -3342879744,3342974975,US +3342879744,3342958591,US +3342958592,3342958847,BE +3342958848,3342974975,US 3342974976,3342977023,CN 3342977024,3342979071,US -3342979072,3342979327,ID -3342979328,3342979583,US -3342979584,3342979587,SG +3342979072,3342979587,SG 3342979588,3342979591,US -3342979592,3342979839,SG -3342979840,3343013887,US +3342979592,3342981119,SG +3342981120,3343013887,US 3343013888,3343015935,CA 3343015936,3343020031,US 3343020032,3343021055,CA -3343021056,3343055871,US +3343021056,3343046959,US +3343046960,3343046963,BE +3343046964,3343055871,US 3343055872,3343056895,CA -3343056896,3343090582,US -3343090583,3343090583,MX -3343090584,3343153151,US +3343056896,3343153151,US 3343153152,3343154943,CA 3343154944,3343167487,US 3343167488,3343169535,CA @@ -146849,7 +149431,9 @@ 3343378536,3343378543,GB 3343378544,3343378559,US 3343378560,3343378583,GB -3343378584,3343378759,US +3343378584,3343378607,US +3343378608,3343378615,GB +3343378616,3343378759,US 3343378760,3343378767,CL 3343378768,3343378775,US 3343378776,3343378783,RU @@ -146862,7 +149446,9 @@ 3343378960,3343378967,RU 3343378968,3343379079,US 3343379080,3343379087,SE -3343379088,3343379183,US +3343379088,3343379143,US +3343379144,3343379151,GB +3343379152,3343379183,US 3343379184,3343379199,EE 3343379200,3343379399,US 3343379400,3343379407,CO @@ -146876,25 +149462,21 @@ 3343465472,3343466495,JM 3343466496,3343563521,US 3343563522,3343563522,SG -3343563523,3343649791,US -3343649792,3343650405,VI -3343650406,3343650406,US -3343650407,3343650815,VI +3343563523,3343650303,US +3343650304,3343650815,VI 3343650816,3343653535,US 3343653536,3343653551,CA 3343653552,3343653631,US 3343653632,3343653695,CA -3343653696,3343656447,US -3343656448,3343656959,VI -3343656960,3343746047,US -3343746048,3343747071,VI -3343747072,3343763711,US -3343763712,3343763729,CA -3343763730,3343763730,US -3343763731,3343763967,CA -3343763968,3343764735,US -3343764736,3343764991,VI -3343764992,3343858687,US +3343653696,3343665151,US +3343665152,3343665663,CA +3343665664,3343746047,US +3343746048,3343746303,VI +3343746304,3343746431,US +3343746432,3343747071,VI +3343747072,3343763903,US +3343763904,3343763935,CA +3343763936,3343858687,US 3343858688,3343859199,VG 3343859200,3343923135,US 3343923136,3343923199,HK @@ -146944,7 +149526,9 @@ 3344379904,3344380927,CA 3344380928,3344381167,US 3344381168,3344381175,NZ -3344381176,3344406527,US +3344381176,3344381263,US +3344381264,3344381271,MX +3344381272,3344406527,US 3344406528,3344408575,CA 3344408576,3344411135,US 3344411136,3344411647,BM @@ -146977,10 +149561,8 @@ 3344674208,3344674223,GB 3344674224,3344676863,US 3344676864,3344677247,CA -3344677248,3344677263,US -3344677264,3344677279,CA -3344677280,3344677295,US -3344677296,3344677407,CA +3344677248,3344677311,US +3344677312,3344677407,CA 3344677408,3344677423,US 3344677424,3344678911,CA 3344678912,3344680959,PA @@ -147018,18 +149600,10 @@ 3345327104,3345328127,CA 3345328128,3345332287,US 3345332288,3345332295,BR -3345332296,3345332431,US -3345332432,3345332435,AE -3345332436,3345332495,US +3345332296,3345332495,US 3345332496,3345332503,CA 3345332504,3345332511,CN -3345332512,3345332539,US -3345332540,3345332543,BR -3345332544,3345332587,US -3345332588,3345332591,IN -3345332592,3345332603,US -3345332604,3345332607,BD -3345332608,3345332659,US +3345332512,3345332659,US 3345332660,3345332663,VN 3345332664,3345332831,US 3345332832,3345332863,ID @@ -147054,7 +149628,9 @@ 3345398784,3345399807,BS 3345399808,3345401855,PR 3345401856,3345403903,CA -3345403904,3345408534,US +3345403904,3345408496,US +3345408497,3345408497,GB +3345408498,3345408534,US 3345408535,3345408538,AU 3345408539,3345408581,US 3345408582,3345408585,GB @@ -147108,7 +149684,9 @@ 3345448448,3345448959,BE 3345448960,3345666623,US 3345666624,3345666639,NO -3345666640,3346196479,US +3345666640,3345690879,US +3345690880,3345691135,SG +3345691136,3346196479,US 3346196480,3346197503,CA 3346197504,3346198527,US 3346198528,3346200575,CA @@ -147120,17 +149698,17 @@ 3346210243,3346210303,JM 3346210304,3346219007,US 3346219008,3346221055,CA -3346221056,3346225151,US +3346221056,3346221903,US +3346221904,3346221911,IT +3346221912,3346225151,US 3346225152,3346227199,CA -3346227200,3346231810,US -3346231811,3346231827,AR -3346231828,3346231846,US -3346231847,3346231854,GB -3346231855,3346232608,US +3346227200,3346232608,US 3346232609,3346232617,AR 3346232618,3346232831,US 3346232832,3346232895,GB -3346232896,3346234367,US +3346232896,3346233279,US +3346233280,3346233311,GB +3346233312,3346234367,US 3346234368,3346234687,CA 3346234688,3346234695,US 3346234696,3346235391,CA @@ -147139,7 +149717,7 @@ 3346262016,3346282495,US 3346282496,3346284543,PR 3346284544,3346319359,US -3346321408,3346322431,US +3346321408,3346323455,US 3346323456,3346325503,CA 3346325504,3346327551,US 3346327552,3346328575,CA @@ -147199,7 +149777,8 @@ 3347033088,3347034111,CA 3347034112,3347039231,US 3347039232,3347039999,DM -3347040000,3347040255,LC +3347040000,3347040063,GD +3347040064,3347040255,LC 3347040256,3347049471,US 3347049472,3347050495,GU 3347050496,3349341695,US @@ -147215,9 +149794,10 @@ 3349533952,3349545215,US 3349545216,3349545727,CA 3349545728,3349545983,US -3349545984,3349551103,CA -3349551104,3349553407,US -3349553408,3349553663,CA +3349545984,3349548791,CA +3349548792,3349548799,US +3349548800,3349551103,CA +3349551104,3349553663,US 3349553664,3349554687,IN 3349554688,3349600255,CA 3349600256,3349601023,US @@ -147299,11 +149879,7 @@ 3350488192,3350488575,US 3350488576,3350488607,CN 3350488608,3350491135,US -3350491136,3350491489,CA -3350491490,3350491518,US -3350491519,3350492415,CA -3350492416,3350492927,US -3350492928,3350493183,CA +3350491136,3350493183,CA 3350493184,3350501395,US 3350501396,3350501399,TR 3350501400,3350503103,US @@ -147312,9 +149888,7 @@ 3350505472,3350507519,CA 3350507520,3350548735,US 3350548736,3350548991,CA -3350548992,3350561535,US -3350561536,3350561791,AU -3350561792,3350574591,US +3350548992,3350574591,US 3350574848,3350575103,CA 3350575104,3350606847,US 3350606848,3350607871,CA @@ -147376,7 +149950,9 @@ 3351013760,3351013823,CN 3351013824,3351014063,US 3351014064,3351014143,CN -3351014144,3351014687,US +3351014144,3351014271,US +3351014272,3351014335,CN +3351014336,3351014687,US 3351014688,3351014703,CN 3351014704,3351014751,US 3351014752,3351014783,CN @@ -147392,7 +149968,9 @@ 3351043072,3351043327,CA 3351043328,3351043583,FR 3351043584,3351044095,CA -3351044096,3351058943,US +3351044096,3351052287,US +3351052288,3351053311,CA +3351053312,3351058943,US 3351058944,3351059455,CA 3351059456,3351071743,US 3351071744,3351072767,CA @@ -147422,26 +150000,18 @@ 3351113728,3351129087,US 3351129088,3351129343,HK 3351129344,3351194111,US -3351194112,3351194623,FR -3351194624,3351196159,US +3351194112,3351194367,FR +3351194368,3351196159,US 3351196160,3351196671,VG -3351196672,3351197739,US -3351197740,3351197743,VN -3351197744,3351197751,US +3351196672,3351197751,US 3351197752,3351197759,PT 3351197760,3351197795,US 3351197796,3351197799,CN -3351197800,3351197895,US -3351197896,3351197899,BR -3351197900,3351198059,US -3351198060,3351198063,IN -3351198064,3351198231,US +3351197800,3351198231,US 3351198232,3351198235,CA 3351198236,3351198239,US 3351198240,3351198247,TR -3351198248,3351198371,US -3351198372,3351198375,BR -3351198376,3351198403,US +3351198248,3351198403,US 3351198404,3351198407,IN 3351198408,3351198411,US 3351198412,3351198415,GB @@ -147449,14 +150019,15 @@ 3351198472,3351198475,VN 3351198476,3351198551,US 3351198552,3351198555,BD -3351198556,3351198559,SA -3351198560,3351198695,US +3351198556,3351198695,US 3351198696,3351198703,MA 3351198704,3351232511,US 3351232512,3351232767,IL 3351232768,3351269217,US 3351269218,3351269218,DE -3351269219,3351275519,US +3351269219,3351269241,US +3351269242,3351269242,CA +3351269243,3351275519,US 3351275520,3351276543,CA 3351276544,3351293951,US 3351293952,3351294975,CA @@ -147491,19 +150062,25 @@ 3351380992,3351381759,CA 3351381760,3351385343,US 3351385344,3351385599,CA -3351385600,3351389183,US +3351385600,3351387135,US +3351387136,3351387391,CA +3351387392,3351389183,US 3351389184,3351389439,CA 3351389440,3351390719,US 3351390720,3351390975,CA 3351390976,3351394815,US 3351394816,3351395071,CA -3351395072,3351398399,US +3351395072,3351397887,US +3351397888,3351398143,CA +3351398144,3351398399,US 3351398400,3351398655,CA 3351398656,3351399423,US 3351399424,3351399679,CA 3351399680,3351402751,US 3351402752,3351403263,CA -3351403264,3351405311,US +3351403264,3351404031,US +3351404032,3351404287,CA +3351404288,3351405311,US 3351405312,3351405567,CA 3351405568,3351407615,US 3351407616,3351407871,CA @@ -147562,11 +150139,10 @@ 3351706368,3351706474,CA 3351706475,3351706475,US 3351706476,3351706623,CA -3351706624,3351855615,US -3351855616,3351855647,GB -3351855648,3351855679,IE -3351855680,3351855743,GB -3351855744,3351855871,FR +3351706624,3351854847,US +3351854848,3351855103,SG +3351855104,3351855615,US +3351855616,3351855871,GB 3351855872,3351860223,US 3351860224,3351861247,KY 3351861248,3351869439,US @@ -147590,15 +150166,15 @@ 3351963648,3351969791,US 3351969792,3351970047,IL 3351970048,3351970559,US -3351970560,3351996671,IL +3351970560,3351987199,IL +3351987200,3351987455,US +3351987456,3351996671,IL 3351996672,3351996927,US -3351996928,3352035327,IL +3351996928,3352002303,IL +3352002304,3352002559,US +3352002560,3352035327,IL 3352035328,3352036351,CA -3352036352,3352037375,US -3352037376,3352037888,FR -3352037889,3352037889,US -3352037890,3352038399,FR -3352038400,3352046591,US +3352036352,3352046591,US 3352046592,3352049663,CA 3352049664,3352051711,US 3352051712,3352055807,CA @@ -147692,7 +150268,9 @@ 3353822208,3353822239,CN 3353822240,3353822335,US 3353822336,3353822367,CN -3353822368,3353836799,US +3353822368,3353823007,US +3353823008,3353823015,CN +3353823016,3353836799,US 3353836800,3353837311,CA 3353837312,3353855999,US 3353856000,3353858047,CA @@ -147747,8 +150325,10 @@ 3354507864,3354507871,GR 3354507872,3354507903,US 3354507904,3354507907,BZ -3354507908,3354507911,IN -3354507912,3354507983,US +3354507908,3354507915,US +3354507916,3354507919,FR +3354507920,3354507967,US +3354507968,3354507983,MX 3354507984,3354507991,AE 3354507992,3354508015,US 3354508016,3354508031,MX @@ -147758,18 +150338,13 @@ 3354508075,3354508075,CY 3354508076,3354508215,US 3354508216,3354508219,RU -3354508220,3354508235,US -3354508236,3354508239,CA -3354508240,3354508263,US -3354508264,3354508267,TH -3354508268,3354508295,US +3354508220,3354508295,US 3354508296,3354508303,CY 3354508304,3354508347,US 3354508348,3354508351,CA 3354508352,3354508439,US 3354508440,3354508447,AE -3354508448,3354508455,TH -3354508456,3354508487,US +3354508448,3354508487,US 3354508488,3354508491,VN 3354508492,3354508527,US 3354508528,3354508535,AE @@ -147779,15 +150354,12 @@ 3354508704,3354508735,AE 3354508736,3354508743,US 3354508744,3354508751,BD -3354508752,3354508855,US -3354508856,3354508863,GB +3354508752,3354508863,US 3354508864,3354508895,CY 3354508896,3354508927,US 3354508928,3354508943,GB 3354508944,3354508951,BR -3354508952,3354509191,US -3354509192,3354509199,GB -3354509200,3354509263,US +3354508952,3354509263,US 3354509264,3354509279,BR 3354509280,3354509295,US 3354509296,3354509299,CA @@ -147826,7 +150398,11 @@ 3354859520,3354861567,NL 3354861568,3354862079,US 3354862080,3354862335,DE -3354862336,3354865663,US +3354862336,3354862591,SE +3354862592,3354862847,US +3354862848,3354863103,SE +3354863104,3354864127,DE +3354864128,3354865663,US 3354865664,3354866175,CA 3354866176,3354866431,US 3354866432,3354867711,CA @@ -147854,9 +150430,9 @@ 3355308544,3355308545,SG 3355308546,3355308547,US 3355308548,3355308799,SG -3355308800,3355309827,US -3355309828,3355310079,SG -3355310080,3355310591,US +3355308800,3355309567,US +3355309568,3355309823,GB +3355309824,3355310591,US 3355310592,3355311103,CA 3355311104,3355338751,US 3355338752,3355340799,BB @@ -147873,15 +150449,12 @@ 3355389696,3355389951,JP 3355389952,3355407359,US 3355407360,3355408383,PR -3355408384,3355412775,US -3355412776,3355412783,UA -3355412784,3355417735,US -3355417736,3355417743,NP -3355417744,3355418079,US +3355408384,3355418079,US 3355418080,3355418111,CN 3355418112,3355418399,US 3355418400,3355418431,BE -3355418432,3355418455,GB +3355418432,3355418447,US +3355418448,3355418455,GB 3355418456,3355432959,US 3355432960,3355435007,CA 3355435008,3355443199,US @@ -147896,9 +150469,7 @@ 3355449344,3355450367,CU 3355450368,3355451391,EC 3355451392,3355458559,BR -3355458560,3355458591,HN -3355458592,3355458599,US -3355458600,3355459071,HN +3355458560,3355459071,HN 3355459072,3355459327,BR 3355459328,3355459583,EC 3355459840,3355460095,VE @@ -148072,9 +150643,9 @@ 3355905536,3355905791,PY 3355905792,3355906047,AR 3355906048,3355910143,CL -3355910144,3355912575,SX -3355912576,3355912703,MF -3355912704,3355918335,SX +3355910144,3355916031,SX +3355916032,3355916287,BL +3355916288,3355918335,SX 3355918336,3355923455,EC 3355923456,3355924479,UY 3355924480,3355926527,TT @@ -148334,8 +150905,8 @@ 3356336640,3356338175,HN 3356338176,3356340479,SV 3356340480,3356340735,HN -3356340736,3356341759,SV -3356341760,3356342015,HN +3356340736,3356341503,SV +3356341504,3356342015,HN 3356342016,3356343039,SV 3356343040,3356343295,HN 3356343296,3356344319,SV @@ -148364,19 +150935,15 @@ 3356390656,3356391167,CL 3356391168,3356391423,PA 3356393472,3356413183,CL -3356413184,3356413439,CO -3356413440,3356413567,CL +3356413184,3356413311,CO +3356413312,3356413567,CL 3356413568,3356413823,CO 3356413824,3356419839,CL -3356419840,3356419967,CO -3356419968,3356420243,CL -3356420244,3356420244,CO -3356420245,3356420287,CL -3356420288,3356420351,CO -3356420352,3356420735,CL -3356420736,3356420991,CO -3356420992,3356421119,CL -3356421120,3356422143,CO +3356419840,3356420095,CO +3356420096,3356420223,CL +3356420224,3356420351,CO +3356420352,3356420607,CL +3356420608,3356422143,CO 3356422144,3356425471,CL 3356425472,3356425727,CO 3356425728,3356426239,CL @@ -148489,24 +151056,27 @@ 3357442416,3357442423,HN 3357442424,3357442431,GT 3357442432,3357442439,HN -3357442440,3357443007,GT -3357443008,3357443071,SV -3357443072,3357443583,GT +3357442440,3357443583,GT 3357443584,3357443839,HN -3357443840,3357444207,GT -3357444208,3357444215,HN -3357444216,3357444351,GT +3357443840,3357444351,GT 3357444352,3357444607,HN 3357444608,3357448311,GT 3357448312,3357448319,SV -3357448320,3357449215,GT +3357448320,3357449007,GT +3357449008,3357449015,HN +3357449016,3357449215,GT 3357449216,3357449727,HN -3357449728,3357451167,GT +3357449728,3357450751,GT +3357450752,3357451007,SV +3357451008,3357451167,GT 3357451168,3357451175,HN 3357451176,3357452287,GT 3357452288,3357452543,HN -3357452544,3357453055,GT -3357453056,3357453311,SV +3357452544,3357452799,GT +3357452800,3357453055,NI +3357453056,3357453095,GT +3357453096,3357453103,SV +3357453104,3357453311,GT 3357453312,3357453567,HN 3357453568,3357454591,GT 3357454592,3357454847,NI @@ -148518,18 +151088,21 @@ 3357475072,3357475887,AR 3357475888,3357475903,VE 3357475904,3357476351,AR -3357476352,3357476607,EC +3357476352,3357476479,EC +3357476480,3357476607,AR 3357476608,3357476863,US -3357476864,3357477631,EC +3357476864,3357477375,EC +3357477376,3357477423,AR +3357477424,3357477431,EC +3357477432,3357477623,AR +3357477624,3357477631,EC 3357477632,3357477887,AR -3357477888,3357478911,CO -3357478912,3357478991,AR -3357478992,3357479007,CO -3357479008,3357479039,AR -3357479040,3357479167,CO -3357479168,3357479935,AR -3357479936,3357480063,CO -3357480064,3357480559,AR +3357477888,3357479167,CO +3357479168,3357479839,AR +3357479840,3357479847,CO +3357479848,3357479935,AR +3357479936,3357480447,CO +3357480448,3357480559,AR 3357480560,3357480575,CO 3357480576,3357480703,AR 3357480704,3357480959,CO @@ -148543,20 +151116,16 @@ 3357532160,3357556991,AR 3357556992,3357557247,MX 3357557248,3357557759,AR -3357557760,3357558015,EC -3357558016,3357558271,AR -3357558272,3357558783,EC -3357558784,3357559007,AR -3357559008,3357559015,EC -3357559016,3357559039,AR -3357559040,3357559167,EC -3357559168,3357560319,AR +3357557760,3357559295,EC +3357559296,3357560319,AR 3357560320,3357560575,MX 3357560576,3357561167,AR 3357561168,3357561175,CO 3357561176,3357561199,AR -3357561200,3357561343,CO -3357561344,3357581311,AR +3357561200,3357561215,CO +3357561216,3357561247,AR +3357561248,3357561279,CO +3357561280,3357581311,AR 3357581312,3357589503,CL 3357589504,3357605887,BZ 3357605888,3357606911,MX @@ -148650,28 +151219,24 @@ 3358144256,3358144511,CL 3358144512,3358144639,AR 3358144640,3358144767,VE -3358144768,3358149735,AR -3358149736,3358149743,CO -3358149744,3358149887,AR -3358149888,3358150015,CO -3358150016,3358150351,AR -3358150352,3358150655,CO +3358144768,3358149759,AR +3358149760,3358150143,CO +3358150144,3358150351,AR +3358150352,3358150399,CO +3358150400,3358150623,AR +3358150624,3358150655,CO 3358150656,3358151039,AR 3358151040,3358151167,EC 3358151168,3358151551,AR 3358151552,3358151679,EC -3358151680,3358151807,PE -3358151808,3358153679,AR +3358151680,3358152319,AR +3358152320,3358152447,PE +3358152448,3358153679,AR 3358153680,3358153695,US 3358153696,3358153727,AR 3358153728,3358153855,EC 3358153856,3358154239,AR -3358154240,3358154303,CL -3358154304,3358154335,AR -3358154336,3358154351,US -3358154352,3358154367,CL -3358154368,3358154495,AR -3358154496,3358154751,CL +3358154240,3358154751,CL 3358154752,3358158847,PE 3358158848,3358159423,AR 3358159424,3358159455,EC @@ -148711,10 +151276,13 @@ 3358563328,3358564095,CO 3358564096,3358567423,AR 3358567424,3358568447,CO -3358568448,3358578687,AR +3358568448,3358569471,AR +3358569472,3358570495,VE +3358570496,3358578431,AR +3358578432,3358578687,VE 3358578688,3358579711,CO -3358579712,3358580223,VE -3358580224,3358587903,AR +3358579712,3358580735,VE +3358580736,3358587903,AR 3358587904,3358588927,CL 3358588928,3358654463,PE 3358654464,3358658559,AR @@ -148732,9 +151300,9 @@ 3358738176,3358738687,GD 3358738688,3358739711,BB 3358739712,3358739967,KN -3358739968,3358742783,BB -3358742784,3358743039,TC -3358743040,3358744575,BB +3358739968,3358743039,BB +3358743040,3358743295,TC +3358743296,3358744575,BB 3358744576,3358752767,CL 3358752768,3358756863,BB 3358756864,3358760959,CL @@ -148919,7 +151487,9 @@ 3361726464,3361734655,MX 3361734656,3362258943,BR 3362258944,3362324479,CL -3362324480,3362349055,AR +3362324480,3362326015,AR +3362326016,3362326271,US +3362326272,3362349055,AR 3362349056,3362351103,CR 3362351104,3362353151,AR 3362353152,3362355199,EC @@ -148931,7 +151501,9 @@ 3362428928,3362430975,CL 3362430976,3362447359,CO 3362447360,3362447871,SV -3362447872,3362449407,HN +3362447872,3362448895,HN +3362448896,3362449151,SV +3362449152,3362449407,HN 3362449408,3362450175,SV 3362450176,3362450943,HN 3362450944,3362451455,SV @@ -148960,7 +151532,9 @@ 3362529280,3362537471,PA 3362537472,3362545663,AR 3362545664,3362549759,PE -3362549760,3362552127,AR +3362549760,3362551967,AR +3362551968,3362551983,VE +3362551984,3362552127,AR 3362552128,3362552143,VE 3362552144,3362552431,AR 3362552432,3362552447,MX @@ -149039,7 +151613,8 @@ 3363045376,3363110911,CO 3363110912,3363176447,AR 3363176448,3363274751,CO -3363274752,3363291135,GT +3363274752,3363289087,GT +3363289088,3363291135,CR 3363291136,3363299327,BO 3363299328,3363373055,CL 3363373056,3363438591,PE @@ -149079,9 +151654,7 @@ 3363713280,3363714047,CL 3363714048,3363715583,PE 3363715584,3363716095,CL -3363716096,3363716607,PE -3363716608,3363716863,AR -3363716864,3363717119,PE +3363716096,3363717119,PE 3363717120,3363733503,CL 3363733504,3363831807,AR 3363831808,3367763967,BR @@ -149100,7 +151673,8 @@ 3370196992,3370214399,BR 3370214400,3370215423,AR 3370215424,3370487807,BR -3370487808,3370488831,CR +3370487808,3370488575,CR +3370488576,3370488831,HN 3370488832,3370489855,AR 3370489856,3370490879,VE 3370490880,3370506239,BR @@ -149112,9 +151686,7 @@ 3370926080,3370942463,MX 3370942464,3371106303,BR 3371106304,3371122687,MX -3371122688,3373750783,BR -3373750784,3373751295,AE -3373751296,3378511871,BR +3371122688,3378511871,BR 3378511872,3380506879,MX 3380506880,3380507135,BR 3380507136,3380744191,MX @@ -149152,8 +151724,7 @@ 3380824064,3380824319,MX 3380824320,3380824575,GT 3380824576,3380825087,AR -3380825088,3380825343,MX -3380825344,3380825599,HT +3380825088,3380825599,HT 3380825600,3380825855,CO 3380825856,3380826111,AR 3380826112,3380828159,BR @@ -149265,7 +151836,7 @@ 3382662144,3382665215,BR 3382665216,3382669311,MX 3382669312,3382669823,SV -3382669824,3382670335,GT +3382669824,3382670335,HN 3382670336,3382672383,BR 3382672384,3382677503,MX 3382677504,3382681599,BR @@ -149279,7 +151850,9 @@ 3382704128,3382706175,BR 3382706176,3382853631,MX 3382853632,3382870015,BR -3382870016,3383701503,MX +3382870016,3383695359,MX +3383695360,3383695871,CO +3383695872,3383701503,MX 3383701504,3383705599,BR 3383705600,3383754751,MX 3383754752,3384148991,AR @@ -149319,9 +151892,7 @@ 3386245120,3386376191,CL 3386376192,3386392575,CO 3386408960,3386425343,GT -3386425344,3386435071,AR -3386435072,3386435327,UY -3386435328,3386441727,AR +3386425344,3386441727,AR 3386441728,3386458111,PY 3386458112,3386474495,EC 3386474496,3386490879,UY @@ -149348,7 +151919,8 @@ 3386634240,3386636287,CO 3386636288,3386637311,BR 3386637312,3386638335,UY -3386638336,3386640895,SX +3386638336,3386640383,MQ +3386640384,3386640895,SX 3386640896,3386641151,US 3386641152,3386642431,SX 3386642432,3386644735,AR @@ -149520,6 +152092,7 @@ 3389194240,3389195775,AU 3389195776,3389196287,HK 3389196288,3389197567,AU +3389197568,3389197823,SG 3389197824,3389198079,ID 3389198080,3389198335,IN 3389198336,3389202431,KR @@ -149539,8 +152112,7 @@ 3389214720,3389218815,NZ 3389218816,3389222911,AU 3389222912,3389223935,US -3389223936,3389225983,IN -3389225984,3389226495,AU +3389223936,3389226495,IN 3389226496,3389226751,SG 3389226752,3389227007,IN 3389227008,3389227519,CN @@ -149560,9 +152132,7 @@ 3389266176,3389266431,IN 3389266432,3389266943,HK 3389266944,3389267967,AU -3389267968,3389271551,WS -3389271552,3389272063,AU -3389272064,3389276159,WS +3389267968,3389276159,WS 3389276160,3389284351,AU 3389284352,3389292543,BD 3389292544,3389300735,CN @@ -149607,7 +152177,9 @@ 3389345792,3389349887,TH 3389349888,3389358079,AU 3389358080,3389366271,PK -3389366272,3389374463,AU +3389366272,3389372415,AU +3389372416,3389372927,CA +3389372928,3389374463,AU 3389374464,3389378559,MN 3389378560,3389381631,CN 3389381632,3389382655,JP @@ -149705,8 +152277,7 @@ 3389542400,3389543423,JP 3389543424,3389544447,TH 3389544448,3389545471,HK -3389545472,3389545727,AU -3389545728,3389545983,HK +3389545472,3389545983,AU 3389545984,3389546495,SG 3389554688,3389562879,CN 3389562880,3389571071,KR @@ -149977,25 +152548,21 @@ 3390429952,3390439423,SG 3390439424,3390441471,NZ 3390441472,3390443519,TH -3390443520,3390447359,NZ -3390447360,3390447615,ID +3390443520,3390447615,NZ 3390447616,3390455807,KR 3390455808,3390472191,JP -3390472192,3390479615,NC -3390479616,3390479871,FR -3390479872,3390480383,NC +3390472192,3390480383,NC 3390480384,3390484479,AU 3390484480,3390488575,GU 3390488576,3390492671,BD 3390492672,3390496767,JP -3390496768,3390498303,NC -3390498304,3390498559,FR -3390498560,3390500863,NC +3390496768,3390500863,NC 3390500864,3390502911,HK 3390502912,3390504959,CN 3390504960,3390767103,JP 3390767104,3390769407,NZ 3390769408,3390769663,IN +3390769664,3390770175,AU 3390770176,3390770431,CN 3390770432,3390770687,AU 3390770688,3390770943,CN @@ -150015,7 +152582,9 @@ 3391369216,3391373311,KH 3391373312,3391414783,NZ 3391414784,3391415039,CN -3391415040,3391444479,NZ +3391415040,3391441407,NZ +3391441408,3391441663,BD +3391441664,3391444479,NZ 3391444480,3391444991,VN 3391444992,3391453183,NZ 3391453184,3391453439,ID @@ -150567,7 +153136,7 @@ 3392102144,3392102399,AU 3392102400,3392106495,CN 3392106496,3392108543,IN -3392108544,3392109567,AU +3392108544,3392109823,AU 3392109824,3392110079,PH 3392110080,3392110335,CN 3392110336,3392110591,IN @@ -150638,6 +153207,7 @@ 3392418560,3392418815,SG 3392418816,3392419071,ID 3392419072,3392419327,IN +3392419328,3392419839,AU 3392419840,3392420351,IN 3392420352,3392420863,ID 3392420864,3392421119,AU @@ -150649,8 +153219,7 @@ 3392438784,3392439039,IN 3392439040,3392439551,ID 3392439552,3392439807,PG -3392439808,3392440063,IN -3392440064,3392440319,AU +3392439808,3392440319,AU 3392440320,3392440575,HK 3392440576,3392440831,ID 3392440832,3392441343,BD @@ -150697,9 +153266,7 @@ 3392528384,3392536575,ID 3392536576,3392602111,IN 3392602112,3392618495,HK -3392618496,3392618751,SG -3392618752,3392618879,PH -3392618880,3392626687,SG +3392618496,3392626687,SG 3392626688,3392630783,NZ 3392630784,3392634879,JP 3392634880,3392635903,PK @@ -150708,9 +153275,7 @@ 3392637952,3392638975,TH 3392638976,3392643071,AU 3392643072,3392647167,ID -3392647168,3392651007,MN -3392651008,3392651135,AU -3392651136,3392651263,MN +3392647168,3392651263,MN 3392651264,3392659455,JP 3392659456,3392667647,TW 3392667648,3392668671,IN @@ -150721,7 +153286,8 @@ 3392681984,3392682239,SG 3392682240,3392682495,VN 3392682496,3392683007,IN -3392683008,3392684031,AU +3392683008,3392683519,AU +3392683520,3392684031,NL 3392684032,3392688127,JP 3392688128,3392692223,MY 3392692224,3392700415,IN @@ -150939,7 +153505,9 @@ 3393227520,3393227775,JP 3393227776,3393231871,HK 3393231872,3393232127,JP -3393232128,3393237759,HK +3393232128,3393236479,HK +3393236480,3393236735,JP +3393236736,3393237759,HK 3393237760,3393238015,JP 3393238016,3393241087,HK 3393241088,3393241343,JP @@ -150990,8 +153558,7 @@ 3393478656,3393486847,AU 3393486848,3393495039,IN 3393495040,3393499135,AU -3393499136,3393500159,ID -3393500160,3393503231,SG +3393499136,3393503231,SG 3393503232,3393507327,HK 3393507328,3393511423,SG 3393511424,3393519615,KR @@ -151113,17 +153680,13 @@ 3393872128,3393872383,JP 3393872384,3393872655,HK 3393872656,3393872656,IN -3393872657,3393872895,HK -3393872896,3393873919,PH -3393873920,3393874943,HK +3393872657,3393874943,HK 3393874944,3393875967,AU 3393875968,3393876991,HK 3393876992,3393878015,SG 3393878016,3393879039,IN 3393879040,3393880063,HK -3393880064,3393889791,AU -3393889792,3393890303,AE -3393890304,3393896447,AU +3393880064,3393896447,AU 3393896448,3393906687,NZ 3393906688,3393907711,CN 3393907712,3393908735,ID @@ -151177,9 +153740,7 @@ 3394078720,3394078975,AU 3394078976,3394079231,IN 3394079232,3394079743,PH -3394079744,3394087471,HK -3394087472,3394087487,CN -3394087488,3394111487,HK +3394079744,3394111487,HK 3394111488,3394113535,CN 3394113536,3394116351,SG 3394116352,3394116607,AU @@ -151204,9 +153765,9 @@ 3394183168,3394191359,NP 3394191360,3394215935,JP 3394215936,3394220031,AU -3394220032,3394227048,SG -3394227049,3394227049,AU -3394227050,3394232319,SG +3394220032,3394227039,SG +3394227040,3394227047,ID +3394227048,3394232319,SG 3394232320,3394234367,CN 3394234368,3394236415,VN 3394236416,3394238463,JP @@ -151348,19 +153909,12 @@ 3394830336,3394831359,HK 3394831360,3394832383,NZ 3394832384,3394834431,CN -3394834432,3394834687,HK -3394834688,3394834943,JP -3394834944,3394834959,HK -3394834960,3394834975,JP -3394834976,3394835199,HK +3394834432,3394835199,HK 3394835200,3394835455,JP 3394835456,3394835583,SG 3394835584,3394835711,JP -3394835712,3394835967,CN -3394835968,3394836239,JP -3394836240,3394836247,AS -3394836248,3394836415,JP -3394836416,3394836479,HK +3394835712,3394835967,HK +3394835968,3394836479,JP 3394836480,3394838527,BT 3394838528,3394846719,NZ 3394846720,3394850815,IN @@ -151374,7 +153928,8 @@ 3394860544,3394860799,IN 3394860800,3394861055,CN 3394861056,3394861311,IN -3394861312,3394862079,HK +3394861312,3394861567,TW +3394861568,3394862079,HK 3394862080,3394863103,KR 3394863104,3394871295,NZ 3394871296,3394879487,AU @@ -151500,22 +154055,21 @@ 3395180544,3395181055,VN 3395181056,3395181567,US 3395181568,3395182591,CN -3395182592,3395190783,SG +3395182592,3395188735,SG +3395188736,3395190783,AU 3395190784,3395198975,JP 3395198976,3395199999,IN 3395200000,3395200511,BD 3395200512,3395200767,TH 3395200768,3395201023,MY 3395201024,3395202047,TH -3395202048,3395202559,IN +3395202048,3395202559,AU 3395202560,3395215359,JP 3395215360,3395219455,HK 3395219456,3395223551,TH 3395223552,3395231743,CN 3395231744,3395239935,JP -3395239936,3395243263,SG -3395243264,3395244031,AU -3395244032,3395254783,SG +3395239936,3395254783,SG 3395254784,3395255039,IN 3395255040,3395256319,SG 3395256320,3395264511,ID @@ -151554,7 +154108,11 @@ 3397087232,3397088255,HK 3397088256,3397090303,CN 3397090304,3397091327,TW -3397091328,3397099519,GU +3397091328,3397093375,MP +3397093376,3397095423,GU +3397095424,3397095935,MP +3397095936,3397096447,GU +3397096448,3397099519,MP 3397099520,3397103615,HK 3397103616,3397105663,LA 3397105664,3397107711,JP @@ -151635,17 +154193,7 @@ 3397338040,3397338043,SG 3397338044,3397338375,HK 3397338376,3397338379,JP -3397338380,3397338403,HK -3397338404,3397338415,JP -3397338416,3397338423,HK -3397338424,3397338427,JP -3397338428,3397338455,HK -3397338456,3397338457,JP -3397338458,3397338459,HK -3397338460,3397338463,JP -3397338464,3397338547,HK -3397338548,3397338551,JP -3397338552,3397339647,HK +3397338380,3397339647,HK 3397339648,3397339687,SG 3397339688,3397340927,HK 3397340928,3397341183,TH @@ -151657,7 +154205,10 @@ 3397369856,3397374463,CN 3397374464,3397374975,AU 3397374976,3397386239,CN -3397386240,3397394431,GU +3397386240,3397388799,GU +3397388800,3397389311,JP +3397389312,3397392383,GU +3397392384,3397394431,MP 3397394432,3397402623,PH 3397402624,3397410815,GU 3397410816,3397411327,AU @@ -151722,10 +154273,7 @@ 3397530624,3397531647,ID 3397531648,3397532671,SG 3397532672,3397533695,JP -3397533696,3397555711,HK -3397555712,3397555967,KR -3397555968,3397556223,SG -3397556224,3397566463,HK +3397533696,3397566463,HK 3397566464,3397574655,AU 3397574656,3397582847,CN 3397582848,3397584895,MN @@ -151791,9 +154339,7 @@ 3397872128,3397875711,JP 3397875712,3397876735,AU 3397876736,3397877759,TW -3397877760,3397887999,JP -3397888000,3397889023,IN -3397889024,3397891071,JP +3397877760,3397891071,JP 3397891072,3397892095,IN 3397892096,3397895423,JP 3397895424,3397895679,AU @@ -151923,9 +154469,7 @@ 3398637120,3398637183,HK 3398637184,3398639903,JP 3398639904,3398639907,MY -3398639908,3398640671,JP -3398640672,3398640695,SG -3398640696,3398641663,JP +3398639908,3398641663,JP 3398641664,3398643679,AU 3398643680,3398643695,NZ 3398643696,3398643711,AU @@ -152093,9 +154637,7 @@ 3399662592,3399663615,IN 3399663616,3399671807,ID 3399671808,3399679999,IN -3399680000,3399680303,HK -3399680304,3399680319,DE -3399680320,3399680447,HK +3399680000,3399680447,HK 3399680448,3399680463,SG 3399680464,3399688191,HK 3399688192,3399696383,SG @@ -152154,7 +154696,10 @@ 3399924736,3399925759,PH 3399925760,3399933951,NP 3399933952,3399942143,CN -3399942144,3399954943,AU +3399942144,3399944191,SG +3399944192,3399946239,AU +3399946240,3399950335,SG +3399950336,3399954943,AU 3399954944,3399991295,SG 3399991296,3399995391,IN 3399995392,3399999487,KR @@ -152253,7 +154798,8 @@ 3400337152,3400337407,PH 3400337408,3400339455,CN 3400339456,3400341503,ID -3400341504,3400343551,US +3400341504,3400342015,AU +3400342016,3400343551,US 3400343552,3400351743,TW 3400351744,3400359935,ID 3400359936,3400364031,JP @@ -152276,8 +154822,8 @@ 3400421376,3400423423,AU 3400423424,3400424447,KR 3400424448,3400425471,IN -3400425472,3400430591,AU -3400430592,3400431615,NZ +3400425472,3400429567,AU +3400429568,3400431615,NZ 3400431616,3400431871,IN 3400431872,3400432127,HK 3400432128,3400432639,IN @@ -152293,9 +154839,7 @@ 3400466432,3400499199,MO 3400499200,3400503295,NZ 3400503296,3400507391,JP -3400507392,3400509183,MO -3400509184,3400509439,CN -3400509440,3400515583,MO +3400507392,3400515583,MO 3400515584,3400531967,PH 3400531968,3400532991,IN 3400532992,3400534015,MY @@ -152313,11 +154857,9 @@ 3400609792,3400630271,JP 3400630272,3400646655,IN 3400646656,3400646911,HK -3400646912,3400647679,JP -3400647680,3400648677,AU +3400646912,3400648677,JP 3400648678,3400648678,HK -3400648679,3400648703,AU -3400648704,3400648815,JP +3400648679,3400648815,JP 3400648816,3400648831,HK 3400648832,3400649943,JP 3400649944,3400649951,HK @@ -152360,6 +154902,7 @@ 3400849408,3400851455,MN 3400851456,3400859647,AU 3400859648,3400860671,HK +3400860672,3400861695,BD 3400861696,3400862719,CN 3400862720,3400864767,BD 3400864768,3400865791,AU @@ -152427,9 +154970,7 @@ 3405779456,3405779711,CN 3405779712,3405780991,AU 3405780992,3405781247,CN -3405781248,3405784319,AU -3405784320,3405784575,NZ -3405784576,3405785599,AU +3405781248,3405785599,AU 3405785600,3405786111,CN 3405786112,3405786367,AU 3405786368,3405787135,CN @@ -152620,7 +155161,9 @@ 3406208256,3406208511,CN 3406208512,3406208767,AU 3406208768,3406209023,CN -3406209024,3406225407,AU +3406209024,3406221311,AU +3406221312,3406222335,PK +3406222336,3406225407,AU 3406225408,3406229503,CN 3406229504,3406231551,AU 3406231552,3406232063,CN @@ -152707,8 +155250,8 @@ 3406382592,3406383359,CN 3406383360,3406383871,AU 3406383872,3406384639,CN -3406384640,3406385151,SG -3406385152,3406389247,AU +3406384640,3406384895,SG +3406384896,3406389247,AU 3406389248,3406390783,CN 3406390784,3406392319,AU 3406392320,3406392575,CN @@ -152764,7 +155307,7 @@ 3406529024,3406529535,HK 3406529536,3406529791,IL 3406529792,3406530047,IN -3406530048,3406530303,HK +3406530048,3406530303,SG 3406530304,3406530559,AU 3406530560,3406531583,CN 3406531584,3406531839,AU @@ -152791,7 +155334,8 @@ 3406579200,3406579711,CN 3406579712,3406583295,AU 3406583552,3406583807,CN -3406583808,3406585855,HK +3406583808,3406584319,SG +3406584320,3406585855,HK 3406585856,3406586111,AU 3406586112,3406586367,JP 3406586368,3406586879,AU @@ -152806,7 +155350,9 @@ 3406594560,3406594815,CN 3406594816,3406596351,AU 3406596352,3406596607,CN -3406596608,3406611455,AU +3406596608,3406599167,AU +3406599168,3406600191,JP +3406600192,3406611455,AU 3406611456,3406612479,CN 3406612480,3406614527,HK 3406614528,3406615295,AU @@ -153376,13 +155922,7 @@ 3407473408,3407473919,CN 3407473920,3407475199,AU 3407475200,3407475455,CN -3407475456,3407480831,AU -3407480832,3407480912,JP -3407480913,3407480913,AU -3407480914,3407481223,JP -3407481224,3407481231,AU -3407481232,3407481343,JP -3407481344,3407481855,AU +3407475456,3407481855,AU 3407481856,3407482111,CN 3407482112,3407487487,AU 3407487488,3407487743,CN @@ -153568,9 +156108,7 @@ 3407691008,3407691263,CN 3407691264,3407691519,AU 3407691520,3407691775,CN -3407691776,3407693055,AU -3407693056,3407693311,CN -3407693312,3407694079,AU +3407691776,3407694079,AU 3407694080,3407694335,CN 3407694336,3407696127,AU 3407696128,3407696383,CN @@ -153751,9 +156289,7 @@ 3407896320,3407896575,CN 3407896576,3407898111,AU 3407898112,3407898367,CN -3407898368,3407898879,AU -3407898880,3407899135,CN -3407899136,3407905279,AU +3407898368,3407905279,AU 3407905280,3407905535,CN 3407905536,3407906047,AU 3407906048,3407906303,CN @@ -153939,9 +156475,7 @@ 3409435904,3409436159,CN 3409436160,3409436671,AU 3409436672,3409436927,CN -3409436928,3409445119,AU -3409445120,3409445375,CN -3409445376,3409445887,AU +3409436928,3409445887,AU 3409445888,3409446143,CN 3409446144,3409447935,AU 3409447936,3409448191,CN @@ -154269,8 +156803,8 @@ 3411247104,3411255295,KR 3411255296,3411263487,BD 3411263488,3411264511,AU -3411264512,3411264767,NZ -3411264768,3411269631,AU +3411264512,3411265535,NZ +3411265536,3411269631,AU 3411269632,3411269695,TW 3411269696,3411270143,HK 3411270144,3411270399,NZ @@ -154331,8 +156865,7 @@ 3411608576,3411608831,IN 3411608832,3411609087,AU 3411609088,3411609599,HK -3411609600,3411610623,CN -3411610624,3411611647,HK +3411609600,3411611647,CN 3411611648,3411615743,ID 3411615744,3411623935,JP 3411623936,3411632127,AU @@ -154397,9 +156930,7 @@ 3411859250,3411859251,AU 3411859252,3411859815,JP 3411859816,3411859816,CN -3411859817,3411860223,JP -3411860224,3411860479,AU -3411860480,3411861503,JP +3411859817,3411861503,JP 3411861504,3411869695,AU 3411869696,3411943423,CN 3411943424,3411951615,NZ @@ -154418,7 +156949,22 @@ 3412056064,3412057087,IN 3412057088,3412058111,BD 3412058112,3412066303,CN -3412066304,3412213759,NZ +3412066304,3412107263,NZ +3412107264,3412108287,LK +3412108288,3412109311,HK +3412109312,3412110335,PK +3412110336,3412111359,AU +3412111360,3412112383,BD +3412112384,3412113407,PH +3412113408,3412115455,BD +3412115456,3412123647,NZ +3412123648,3412124671,BD +3412124672,3412125695,ID +3412125696,3412126719,AU +3412126720,3412127743,JP +3412127744,3412128767,MM +3412128768,3412129791,PH +3412129792,3412213759,NZ 3412213760,3412221951,AU 3412221952,3412230143,IN 3412230144,3412246527,HK @@ -154491,7 +157037,9 @@ 3412631552,3412639743,SG 3412639744,3412656127,JP 3412656128,3412672511,HK -3412672512,3412680703,JP +3412672512,3412680191,JP +3412680192,3412680447,IT +3412680448,3412680703,JP 3412680704,3412697087,CN 3412697088,3412705279,IN 3412705280,3412713471,AU @@ -154564,7 +157112,7 @@ 3413540864,3413557247,NZ 3413557248,3413565439,CN 3413565440,3413569535,TW -3413569536,3413569791,SG +3413569536,3413569791,AU 3413569792,3413570047,CN 3413570048,3413570303,KH 3413570304,3413570559,AU @@ -154869,9 +157417,11 @@ 3413934080,3413946367,IN 3413946368,3413950463,AU 3413950464,3413966847,IN -3413966848,3414050303,SG -3414050304,3414050815,US -3414050816,3414155519,SG +3413966848,3414033919,SG +3414033920,3414034431,MY +3414034432,3414050303,SG +3414050304,3414050559,US +3414050560,3414155519,SG 3414155520,3414155775,PH 3414155776,3414163455,SG 3414163456,3414171647,PK @@ -154896,7 +157446,13 @@ 3414269952,3414278143,JP 3414278144,3414294527,IN 3414294528,3414302719,PK -3414302720,3414310911,CN +3414302720,3414309119,CN +3414309120,3414309375,TH +3414309376,3414309631,CN +3414309632,3414309887,GB +3414309888,3414310399,CN +3414310400,3414310655,AE +3414310656,3414310911,CN 3414310912,3414327295,KR 3414327296,3414335487,TH 3414335488,3414339583,AU @@ -154964,9 +157520,8 @@ 3415146496,3415162879,LK 3415162880,3415171071,AU 3415171072,3415179263,JP -3415179264,3415187096,SG -3415187097,3415187097,ID -3415187098,3415187455,SG +3415179264,3415186943,SG +3415186944,3415187455,ID 3415187456,3415191551,AU 3415191552,3415195647,IN 3415195648,3415199743,NZ @@ -155048,6 +157603,7 @@ 3415814656,3415815167,TH 3415815168,3415816191,IN 3415816192,3415817215,JP +3415817216,3415818239,BD 3415818240,3415822335,JP 3415822336,3415822847,MY 3415822848,3415823103,MV @@ -155094,7 +157650,7 @@ 3416285184,3416285247,VN 3416285248,3416285251,CN 3416285252,3416287231,VN -3416287232,3416289279,HK +3416287232,3416289279,CN 3416289280,3416293375,NZ 3416293376,3416293631,ID 3416293632,3416293887,CN @@ -155173,26 +157729,12 @@ 3416856576,3416858623,BD 3416858624,3416862719,HK 3416862720,3416864767,MN -3416864768,3416864895,JP -3416864896,3416865023,SG -3416865024,3416865151,HK +3416864768,3416865151,HK 3416865152,3416865279,SG -3416865280,3416865287,JP -3416865288,3416865295,HK -3416865296,3416865303,AU -3416865304,3416865343,HK -3416865344,3416865359,JP -3416865360,3416865407,HK -3416865408,3416865599,JP -3416865600,3416865655,HK -3416865656,3416865791,JP -3416865792,3416865919,SG -3416865920,3416866055,HK -3416866056,3416866071,SG -3416866072,3416866079,HK -3416866080,3416866095,SG -3416866096,3416866559,HK -3416866560,3416883199,SG +3416865280,3416865663,HK +3416865664,3416865791,JP +3416865792,3416866815,HK +3416866816,3416883199,SG 3416883200,3416915967,HK 3416915968,3416920063,AU 3416920064,3416921087,TH @@ -155237,9 +157779,7 @@ 3417038592,3417038847,NZ 3417038848,3417042943,CN 3417042944,3417044991,IN -3417044992,3417045535,CX -3417045536,3417045759,AU -3417045760,3417046015,CX +3417044992,3417046015,CX 3417046016,3417046271,CC 3417046272,3417047039,AU 3417047040,3417055231,PH @@ -155268,7 +157808,7 @@ 3417227264,3417243647,JP 3417243648,3417244671,PH 3417244672,3417245695,IN -3417245696,3417246719,ID +3417245696,3417246719,PH 3417246720,3417247743,HK 3417247744,3417251839,JP 3417251840,3417260031,KR @@ -155447,9 +157987,7 @@ 3418405936,3418405939,PH 3418405940,3418406911,JP 3418406912,3418423295,IN -3418423296,3418435583,HK -3418435584,3418437631,GB -3418437632,3418444091,HK +3418423296,3418444091,HK 3418444092,3418444095,CN 3418444096,3418456063,HK 3418456064,3418472447,IN @@ -155462,9 +158000,10 @@ 3418512320,3418512335,AU 3418512336,3418513407,JP 3418513408,3418517503,IN -3418517504,3418518527,ID +3418517504,3418518527,PH 3418518528,3418519551,BD -3418519552,3418554367,HK +3418519552,3418520575,CN +3418520576,3418554367,HK 3418554368,3418570751,VN 3418570752,3418578943,CN 3418578944,3418583039,TH @@ -155485,9 +158024,7 @@ 3418643456,3418644479,AU 3418644480,3418644735,JP 3418644736,3418644863,AU -3418644864,3418650807,JP -3418650808,3418650808,HK -3418650809,3418652671,JP +3418644864,3418652671,JP 3418652672,3418750975,IN 3418750976,3418816511,HK 3418816512,3418947583,IN @@ -155521,7 +158058,9 @@ 3419234304,3419241751,JP 3419241752,3419241752,AU 3419241753,3419242495,JP -3419242496,3419275263,CN +3419242496,3419248895,CN +3419248896,3419249151,JP +3419249152,3419275263,CN 3419275264,3419340799,AU 3419340800,3419344895,TW 3419344896,3419348991,KR @@ -155541,7 +158080,9 @@ 3419422720,3419439103,AU 3419439104,3419442431,SG 3419442432,3419442687,HK -3419442688,3419471871,SG +3419442688,3419457535,SG +3419457536,3419457791,DE +3419457792,3419471871,SG 3419471872,3419504639,TH 3419504640,3419508735,HK 3419508736,3419512831,JP @@ -155590,9 +158131,9 @@ 3419774976,3419783167,JP 3419783168,3419791359,PH 3419791360,3419873279,AU -3419873280,3419874033,AF -3419874034,3419874034,DE -3419874035,3419877375,AF +3419873280,3419873537,AF +3419873538,3419873538,IT +3419873539,3419877375,AF 3419877376,3419877631,ID 3419877632,3419877887,IN 3419877888,3419878143,ID @@ -155650,15 +158191,9 @@ 3420335055,3420337171,AU 3420337172,3420337172,VN 3420337173,3420337173,IN -3420337174,3420337439,AU -3420337440,3420337471,SG -3420337472,3420340048,AU +3420337174,3420340048,AU 3420340049,3420340049,NZ -3420340050,3420366063,AU -3420366064,3420366079,TW -3420366080,3420366959,AU -3420366960,3420366975,KR -3420366976,3420369007,AU +3420340050,3420369007,AU 3420369008,3420369023,HK 3420369024,3420370559,AU 3420370560,3420370575,JP @@ -155687,16 +158222,15 @@ 3420435456,3420436479,JP 3420436480,3420437503,AU 3420437504,3420438527,IN -3420438528,3420443647,HK -3420443648,3420444159,AU +3420438528,3420444159,HK 3420444160,3420444415,GB 3420444416,3420454911,HK 3420454912,3422000535,KR 3422000536,3422000537,IN 3422000538,3422552063,KR -3422552064,3422846975,US -3422846976,3422855167,GB -3422855168,3423076351,US +3422552064,3422849023,US +3422849024,3422851071,GB +3422851072,3423076351,US 3423076352,3423077375,CA 3423077376,3423092735,US 3423092736,3423093759,VI @@ -155720,7 +158254,9 @@ 3423182848,3423184895,CA 3423184896,3423225855,US 3423225856,3423226879,CA -3423226880,3423258623,US +3423226880,3423227561,US +3423227562,3423227562,AU +3423227563,3423258623,US 3423258624,3423260671,CA 3423260672,3423268863,US 3423268864,3423269887,CA @@ -155780,9 +158316,7 @@ 3423630336,3423637503,US 3423637504,3423639551,CA 3423639552,3423648767,US -3423648768,3423649023,CA -3423649024,3423649279,US -3423649280,3423649791,CA +3423648768,3423649791,CA 3423649792,3423651839,US 3423651840,3423653887,CA 3423653888,3423705599,US @@ -155826,15 +158360,15 @@ 3424493824,3424494079,CA 3424494080,3424507135,US 3424507136,3424507391,CA -3424507392,3425173503,US +3424507392,3424841727,US +3424841728,3424841983,CU +3424841984,3425173503,US 3425173504,3425304575,CA 3425304576,3425441791,US 3425441792,3425443839,GB 3425443840,3425471487,US 3425471488,3425472511,CA -3425472512,3425483775,US -3425483776,3425484799,GU -3425484800,3425516799,US +3425472512,3425516799,US 3425516800,3425517055,MX 3425517056,3425697791,US 3425697792,3425699839,CA @@ -155873,8 +158407,8 @@ 3426617856,3426618367,CA 3426618368,3426646527,US 3426646528,3426646783,GB -3426646784,3426725375,US -3426725376,3426725887,CA +3426646784,3426725119,US +3426725120,3426725887,CA 3426725888,3426729471,US 3426729472,3426729983,CA 3426729984,3426744319,US @@ -156068,19 +158602,13 @@ 3428616704,3428616959,CA 3428616960,3428617215,US 3428617216,3428617983,CA -3428617984,3428618495,US -3428618496,3428619007,CA +3428617984,3428618751,US +3428618752,3428619007,CA 3428619008,3428620287,US 3428620288,3428620799,CA 3428620800,3428621567,US 3428621568,3428621823,CA -3428621824,3428622335,US -3428622336,3428623615,CA -3428623616,3428623871,US -3428623872,3428624639,CA -3428624640,3428625407,US -3428625408,3428626175,CA -3428626176,3428626431,US +3428621824,3428626431,US 3428626432,3428627199,CA 3428627200,3428627455,US 3428627456,3428628223,CA @@ -156130,7 +158658,8 @@ 3429029632,3429029887,GB 3429029888,3429171199,US 3429171200,3429236735,CA -3429236736,3429381887,US +3429236736,3429380095,US +3429380096,3429381887,FR 3429381888,3429382143,DE 3429382144,3429500927,US 3429500928,3429502975,CA @@ -156158,7 +158687,9 @@ 3430705152,3430706175,MX 3430706176,3430722303,US 3430722304,3430722559,CA -3430722560,3430729471,US +3430722560,3430724607,US +3430724608,3430725631,CA +3430725632,3430729471,US 3430729472,3430729727,GB 3430729728,3430749951,US 3430749952,3430750207,CA @@ -156295,7 +158826,9 @@ 3432748800,3432749055,PA 3432749056,3432807423,US 3432807424,3432808447,CA -3432808448,3433955583,US +3432808448,3433089023,US +3433089024,3433091071,CA +3433091072,3433955583,US 3433955584,3433959423,CA 3433959424,3433963519,US 3433963520,3433964799,CA @@ -156365,9 +158898,7 @@ 3436684198,3436684198,DK 3436684199,3436697087,US 3436697088,3436697343,VE -3436697344,3436965901,US -3436965902,3436965902,DE -3436965903,3437249279,US +3436697344,3437249279,US 3437249280,3437249535,CA 3437249536,3437259775,US 3437259776,3437260031,CA @@ -156419,9 +158950,7 @@ 3437693696,3437693951,US 3437693952,3437694207,ES 3437694208,3437695231,AT -3437695232,3437695999,US -3437696000,3437696511,NL -3437696512,3437703423,US +3437695232,3437703423,US 3437703424,3437703679,NL 3437703680,3437704191,US 3437704192,3437704703,CH @@ -156483,9 +159012,9 @@ 3438137184,3438137191,CA 3438137192,3438139391,US 3438139392,3438140415,GB -3438140416,3438141695,US -3438141696,3438141951,CA -3438141952,3438215423,US +3438140416,3438142943,US +3438142944,3438142975,CA +3438142976,3438215423,US 3438215424,3438215935,CA 3438215936,3438216191,US 3438216192,3438217983,CA @@ -156502,8 +159031,8 @@ 3438261760,3438262015,US 3438262016,3438271487,CA 3438271488,3438272511,US -3438272512,3438280447,CA -3438280448,3438542847,US +3438272512,3438280703,CA +3438280704,3438542847,US 3438542848,3438559231,CA 3438559232,3438559743,US 3438559744,3438608383,CA @@ -156522,10 +159051,14 @@ 3438611792,3438725647,US 3438725648,3438725655,MX 3438725656,3438895103,US -3438895104,3438896639,HN -3438896640,3438915605,US +3438895104,3438896127,HN +3438896128,3438915605,US 3438915606,3438915606,GT -3438915607,3448377343,US +3438915607,3444220159,US +3444220160,3444220415,JP +3444220416,3444220671,US +3444220672,3444220927,ES +3444220928,3448377343,US 3448377344,3448377855,AG 3448377856,3448379647,US 3448379648,3448379903,SG @@ -156556,9 +159089,7 @@ 3449099264,3449100287,US 3449100288,3449100799,HK 3449100800,3449101311,AU -3449101312,3449159679,US -3449159680,3449159935,CA -3449159936,3449161471,US +3449101312,3449161471,US 3449161472,3449162495,CA 3449162496,3449165311,US 3449165312,3449165567,CA @@ -156570,22 +159101,22 @@ 3449170176,3449170431,CA 3449170432,3449170687,US 3449170688,3449171199,CA -3449171200,3449171711,US -3449171712,3449172479,CA +3449171200,3449171967,US +3449171968,3449172479,CA 3449172480,3449174015,US 3449174016,3449174783,CA -3449174784,3449175039,US -3449175040,3449175295,CA -3449175296,3449176063,US +3449174784,3449176063,US 3449176064,3449176575,CA 3449176576,3449176831,US -3449176832,3449178367,CA +3449176832,3449177087,CA +3449177088,3449177343,US +3449177344,3449178367,CA 3449178368,3449178623,US 3449178624,3449178879,CA 3449178880,3449180671,US 3449180672,3449180927,CA -3449180928,3449181439,US -3449181440,3449181951,CA +3449180928,3449181695,US +3449181696,3449181951,CA 3449181952,3449183231,US 3449183232,3449184511,CA 3449184512,3449185279,US @@ -156612,9 +159143,7 @@ 3449203712,3449203775,CA 3449203776,3449204223,US 3449204224,3449204479,CA -3449204480,3449204735,US -3449204736,3449205759,CA -3449205760,3449210623,US +3449204480,3449210623,US 3449210624,3449211391,CA 3449211392,3449211647,US 3449211648,3449212415,CA @@ -156638,17 +159167,27 @@ 3449273856,3449278975,CA 3449278976,3449279487,US 3449279488,3449290495,CA -3449290496,3449569279,US -3449569280,3449572068,AU -3449572069,3449572069,US -3449572070,3449573375,AU -3449573376,3449575423,US -3449575424,3449577471,AU +3449290496,3449575423,US +3449575424,3449577471,NZ 3449577472,3449599999,US 3449600000,3449602047,CA -3449602048,3449638911,US -3449638912,3449639935,GB -3449639936,3449640191,US +3449602048,3449639167,US +3449639168,3449639359,GB +3449639360,3449639363,US +3449639364,3449639364,CZ +3449639365,3449639365,US +3449639366,3449639366,ES +3449639367,3449639367,FR +3449639368,3449639368,US +3449639369,3449639369,IE +3449639370,3449639370,IT +3449639371,3449639371,NL +3449639372,3449639372,US +3449639373,3449639373,RO +3449639374,3449639423,US +3449639424,3449639679,GB +3449639680,3449639935,US +3449639936,3449640191,GB 3449640192,3449640447,NL 3449640448,3449640703,GB 3449640704,3449769727,US @@ -156706,23 +159245,21 @@ 3450731520,3450732543,CA 3450732544,3450773503,US 3450773504,3450777599,CA -3450777600,3450851071,US -3450851072,3450851327,AU -3450851328,3450852351,US +3450777600,3450849791,US +3450849792,3450850047,GB +3450850048,3450852351,US 3450852352,3450853375,CA -3450853376,3450984703,US -3450984704,3450984959,PH -3450984960,3450986495,US +3450853376,3450986495,US 3450986496,3450986751,HK -3450986752,3451187967,US +3450986752,3450987007,US +3450987008,3450987263,HK +3450987264,3451187967,US 3451187968,3451188223,AU 3451188224,3451289599,US 3451289600,3451290623,NL 3451290624,3451293695,US 3451293696,3451294719,GB -3451294720,3451295743,US -3451295744,3451296255,GB -3451296256,3451312127,US +3451294720,3451312127,US 3451312128,3451314175,MY 3451314176,3451371519,US 3451371520,3451371775,GB @@ -156797,9 +159334,7 @@ 3452766976,3452767487,CA 3452767488,3452767743,US 3452767744,3452767999,CA -3452768000,3452768607,US -3452768608,3452768623,CA -3452768624,3452769023,US +3452768000,3452769023,US 3452769024,3452769279,CA 3452769280,3452769791,US 3452769792,3452770047,CA @@ -156819,15 +159354,11 @@ 3452776192,3452776703,CA 3452776704,3452776959,US 3452776960,3452777471,CA -3452777472,3452778495,US -3452778496,3452778751,CA -3452778752,3452779263,US +3452777472,3452779263,US 3452779264,3452779519,CA 3452779520,3452781823,US 3452781824,3452782079,CA -3452782080,3452782335,US -3452782336,3452782591,CA -3452782592,3452784383,US +3452782080,3452784383,US 3452784384,3452784639,CA 3452784640,3452785663,US 3452785664,3452785919,CA @@ -156869,9 +159400,7 @@ 3452803584,3452803839,CA 3452803840,3452804095,US 3452804096,3452806143,CA -3452806144,3452806911,US -3452806912,3452807167,CA -3452807168,3452807423,US +3452806144,3452807423,US 3452807424,3452807679,CA 3452807680,3452808447,US 3452808448,3452808703,CA @@ -156881,13 +159410,11 @@ 3452811008,3452811263,CA 3452811264,3452811775,US 3452811776,3452812287,CA -3452812288,3452812543,US -3452812544,3452813311,CA +3452812288,3452812799,US +3452812800,3452813311,CA 3452813312,3452813567,US 3452813568,3452814079,CA -3452814080,3452814591,US -3452814592,3452814847,CA -3452814848,3452815103,US +3452814080,3452815103,US 3452815104,3452815359,CA 3452815360,3452816895,US 3452816896,3452817663,CA @@ -156899,9 +159426,7 @@ 3452819200,3452819711,CA 3452819712,3452820479,US 3452820480,3452820735,CA -3452820736,3452823295,US -3452823296,3452823551,CA -3452823552,3452823807,US +3452820736,3452823807,US 3452823808,3452824063,CA 3452824064,3452824831,US 3452824832,3452825599,CA @@ -156979,9 +159504,7 @@ 3453180928,3453195263,CA 3453195264,3453195519,US 3453195520,3453206527,CA -3453206528,3453207551,HN -3453207552,3453207807,NI -3453207808,3453210623,HN +3453206528,3453210623,HN 3453210624,3453213183,CR 3453213184,3453214719,HN 3453214720,3453215231,GT @@ -157008,15 +159531,13 @@ 3453409536,3453411327,BB 3453411328,3453419519,US 3453419520,3453427711,MO -3453427712,3453551844,US -3453551845,3453551845,GB -3453551846,3453552127,US -3453552128,3453552383,GB -3453552384,3453552639,US -3453552640,3453554687,GB +3453427712,3453550591,US +3453550592,3453554687,GB 3453554688,3453555967,US 3453555968,3453556031,GB -3453556032,3453587023,US +3453556032,3453556735,US +3453556736,3453558783,GB +3453558784,3453587023,US 3453587024,3453587071,SG 3453587072,3453599999,US 3453600000,3453600511,GB @@ -157036,9 +159557,7 @@ 3453615616,3453616127,AG 3453616128,3453796351,US 3453796352,3453800447,CA -3453800448,3453802495,US -3453802496,3453803007,GB -3453803008,3454003013,US +3453800448,3454003013,US 3454003014,3454003014,ES 3454003015,3454004997,US 3454004998,3454004998,GB @@ -157048,8 +159567,8 @@ 3454497792,3454498815,MX 3454498816,3454599423,US 3454599424,3454601215,CA -3454601216,3454603007,US -3454603008,3454603519,CA +3454601216,3454602751,US +3454602752,3454603519,CA 3454603520,3454604031,US 3454604032,3454604799,CA 3454604800,3454607359,US @@ -157111,7 +159630,9 @@ 3454881792,3454883839,CA 3454883840,3454915071,US 3454915072,3454926847,CA -3454926848,3455035391,US +3454926848,3455017471,US +3455017472,3455017983,GB +3455017984,3455035391,US 3455035392,3455035903,AU 3455035904,3455109119,US 3455109120,3455111167,HN @@ -157120,9 +159641,7 @@ 3455132160,3455133695,BO 3455133696,3455320063,US 3455320064,3455322111,FR -3455322112,3455333887,US -3455333888,3455334399,NL -3455334400,3455357951,US +3455322112,3455357951,US 3455357952,3455358975,BB 3455358976,3455418367,US 3455418368,3455418879,KY @@ -157201,11 +159720,12 @@ 3455848928,3455848959,TW 3455848960,3455871999,US 3455872000,3455872255,ZM -3455872256,3455899969,US -3455899970,3455899970,HK -3455899971,3455903967,US +3455872256,3455899647,US +3455899648,3455901695,HK +3455901696,3455903967,US 3455903968,3455903983,HK -3455903984,3455905791,US +3455903984,3455905535,US +3455905536,3455905791,HK 3455905792,3455906047,MX 3455906048,3455909887,US 3455909888,3455975423,IN @@ -157213,9 +159733,7 @@ 3456303104,3456311295,JP 3456311296,3456360447,US 3456360448,3456364543,BG -3456364544,3456856063,US -3456856064,3456856319,CA -3456856320,3456892927,US +3456364544,3456892927,US 3456892928,3456958463,CA 3456958464,3457551871,US 3457551872,3457552127,CA @@ -157224,14 +159742,14 @@ 3457565184,3457592319,US 3457592320,3457592575,CA 3457592576,3457596671,US -3457596672,3457597695,CA -3457597696,3457598207,US +3457596672,3457597439,CA +3457597440,3457598207,US 3457598208,3457598463,CA 3457598464,3457684223,US 3457684224,3457684479,CA -3457684480,3457756351,US -3457756352,3457756383,GB -3457756384,3457762303,US +3457684480,3457756159,US +3457756160,3457756415,GB +3457756416,3457762303,US 3457762304,3457765375,CA 3457765376,3458039807,US 3458039808,3458043903,CA @@ -157239,9 +159757,7 @@ 3458195456,3458196479,SG 3458196480,3458233343,US 3458233344,3458234367,CA -3458234368,3458794095,US -3458794096,3458794111,FR -3458794112,3458806783,US +3458234368,3458806783,US 3458806784,3458807807,GB 3458807808,3458813951,US 3458813952,3458818047,CA @@ -157251,7 +159767,9 @@ 3458820864,3458821119,JM 3458821120,3458821887,US 3458821888,3458822143,CA -3458822144,3459055615,US +3458822144,3458842367,US +3458842368,3458842623,CA +3458842624,3459055615,US 3459055616,3459121151,CA 3459121152,3459186687,US 3459186688,3459230975,CA @@ -157262,8 +159780,12 @@ 3459268608,3459285503,US 3459285504,3459285759,CL 3459285760,3459310591,US -3459310592,3459310847,KY -3459310848,3459343359,US +3459310592,3459311142,KY +3459311143,3459311143,US +3459311144,3459311231,KY +3459311232,3459327487,US +3459327488,3459327999,CO +3459328000,3459343359,US 3459343360,3459343615,CA 3459343616,3459350527,US 3459350528,3459352575,VE @@ -157312,9 +159834,11 @@ 3459691776,3459692543,NL 3459692544,3459731455,US 3459731456,3459735551,CA -3459735552,3459745535,US -3459745536,3459745791,IT -3459745792,3459847807,US +3459735552,3459842047,US +3459842048,3459843583,BR +3459843584,3459843839,US +3459843840,3459844095,BR +3459844096,3459847807,US 3459847808,3459847871,JP 3459847872,3459848959,US 3459848960,3459849215,FR @@ -157327,7 +159851,9 @@ 3460114432,3460116479,SR 3460116480,3460161535,US 3460161536,3460165631,PR -3460165632,3460762367,US +3460165632,3460507647,US +3460507648,3460507903,MX +3460507904,3460762367,US 3460762368,3460762623,CA 3460762624,3460763391,US 3460763392,3460763647,VG @@ -157342,7 +159868,7 @@ 3460908288,3460908543,FI 3460908544,3460912127,US 3460912128,3460912383,IT -3460912384,3460912639,FR +3460912384,3460912639,US 3460912640,3460912895,ES 3460912896,3460916479,US 3460916480,3460916735,GB @@ -157357,18 +159883,12 @@ 3460928768,3460936703,US 3460936704,3460936959,IT 3460936960,3460937215,DE -3460937216,3460939263,US -3460939264,3460939519,HK -3460939520,3460944895,US -3460944896,3460945151,DE -3460945152,3460947711,US +3460937216,3460947711,US 3460947712,3460947967,SE 3460947968,3460952575,US 3460952576,3460952831,ES 3460952832,3461021695,US -3461021696,3461031935,CA -3461031936,3461032191,US -3461032192,3461087231,CA +3461021696,3461087231,CA 3461087232,3461332735,US 3461332736,3461332991,SG 3461332992,3461356543,US @@ -157381,8 +159901,12 @@ 3461419008,3461423103,DE 3461423104,3461441535,US 3461441536,3461441791,CA -3461441792,3461442815,US -3461443584,3461462015,US +3461441792,3461443071,US +3461443072,3461443327,VG +3461443584,3461461247,US +3461461248,3461461503,DE +3461461504,3461461759,SG +3461461760,3461462015,US 3461462016,3461462527,AU 3461462528,3461462783,US 3461462784,3461463039,SG @@ -157398,9 +159922,7 @@ 3461948160,3461948415,CA 3461948416,3461949951,US 3461949952,3461950207,CA -3461950208,3461950719,US -3461950720,3461950975,CA -3461950976,3461953535,US +3461950208,3461953535,US 3461953536,3461953791,CA 3461953792,3461977855,US 3461977856,3461978111,CA @@ -157458,8 +159980,8 @@ 3463518208,3463520255,NL 3463520256,3463708671,US 3463708672,3463774207,CA -3463774208,3464127999,US -3464128000,3464128511,DE +3463774208,3464126463,US +3464126464,3464128511,DE 3464128512,3464167679,US 3464167680,3464169215,CA 3464169216,3464169471,US @@ -157555,25 +160077,27 @@ 3464769536,3464773631,CA 3464773632,3464783871,US 3464783872,3464785919,AR -3464785920,3465154559,US +3464785920,3464789311,US +3464789312,3464789343,CA +3464789344,3465154559,US 3465154560,3465158655,BS 3465158656,3465177087,US 3465177088,3465179135,PE -3465179136,3465461759,US -3465461760,3465469951,GB -3465469952,3465470207,US -3465470208,3465470463,GB -3465470464,3465472767,US +3465179136,3465466495,US +3465466496,3465466527,GB +3465466528,3465469951,US +3465469952,3465471999,GB +3465472000,3465472767,US 3465472768,3465473023,GB 3465473024,3465474047,US 3465474048,3465476095,GB 3465476096,3465510911,US 3465510912,3465543679,JP 3465543680,3465953279,US -3465953280,3465961471,CA -3465961472,3466069055,US -3466069056,3466069071,CA -3466069072,3466069343,US +3465953280,3465955327,CA +3465955328,3466068991,US +3466068992,3466069247,CA +3466069248,3466069343,US 3466069344,3466069375,CA 3466069376,3466069447,US 3466069448,3466069455,CA @@ -157586,8 +160110,8 @@ 3466073088,3466074111,US 3466074112,3466076159,CA 3466076160,3466080255,US -3466080256,3466084351,CA -3466084352,3466158079,US +3466080256,3466082303,CA +3466082304,3466158079,US 3466158080,3466166271,PA 3466166272,3466489855,US 3466489856,3466490111,CA @@ -157627,7 +160151,9 @@ 3467063552,3467068927,CA 3467068928,3467069439,US 3467069440,3467116543,CA -3467116544,3467378687,US +3467116544,3467229695,US +3467229696,3467230207,AS +3467230208,3467378687,US 3467378688,3467444223,CA 3467444224,3467554815,US 3467554816,3467567103,CA @@ -157803,21 +160329,15 @@ 3468688896,3468688911,US 3468688912,3468688943,NL 3468688944,3468688959,IE -3468688960,3468798463,US +3468688960,3468797951,US +3468797952,3468798463,GB 3468798464,3468798719,BE -3468798720,3468798975,US +3468798720,3468798975,GB 3468798976,3468799231,BE -3468799232,3468799999,US -3468800000,3468802047,GB -3468802048,3468802303,US -3468802304,3468802559,CA -3468802560,3468894207,US -3468894208,3468898815,DE -3468898816,3468899327,US -3468899328,3468902399,DE -3468902400,3469031935,US -3469031936,3469032191,GB -3469032192,3469055743,US +3468799232,3468799999,GB +3468800000,3468894207,US +3468894208,3468902399,DE +3468902400,3469055743,US 3469055744,3469055999,CA 3469056000,3469131775,US 3469131776,3469132799,CA @@ -157825,7 +160345,9 @@ 3469272064,3469272575,DE 3469272576,3469279231,US 3469279232,3469283327,PH -3469283328,3469860351,US +3469283328,3469747199,US +3469747200,3469747711,CA +3469747712,3469860351,US 3469860352,3469860863,CA 3469860864,3469893631,US 3469893632,3469901823,CA @@ -157911,7 +160433,9 @@ 3471558656,3471560703,CA 3471560704,3471570943,US 3471570944,3471572991,CA -3471572992,3472249343,US +3471572992,3472244735,US +3472244736,3472244991,CA +3472244992,3472249343,US 3472249344,3472249599,CA 3472249600,3472257599,US 3472257600,3472257627,MX @@ -157926,9 +160450,7 @@ 3472687104,3472721919,US 3472721920,3472723967,CA 3472723968,3473039359,US -3473039360,3473040639,BM -3473040640,3473040895,US -3473040896,3473041407,BM +3473039360,3473041407,BM 3473041408,3473043455,US 3473047552,3473067007,US 3473067008,3473068031,CA @@ -157962,9 +160484,7 @@ 3475124224,3475171071,CA 3475171072,3475171199,US 3475171200,3475243007,CA -3475243008,3475358719,US -3475358720,3475359231,GB -3475359232,3475386367,US +3475243008,3475386367,US 3475386368,3475390463,CA 3475390464,3475397119,US 3475397120,3475397631,DE @@ -158125,7 +160645,11 @@ 3476111360,3476111615,CA 3476111616,3476418559,US 3476418560,3476419071,CA -3476419072,3476447231,US +3476419072,3476419583,US +3476419584,3476420095,CA +3476420096,3476420607,US +3476420608,3476421631,CA +3476421632,3476447231,US 3476447232,3476455423,CA 3476455424,3476881407,US 3476881408,3476946943,CA @@ -158149,7 +160673,9 @@ 3477384848,3477384855,SG 3477384856,3477384863,IE 3477384864,3477384871,SG -3477384872,3477384951,US +3477384872,3477384911,US +3477384912,3477384927,HK +3477384928,3477384951,US 3477384952,3477384959,IE 3477384960,3478114303,US 3478114304,3478118399,PE @@ -158165,17 +160691,15 @@ 3478277952,3478277983,GB 3478277984,3478278399,US 3478278400,3478278655,GB -3478278656,3478282239,US -3478282240,3478290431,GB +3478278656,3478286335,US +3478286336,3478290431,GB 3478290432,3478720767,US 3478720768,3478721023,AU 3478721024,3478721535,US 3478721536,3478721791,CN 3478721792,3478722047,US 3478722048,3478722303,AE -3478722304,3478729983,US -3478729984,3478730239,CA -3478730240,3478732799,US +3478722304,3478732799,US 3478732800,3478749183,DE 3478749184,3479207935,US 3479207936,3479240703,CA @@ -158184,14 +160708,10 @@ 3479296016,3479568383,US 3479568384,3479633919,CA 3479633920,3479896063,US -3479896064,3479956479,CA -3479956480,3479956735,US -3479956736,3479961599,CA +3479896064,3479961599,CA 3479961600,3479969345,US 3479969346,3479969346,DE -3479969347,3479969409,US -3479969410,3479969410,DE -3479969411,3480223743,US +3479969347,3480223743,US 3480223744,3480256511,CA 3480256512,3480444927,US 3480444928,3480449023,CA @@ -158315,9 +160835,7 @@ 3482021120,3482021631,CA 3482021632,3482021887,US 3482021888,3482022143,CA -3482022144,3482023679,US -3482023680,3482023935,CA -3482023936,3482024191,US +3482022144,3482024191,US 3482024192,3482024447,CA 3482024448,3482024959,US 3482024960,3482025215,CA @@ -158355,13 +160873,7 @@ 3482605568,3482612735,JP 3482612736,3482615807,SG 3482615808,3482632191,CA -3482632192,3482755081,US -3482755082,3482755091,MX -3482755092,3482755101,US -3482755102,3482755111,CN -3482755112,3482755211,US -3482755212,3482755221,CA -3482755222,3482755377,US +3482632192,3482755377,US 3482755378,3482755387,RU 3482755388,3482755623,US 3482755624,3482755633,AQ @@ -158371,18 +160883,11 @@ 3482755754,3482755763,FI 3482755764,3482756175,US 3482756176,3482756185,TR -3482756186,3482756255,US -3482756256,3482756265,ES -3482756266,3482756285,US -3482756286,3482756295,IL -3482756296,3482756305,US +3482756186,3482756305,US 3482756306,3482756335,IN 3482756336,3482756361,US 3482756362,3482756371,RU -3482756372,3482756381,BR -3482756382,3482756401,US -3482756402,3482756411,ES -3482756412,3482756421,US +3482756372,3482756421,US 3482756422,3482756431,AZ 3482756432,3482756501,US 3482756502,3482756511,DM @@ -158394,10 +160899,7 @@ 3482756758,3482756767,TR 3482756768,3482756893,US 3482756894,3482756903,BR -3482756904,3482756913,FR -3482756914,3482757169,US -3482757170,3482757179,SE -3482757180,3482757269,US +3482756904,3482757269,US 3482757270,3482757279,AR 3482757280,3482757309,US 3482757310,3482757319,JP @@ -158411,19 +160913,13 @@ 3482757556,3482757565,TR 3482757566,3482757575,US 3482757576,3482757585,CN -3482757586,3482757741,US -3482757742,3482757751,JO -3482757752,3482758499,US +3482757586,3482758499,US 3482758500,3482758527,VE 3482758528,3482759275,US 3482759276,3482759285,SG -3482759286,3482759295,US -3482759296,3482759305,SG -3482759306,3482759823,US +3482759286,3482759823,US 3482759824,3482759831,BR -3482759832,3482760049,US -3482760050,3482760062,NL -3482760063,3482760319,US +3482759832,3482760319,US 3482760320,3482760335,NL 3482760336,3482760385,US 3482760386,3482760423,EG @@ -158470,14 +160966,10 @@ 3483342592,3483344895,CA 3483344896,3483435007,US 3483435008,3483533311,CA -3483533312,3483552290,US -3483552291,3483552291,CA -3483552292,3483631615,US +3483533312,3483631615,US 3483631616,3483697151,CA 3483697152,3483791359,US -3483791360,3483793919,PR -3483793920,3483794431,US -3483794432,3483795455,PR +3483791360,3483795455,PR 3483795456,3483828223,US 3483828224,3483836415,CA 3483836416,3483844607,US @@ -158530,9 +161022,7 @@ 3484471808,3484472063,CA 3484472064,3484472319,US 3484472320,3484472575,CA -3484472576,3484473343,US -3484473344,3484473599,CA -3484473600,3484473855,US +3484472576,3484473855,US 3484473856,3484474111,CA 3484474112,3484475647,US 3484475648,3484476159,CA @@ -158546,8 +161036,8 @@ 3484481792,3484482047,CA 3484482048,3484482559,US 3484482560,3484482815,CA -3484482816,3484483071,US -3484483072,3484483583,CA +3484482816,3484483327,US +3484483328,3484483583,CA 3484483584,3484616392,US 3484616393,3484616393,DE 3484616394,3484647423,US @@ -158602,10 +161092,8 @@ 3485275648,3485277951,US 3485277952,3485278207,CA 3485278208,3485313023,US -3485313024,3485313279,HK -3485313280,3485313407,TH -3485313408,3485313519,HK -3485313520,3485313599,TH +3485313024,3485313535,HK +3485313536,3485313599,TH 3485313600,3485313663,MY 3485313664,3485313791,TH 3485313792,3485314007,MY @@ -158644,7 +161132,8 @@ 3485963008,3485965311,US 3485965312,3485965567,CA 3485965568,3485965568,US -3485965569,3485966335,CA +3485965569,3485965823,KR +3485965824,3485966335,CA 3485966336,3485967615,US 3485967616,3485967616,GB 3485967617,3485967871,US @@ -158656,16 +161145,18 @@ 3485969665,3485970431,US 3485970432,3485970943,CA 3485970944,3485972991,US -3485972992,3485973247,CA -3485973248,3485973503,US -3485973504,3485974527,CA +3485972992,3485974527,CA 3485974528,3486023679,US 3486023680,3486031871,CA 3486031872,3486269439,US 3486269440,3486285823,JM 3486285824,3486302207,PR 3486302208,3486310399,CA -3486310400,3486580991,US +3486310400,3486492415,US +3486492416,3486492671,CA +3486492672,3486493183,US +3486493184,3486493439,CA +3486493440,3486580991,US 3486580992,3486581247,DE 3486581248,3486582527,US 3486582528,3486582783,AU @@ -158797,15 +161288,17 @@ 3487039488,3487105023,CA 3487105024,3487177983,US 3487177984,3487178111,NL -3487178112,3487178175,MX -3487178176,3487178239,NL +3487178112,3487178115,MX +3487178116,3487178239,NL 3487178240,3487216383,US 3487216384,3487216639,SE 3487216640,3487236095,US 3487236096,3487301631,CA 3487301632,3487706367,US 3487706368,3487706623,RU -3487706624,3487750399,US +3487706624,3487730687,US +3487730688,3487731711,CN +3487731712,3487750399,US 3487750400,3487750415,HK 3487750416,3487750527,US 3487750528,3487750543,HK @@ -158815,13 +161308,11 @@ 3487842304,3487847167,CA 3487847168,3487847231,US 3487847232,3487858687,CA -3487858688,3487861759,BM -3487861760,3487862015,KY -3487862016,3487875071,BM +3487858688,3487875071,BM 3487875072,3487891455,US -3487891456,3487894386,CA -3487894387,3487894387,GB -3487894388,3487907839,CA +3487891456,3487894271,CA +3487894272,3487894527,GB +3487894528,3487907839,CA 3487907840,3487913471,US 3487913472,3487913983,CA 3487913984,3487916543,US @@ -158833,9 +161324,15 @@ 3487921664,3487922431,NL 3487922432,3487922687,US 3487922688,3487924223,NL -3487924224,3488014335,US +3487924224,3487985663,US +3487985664,3487985664,MY +3487985665,3488014335,US 3488014336,3488022527,CA -3488022528,3488071679,US +3488022528,3488047871,US +3488047872,3488048127,CA +3488048128,3488048383,US +3488048384,3488048639,CA +3488048640,3488071679,US 3488071680,3488072703,CA 3488072704,3488079871,US 3488079872,3488083967,CA @@ -158850,9 +161347,7 @@ 3488911360,3488940031,US 3488940032,3488956415,CA 3488956416,3488989183,US -3488989184,3488996351,CA -3488996352,3488997375,US -3488997376,3489005567,CA +3488989184,3489005567,CA 3489005568,3489057023,US 3489057024,3489057535,VI 3489057536,3489058047,US @@ -158962,23 +161457,15 @@ 3491969024,3491970047,PR 3491970048,3492151295,US 3492151296,3492167679,CA -3492167680,3492588132,US -3492588133,3492588133,PR -3492588134,3492729855,US -3492729856,3492730367,AU -3492730368,3492807155,US +3492167680,3492588131,US +3492588132,3492588133,PR +3492588134,3492807155,US 3492807156,3492807159,SE 3492807160,3492811775,US 3492811776,3492812759,CA 3492812760,3492812763,JP 3492812764,3492812799,CA -3492812800,3492845567,US -3492845568,3492846591,CH -3492846592,3492865023,US -3492865024,3492865535,GB -3492865536,3492866047,US -3492866048,3492868095,GB -3492868096,3492877954,US +3492812800,3492877954,US 3492877955,3492877955,CA 3492877956,3492880745,US 3492880746,3492880746,ES @@ -158986,20 +161473,18 @@ 3492892672,3492893969,GB 3492893970,3492893971,US 3492893972,3492894719,GB -3492894720,3492896767,US -3492896768,3492897791,GB -3492897792,3492904215,US +3492894720,3492904215,US 3492904216,3492904219,AT 3492904220,3492909989,US 3492909990,3492909990,DE -3492909991,3492921855,US +3492909991,3492917247,US +3492917248,3492917503,VI +3492917504,3492921855,US 3492921856,3492922111,VI -3492922112,3492929535,US -3492929536,3492933119,CA +3492922112,3492931583,US +3492931584,3492933119,CA 3492933120,3492933375,US -3492933376,3492933376,FR -3492933377,3492933377,CH -3492933378,3492933503,FR +3492933376,3492933503,CH 3492933504,3492933631,CA 3492933632,3492939022,US 3492939023,3492939023,DE @@ -159011,15 +161496,13 @@ 3492969472,3492969727,VI 3492969728,3492993023,US 3492993024,3492995071,GB -3492995072,3493039359,US +3492995072,3493007359,US +3493007360,3493008383,GB +3493008384,3493039359,US 3493039360,3493039615,AR 3493039616,3493039695,US 3493039696,3493039703,RO -3493039704,3493044223,US -3493044224,3493050463,AR -3493050464,3493050495,US -3493050496,3493052415,AR -3493052416,3493089023,US +3493039704,3493089023,US 3493089024,3493089279,CM 3493089280,3493244927,US 3493244928,3493249023,PR @@ -159043,7 +161526,9 @@ 3493987328,3493990399,US 3493990400,3493991423,CA 3493991424,3493998591,US -3493998592,3494000639,AI +3493998592,3493999359,KN +3493999360,3493999487,AI +3493999488,3494000639,KN 3494000640,3494003711,US 3494003712,3494004735,CA 3494004736,3494009855,US @@ -159062,7 +161547,9 @@ 3494088704,3494090751,CA 3494090752,3494094847,US 3494094848,3494095359,CA -3494095360,3494121471,US +3494095360,3494095431,US +3494095432,3494095439,CA +3494095440,3494121471,US 3494121472,3494122495,CA 3494122496,3494125567,US 3494125568,3494126591,CA @@ -159154,9 +161641,7 @@ 3494624256,3494625279,CA 3494625280,3494627327,US 3494627328,3494628351,BM -3494628352,3494642687,US -3494642688,3494643199,CA -3494643200,3494651903,US +3494628352,3494651903,US 3494651904,3494652927,CA 3494652928,3494655743,US 3494655744,3494655759,GB @@ -159181,14 +161666,18 @@ 3494758400,3494776831,US 3494776832,3494777855,CA 3494777856,3494785023,US -3494785024,3494787071,MF +3494785024,3494785535,MF +3494785536,3494785791,FR +3494785792,3494787071,MF 3494787072,3494787327,CA 3494787328,3494787583,NG 3494787584,3494788095,CA 3494788096,3494788351,NG 3494788352,3494788607,LY 3494788608,3494789119,CA -3494789120,3494813183,US +3494789120,3494803455,US +3494803456,3494805503,CA +3494805504,3494813183,US 3494813184,3494813439,CA 3494813440,3494852607,US 3494852608,3494854655,CA @@ -159197,15 +161686,16 @@ 3494863104,3494863871,DM 3494863872,3494866943,US 3494866944,3494867967,CA -3494867968,3494874111,US +3494867968,3494871295,US +3494871552,3494874111,US 3494874112,3494874367,ES 3494874368,3494874879,US 3494874880,3494874911,ES 3494874912,3494893567,US 3494893568,3494894591,CA 3494894592,3494917119,US -3494917120,3494918143,CA -3494918144,3494928383,US +3494917120,3494917631,CA +3494917632,3494928383,US 3494928384,3494930431,CA 3494930432,3494950655,US 3494950656,3494950911,PH @@ -159255,9 +161745,7 @@ 3495120896,3495122943,AG 3495122944,3495153663,US 3495153664,3495155711,CA -3495155712,3495187455,US -3495187456,3495188479,VE -3495188480,3495192575,US +3495155712,3495192575,US 3495192576,3495193599,CA 3495193600,3495197695,US 3495197696,3495198719,CA @@ -159308,8 +161796,7 @@ 3495475200,3495477247,CA 3495477248,3495478271,US 3495478272,3495479295,CA -3495479296,3495481343,US -3495483392,3495505919,US +3495479296,3495505919,US 3495505920,3495507967,CA 3495507968,3495515135,US 3495515136,3495516159,CA @@ -159348,9 +161835,7 @@ 3495718912,3495723007,CA 3495723008,3495724031,US 3495724032,3495727103,CA -3495727104,3495729151,US -3495729664,3495730175,US -3495731200,3495739391,US +3495727104,3495739391,US 3495739392,3495740415,CA 3495740416,3495749631,US 3495749632,3495750655,CA @@ -159362,7 +161847,9 @@ 3495828480,3495829503,CA 3495829504,3495837695,US 3495837696,3495838463,CA -3495838464,3495847935,US +3495838464,3495838719,US +3495838720,3495839743,IE +3495839744,3495847935,US 3495847936,3495849983,CA 3495849984,3495862271,US 3495862272,3495864319,CA @@ -159386,7 +161873,11 @@ 3496034304,3496050687,CA 3496050688,3496132607,US 3496132608,3496148991,CA -3496165376,3496181759,US +3496165376,3496170495,US +3496170496,3496170751,NL +3496170752,3496172031,US +3496172032,3496172287,NL +3496172288,3496181759,US 3496181760,3496189951,CA 3496189952,3496296447,US 3496296448,3496312831,CA @@ -159395,8 +161886,8 @@ 3496449536,3496451583,US 3496451584,3496452095,CA 3496452096,3496454599,US -3496454600,3496454615,GB -3496454616,3496454911,US +3496454600,3496454614,GB +3496454615,3496454911,US 3496454912,3496455167,CA 3496455168,3496458239,US 3496458240,3496458495,CA @@ -159426,7 +161917,9 @@ 3497229616,3497229623,CA 3497229624,3497229767,US 3497229768,3497229775,CA -3497229776,3497410559,US +3497229776,3497352703,US +3497352704,3497352711,CA +3497352712,3497410559,US 3497410560,3497431039,CA 3497431040,3497447423,US 3497447424,3497451519,CA @@ -159473,17 +161966,13 @@ 3500126464,3500126719,GB 3500126720,3500351487,US 3500351488,3500359679,JM -3500359680,3500554239,US -3500554240,3500554751,DE -3500554752,3500555775,US +3500359680,3500555775,US 3500555776,3500556287,SE 3500556288,3500728319,US 3500728320,3500736511,KY -3500736512,3500757247,US -3500757248,3500757503,DM -3500757504,3500758527,US -3500758528,3500761087,KY -3500761088,3500807019,US +3500736512,3500759039,US +3500759040,3500760063,KY +3500760064,3500807019,US 3500807020,3500807023,GB 3500807024,3500807195,US 3500807196,3500807199,GB @@ -159503,15 +161992,15 @@ 3501378048,3501378303,DE 3501378304,3501522943,US 3501522944,3501588479,CA -3501588480,3502470143,US +3501588480,3501789847,US +3501789848,3501789855,FR +3501789856,3502470143,US 3502470144,3502471167,MX 3502471168,3502545663,US 3502545664,3502545919,BS 3502545920,3502683135,US 3502683136,3502683391,MC -3502683392,3502993407,US -3502993408,3502993919,NL -3502993920,3503206399,US +3502683392,3503206399,US 3503206400,3503206911,CR 3503206912,3503250431,US 3503250432,3503250943,PK @@ -159529,9 +162018,7 @@ 3503990784,3503992831,AE 3503992832,3504136191,US 3504136192,3504138239,AZ -3504138240,3504207871,US -3504207872,3504208127,CA -3504208128,3504223743,US +3504138240,3504223743,US 3504223744,3504223999,RO 3504224000,3504928687,US 3504928688,3504928695,IT @@ -159543,9 +162030,7 @@ 3505112576,3505112831,EC 3505112832,3505121023,US 3505121024,3505121279,PH -3505121280,3505270527,US -3505270528,3505270783,HT -3505270784,3505416959,US +3505121280,3505416959,US 3505416960,3505417215,MX 3505417216,3505474559,US 3505474560,3505474815,GU @@ -159565,7 +162050,9 @@ 3507037184,3507037439,DE 3507037440,3507055903,US 3507055904,3507055911,HK -3507055912,3507290111,US +3507055912,3507081471,US +3507081472,3507081727,HK +3507081728,3507290111,US 3507290112,3507355647,AR 3507355648,3507421183,US 3507421184,3507421439,CA @@ -159598,8 +162085,8 @@ 3507437056,3507437311,US 3507437312,3507445759,CA 3507445760,3507449855,US -3507449856,3507453951,CA -3507453952,3507454975,US +3507449856,3507454207,CA +3507454208,3507454975,US 3507454976,3507455999,CA 3507456000,3507456255,US 3507456256,3507456511,CA @@ -159609,9 +162096,7 @@ 3507465728,3507486719,CA 3507486720,3507585023,US 3507585024,3507601407,CA -3507601408,3507646463,US -3507646464,3507647487,CA -3507647488,3507748863,US +3507601408,3507748863,US 3507748864,3507749375,CA 3507749376,3507749631,US 3507749632,3507765247,CA @@ -159821,15 +162306,15 @@ 3509536256,3509536511,CA 3509536512,3509537535,US 3509537536,3509537791,CA -3509537792,3509538047,US -3509538048,3509538303,CA -3509538304,3509538559,US +3509537792,3509538559,US 3509538560,3509538815,CA 3509538816,3509539071,US 3509539072,3509539327,CA 3509539328,3509539967,US 3509539968,3509540031,CA -3509540032,3509541119,US +3509540032,3509540351,US +3509540352,3509540863,CA +3509540864,3509541119,US 3509541120,3509541375,CA 3509541376,3509543423,US 3509543424,3509543679,CA @@ -159847,9 +162332,7 @@ 3509552128,3509552639,CA 3509552640,3509554943,US 3509554944,3509554959,CA -3509554960,3509555199,US -3509555200,3509555455,CA -3509555456,3509555711,US +3509554960,3509555711,US 3509555712,3509556735,CA 3509556736,3509557759,US 3509557760,3509558015,CA @@ -159869,10 +162352,8 @@ 3509567488,3509567743,CA 3509567744,3509567999,US 3509568000,3509568255,CA -3509568256,3509571327,US -3509571328,3509571583,CA -3509571584,3509572863,US -3509572864,3509573375,CA +3509568256,3509573119,US +3509573120,3509573375,CA 3509573376,3509573439,US 3509573440,3509573455,CA 3509573456,3509573631,US @@ -159932,22 +162413,22 @@ 3510324224,3510325247,AI 3510325248,3510326271,AG 3510326272,3510327295,VG -3510327296,3510328575,AG +3510327296,3510328031,AG +3510328032,3510328063,DM +3510328064,3510328575,AG 3510328576,3510328831,MS 3510328832,3510329599,AG 3510329600,3510329855,MS 3510329856,3510331391,AG 3510331392,3510332415,DM -3510332416,3510333951,KN -3510333952,3510334975,AG -3510334976,3510335487,KN -3510335488,3510335999,AI -3510336000,3510337279,AG -3510337280,3510337535,LC +3510332416,3510335487,KN +3510335488,3510337535,AI 3510337536,3510363647,US 3510363648,3510363775,CA 3510363776,3510363903,JP -3510363904,3510478015,US +3510363904,3510368767,US +3510368768,3510369279,CA +3510369280,3510478015,US 3510478016,3510478023,CA 3510478024,3510479791,US 3510479792,3510479799,IE @@ -159966,7 +162447,9 @@ 3511258112,3511314215,US 3511314216,3511314223,CA 3511314224,3511812095,US -3511812096,3511844863,CA +3511812096,3511832575,CA +3511832576,3511832831,US +3511832832,3511844863,CA 3511844864,3512021503,US 3512021504,3512021759,GB 3512021760,3512043519,US @@ -159984,7 +162467,9 @@ 3512205824,3512206079,AW 3512206080,3512207359,US 3512207360,3512209407,CO -3512209408,3512221695,US +3512209408,3512210431,US +3512210432,3512210943,NA +3512210944,3512221695,US 3512221696,3512221951,AG 3512221952,3512222207,VG 3512222208,3512222271,AG @@ -160009,8 +162494,8 @@ 3512242176,3512242431,CL 3512242432,3512242687,US 3512242688,3512244991,EG -3512244992,3512245247,US -3512245248,3512245759,IL +3512244992,3512245503,US +3512245504,3512245759,IL 3512245760,3512246015,US 3512246016,3512246783,CL 3512246784,3512248319,US @@ -160021,8 +162506,8 @@ 3512256512,3512258559,CL 3512258560,3512260607,US 3512260608,3512261631,GU -3512261632,3512262655,US -3512262656,3512263679,GT +3512261632,3512262911,US +3512262912,3512263679,GT 3512263680,3512264191,VE 3512264192,3512267263,US 3512267264,3512268031,TG @@ -160066,7 +162551,9 @@ 3512836096,3512840191,SG 3512840192,3512844287,GB 3512844288,3512852479,CA -3512852480,3512983551,US +3512852480,3512959231,US +3512959232,3512960767,CA +3512960768,3512983551,US 3512983552,3512987647,AR 3512987648,3513188351,US 3513188352,3513204735,CA @@ -160084,25 +162571,22 @@ 3513495680,3513495743,PR 3513495744,3513495807,VI 3513495808,3513495871,UM -3513495872,3513496067,CA +3513495872,3513496063,US +3513496064,3513496067,CA 3513496068,3513496071,MX 3513496072,3513496075,PR 3513496076,3513496079,VI 3513496080,3513496083,UM -3513496084,3513497151,CA +3513496084,3513497087,US +3513497088,3513497151,CA 3513497152,3513497215,MX 3513497216,3513497279,PR 3513497280,3513497343,VI 3513497344,3513497407,UM -3513497408,3513497599,CA -3513497600,3513497855,US -3513497856,3513498111,CA -3513498112,3513500415,US +3513497408,3513500415,US 3513500416,3513500671,AU 3513500672,3513778175,US -3513778176,3513782271,CA -3513782272,3513783295,US -3513783296,3513794559,CA +3513778176,3513794559,CA 3513794560,3514007551,US 3514007552,3514040319,CA 3514040320,3514367999,US @@ -160156,26 +162640,28 @@ 3514802984,3514808831,CA 3514808832,3514809855,US 3514809856,3514843135,CA -3514843136,3514993983,US +3514843136,3514993663,US +3514993664,3514993983,GB 3514993984,3514993987,FR 3514993988,3514993991,DE 3514993992,3514994007,GB 3514994008,3514994015,DK 3514994016,3514994016,GB 3514994017,3514994023,DK -3514994024,3514997759,US +3514994024,3514994049,GB +3514994050,3514994050,US +3514994051,3514994175,GB +3514994176,3514997759,US 3514997760,3514998783,CL -3514998784,3515009023,US -3515009024,3515009535,CA -3515009536,3515056639,US -3515056640,3515056895,GB -3515056896,3515058175,US +3514998784,3515056127,US +3515056128,3515057407,GB +3515057408,3515058175,US 3515058176,3515058431,SE 3515058432,3515059199,US -3515059200,3515059455,DE -3515059456,3515060735,US -3515060736,3515060991,NL -3515060992,3515114247,US +3515059200,3515059967,DE +3515059968,3515060735,US +3515060736,3515061247,NL +3515061248,3515114247,US 3515114248,3515114255,AU 3515114256,3515211775,US 3515211776,3515219967,CA @@ -160206,7 +162692,9 @@ 3516039168,3516071935,CA 3516071936,3516088831,US 3516088832,3516088832,GB -3516088833,3516094207,US +3516088833,3516092671,US +3516092672,3516092927,CA +3516092928,3516094207,US 3516094208,3516094208,GB 3516094209,3516095487,US 3516095488,3516095488,GB @@ -160233,7 +162721,11 @@ 3516900096,3516900351,ZA 3516900352,3516900607,US 3516900608,3516900863,ZA -3516900864,3516903423,US +3516900864,3516902399,US +3516902400,3516902655,ZA +3516902656,3516902911,US +3516902912,3516903167,ZA +3516903168,3516903423,US 3516903424,3516907519,CA 3516907520,3517019135,US 3517019136,3517019391,HN @@ -160272,12 +162764,12 @@ 3517389568,3517390079,US 3517390080,3517390335,CA 3517390336,3517390591,US -3517390592,3517394943,CA -3517394944,3517395199,US -3517395200,3517395455,CA -3517395456,3517395967,US -3517395968,3517396479,CA -3517396480,3517397247,US +3517390592,3517392895,CA +3517392896,3517393151,US +3517393152,3517393407,CA +3517393408,3517394431,US +3517394432,3517396991,CA +3517396992,3517397247,US 3517397248,3517397503,CA 3517397504,3517397759,US 3517397760,3517398015,CA @@ -160300,12 +162792,8 @@ 3517409280,3517409791,US 3517409792,3517410303,CA 3517410304,3517411327,US -3517411328,3517411839,CA -3517411840,3517412095,US -3517412096,3517412351,CA -3517412352,3517412607,US -3517412608,3517412863,CA -3517412864,3517416919,US +3517411328,3517413375,CA +3517413376,3517416919,US 3517416920,3517416927,CA 3517416928,3517416959,US 3517416960,3517417215,CA @@ -160323,11 +162811,11 @@ 3517425664,3517425919,CA 3517425920,3517426751,US 3517426752,3517426815,CA -3517426816,3517426943,US -3517426944,3517427455,CA +3517426816,3517427199,US +3517427200,3517427455,CA 3517427456,3517428991,US -3517428992,3517429503,CA -3517429504,3517430271,US +3517428992,3517429247,CA +3517429248,3517430271,US 3517430272,3517430527,CA 3517430528,3517432319,US 3517432320,3517432575,CA @@ -160462,7 +162950,9 @@ 3519875584,3519876095,CA 3519876096,3519878271,US 3519878272,3519878303,CA -3519878304,3519881983,US +3519878304,3519879727,US +3519879728,3519879735,CA +3519879736,3519881983,US 3519881984,3519882239,CA 3519882240,3519882751,US 3519882752,3519883007,CA @@ -160597,7 +163087,9 @@ 3521380352,3521837055,US 3521837056,3521837311,SG 3521837312,3521904639,US -3521904640,3521921023,JM +3521904640,3521915903,JM +3521915904,3521916927,VC +3521916928,3521921023,JM 3521921024,3521965055,US 3521965056,3521966079,DE 3521966080,3522101247,US @@ -160612,9 +163104,15 @@ 3522131845,3522131846,BZ 3522131847,3522131858,US 3522131859,3522131859,DE -3522131860,3522131888,US +3522131860,3522131866,US +3522131867,3522131867,BZ +3522131868,3522131876,US +3522131877,3522131877,BZ +3522131878,3522131888,US 3522131889,3522131889,BZ -3522131890,3522131900,US +3522131890,3522131897,US +3522131898,3522131898,BZ +3522131899,3522131900,US 3522131901,3522131901,BZ 3522131902,3522131923,US 3522131924,3522131924,BZ @@ -160630,9 +163128,7 @@ 3522174976,3522179071,BM 3522179072,3522195455,US 3522195456,3522199551,CA -3522199552,3522816767,US -3522816768,3522817023,CA -3522817024,3522854911,US +3522199552,3522854911,US 3522854912,3522871295,CA 3522871296,3522879487,US 3522879488,3522881535,GB @@ -160645,8 +163141,8 @@ 3522903040,3522903807,US 3522903808,3522904063,CA 3522904064,3522937599,US -3522937600,3522938879,GB -3522938880,3522940415,US +3522937600,3522938367,GB +3522938368,3522940415,US 3522940416,3522940671,HK 3522940672,3522950655,US 3522950656,3522951167,CA @@ -160675,11 +163171,7 @@ 3523493888,3523497983,BD 3523497984,3523500031,AU 3523500032,3523502079,KR -3523502080,3523505407,PH -3523505408,3523505441,JP -3523505442,3523505442,PH -3523505443,3523505663,JP -3523505664,3523510271,PH +3523502080,3523510271,PH 3523510272,3523518463,TH 3523518464,3523526655,JP 3523526656,3523530751,US @@ -160972,8 +163464,7 @@ 3526950912,3526951935,MY 3526951936,3526952959,JP 3526952960,3526953983,ID -3526953984,3526954751,JP -3526954752,3526955007,PH +3526953984,3526955007,JP 3526955008,3526955263,US 3526955264,3526956287,JP 3526956288,3526956799,HK @@ -160983,23 +163474,24 @@ 3526958336,3526958336,SG 3526958337,3526958591,JP 3526958592,3526958592,SG -3526958593,3526958847,JP +3526958593,3526958612,JP +3526958613,3526958613,HK +3526958614,3526958847,JP 3526958848,3526959359,VN 3526959360,3526959871,JP 3526959872,3526960639,HK -3526960640,3526961151,SG +3526960640,3526961151,JP 3526961152,3526961407,MY 3526961408,3526961663,AU 3526961664,3526964735,JP -3526964736,3526965503,AU +3526964736,3526964992,AU +3526964993,3526965247,JP +3526965248,3526965503,AU 3526965504,3526966527,JP 3526966528,3526966783,HK -3526966784,3526967295,SG -3526967296,3526971439,JP -3526971440,3526971443,HK -3526971444,3526971531,JP -3526971532,3526971535,HK -3526971536,3526971647,JP +3526966784,3526967039,JP +3526967040,3526967295,SG +3526967296,3526971647,JP 3526971648,3526972159,HK 3526972160,3527000319,JP 3527000320,3527000575,IN @@ -161050,9 +163542,7 @@ 3534749696,3534757887,HK 3534757888,3534758143,AU 3534758144,3534758147,JP -3534758148,3534758155,AU -3534758156,3534758159,JP -3534758160,3534758399,AU +3534758148,3534758399,AU 3534758400,3534758655,HK 3534758656,3534758911,AU 3534758912,3534758927,PH @@ -161067,22 +163557,16 @@ 3534760448,3534760959,NZ 3534760960,3534761727,AU 3534761728,3534761983,JP -3534761984,3534783231,HK -3534783232,3534783487,IN -3534783488,3534784767,HK +3534761984,3534784767,HK 3534784768,3534785023,TW -3534785024,3534785043,HK -3534785044,3534785047,SG -3534785048,3534785119,HK -3534785120,3534785123,SG -3534785124,3534785327,HK -3534785328,3534785335,SG -3534785336,3534785343,HK -3534785344,3534785375,SG -3534785376,3534786815,HK -3534786816,3534787327,MY +3534785024,3534786559,HK +3534786560,3534786575,MY +3534786576,3534786576,HK +3534786577,3534787327,MY 3534787328,3534787583,TH -3534787584,3534863443,HK +3534787584,3534788463,HK +3534788464,3534788471,KR +3534788472,3534863443,HK 3534863444,3534863444,CN 3534863445,3534880767,HK 3534880768,3535273983,KR @@ -161141,7 +163625,7 @@ 3537010688,3537027071,ID 3537027072,3537047551,KR 3537047552,3537049599,ID -3537049600,3537051647,HK +3537049600,3537051647,TW 3537051648,3537059839,JP 3537059840,3537068031,KR 3537068032,3537076223,VN @@ -161199,9 +163683,7 @@ 3556925440,3556933631,PL 3556933632,3556941823,UA 3556941824,3556950015,IE -3556950016,3556955135,TR -3556955136,3556955167,GB -3556955168,3556958207,TR +3556950016,3556958207,TR 3556958208,3556966399,KG 3556966400,3556974591,SE 3556974592,3556982783,ES @@ -161209,12 +163691,13 @@ 3556990976,3556999167,UA 3556999168,3557007359,RU 3557007360,3557015551,IT -3557015552,3557016976,LV -3557016977,3557016977,ES -3557016978,3557023743,LV -3557023744,3557026815,BE -3557026816,3557027839,NL -3557027840,3557031935,BE +3557015552,3557023743,LV +3557023744,3557024895,GB +3557024896,3557025023,BE +3557025024,3557025791,GB +3557025792,3557027839,NL +3557027840,3557029887,BE +3557029888,3557031935,GB 3557031936,3557040127,IT 3557040128,3557048319,NO 3557048320,3557056511,CH @@ -161242,11 +163725,12 @@ 3557173760,3557174015,IR 3557174016,3557174527,IT 3557174528,3557174783,IR -3557174784,3557175039,IT +3557174784,3557175039,AE 3557175040,3557175295,IR 3557175296,3557175807,CH -3557175808,3557176063,IR -3557176064,3557176831,IT +3557175808,3557176607,IT +3557176608,3557176619,NE +3557176620,3557176831,IT 3557176832,3557177023,IQ 3557177024,3557179391,IT 3557179392,3557228543,DE @@ -161265,8 +163749,13 @@ 3557302272,3557310463,UA 3557310464,3557326847,ES 3557326848,3557335039,DE +3557335040,3557335807,GB +3557336064,3557336271,GB 3557336272,3557336279,BE +3557336280,3557338623,GB +3557338880,3557339163,GB 3557339164,3557339164,BE +3557339165,3557343231,GB 3557343232,3557351423,DE 3557351424,3557355519,RU 3557355520,3557355775,NL @@ -161286,10 +163775,8 @@ 3557363596,3557363631,JE 3557363632,3557363639,GB 3557363640,3557363703,JE -3557363704,3557363707,GB -3557363708,3557364703,JE -3557364704,3557364711,GB -3557364712,3557367807,JE +3557363704,3557363711,GB +3557363712,3557367807,JE 3557367808,3557375999,DE 3557376000,3557384191,ES 3557384192,3557392383,GB @@ -161343,11 +163830,13 @@ 3557834752,3557842943,IR 3557842944,3557851135,FI 3557851136,3557859327,HU -3557859328,3557861983,SE -3557861984,3557862015,FI -3557862016,3557863295,SE -3557863296,3557863327,FI -3557863328,3557863887,SE +3557859328,3557861375,SE +3557861376,3557861887,FI +3557861888,3557861919,SE +3557861920,3557862081,FI +3557862082,3557862082,SE +3557862083,3557863423,FI +3557863424,3557863887,SE 3557863888,3557863903,NO 3557863904,3557863919,FI 3557863920,3557864311,SE @@ -161359,8 +163848,8 @@ 3557892096,3557900287,IE 3557900288,3557916671,AT 3557916672,3557924863,NO -3557924864,3557928959,AX -3557928960,3557933055,FI +3557924864,3557926911,AX +3557926912,3557933055,FI 3557933056,3557941247,IT 3557941248,3557957631,DE 3557957632,3557965823,SI @@ -161440,7 +163929,9 @@ 3558276352,3558277119,GI 3558277120,3558285951,GB 3558285952,3558286079,DE -3558286080,3558289975,GB +3558286080,3558286335,GB +3558286336,3558287359,FR +3558287360,3558289975,GB 3558289976,3558289983,CZ 3558289984,3558290831,GB 3558290832,3558290847,ES @@ -161476,7 +163967,7 @@ 3558457472,3558457599,NL 3558457600,3558457727,FR 3558457728,3558465535,NL -3558465536,3558473727,AU +3558465536,3558473727,GB 3558473728,3558506495,SA 3558506496,3558514687,UA 3558514688,3558522879,SK @@ -161485,7 +163976,9 @@ 3558525184,3558525439,NL 3558525440,3558525695,FR 3558525696,3558525951,IE -3558525952,3558531071,NL +3558525952,3558526975,NL +3558526976,3558527744,ES +3558527745,3558531071,NL 3558531072,3558539263,RU 3558539264,3558547455,DK 3558547456,3558555647,FR @@ -161493,7 +163986,9 @@ 3558572032,3558580223,DE 3558580224,3558582783,CH 3558582784,3558583295,GB -3558583296,3558586879,CH +3558583296,3558584623,CH +3558584624,3558584631,FR +3558584632,3558586879,CH 3558586880,3558587391,GB 3558587392,3558588415,CH 3558588416,3558596607,CZ @@ -161559,18 +164054,18 @@ 3559055360,3559063551,AM 3559063552,3559079935,CH 3559079936,3559088127,JO -3559088128,3559088639,BE -3559088640,3559090239,GB +3559088128,3559090175,BE +3559090176,3559090239,GB 3559090240,3559090303,BE -3559090304,3559090687,GB -3559090688,3559090943,BE -3559090944,3559091023,GB +3559090304,3559091023,GB 3559091024,3559091031,BE 3559091032,3559091399,GB 3559091400,3559091407,BE 3559091408,3559092243,GB 3559092244,3559092244,BE -3559092245,3559093503,GB +3559092245,3559093311,GB +3559093312,3559093319,BE +3559093320,3559093503,GB 3559093504,3559093759,BE 3559093760,3559095455,GB 3559095456,3559095456,BE @@ -161594,7 +164089,9 @@ 3559164152,3559164159,IT 3559164160,3559167215,GB 3559167216,3559167231,DE -3559167232,3559172607,GB +3559167232,3559171583,GB +3559171584,3559172095,DE +3559172096,3559172607,GB 3559172608,3559172863,DE 3559172864,3559178239,GB 3559178240,3559186431,LB @@ -161631,7 +164128,9 @@ 3559306578,3559309311,GB 3559309312,3559317503,PL 3559317504,3559325695,FI -3559325696,3559333887,IT +3559325696,3559328767,IT +3559328768,3559329279,GB +3559329280,3559333887,IT 3559333888,3559336447,SE 3559336448,3559336703,US 3559336704,3559342079,SE @@ -161722,7 +164221,9 @@ 3559931904,3559938181,GB 3559938182,3559938182,DE 3559938183,3559940095,GB -3559940096,3559948287,DE +3559940096,3559945087,DE +3559945088,3559945151,PL +3559945152,3559948287,DE 3559948288,3559956479,RU 3559956480,3559964671,IT 3559964672,3559976959,RU @@ -161740,9 +164241,7 @@ 3560030208,3560046591,GB 3560046592,3560054783,BG 3560054784,3560062975,TR -3560062976,3560069119,BG -3560069120,3560069375,GB -3560069376,3560071167,BG +3560062976,3560071167,BG 3560071168,3560079359,CY 3560079360,3560087551,FI 3560087552,3560095743,GB @@ -161818,6 +164317,16 @@ 3560669184,3560685567,CH 3560685568,3560693759,ES 3560693760,3560701951,PL +3560701952,3560702975,LT +3560702976,3560703999,RU +3560704000,3560704255,IE +3560704256,3560704511,GB +3560704512,3560704767,US +3560704768,3560705023,IE +3560705024,3560706047,NL +3560706048,3560707071,GB +3560707072,3560708095,RU +3560708096,3560710143,LT 3560710144,3560718335,CH 3560718336,3560726527,GM 3560726528,3560734719,DK @@ -163227,7 +165736,8 @@ 3560945450,3560945450,SG 3560945451,3560945451,IN 3560945452,3560945453,DE -3560945454,3560945458,SG +3560945454,3560945457,SG +3560945458,3560945458,DE 3560945459,3560945459,TW 3560945460,3560945460,SG 3560945461,3560945461,DE @@ -163268,7 +165778,7 @@ 3560945568,3560945575,DE 3560945576,3560945579,SG 3560945580,3560945583,MY -3560945584,3560945587,SG +3560945584,3560945587,DE 3560945588,3560945591,TW 3560945592,3560945595,SG 3560945596,3560945599,DE @@ -163621,8 +166131,8 @@ 3561022562,3561022562,DE 3561022563,3561022563,AT 3561022564,3561022564,DE -3561022565,3561022719,AT -3561022720,3561037823,DE +3561022565,3561022975,AT +3561022976,3561037823,DE 3561037824,3561046015,BE 3561046016,3561054207,RU 3561054208,3561062399,MT @@ -163701,20 +166211,12 @@ 3561578496,3561586687,RU 3561586688,3561594879,BG 3561594880,3561603071,SE -3561603072,3561607167,FR -3561607168,3561607391,GB -3561607392,3561607423,FR -3561607424,3561607679,GB +3561603072,3561605119,FR +3561605120,3561607679,GB 3561607680,3561608191,FR 3561608192,3561609215,GB -3561609216,3561611263,FR -3561611264,3561611519,GB -3561611520,3561611775,FR -3561611776,3561612543,GB -3561612544,3561612799,FR -3561612800,3561613199,GB -3561613200,3561613215,ES -3561613216,3561613311,GB +3561609216,3561612799,FR +3561612800,3561613311,ES 3561613312,3561613823,FR 3561613824,3561614207,GB 3561614208,3561614335,FR @@ -163722,8 +166224,7 @@ 3561614848,3561615103,FR 3561615104,3561615359,GB 3561615360,3561617407,FR -3561617408,3561618431,IE -3561618432,3561618877,ES +3561617408,3561618877,ES 3561618878,3561618878,PL 3561618879,3561619071,ES 3561619072,3561619072,GB @@ -163746,9 +166247,7 @@ 3561775104,3561783295,IL 3561783296,3561799679,RU 3561799680,3561807871,DE -3561807872,3561814015,BE -3561814016,3561815039,LU -3561815040,3561816063,BE +3561807872,3561816063,BE 3561816064,3561824255,VA 3561824256,3561832447,LI 3561832448,3561840639,IT @@ -163762,34 +166261,46 @@ 3561897984,3561906175,GB 3561906176,3561914367,DE 3561914368,3561922559,ES -3561922560,3561924607,NL -3561924608,3561925043,GB -3561925044,3561925044,NL -3561925045,3561925343,GB +3561922560,3561924607,GB +3561924608,3561925119,NL +3561925120,3561925343,GB 3561925344,3561925375,NL -3561925376,3561928703,GB -3561928704,3561938943,NL +3561925376,3561926655,GB +3561926656,3561927679,NL +3561927680,3561929727,GB +3561929728,3561930239,NL +3561930240,3561930751,GB +3561930752,3561938943,NL 3561938944,3561947135,IE 3561947136,3561963519,DE 3561963520,3561971711,BE 3561971712,3561975807,CZ 3561975808,3561979903,UA 3561979904,3561988095,ES -3561988096,3562004479,DE -3562004480,3562012671,NL +3561988096,3562012671,DE 3562012672,3562020863,IR 3562020864,3562029055,UA 3562029056,3562037247,CZ 3562037248,3562045439,CH -3562045440,3562056911,ES -3562056912,3562056927,FR -3562056928,3562057471,ES -3562057472,3562057727,DE -3562057728,3562059391,ES +3562045440,3562059391,ES 3562059392,3562059519,CH 3562059520,3562061823,ES +3562061824,3562062847,LT +3562062848,3562063871,UA +3562063872,3562064895,SE +3562064896,3562065919,IL +3562065920,3562066943,ES +3562066944,3562068991,NL +3562068992,3562070015,IE 3562070016,3562078207,DE 3562078208,3562086399,SK +3562086400,3562088447,RU +3562088448,3562089471,FR +3562089472,3562090495,DE +3562090496,3562091519,NO +3562091520,3562092543,LB +3562092544,3562093567,RO +3562093568,3562094591,MD 3562094592,3562094879,GB 3562094880,3562094975,CH 3562094976,3562102256,GB @@ -163820,7 +166331,7 @@ 3562201088,3562209279,DE 3562209280,3562217471,RU 3562217472,3562225663,DE -3562225664,3562233855,NL +3562226688,3562233855,NL 3562233856,3562242047,FI 3562242048,3562253276,FR 3562253277,3562253277,NL @@ -163869,6 +166380,14 @@ 3562496000,3562504191,BE 3562504192,3562512383,DE 3562512384,3562520575,UA +3562520576,3562521599,AU +3562521600,3562522623,TR +3562522624,3562523647,RO +3562523648,3562525695,DE +3562525696,3562526718,US +3562526719,3562526719,DE +3562526720,3562527743,RU +3562527744,3562528767,DE 3562528768,3562536959,PL 3562536960,3562545151,AT 3562545152,3562553343,GB @@ -163888,6 +166407,13 @@ 3562668032,3562676223,IT 3562676224,3562684415,UA 3562684416,3562692607,FI +3562692608,3562693631,RU +3562693632,3562694655,GB +3562695680,3562696703,UA +3562696704,3562697727,GB +3562697728,3562698751,MD +3562698752,3562699775,DE +3562699776,3562700799,UA 3562700800,3562708991,DE 3562708992,3562717183,UA 3562717184,3562725375,CH @@ -163935,7 +166461,7 @@ 3563011072,3563012095,DE 3563012096,3563020287,FR 3563020288,3563028479,DE -3563028480,3563036671,HK +3563028480,3563036671,US 3563036672,3563044863,BG 3563044864,3563053055,ES 3563053056,3563061247,GB @@ -163970,8 +166496,8 @@ 3563331584,3563339775,DE 3563339776,3563347967,NG 3563347968,3563348991,GB -3563348992,3563352063,FI -3563352064,3563356159,GB +3563348992,3563353087,FI +3563353088,3563356159,GB 3563356160,3563364351,RU 3563364352,3563372543,BE 3563372544,3563380735,SA @@ -163993,6 +166519,16 @@ 3563503616,3563511807,GB 3563511808,3563519999,DE 3563520000,3563528191,FR +3563528192,3563529215,DE +3563529216,3563530239,TR +3563530240,3563531263,GB +3563531264,3563532287,LV +3563532288,3563532799,US +3563532800,3563533055,DE +3563533056,3563533311,RO +3563533312,3563534335,NL +3563534336,3563535359,TR +3563535360,3563536383,DE 3563536384,3563544575,CH 3563544576,3563552767,RU 3563552768,3563560959,SI @@ -164016,6 +166552,14 @@ 3563741184,3563749375,GB 3563749376,3563765759,PL 3563765760,3563782143,ES +3563782144,3563784191,TR +3563784192,3563785215,DE +3563785216,3563785727,RU +3563785728,3563786239,GB +3563786240,3563787263,DE +3563787264,3563788287,SY +3563788288,3563789311,RU +3563789312,3563790335,DE 3563790336,3563798527,EE 3563798528,3563800607,FR 3563800608,3563800623,GB @@ -164100,12 +166644,16 @@ 3563804704,3563804719,FR 3563804720,3563804727,GB 3563804728,3563806719,FR -3563806720,3563814911,SA +3563806720,3563807743,SA +3563807744,3563808255,GB +3563808256,3563814911,SA 3563814912,3563823103,SE 3563823104,3563831295,DE 3563831296,3563847679,RU 3563847680,3563848447,NL -3563848448,3563848703,GB +3563848448,3563848639,GB +3563848640,3563848655,NL +3563848656,3563848703,GB 3563848704,3563848847,NL 3563848848,3563848848,GB 3563848849,3563848849,NL @@ -164130,12 +166678,10 @@ 3563995136,3564003327,MK 3564003328,3564011519,DE 3564011520,3564012543,UA -3564012544,3564013567,RU -3564013568,3564016639,UA +3564012544,3564015615,RU +3564015616,3564016639,UA 3564016640,3564016895,RU -3564016896,3564018687,UA -3564018688,3564019199,RU -3564019200,3564019711,UA +3564016896,3564019711,UA 3564019712,3564027903,GB 3564027904,3564044287,DE 3564044288,3564052479,CZ @@ -164159,8 +166705,8 @@ 3564176640,3564176671,PL 3564176672,3564183551,GB 3564183552,3564191743,UA -3564191744,3564193279,BE -3564197120,3564197375,BE +3564191744,3564193791,BE +3564196864,3564197375,BE 3564199936,3564208127,RU 3564208128,3564216319,GB 3564216320,3564224511,PT @@ -164170,8 +166716,23 @@ 3564265472,3564273663,NL 3564273664,3564306431,DE 3564306432,3564314623,TR -3564322816,3564331007,IT -3564339200,3564355583,GB +3564314624,3564315647,DE +3564315648,3564316671,NL +3564316672,3564317695,DE +3564317696,3564318719,ES +3564318720,3564319487,RU +3564319488,3564319743,GB +3564319744,3564320767,DE +3564320768,3564321791,RU +3564321792,3564322815,RO +3564322816,3564332031,IT +3564332032,3564333055,TR +3564333056,3564334079,NL +3564334080,3564335103,DE +3564335104,3564336127,UZ +3564336128,3564337151,PL +3564337152,3564338175,RS +3564338176,3564355583,GB 3564355584,3564363775,NL 3564363776,3564371967,UA 3564371968,3564380159,DE @@ -164204,6 +166765,12 @@ 3564572532,3564574719,GB 3564574720,3564574975,NL 3564574976,3564576767,GB +3564576768,3564577791,MD +3564577792,3564578815,CZ +3564578816,3564580863,RU +3564580864,3564582911,ES +3564582912,3564583935,GB +3564583936,3564584959,SE 3564584960,3564593151,SA 3564593152,3564601343,RU 3564601344,3564609535,EE @@ -164222,17 +166789,11 @@ 3564733184,3564733215,DE 3564733216,3564733259,GB 3564733260,3564733263,DE -3564733264,3564733343,GB -3564733344,3564733351,DE -3564733352,3564733393,GB -3564733394,3564733394,DE -3564733395,3564733416,GB -3564733417,3564733420,DE -3564733421,3564733421,GB -3564733422,3564733422,DE -3564733423,3564733439,GB -3564733440,3564734207,DE -3564734208,3564734457,GB +3564733264,3564733311,GB +3564733312,3564733439,DE +3564733440,3564733807,GB +3564733808,3564733823,DE +3564733824,3564734457,GB 3564734458,3564734458,DE 3564734459,3564734741,GB 3564734742,3564734742,DE @@ -164241,15 +166802,7 @@ 3564734752,3564734775,GB 3564734776,3564734783,DE 3564734784,3564736511,GB -3564736512,3564737023,DE -3564737024,3564739327,GB -3564739328,3564739343,DE -3564739344,3564739345,GB -3564739346,3564739346,DE -3564739347,3564739521,GB -3564739522,3564739522,DE -3564739523,3564739583,GB -3564739584,3564740607,DE +3564736512,3564740607,DE 3564740608,3564748799,FR 3564748800,3564756991,GB 3564756992,3564765183,ES @@ -164263,9 +166816,7 @@ 3564806144,3564814335,BG 3564814336,3564822527,PL 3564822528,3564830719,EG -3564830720,3564836863,BE -3564836864,3564836991,GB -3564836992,3564838911,BE +3564830720,3564838911,BE 3564838912,3564847103,DE 3564847104,3564855295,IT 3564855296,3564863487,DE @@ -164292,22 +166843,23 @@ 3564883200,3564883455,NL 3564883456,3564883967,GB 3564883968,3564884479,NL -3564884480,3564884543,GB -3564884544,3564884551,DE -3564884552,3564886015,GB +3564884480,3564886015,GB 3564886016,3564886527,NL -3564886528,3564886719,GB -3564886720,3564886751,NL -3564886752,3564888991,GB +3564886528,3564886655,GB +3564886656,3564886783,NL +3564886784,3564888991,GB 3564888992,3564888993,ES 3564888994,3564888994,NL 3564888995,3564889007,ES 3564889008,3564889633,GB 3564889634,3564889634,NL -3564889635,3564891647,GB +3564889635,3564891135,GB +3564891136,3564891647,DE 3564891648,3564892159,IT -3564892160,3564895231,GB -3564895232,3564895743,NL +3564892160,3564894207,GB +3564894208,3564894719,NL +3564894720,3564894975,GB +3564894976,3564895743,NL 3564895744,3564896255,GB 3564896256,3564904447,RU 3564904448,3564912639,DE @@ -164343,8 +166895,8 @@ 3565027328,3565035519,PL 3565035520,3565037567,IE 3565037568,3565038591,GB -3565038592,3565038847,IE -3565038848,3565039487,GB +3565038592,3565039103,IE +3565039104,3565039487,GB 3565039488,3565039495,IE 3565039496,3565039615,GB 3565039616,3565041663,IE @@ -164367,7 +166919,8 @@ 3565256704,3565289471,CN 3565289472,3565355007,DK 3565355008,3565420543,IT -3565420544,3565486975,GB +3565420544,3565486335,GB +3565486336,3565486975,FR 3565486976,3565487615,NL 3565487616,3565495295,GB 3565495296,3565496319,FR @@ -164375,91 +166928,13 @@ 3565502464,3565503487,NL 3565503488,3565518847,GB 3565518848,3565551615,TR -3565551616,3565684995,GB +3565551616,3565682687,GB +3565682688,3565684735,NL +3565684736,3565684995,GB 3565684996,3565684996,NL -3565684997,3565690879,GB -3565690880,3565748223,NL -3565748224,3565752319,GB -3565752464,3565752479,GB -3565752536,3565752559,GB -3565752576,3565752839,GB -3565752856,3565752879,GB -3565752888,3565752983,GB -3565752992,3565752999,GB -3565753016,3565753031,GB -3565753040,3565753071,GB -3565753080,3565753183,GB -3565753248,3565753279,GB -3565753344,3565753791,GB -3565753800,3565753815,GB -3565753824,3565753831,GB -3565753840,3565753847,GB -3565753984,3565754367,GB -3565754496,3565754511,GB -3565754624,3565755183,GB -3565755200,3565755263,GB -3565755280,3565755359,GB -3565755376,3565755583,GB -3565755648,3565755695,GB -3565755704,3565755727,GB -3565755736,3565755831,GB -3565755840,3565755847,GB -3565755856,3565755871,GB -3565755880,3565755903,GB -3565756152,3565756159,GB -3565756416,3565760783,GB -3565760792,3565760799,GB -3565760808,3565760823,GB -3565760832,3565760855,GB -3565760864,3565760935,GB -3565760944,3565760967,GB -3565760976,3565761007,GB -3565761016,3565761279,GB -3565761344,3565761535,GB -3565761544,3565761599,GB -3565761616,3565761631,GB -3565761640,3565761647,GB -3565761656,3565761687,GB -3565761704,3565761727,GB -3565761752,3565761783,GB -3565761792,3565762047,GB -3565762048,3565762303,ZA -3565762560,3565762815,GB -3565763072,3565763455,GB -3565763488,3565763599,GB -3565763616,3565763671,GB -3565763680,3565763703,GB -3565763720,3565763735,GB -3565763744,3565763751,GB -3565763760,3565763799,GB -3565763808,3565763815,GB -3565763832,3565763839,GB -3565763884,3565763891,GB -3565764096,3565764183,GB -3565764192,3565764207,GB -3565764256,3565764367,GB -3565764376,3565764431,GB -3565764448,3565764455,GB -3565764464,3565764551,GB -3565764576,3565766655,GB -3565766912,3565767167,GB -3565767176,3565767255,GB -3565767272,3565767287,GB -3565767296,3565767351,GB -3565767360,3565767399,GB -3565767408,3565767439,GB -3565767456,3565767487,GB -3565767504,3565767519,GB -3565767536,3565767599,GB -3565767616,3565767631,GB -3565767680,3565767999,GB -3565768208,3565768223,GB -3565768240,3565768247,GB -3565768448,3565768575,GB -3565768704,3565768983,GB -3565769472,3565769727,GB -3565770752,3565771775,GB -3565777920,3565813759,GB +3565684997,3565686783,GB +3565686784,3565748223,NL +3565748224,3565813759,GB 3565813760,3565879295,SA 3565879296,3566010367,GB 3566010368,3566075903,IT @@ -164486,75 +166961,20 @@ 3566739456,3566747647,RU 3566747648,3566764031,GR 3566764032,3566796799,AT -3566796800,3566862335,NL +3566796800,3566799871,NL +3566799872,3566800127,PL +3566800128,3566862335,NL 3566862336,3566895103,TR 3566895104,3566927871,KZ 3566927872,3566993407,FR 3566993408,3567058943,TR 3567058944,3567124479,FR -3567124992,3567125023,GB -3567125248,3567125503,GB -3567126688,3567126759,GB -3567127552,3567127807,GB -3567129856,3567129887,GB -3567130016,3567130079,GB -3567131384,3567131647,GB -3567133216,3567133247,GB -3567133368,3567133375,GB -3567134208,3567134335,GB -3567134848,3567134975,GB -3567136512,3567136575,GB -3567136640,3567136671,GB -3567136768,3567136895,GB -3567137024,3567137279,GB -3567137600,3567137663,GB -3567137988,3567137991,GB -3567138000,3567138003,GB -3567140096,3567140351,GB -3567140864,3567140927,GB -3567141632,3567141887,GB -3567142272,3567142399,GB -3567143520,3567143551,GB -3567143680,3567143687,GB -3567143872,3567143935,GB -3567143952,3567143967,GB -3567144172,3567144175,GB -3567144320,3567144447,GB -3567144768,3567144831,GB -3567147528,3567147535,GB -3567147552,3567147559,GB -3567148520,3567148527,GB -3567148800,3567149055,GB -3567149088,3567149119,GB -3567149904,3567149911,GB -3567149920,3567149935,GB -3567151136,3567151199,GB -3567151232,3567151263,GB -3567152000,3567152127,GB -3567152160,3567152191,GB -3567152256,3567152383,GB -3567152400,3567152407,GB -3567152640,3567152647,GB -3567152744,3567152751,GB -3567152832,3567152863,GB -3567152960,3567152991,GB -3567153024,3567153055,GB -3567153600,3567153607,GB -3567153616,3567153623,GB -3567153648,3567153663,GB -3567153688,3567153703,GB -3567153720,3567153727,GB -3567153824,3567153847,GB -3567154304,3567154367,GB -3567155200,3567155967,GB -3567156416,3567156607,GB +3567124480,3567157247,GB 3567157248,3567165439,CZ 3567165440,3567169535,RU 3567169536,3567173631,MK 3567173632,3567239167,GB -3567239168,3567243263,NL -3567243264,3567247359,IT -3567247360,3567255551,NL +3567239168,3567255551,NL 3567255552,3567263743,PL 3567263744,3567271935,ES 3567271936,3567321087,PL @@ -164564,9 +166984,7 @@ 3567338944,3567338951,DE 3567338952,3567340543,GB 3567340544,3567341567,IT -3567341568,3567344389,GB -3567344390,3567344390,ES -3567344391,3567344455,GB +3567341568,3567344455,GB 3567344456,3567344479,ES 3567344480,3567350271,GB 3567350272,3567350527,ES @@ -164576,13 +166994,20 @@ 3567388648,3567388655,DE 3567388656,3567389695,GB 3567389696,3567390719,DE -3567390720,3567393801,PL +3567390720,3567392767,PL +3567392768,3567393801,GB 3567393802,3567393802,SI -3567393803,3567394815,PL -3567394816,3567399935,GB +3567393803,3567399935,GB 3567399936,3567401471,DE 3567401472,3567403007,GB 3567403008,3567419391,IT +3567419392,3567420415,GB +3567420416,3567422463,RU +3567422464,3567423487,HU +3567423488,3567424511,NO +3567424512,3567425535,US +3567425536,3567426559,MD +3567426560,3567427583,GB 3567427584,3567435775,SE 3567435776,3567453079,GB 3567453080,3567453087,ES @@ -164619,18 +167044,21 @@ 3567507288,3567516671,GB 3567516672,3567517695,ES 3567517696,3567583231,RU -3567583232,3567583487,AT -3567583744,3567583871,AT -3567583936,3567583999,AT -3567584256,3567584383,AT -3567584392,3567584407,AT -3567584512,3567584639,AT +3567583232,3567584319,GB +3567584320,3567584383,AT +3567584384,3567584399,GB +3567584400,3567584407,AT +3567584408,3567585279,GB 3567585280,3567585311,TR -3567585792,3567586303,GB +3567585312,3567586303,GB 3567586304,3567586815,TR -3567587328,3567591423,GB +3567586816,3567591423,GB 3567591424,3567599615,IT -3567599616,3567615999,NL +3567599616,3567610879,NL +3567610880,3567611051,NO +3567611052,3567611055,NL +3567611056,3567611135,NO +3567611136,3567615999,NL 3567616000,3567616767,GB 3567616768,3567617023,US 3567617024,3567618047,GB @@ -164668,12 +167096,9 @@ 3568107520,3568173055,GB 3568173056,3568304127,TR 3568304128,3568369663,RU -3568369664,3568370175,FR -3568370176,3568435199,IT +3568369664,3568435199,IT 3568435200,3568443391,UA -3568443392,3568470015,NL -3568470016,3568470271,GB -3568470272,3568476159,NL +3568443392,3568476159,NL 3568476160,3568484351,DK 3568484352,3568492543,NL 3568492544,3568500735,RS @@ -164693,11 +167118,9 @@ 3569002752,3569012991,AT 3569014272,3569025023,AT 3569025024,3569057791,NL -3569057792,3569074687,GB -3569074688,3569074943,IE -3569074944,3569075455,GB -3569075456,3569075711,IE -3569075712,3569090559,GB +3569057792,3569074175,GB +3569074176,3569076223,IE +3569076224,3569090559,GB 3569090560,3569123327,RU 3569123328,3569156095,GB 3569156096,3569188863,NL @@ -164960,10 +167383,8 @@ 3569745888,3569745903,FR 3569745904,3569745919,NL 3569745920,3569807871,FR -3569807872,3569808383,GP -3569808384,3569809407,FR -3569809408,3569810431,GP -3569810432,3569810943,FR +3569807872,3569809407,GP +3569809408,3569810943,FR 3569810944,3569811455,GP 3569811456,3569876991,IL 3569876992,3569942527,RS @@ -165010,7 +167431,11 @@ 3571321056,3571321071,DE 3571321072,3571321823,GB 3571321824,3571321855,DE -3571321856,3571384319,GB +3571321856,3571337930,GB +3571337931,3571337931,DE +3571337932,3571338519,GB +3571338520,3571338527,FR +3571338528,3571384319,GB 3571384320,3571482623,DE 3571482624,3571515391,BE 3571515392,3571548159,GB @@ -165018,7 +167443,9 @@ 3571580928,3571646463,FI 3571646464,3571688383,DE 3571688384,3571689215,ES -3571689216,3571711999,DE +3571689216,3571699711,DE +3571699712,3571700735,GB +3571700736,3571711999,DE 3571712000,3571843071,GB 3571843072,3571974143,ES 3571974144,3571978239,RU @@ -165027,7 +167454,9 @@ 3571982336,3572006911,RU 3572006912,3572039679,CH 3572039680,3572047871,BE -3572047872,3572056063,LU +3572047872,3572050943,LU +3572050944,3572051071,FR +3572051072,3572056063,LU 3572056064,3572072447,RU 3572072448,3572105215,BG 3572105216,3572170751,FR @@ -165089,7 +167518,9 @@ 3573284864,3573415935,TR 3573415936,3573481471,CH 3573481472,3573547007,DE -3573547008,3573612543,ES +3573547008,3573549002,ES +3573549003,3573549003,IT +3573549004,3573612543,ES 3573612544,3573743615,GB 3573743616,3573809151,CH 3573809152,3573874687,ES @@ -165139,14 +167570,15 @@ 3574186804,3574186804,ES 3574186805,3574187007,GB 3574187008,3574188031,ES -3574188032,3574198271,GB +3574188032,3574195199,GB +3574195200,3574196223,ES +3574196224,3574198271,GB 3574198272,3574199295,ES 3574199296,3574200831,GB 3574200832,3574202367,ES 3574202368,3574267903,NL 3574267904,3574333439,FR -3574333440,3574341631,GB -3574348288,3574348543,GB +3574333440,3574398975,GB 3574398976,3574464511,PT 3574464512,3574530047,TR 3574530048,3574530207,SE @@ -165167,9 +167599,9 @@ 3574841631,3574857727,GB 3574857728,3574923263,DE 3574923264,3574939647,RU -3574939648,3574941183,SE -3574941184,3574941567,NO -3574941568,3574949743,SE +3574939648,3574941375,SE +3574941376,3574941439,NO +3574941440,3574949743,SE 3574949744,3574949759,NO 3574949760,3574956031,SE 3574956032,3574972415,IT @@ -165323,7 +167755,9 @@ 3575697408,3575701503,IT 3575701504,3575702591,GB 3575702592,3575702655,DK -3575702656,3575703551,GB +3575702656,3575703039,GB +3575703040,3575703295,SE +3575703296,3575703551,GB 3575703552,3575705599,SE 3575705600,3575707647,DK 3575707648,3575708671,LU @@ -165337,145 +167771,7 @@ 3575873536,3575906303,EE 3575906304,3575971839,FR 3575971840,3576037375,ES -3576038208,3576038271,GB -3576038336,3576038463,GB -3576038528,3576038591,GB -3576038912,3576038975,GB -3576039168,3576039199,GB -3576039360,3576039383,GB -3576039392,3576039455,GB -3576039520,3576039551,GB -3576039584,3576039647,GB -3576039808,3576039839,GB -3576039904,3576039935,GB -3576040064,3576040127,GB -3576040216,3576040223,GB -3576040272,3576040287,GB -3576040352,3576040383,GB -3576040832,3576040959,GB -3576041472,3576041535,GB -3576041728,3576041775,GB -3576041784,3576041791,GB -3576041832,3576041847,GB -3576041864,3576041871,GB -3576041880,3576041887,GB -3576041904,3576041919,GB -3576041936,3576041943,GB -3576041952,3576041967,GB -3576042112,3576042239,GB -3576042560,3576042623,GB -3576042688,3576042695,GB -3576042752,3576042815,GB -3576045584,3576045599,GB -3576045664,3576045679,GB -3576045712,3576045735,GB -3576045800,3576045807,GB -3576045816,3576045823,GB -3576048640,3576048767,GB -3576048960,3576049023,GB -3576049152,3576050047,GB -3576053760,3576054911,GB -3576055104,3576055111,GB -3576055120,3576055127,GB -3576055152,3576055167,GB -3576055184,3576055199,GB -3576055208,3576055215,GB -3576055280,3576055551,GB -3576055808,3576055871,GB -3576055936,3576055999,GB -3576056192,3576056255,GB -3576056320,3576056447,GB -3576056704,3576056767,GB -3576056856,3576056871,GB -3576056880,3576056887,GB -3576056920,3576056927,GB -3576056936,3576056943,GB -3576056952,3576056975,GB -3576056992,3576056999,GB -3576057040,3576057047,GB -3576057632,3576057639,GB -3576057712,3576057743,GB -3576057824,3576057839,GB -3576058880,3576059007,GB -3576059648,3576059679,GB -3576059712,3576059743,GB -3576059776,3576059807,GB -3576060288,3576060351,GB -3576061040,3576061055,GB -3576061120,3576061135,GB -3576061184,3576061247,GB -3576061312,3576061439,GB -3576061584,3576061591,GB -3576061620,3576061631,GB -3576061640,3576061647,GB -3576064320,3576064448,GB -3576064544,3576064559,GB -3576065856,3576065887,GB -3576066304,3576066431,GB -3576068352,3576068479,GB -3576068864,3576068927,GB -3576069056,3576069119,GB -3576069248,3576069279,GB -3576069312,3576069343,GB -3576070696,3576070703,GB -3576070712,3576070719,GB -3576070728,3576070735,GB -3576070776,3576070783,GB -3576071296,3576071423,GB -3576071552,3576071679,GB -3576071936,3576071951,GB -3576072064,3576072079,GB -3576072288,3576072319,GB -3576072416,3576072447,GB -3576073216,3576073279,GB -3576074752,3576074879,GB -3576075264,3576075327,GB -3576075776,3576075903,GB -3576076272,3576076351,GB -3576076568,3576076575,GB -3576076784,3576076791,GB -3576077440,3576077471,GB -3576077568,3576077695,GB -3576077936,3576077967,GB -3576078144,3576078175,GB -3576078464,3576078591,GB -3576080000,3576080127,GB -3576080224,3576080255,GB -3576080776,3576080783,GB -3576080792,3576080799,GB -3576080808,3576080815,GB -3576080824,3576080831,GB -3576082080,3576082095,GB -3576082208,3576082223,GB -3576082688,3576082943,GB -3576084480,3576084543,GB -3576084608,3576084671,GB -3576084704,3576084735,GB -3576084864,3576084927,GB -3576086016,3576086143,GB -3576086368,3576086399,GB -3576086568,3576086571,GB -3576086600,3576086603,GB -3576087808,3576087823,GB -3576087952,3576087967,GB -3576088032,3576088047,GB -3576088224,3576088231,GB -3576088376,3576088383,GB -3576088480,3576088511,GB -3576088960,3576088967,GB -3576089032,3576089039,GB -3576089440,3576089471,GB -3576089776,3576089791,GB -3576091408,3576091423,GB -3576091456,3576091479,GB -3576092128,3576092159,GB -3576092864,3576092895,GB -3576093064,3576093071,GB -3576093184,3576093247,GB -3576095232,3576096767,GB -3576099072,3576099327,GB -3576099840,3576100863,GB -3576101376,3576103491,GB +3576037376,3576103491,GB 3576103492,3576103495,HU 3576103496,3576104911,GB 3576104912,3576104927,ES @@ -165488,12 +167784,14 @@ 3576110016,3576110939,GB 3576110940,3576110943,NL 3576110944,3576111103,GB -3576111104,3576114463,FR +3576111104,3576113151,FR +3576113152,3576114255,GB +3576114256,3576114271,FR +3576114272,3576114463,GB 3576114464,3576114471,US -3576114472,3576116127,FR +3576114472,3576116127,GB 3576116128,3576116135,DE -3576116136,3576119295,FR -3576119296,3576120315,GB +3576116136,3576120315,GB 3576120316,3576120319,SG 3576120320,3576122261,GB 3576122262,3576122262,CH @@ -165505,60 +167803,64 @@ 3576126780,3576126783,ES 3576126784,3576130207,GB 3576130208,3576130211,NL -3576130212,3576131583,GB -3576131584,3576133199,CH +3576130212,3576133199,GB 3576133200,3576133215,FR -3576133216,3576134655,CH +3576133216,3576133631,GB +3576133632,3576134655,CH 3576134656,3576135679,GB 3576135680,3576168447,DE 3576168448,3576233983,GB 3576233984,3576236543,FR -3576236544,3576238079,GB -3576238080,3576239103,FR +3576236544,3576237055,GB +3576237056,3576238079,FR +3576238080,3576238463,GB +3576238464,3576238464,FR +3576238465,3576239103,GB 3576239104,3576239359,ES -3576239360,3576240127,FR -3576240128,3576241991,GB +3576239360,3576241991,GB 3576241992,3576241999,FR 3576242000,3576244223,GB -3576244224,3576248575,FR +3576244224,3576248319,FR +3576248320,3576248575,GB 3576248576,3576248625,AT 3576248626,3576248626,SK 3576248627,3576248831,AT -3576248832,3576250367,FR -3576250368,3576251711,GB +3576248832,3576249343,GB +3576249344,3576251391,FR +3576251392,3576251711,GB 3576251712,3576251775,FR 3576251776,3576252415,GB -3576252416,3576253439,FR -3576253440,3576254511,GB +3576252416,3576254463,FR +3576254464,3576254511,GB 3576254512,3576254527,FR 3576254528,3576254775,GB 3576254776,3576254783,FR -3576254784,3576255303,GB +3576254784,3576254975,GB +3576254976,3576255303,FR 3576255304,3576255311,ES -3576255312,3576255457,GB -3576255458,3576255458,FR -3576255459,3576255487,GB -3576255488,3576255999,FR -3576256000,3576257999,GB +3576255312,3576256511,FR +3576256512,3576257999,GB 3576258000,3576258007,DE 3576258008,3576258047,GB 3576258048,3576258559,FR 3576258560,3576258927,GB 3576258928,3576258935,FR -3576258936,3576261631,GB +3576258936,3576259583,GB +3576259584,3576260623,FR +3576260624,3576261631,GB 3576261632,3576263679,FR -3576263680,3576263849,GB -3576263850,3576263850,FR -3576263851,3576263919,GB -3576263920,3576263935,FR +3576263680,3576263807,GB +3576263808,3576263935,FR 3576263936,3576263975,GB 3576263976,3576263983,FR -3576263984,3576264703,GB +3576263984,3576264255,GB +3576264256,3576264263,FR +3576264264,3576264703,GB 3576264704,3576265215,FR 3576265216,3576265359,GB 3576265360,3576265367,FR -3576265368,3576265727,GB -3576265728,3576299519,FR +3576265368,3576266751,GB +3576266752,3576299519,FR 3576299520,3576365055,AE 3576365056,3576430591,TR 3576430592,3576496127,FR @@ -165574,50 +167876,44 @@ 3576823808,3576889343,SE 3576889344,3576954879,NL 3576954880,3576987647,NO -3576987648,3577020415,GB +3576987648,3576999935,GB +3576999936,3577000191,NL +3577000192,3577020415,GB 3577020416,3577085951,NL 3577085952,3577151487,DE -3577151488,3577162495,RE -3577162496,3577163263,FR -3577163264,3577167871,RE +3577151488,3577151999,RE +3577152000,3577152255,FR +3577152256,3577161215,RE +3577161216,3577161471,FR +3577161472,3577165055,RE +3577165056,3577165183,FR +3577165184,3577167871,RE 3577167872,3577184255,ET 3577184256,3577217023,CH -3577217024,3577238015,FR -3577238016,3577238271,RE -3577238272,3577268223,FR +3577217024,3577238112,FR +3577238113,3577238113,RE +3577238114,3577268223,FR 3577268224,3577268479,RE 3577268480,3577282559,FR 3577282560,3577348095,IL 3577348096,3577413631,PT -3577413632,3577444351,RU -3577444352,3577446399,NL +3577413632,3577442303,RU +3577442304,3577446399,US 3577446400,3577479167,RU 3577479168,3577544703,ES -3577544704,3577558015,DE -3577558016,3577558271,BE -3577558272,3577596527,DE -3577596528,3577596543,IT -3577596544,3577596623,DE -3577596624,3577596639,IT -3577596640,3577596671,DE -3577596672,3577596735,IT +3577544704,3577596527,DE +3577596528,3577596735,IT 3577596736,3577596743,DE 3577596744,3577596751,IT -3577596752,3577596927,DE -3577596928,3577597439,IT -3577597440,3577597695,DE -3577597696,3577597823,NL -3577597824,3577597887,DE -3577597888,3577597951,NL -3577597952,3577610239,DE +3577596752,3577596879,DE +3577596880,3577596895,IT +3577596896,3577610239,DE 3577626176,3577626239,GB 3577628672,3577629695,CH 3577635840,3577636863,DE 3577636864,3577637887,GB 3577639744,3577639775,FR -3577639818,3577639818,FR -3577639896,3577639899,FR -3577639920,3577639927,FR +3577639808,3577639935,FR 3577641200,3577641215,FR 3577641472,3577641983,FR 3577642496,3577642751,FR @@ -165632,11 +167928,7 @@ 3578339328,3578347519,ES 3578347520,3578363903,DE 3578363904,3578396671,NL -3578396672,3578425855,TR -3578425856,3578426367,SA -3578426368,3578446431,TR -3578446432,3578446591,RU -3578446592,3578462207,TR +3578396672,3578462207,TR 3578462208,3578527743,NL 3578527744,3578576895,PL 3578576896,3578593279,ES @@ -165658,20 +167950,25 @@ 3579019264,3579052031,DK 3579052032,3579117567,NL 3579117568,3579183103,RU -3579183104,3579193607,GB -3579193608,3579193615,NL -3579193616,3579193791,GB -3579193792,3579193799,NL -3579193800,3579209727,GB +3579183104,3579193343,GB +3579193344,3579193855,NL +3579193856,3579194367,GB +3579194368,3579195391,NL +3579195392,3579207359,GB +3579207360,3579207367,DE +3579207368,3579209727,GB 3579209728,3579210751,DE 3579210752,3579216033,GB 3579216034,3579216034,DE 3579216035,3579219967,GB 3579219968,3579220223,DE -3579220224,3579244543,GB -3579244544,3579244831,PL -3579244832,3579244879,AT -3579244880,3579245055,PL +3579220224,3579220479,BE +3579220480,3579220991,GB +3579220992,3579221503,ES +3579221504,3579221935,GB +3579221936,3579221943,DE +3579221944,3579244799,GB +3579244800,3579245055,AT 3579245056,3579248639,GB 3579248640,3579346943,RU 3579346944,3579362055,SE @@ -165798,10 +168095,7 @@ 3579740160,3579772927,IE 3579772928,3579838463,DE 3579838464,3580039167,ES -3580039168,3580039199,NL -3580039200,3580039231,AT -3580039232,3580039247,ES -3580039248,3580039423,IT +3580039168,3580039423,IT 3580039424,3580039519,ES 3580039520,3580039551,NL 3580039552,3580100607,ES @@ -165819,17 +168113,15 @@ 3580136192,3580136447,EE 3580136448,3580141567,HR 3580141568,3580148735,LV -3580148736,3580149759,SE -3580149760,3580162047,EE +3580148736,3580157951,SE +3580157952,3580162047,EE 3580162048,3580164095,SE 3580164096,3580166143,EE 3580166144,3580198911,SE 3580198912,3580199935,LV 3580199936,3580200447,SE 3580200448,3580201983,LT -3580201984,3580203647,SE -3580203648,3580203775,AT -3580203776,3580204031,SE +3580201984,3580204031,SE 3580204032,3580204544,LT 3580204545,3580204799,SE 3580204800,3580204800,LT @@ -165851,7 +168143,9 @@ 3580244992,3580246015,LT 3580246016,3580248063,LV 3580248064,3580255231,SE -3580255232,3580259327,LV +3580255232,3580255487,LV +3580255488,3580255743,SE +3580255744,3580259327,LV 3580259328,3580260351,SE 3580260352,3580265471,AT 3580265472,3580265727,SE @@ -165861,8 +168155,7 @@ 3580272640,3580280831,SE 3580280832,3580297215,HR 3580297216,3580329983,LT -3580329984,3580338175,EE -3580338176,3580339199,SE +3580329984,3580339199,SE 3580339200,3580339711,EE 3580339712,3580346367,SE 3580346368,3580354559,LT @@ -165901,19 +168194,29 @@ 3580675072,3580682239,RU 3580682240,3580684287,PL 3580684288,3580686335,FR -3580686336,3580687359,IR +3580686336,3580686847,IR +3580686848,3580687103,AE +3580687104,3580687359,IR 3580687360,3580688383,GB 3580688384,3580698623,RU 3580698624,3580702719,PL 3580702720,3580706815,RU 3580706816,3580708863,KG -3580708864,3580710911,RU +3580708864,3580709119,RU +3580709120,3580709375,NL +3580709376,3580710911,RU 3580710912,3580715007,UA 3580715008,3580719103,RU 3580719104,3580723199,NL 3580723200,3580727295,UA 3580727296,3580731391,RU -3580739584,3580743679,RU +3580731392,3580732415,DE +3580732416,3580733439,CZ +3580733440,3580734463,GB +3580734464,3580735487,CZ +3580735488,3580737535,GB +3580737536,3580738559,IT +3580738560,3580743679,RU 3580743680,3580747775,KZ 3580747776,3580751871,UA 3580751872,3580755967,IR @@ -165951,7 +168254,9 @@ 3582050304,3582058495,NL 3582058496,3582066687,AT 3582066688,3582074879,UA -3582074880,3582078719,GB +3582074880,3582076431,GB +3582076432,3582076447,DE +3582076448,3582078719,GB 3582078720,3582078735,DE 3582078736,3582083071,GB 3582083072,3582084095,BG @@ -165974,7 +168279,9 @@ 3582107648,3582115839,NL 3582115840,3582116095,SE 3582116096,3582116351,EE -3582116352,3582119935,SE +3582116352,3582116863,SE +3582116864,3582117887,EE +3582117888,3582119935,SE 3582119936,3582120959,LT 3582120960,3582121983,EE 3582121984,3582124031,SE @@ -166041,17 +168348,21 @@ 3582559744,3582559815,BE 3582559824,3582559999,CH 3582561280,3582565887,BE +3582566400,3582569023,GB 3582569024,3582569031,AT +3582569032,3582570471,GB 3582570472,3582570479,FR +3582570480,3582570911,GB 3582570912,3582570943,FR -3582572416,3582572423,CH +3582570944,3582574591,GB 3582574592,3582582783,DE 3582582784,3582590975,RU 3582590976,3582599167,FR 3582599168,3582607359,DE 3582607360,3582615551,RU 3582615552,3582623743,GB -3582623744,3582631935,FI +3582623744,3582623999,NO +3582624000,3582631935,FI 3582631936,3582640127,NO 3582640128,3582646271,RU 3582646272,3582647295,IT @@ -166123,11 +168434,7 @@ 3583131648,3583131709,DE 3583131710,3583131710,DK 3583131711,3583148031,DE -3583148032,3583157247,GB -3583157248,3583157471,IE -3583157472,3583157487,GB -3583157488,3583158271,IE -3583158272,3583164415,GB +3583148032,3583164415,GB 3583164416,3583172607,PT 3583172608,3583188991,DE 3583188992,3583197183,RU @@ -166157,18 +168464,16 @@ 3583361024,3583369215,IT 3583369216,3583377407,ES 3583377408,3583385599,AT -3583385600,3583393791,DK +3583385600,3583388671,DK +3583388672,3583389439,SE +3583389440,3583393791,DK 3583393792,3583401983,RU 3583401984,3583410175,KE 3583410176,3583418367,SE 3583418368,3583426559,TN 3583426560,3583428607,CV 3583428608,3583434751,ZA -3583434752,3583436799,AT -3583436800,3583436927,DE -3583436928,3583436959,AT -3583436960,3583437055,DE -3583437056,3583442943,AT +3583434752,3583442943,AT 3583442944,3583451135,RU 3583451136,3583459327,IL 3583459328,3583467519,CZ @@ -166178,7 +168483,9 @@ 3583475712,3583483903,NO 3583483904,3583492095,FR 3583492096,3583508479,SK -3583508480,3583516671,FR +3583508480,3583513407,FR +3583513408,3583513439,US +3583513440,3583516671,FR 3583516672,3583524863,GB 3583524864,3583533055,EG 3583533056,3583541247,DE @@ -166207,7 +168514,7 @@ 3583739077,3583739077,GB 3583742824,3583742831,DE 3583743616,3583743743,GB -3583744112,3583744127,SE +3583744000,3583744127,SE 3583744128,3583744255,PL 3583744320,3583744383,GB 3583744512,3583744767,GB @@ -166258,11 +168565,7 @@ 3584001024,3584004095,US 3584004096,3584008191,CH 3584008192,3584016383,SE -3584016384,3584018431,RU -3584018432,3584018943,CN -3584018944,3584019455,RU -3584019456,3584020479,CN -3584020480,3584024575,RU +3584016384,3584024575,RU 3584024576,3584032767,UA 3584032768,3584040959,DE 3584040960,3584049151,CH @@ -166276,8 +168579,8 @@ 3584098304,3584106495,SI 3584106496,3584114687,FI 3584114688,3584116991,GB -3584116992,3584117247,NL -3584117248,3584122879,GB +3584116992,3584118783,NL +3584118784,3584122879,GB 3584122880,3584131071,PL 3584131072,3584139263,TR 3584139264,3584147455,NO @@ -166312,10 +168615,22 @@ 3584401408,3584409599,MT 3584409600,3584417791,RU 3584417792,3584434175,GB -3584434176,3584434303,DE -3584434304,3584442367,LU +3584434176,3584442367,LU +3584442368,3584443391,RU +3584443392,3584444415,NL +3584444416,3584445439,RU +3584445440,3584446463,US +3584446464,3584446719,RU +3584446720,3584446975,KZ +3584446976,3584447487,RU +3584447488,3584448511,NL +3584448512,3584450047,RU +3584450048,3584450303,US +3584450304,3584450559,RU 3584458752,3584466943,SA -3584466944,3584475135,NO +3584466944,3584467967,NO +3584467968,3584468223,SE +3584468224,3584475135,NO 3584475136,3584483327,FR 3584483328,3584491519,DE 3584491520,3584499711,BG @@ -166359,6 +168674,13 @@ 3584704512,3584720895,RU 3584720896,3584729087,GB 3584729088,3584737279,DE +3584737280,3584738303,RU +3584738304,3584739327,DE +3584739328,3584740351,GB +3584740352,3584741375,RS +3584741376,3584742399,RO +3584743424,3584744447,DE +3584744448,3584745471,BR 3584745472,3584753663,ES 3584753664,3584770047,RU 3584770048,3584778239,NL @@ -166377,6 +168699,13 @@ 3584868352,3584876543,NO 3584876544,3584884735,SI 3584884736,3584892927,DE +3584892928,3584893951,GB +3584893952,3584894975,BG +3584894976,3584897023,CH +3584897024,3584898047,FR +3584898048,3584899071,SY +3584899072,3584900095,NL +3584900096,3584901119,FR 3584901120,3584909311,AT 3584909312,3584917503,IT 3584917504,3584925695,FI @@ -166389,7 +168718,9 @@ 3584974848,3584983039,FR 3584983040,3584991231,US 3584991232,3584999423,IT -3584999424,3585007615,GB +3584999424,3585005062,GB +3585005063,3585005063,NL +3585005064,3585007615,GB 3585007616,3585015807,AT 3585015808,3585023999,IT 3585024000,3585032191,CZ @@ -166397,10 +168728,7 @@ 3585048576,3585056767,GB 3585056768,3585064959,LB 3585064960,3585081343,GB -3585081344,3585085439,IR -3585085440,3585087487,DE -3585087488,3585089023,IR -3585089024,3585089535,GB +3585081344,3585089535,IR 3585089536,3585090559,FI 3585090560,3585091583,IR 3585091584,3585092607,FI @@ -166408,8 +168736,9 @@ 3585093632,3585094655,FI 3585094656,3585095679,IR 3585095680,3585096703,FI -3585096704,3585113599,IR -3585113600,3585114111,GB +3585096704,3585111039,IR +3585111040,3585112063,BG +3585112064,3585114111,IR 3585114112,3585122303,IS 3585122304,3585130495,ES 3585130496,3585138687,FR @@ -166467,7 +168796,29 @@ 3585490944,3585499135,IT 3585499136,3585515519,DE 3585515520,3585523711,RU -3585523712,3585531903,LV +3585523712,3585524223,LV +3585524224,3585524479,AZ +3585524480,3585524735,SL +3585524736,3585524991,TN +3585524992,3585525247,JO +3585525248,3585525503,CR +3585525504,3585525759,HR +3585525760,3585526015,CY +3585526016,3585526271,EG +3585526272,3585526527,GR +3585526528,3585526783,GT +3585526784,3585527039,HU +3585527040,3585527295,IS +3585527296,3585527551,IM +3585527552,3585527807,OM +3585527808,3585528063,HU +3585528064,3585528319,MK +3585528320,3585528575,RS +3585528576,3585528831,KE +3585528832,3585529087,NG +3585529088,3585529343,SG +3585529344,3585529855,BR +3585529856,3585531903,CN 3585531904,3585540095,AT 3585540096,3585548287,DE 3585548288,3585548543,NL @@ -166496,6 +168847,14 @@ 3585597440,3585605631,RU 3585605632,3585613823,PL 3585613824,3585622015,EE +3585622016,3585623039,KZ +3585623040,3585624063,FR +3585624064,3585625087,ES +3585625088,3585626111,IT +3585626112,3585627135,RO +3585627136,3585628159,NL +3585628160,3585629183,CH +3585629184,3585630207,CZ 3585630208,3585632255,IL 3585632256,3585632511,GB 3585632512,3585632639,NL @@ -166530,7 +168889,9 @@ 3585720320,3585728511,GB 3585728512,3585736703,SE 3585736704,3585744895,HR -3585744896,3585747839,FR +3585744896,3585747743,FR +3585747744,3585747759,PL +3585747760,3585747839,FR 3585747840,3585747903,GB 3585747904,3585749295,FR 3585749296,3585749311,ES @@ -166543,7 +168904,9 @@ 3585750352,3585750367,DE 3585750368,3585750383,ES 3585750384,3585750399,PT -3585750400,3585753087,FR +3585750400,3585752831,FR +3585752832,3585752895,PL +3585752896,3585753087,FR 3585753088,3585761279,PL 3585761280,3585765375,UA 3585765376,3585765631,RU @@ -166585,7 +168948,8 @@ 3585900544,3585906687,NO 3585906688,3585907711,CZ 3585907712,3585908735,NO -3585908736,3585916927,GP +3585908736,3585910783,GF +3585910784,3585916927,GP 3585916928,3585925119,IT 3585925120,3585933311,CH 3585933312,3585941503,NL @@ -166595,6 +168959,15 @@ 3585966080,3585974271,CH 3585974272,3585982463,BE 3585982464,3585998847,RU +3585998848,3585999871,CH +3585999872,3586000895,DE +3586000896,3586001919,ES +3586001920,3586002943,FR +3586002944,3586004479,GB +3586004480,3586004735,NL +3586004736,3586004991,GB +3586004992,3586006015,HR +3586006016,3586007039,DE 3586007040,3586015231,LT 3586015232,3586022687,FR 3586022688,3586022688,GB @@ -166621,9 +168994,10 @@ 3586179072,3586195455,ES 3586195456,3586203647,RU 3586203648,3586205695,ZA -3586205696,3586207999,BW -3586208000,3586208255,ZA -3586208256,3586211839,BW +3586205696,3586207743,BW +3586207744,3586211071,ZA +3586211072,3586211327,BW +3586211328,3586211839,ZA 3586211840,3586228223,CH 3586228224,3586244607,BE 3586244608,3586246655,NL @@ -166634,8 +169008,8 @@ 3586258944,3586259455,BE 3586259456,3586260991,NL 3586260992,3586261031,GB -3586261032,3586261047,LU -3586261048,3586271807,GB +3586261032,3586261055,LU +3586261056,3586271807,GB 3586271808,3586271823,IT 3586271824,3586272799,GB 3586272800,3586272807,IT @@ -166734,7 +169108,8 @@ 3586682240,3586682367,US 3586682368,3586682415,RO 3586682416,3586682423,DE -3586682424,3586682495,RO +3586682424,3586682431,CZ +3586682432,3586682495,RO 3586682496,3586682879,FR 3586682880,3586686975,DE 3586686976,3586703359,SE @@ -166754,11 +169129,7 @@ 3586910720,3586911231,BE 3586911232,3586916351,DE 3586916352,3586924543,IT -3586924544,3586925823,FI -3586925824,3586926049,AX -3586926050,3586926050,FI -3586926051,3586926079,AX -3586926080,3586927615,FI +3586924544,3586927615,FI 3586927616,3586928127,AX 3586928128,3586928639,FI 3586928640,3586929663,AX @@ -166817,33 +169188,31 @@ 3587219456,3587222271,RU 3587222272,3587222527,RO 3587222528,3587227647,RU -3587227648,3587233791,NL +3587227648,3587231743,NL +3587231744,3587233087,GB +3587233088,3587233095,NL +3587233096,3587233279,GB +3587233280,3587233791,NL 3587233792,3587234815,GB 3587234816,3587235071,DE 3587235072,3587235839,GB -3587235840,3587239423,NL -3587239424,3587239551,GB +3587235840,3587237887,NL +3587237888,3587239551,GB 3587239552,3587239552,NL 3587239553,3587239791,GB 3587239792,3587239799,NL -3587239800,3587239827,GB -3587239828,3587239828,NL -3587239829,3587239935,GB -3587239936,3587240447,NL -3587240448,3587241983,GB -3587241984,3587242495,NL +3587239800,3587239807,GB +3587239808,3587240959,NL +3587240960,3587241215,GB +3587241216,3587242495,NL 3587242496,3587242671,GB 3587242672,3587242679,NL 3587242680,3587244031,GB 3587244032,3587260415,IT -3587260416,3587277567,DE -3587277568,3587277823,PT -3587277824,3587284991,DE -3587284992,3587285247,FR +3587260416,3587281151,DE +3587281152,3587284991,RU 3587285248,3587285503,IT -3587285504,3587286527,FR -3587286784,3587289599,FR -3587290112,3587293183,FR +3587291136,3587293183,FR 3587293184,3587309567,IT 3587309568,3587325951,GB 3587325952,3587342335,RU @@ -166854,7 +169223,9 @@ 3587391488,3587407871,KZ 3587407872,3587408127,BE 3587408128,3587408383,NL -3587408384,3587415039,BE +3587408384,3587410499,BE +3587410500,3587410501,NL +3587410502,3587415039,BE 3587415040,3587415295,NL 3587415296,3587415551,BE 3587415552,3587415807,NL @@ -166874,13 +169245,11 @@ 3587448832,3587449169,DK 3587449170,3587449170,SE 3587449171,3587450879,DK -3587450880,3587453351,SE -3587453352,3587453355,NO -3587453356,3587454975,SE -3587454976,3587455177,NO -3587455178,3587455178,SE -3587455179,3587455231,NO -3587455232,3587457023,SE +3587450880,3587453183,SE +3587453184,3587453951,NO +3587453952,3587454975,SE +3587454976,3587455103,NO +3587455104,3587457023,SE 3587457024,3587473407,GB 3587473408,3587489791,IT 3587489792,3587506175,EG @@ -166889,12 +169258,7 @@ 3587547136,3587555327,CH 3587555328,3587571711,BE 3587571712,3587579903,DE -3587579904,3587583999,BE -3587584000,3587584255,FR -3587584256,3587584511,BE -3587584512,3587587071,FR -3587587072,3587587327,BE -3587587328,3587588095,FR +3587579904,3587588095,BE 3587588096,3587596287,BG 3587596288,3587604479,NL 3587604480,3587620863,FI @@ -166909,6 +169273,14 @@ 3587719168,3587735551,PL 3587735552,3587751935,GB 3587751936,3587768319,FI +3587768320,3587769343,RU +3587769344,3587770367,IT +3587770368,3587771391,DE +3587771392,3587772415,UA +3587772416,3587773439,GE +3587773440,3587774463,SA +3587774464,3587775487,ES +3587775488,3587776511,RU 3587776512,3587784703,IR 3587784704,3587801087,DE 3587801088,3587817471,IT @@ -166934,12 +169306,14 @@ 3588079616,3588095999,CH 3588096000,3588104191,NL 3588104192,3588112383,BG -3588112384,3588128767,RE +3588112384,3588112639,RE +3588112640,3588112895,YT +3588112896,3588128767,RE 3588128768,3588145151,HU 3588145152,3588153343,PL 3588153344,3588161535,RU -3588161536,3588172799,FR -3588172800,3588173567,RE +3588161536,3588173055,FR +3588173056,3588173567,RE 3588173568,3588173823,YT 3588173824,3588227071,FR 3588227072,3588292607,BE @@ -166969,12 +169343,16 @@ 3588489216,3588505599,FR 3588505600,3588521983,RU 3588521984,3588538367,PT -3588538368,3588554751,GB +3588538368,3588553983,GB +3588553984,3588554239,IE +3588554240,3588554751,GB 3588554752,3588571135,AT 3588571136,3588587519,GB 3588587520,3588590591,ES 3588590592,3588590847,FR -3588590848,3588595199,ES +3588590848,3588592543,ES +3588592544,3588592551,IE +3588592552,3588595199,ES 3588595200,3588595455,FR 3588595456,3588603903,ES 3588603904,3588620287,SI @@ -166982,9 +169360,10 @@ 3588628480,3588636671,CH 3588636672,3588653055,UZ 3588653056,3588661247,IT -3588661248,3588667391,NO +3588661248,3588666367,NO +3588666368,3588667391,DE 3588667392,3588668415,SG -3588668416,3588669439,NO +3588668416,3588669439,HK 3588669440,3588685823,GB 3588685824,3588702207,UA 3588702208,3588718591,ES @@ -167026,10 +169405,16 @@ 3589031057,3589043455,GB 3589043456,3589043711,NL 3589043712,3589046271,GB -3589046272,3589079039,NO +3589046272,3589055743,NO +3589055744,3589055855,PL +3589055856,3589055859,NO +3589055860,3589055973,PL +3589055974,3589055974,NO +3589055975,3589055999,PL +3589056000,3589079039,NO 3589079040,3589128191,DK 3589128192,3589144575,GB -3589144576,3589152767,UA +3589144576,3589152767,CH 3589152768,3589160959,DE 3589160960,3589177343,PL 3589177344,3589193727,TR @@ -167056,12 +169441,13 @@ 3589431328,3589431343,GB 3589431344,3589431359,ES 3589431360,3589432831,GB -3589432832,3589433087,CH +3589432832,3589433087,FR 3589433088,3589433343,GB 3589433344,3589435391,ES -3589435392,3589435759,FR +3589435392,3589435759,GB 3589435760,3589435763,ES -3589435764,3589439487,FR +3589435764,3589437439,GB +3589437440,3589439487,FR 3589439488,3589455871,SE 3589455872,3589472255,RU 3589472256,3589488639,TR @@ -167076,8 +169462,8 @@ 3589571840,3589572735,GB 3589572736,3589572863,NL 3589572864,3589580799,GB -3589580800,3589581823,NL -3589581824,3589582719,GB +3589580800,3589581311,NL +3589581312,3589582719,GB 3589582720,3589582847,NL 3589582848,3589582975,GB 3589582976,3589583103,NL @@ -167116,6 +169502,7 @@ 3589826717,3589826718,AT 3589827584,3589827647,DE 3589827696,3589827711,IE +3589828096,3589828607,IE 3589828736,3589828863,NL 3589828992,3589829119,ES 3589829504,3589829631,DE @@ -167132,7 +169519,9 @@ 3589980160,3589996543,CZ 3589996544,3589996733,GB 3589996734,3589996734,SK -3589996735,3589998591,GB +3589996735,3589998543,GB +3589998544,3589998551,CH +3589998552,3589998591,GB 3589998592,3589998607,ES 3589998608,3589998639,GB 3589998640,3589998655,DE @@ -167144,7 +169533,9 @@ 3590000192,3590000207,DE 3590000208,3590001967,GB 3590001968,3590001983,IT -3590001984,3590005055,GB +3590001984,3590004055,GB +3590004056,3590004063,NL +3590004064,3590005055,GB 3590005056,3590005071,DE 3590005072,3590005119,GB 3590005120,3590005135,IT @@ -167153,7 +169544,9 @@ 3590009120,3590009263,GB 3590009264,3590009279,DE 3590009280,3590012927,GB -3590012928,3590029311,BE +3590012928,3590013183,BE +3590013184,3590013311,GB +3590013312,3590029311,BE 3590029312,3590032159,FR 3590032160,3590032175,ES 3590032176,3590032191,GB @@ -167187,19 +169580,19 @@ 3590209536,3590225919,ES 3590225920,3590234111,TR 3590234112,3590242303,GB -3590242304,3590245255,IE +3590242304,3590243327,DE +3590243328,3590245255,IE 3590245256,3590245271,GB 3590245272,3590245279,DE 3590245280,3590245311,IE 3590245312,3590245375,US 3590245376,3590245631,IE 3590245632,3590245759,SE -3590245760,3590246911,IE -3590246912,3590247048,CA +3590245760,3590247048,IE 3590247049,3590247049,IT -3590247050,3590247103,CA +3590247050,3590247103,IE 3590247104,3590247119,GB -3590247120,3590247167,CA +3590247120,3590247167,IE 3590247168,3590247231,US 3590247232,3590247295,IE 3590247296,3590247423,US @@ -167229,13 +169622,7 @@ 3590307840,3590309615,GB 3590309616,3590309623,BF 3590309624,3590324223,GB -3590324224,3592108544,US -3592108545,3592108545,DE -3592108546,3592108579,US -3592108580,3592108580,DE -3592108581,3607182079,US -3607182080,3607182335,KR -3607182336,3623891455,US +3590324224,3623891455,US 3623891456,3623891711,ZA 3623891712,3624054783,US 3624054784,3624056831,ZA @@ -167255,18 +169642,13 @@ 3624295177,3624295177,SG 3624295178,3624297471,US 3624297472,3624298495,CO -3624298496,3624299519,US -3624299520,3624300543,AU +3624298496,3624300543,AU 3624300544,3624302335,US 3624302336,3624302591,CA 3624302592,3624321023,US 3624321024,3624325119,CA 3624325120,3624359935,US -3624359936,3624360960,CA -3624360961,3624361087,US -3624361088,3624361728,CA -3624361729,3624361982,US -3624361983,3624361983,CA +3624359936,3624361983,CA 3624361984,3624386559,US 3624386560,3624394751,CA 3624394752,3624402943,US @@ -167290,22 +169672,18 @@ 3624599552,3624714239,US 3624714240,3624722431,SG 3624722432,3624730623,US -3624730624,3624781311,CA -3624781312,3624781567,US -3624781568,3624796159,CA +3624730624,3624796159,CA 3624796160,3624828927,US 3624828928,3624833023,CA 3624833024,3624845311,US 3624845312,3624849407,AU 3624849408,3624984575,US 3624984576,3624992767,CA -3624992768,3625016831,US -3625016832,3625016995,CA -3625016996,3625016999,US -3625017000,3625017087,CA -3625017088,3625058303,US +3624992768,3625058303,US 3625058304,3625091071,CA -3625091072,3625116927,US +3625091072,3625102847,US +3625102848,3625103103,NL +3625103104,3625116927,US 3625116928,3625117183,SE 3625117184,3625140223,US 3625140224,3625148415,CA @@ -167318,7 +169696,11 @@ 3625295872,3625346047,US 3625346048,3625346303,AR 3625346304,3625418751,US -3625418752,3625426943,CA +3625418752,3625420031,CA +3625420032,3625420543,US +3625420544,3625422847,CA +3625422848,3625423103,US +3625423104,3625426943,CA 3625426944,3625508863,US 3625508864,3625512959,CA 3625512960,3625517055,US @@ -167373,17 +169755,21 @@ 3625578496,3625582591,CA 3625582592,3625631743,US 3625631744,3625639935,CA -3625639936,3625959423,US -3625959424,3625963519,GB +3625639936,3625961471,US +3625961472,3625963519,GB 3625963520,3626091519,US 3626091520,3626092031,AR 3626092032,3626232831,US 3626232832,3626233855,GB -3626233856,3626270719,US +3626233856,3626234111,US +3626234112,3626234367,GB +3626234368,3626270719,US 3626270720,3626287103,CA 3626287104,3626332159,US 3626332160,3626336255,CA -3626336256,3626508287,US +3626336256,3626399743,US +3626399744,3626400767,GB +3626400768,3626508287,US 3626508288,3626512383,CA 3626512384,3626515967,US 3626515968,3626516223,GB @@ -167410,8 +169796,8 @@ 3627219968,3627220223,US 3627220224,3627220991,CA 3627220992,3627291655,US -3627291656,3627291657,CA -3627291658,3627299071,US +3627291656,3627291663,CA +3627291664,3627299071,US 3627299072,3627299084,IN 3627299085,3627299085,US 3627299086,3627299327,IN @@ -167502,7 +169888,9 @@ 3628227168,3628227175,ZA 3628227176,3628227199,PL 3628227200,3628227263,LU -3628227264,3628228463,US +3628227264,3628228391,US +3628228392,3628228398,AE +3628228399,3628228463,US 3628228464,3628228471,KE 3628228472,3628236799,US 3628236800,3628257279,CA @@ -167528,7 +169916,8 @@ 3628618752,3628619775,HN 3628619776,3628622847,US 3628622848,3628623871,PR -3628623872,3628626943,US +3628623872,3628625919,NG +3628625920,3628626943,US 3628626944,3628627199,CO 3628627200,3628627455,US 3628627456,3628627711,HN @@ -167563,7 +169952,8 @@ 3628755968,3628756991,AR 3628756992,3628757503,AE 3628757504,3628758015,US -3628758016,3628758527,HK +3628758016,3628758271,HK +3628758272,3628758527,US 3628758528,3628759039,DE 3628759040,3628761087,CN 3628761088,3628834815,US @@ -167588,7 +169978,9 @@ 3629371392,3629371903,SG 3629371904,3629539327,US 3629539328,3629547519,CA -3629547520,3629613055,US +3629547520,3629582335,US +3629582336,3629588479,CA +3629588480,3629613055,US 3629613056,3629613311,SE 3629613312,3629614591,US 3629614592,3629614847,DE @@ -167596,17 +169988,13 @@ 3629615104,3629615359,US 3629615360,3629615615,GB 3629615616,3629615871,JP -3629615872,3629616383,US -3629616384,3629616639,FR -3629616640,3629616895,US -3629616896,3629617151,HK -3629617152,3629662207,US +3629615872,3629616127,US +3629616128,3629616639,FR +3629616640,3629662207,US 3629662208,3629662463,GB 3629662464,3629737215,US 3629737216,3629737471,CA -3629737472,3629767935,US -3629767936,3629768191,CA -3629768192,3629789439,US +3629737472,3629789439,US 3629789440,3629789695,CA 3629789696,3629789951,US 3629789952,3629790207,CA @@ -167672,11 +170060,9 @@ 3630082816,3630083071,CA 3630083072,3630085631,US 3630085632,3630085887,CA -3630085888,3630087679,US -3630087680,3630087935,CA -3630087936,3630088447,US -3630088448,3630088959,CA -3630088960,3630091519,US +3630085888,3630088447,US +3630088448,3630088703,CA +3630088704,3630091519,US 3630091520,3630091775,CA 3630091776,3630096127,US 3630096128,3630096383,CA @@ -167743,9 +170129,7 @@ 3630850048,3630854143,CA 3630854144,3630895615,US 3630895616,3630895871,CA -3630895872,3630900735,US -3630900736,3630900991,CA -3630900992,3630905599,US +3630895872,3630905599,US 3630905600,3630905855,CA 3630905856,3630956543,US 3630956544,3631005695,CA @@ -167898,16 +170282,18 @@ 3633569280,3633569535,CA 3633569536,3633709055,US 3633709056,3633717247,CA -3633717248,3633757439,US +3633717248,3633756671,US +3633756672,3633756677,BG +3633756678,3633756678,US +3633756679,3633757183,BG +3633757184,3633757439,US 3633757440,3633757695,IN 3633757696,3633757951,US 3633757952,3633758207,PH 3633758208,3633783039,US 3633783296,3633783551,US 3633783552,3633783807,CA -3633783808,3633818623,US -3633818624,3633818879,CA -3633818880,3633821695,US +3633783808,3633821695,US 3633821696,3633821951,CA 3633821952,3633823743,US 3633823744,3633827839,HK @@ -167970,15 +170356,17 @@ 3634552832,3634556927,CA 3634556928,3634741247,US 3634741248,3634749439,CA -3634749440,3634880511,US +3634749440,3634759679,US +3634759680,3634759935,CA +3634759936,3634880511,US 3634880512,3634888703,CA 3634888704,3634905087,US 3634905088,3634905185,CA 3634905186,3634905186,US 3634905187,3634905343,CA 3634905344,3634905599,US -3634905600,3634909183,CA -3634909184,3634913279,US +3634905600,3634907135,CA +3634907136,3634913279,US 3634913280,3634921471,CA 3634921472,3634925567,US 3634925568,3634929663,CA @@ -167995,7 +170383,8 @@ 3635159040,3635163135,CA 3635163136,3635167231,US 3635167232,3635167487,GB -3635167488,3635171071,NL +3635167488,3635167743,ES +3635167744,3635171071,NL 3635171072,3635171327,CA 3635171328,3635187967,US 3635187968,3635188223,CN @@ -168009,9 +170398,7 @@ 3635529984,3635530239,PR 3635530240,3635531007,US 3635531008,3635531263,PR -3635531264,3635534207,US -3635534208,3635534335,PR -3635534336,3635643391,US +3635531264,3635643391,US 3635643392,3635644415,JP 3635644416,3635644927,US 3635644928,3635645183,TH @@ -168030,10 +170417,14 @@ 3635659264,3635660287,ID 3635660288,3635670527,US 3635670528,3635671039,TL -3635671040,3635740671,US +3635671040,3635701759,US +3635701760,3635702015,DE +3635702016,3635740671,US 3635740672,3635740927,CA 3635740928,3635741439,US -3635741440,3635745535,CA +3635741440,3635741695,CA +3635741696,3635741951,US +3635741952,3635745535,CA 3635745536,3635746047,US 3635746048,3635748223,CA 3635748224,3635748351,US @@ -168104,7 +170495,9 @@ 3636396032,3636430335,CA 3636430336,3636430591,KY 3636430592,3636461567,CA -3636461568,3636609023,US +3636461568,3636596735,US +3636596736,3636597119,CA +3636597120,3636609023,US 3636609024,3636621311,CA 3636621312,3636625407,US 3636625408,3636626431,AR @@ -168176,15 +170569,9 @@ 3637870592,3637886975,GB 3637886976,3638165503,US 3638165504,3638181887,CA -3638181888,3638199305,US -3638199306,3638199306,JP -3638199307,3638222273,US -3638222274,3638222274,JP -3638222275,3638222293,US -3638222294,3638222294,JP -3638222295,3638228005,US -3638228006,3638228006,JP -3638228007,3638248191,US +3638181888,3638226687,US +3638226688,3638226943,NL +3638226944,3638248191,US 3638248192,3638248447,GB 3638248448,3638249215,US 3638249216,3638249471,GB @@ -168206,9 +170593,7 @@ 3638753280,3638754303,GA 3638754304,3638874111,US 3638874112,3638878207,CA -3638878208,3638880511,US -3638880512,3638880767,CA -3638880768,3638898943,US +3638878208,3638898943,US 3638898944,3638899199,MX 3638899200,3638954495,US 3638954496,3638955007,CA @@ -168291,9 +170676,10 @@ 3639672832,3639681023,CL 3639681024,3639692031,US 3639692032,3639692287,GB -3639692288,3639704573,US +3639692288,3639701503,US +3639701504,3639704573,CA 3639704574,3639704574,GB -3639704575,3639705599,US +3639704575,3639705599,CA 3639705600,3639713791,CY 3639713792,3639730175,US 3639730176,3639734271,CA @@ -168351,11 +170737,7 @@ 3639890312,3639890327,CA 3639890328,3639890399,US 3639890400,3639890415,CA -3639890416,3639890447,US -3639890448,3639890455,CA -3639890456,3639890535,US -3639890536,3639890559,CA -3639890560,3639890607,US +3639890416,3639890607,US 3639890608,3639890623,CA 3639890624,3639890799,US 3639890800,3639890815,CA @@ -168461,7 +170843,9 @@ 3640316928,3640317183,MX 3640317184,3640318207,US 3640318208,3640318719,NC -3640318720,3640360959,US +3640318720,3640336383,US +3640336384,3640338431,CA +3640338432,3640360959,US 3640360960,3640369151,CA 3640369152,3640410111,US 3640410112,3640418303,CA @@ -168588,7 +170972,9 @@ 3641618432,3641622527,GB 3641622528,3641626623,RU 3641626624,3641630719,HR -3641630720,3641634815,AT +3641630720,3641631487,AT +3641631488,3641631743,DE +3641631744,3641634815,AT 3641634816,3641638911,RU 3641638912,3641643007,AT 3641643008,3641647103,RU @@ -168684,8 +171070,7 @@ 3641978880,3641982975,DK 3641982976,3641991167,RU 3641991168,3641995263,SE -3641995264,3641998335,DE -3641998848,3641999359,DE +3641995264,3641999359,DE 3641999360,3642003455,HU 3642003456,3642007551,RU 3642007552,3642015743,UA @@ -168759,7 +171144,8 @@ 3642187776,3642191871,DK 3642191872,3642195967,BY 3642195968,3642204159,RU -3642204160,3642208255,IM +3642204160,3642206207,IM +3642206208,3642208255,GB 3642208256,3642212351,RU 3642212352,3642216447,BA 3642216448,3642220543,HU @@ -168801,7 +171187,7 @@ 3642376192,3642380287,RS 3642380288,3642384383,IT 3642384384,3642392575,NL -3642392576,3642394623,AT +3642392576,3642394623,SA 3642394624,3642396671,FR 3642396672,3642404863,MD 3642404864,3642406911,IT @@ -168847,7 +171233,9 @@ 3642519552,3642523647,IT 3642523648,3642527743,GB 3642527744,3642531839,PL -3642531840,3642535935,DK +3642531840,3642532863,DK +3642532864,3642532991,US +3642532992,3642535935,DK 3642535936,3642540031,IS 3642540032,3642544127,SE 3642544128,3642552319,RU @@ -168884,7 +171272,7 @@ 3642601472,3642605567,RU 3642605568,3642609663,GB 3642609664,3642613759,ZA -3642613760,3642617855,AX +3642613760,3642617855,FI 3642617856,3642621951,JO 3642621952,3642622975,IT 3642622976,3642623999,PL @@ -168950,7 +171338,9 @@ 3644718336,3644718591,NL 3644718592,3644718847,IT 3644718848,3644719103,DE -3644719104,3644809215,NL +3644719104,3644801279,NL +3644801280,3644801535,DE +3644801536,3644809215,NL 3644809216,3644809216,FR 3644809217,3644816639,DK 3644817408,3644850175,NL @@ -169062,7 +171452,9 @@ 3645288896,3645288959,LU 3645288960,3645292543,FR 3645292544,3645296639,DE -3645296640,3645300735,NL +3645296640,3645297151,NL +3645297152,3645297407,GB +3645297408,3645300735,NL 3645300736,3645302011,IE 3645302012,3645302012,BE 3645302013,3645304831,IE @@ -169074,7 +171466,7 @@ 3645325312,3645329407,IT 3645329408,3645333503,CH 3645334272,3645335039,DE -3645335552,3645337599,DE +3645335688,3645335691,DE 3645337600,3645341695,FR 3645341696,3645345791,RU 3645345792,3645349887,FI @@ -169098,9 +171490,12 @@ 3645423616,3645431807,DE 3645431808,3645435903,BE 3645435904,3645439999,GB -3645440000,3645444095,SE +3645440000,3645442047,SE +3645442048,3645444095,GB 3645444096,3645448191,SK -3645448192,3645454335,DE +3645448192,3645450239,DE +3645450240,3645452287,GB +3645452288,3645454335,DE 3645454336,3645456383,RU 3645456384,3645460479,GB 3645460480,3645464575,UA @@ -169272,9 +171667,7 @@ 3645763685,3645763687,DE 3645763688,3645763690,NL 3645763691,3645763691,CH -3645763692,3645763692,DE -3645763693,3645763693,NL -3645763694,3645763696,DE +3645763692,3645763696,DE 3645763697,3645763697,NL 3645763698,3645763698,DE 3645763699,3645763699,BE @@ -169790,9 +172183,7 @@ 3645764421,3645764421,DE 3645764422,3645764422,IT 3645764423,3645764423,HU -3645764424,3645764424,DE -3645764425,3645764425,GB -3645764426,3645764433,DE +3645764424,3645764433,DE 3645764434,3645764434,NL 3645764435,3645764435,AT 3645764436,3645764436,DE @@ -170031,7 +172422,9 @@ 3645849600,3645857791,BG 3645857792,3645865983,GB 3645865984,3645870079,HU -3645870080,3645874175,PL +3645870080,3645872234,PL +3645872235,3645872235,DE +3645872236,3645874175,PL 3645874176,3645878271,GB 3645878272,3645882367,DE 3645882368,3645886463,CH @@ -170041,19 +172434,13 @@ 3645898752,3646243420,DE 3646243421,3646243421,US 3646243422,3646947327,DE -3646947328,3647047023,PL -3647047024,3647047031,FR -3647047032,3647048319,PL -3647048320,3647048447,FR -3647048448,3647209471,PL +3646947328,3647209471,PL 3647209472,3647602687,NL 3647602688,3647733759,RU 3647733760,3647864831,FR 3647864832,3647916799,DE 3647916800,3647917055,SE -3647917056,3647936511,DE -3647936512,3647937023,US -3647937024,3647947727,DE +3647917056,3647947727,DE 3647947728,3647947735,GB 3647947736,3647964159,DE 3647964160,3647964287,ES @@ -170062,8 +172449,7 @@ 3647964600,3647965255,DE 3647965256,3647965263,ES 3647965264,3647965695,DE -3647965696,3647965951,CH -3647965952,3647966207,DE +3647965696,3647966207,CH 3647966208,3647967231,GB 3647967232,3647967759,DE 3647967760,3647967775,BE @@ -170075,40 +172461,31 @@ 3647969792,3647970303,BE 3647970304,3647971327,DE 3647971328,3647973375,GB -3647973376,3647973599,DE -3647973600,3647973607,IT -3647973608,3647973615,DE +3647973376,3647973615,DE 3647973616,3647973623,IT -3647973624,3647973711,DE -3647973712,3647973719,IT -3647973720,3647973751,DE +3647973624,3647973751,DE 3647973752,3647973759,IT -3647973760,3647973810,DE -3647973811,3647973811,IT -3647973812,3647973887,DE +3647973760,3647973887,DE 3647973888,3647974143,IT 3647974144,3647975255,DE 3647975256,3647975263,ES -3647975264,3647975423,DE -3647975424,3647976447,ES -3647976448,3647976703,BE -3647976704,3647976959,DE -3647976960,3647977471,BE +3647975264,3647975295,DE +3647975296,3647976447,ES +3647976448,3647977471,BE 3647977472,3647978495,GB 3647978496,3647978511,NL 3647978512,3647978515,DE 3647978516,3647979007,NL 3647979008,3647979071,IT -3647979072,3647980383,DE +3647979072,3647979519,DE +3647979520,3647980031,FR +3647980032,3647980383,DE 3647980384,3647980415,FR 3647980416,3647980543,DE 3647980544,3647982079,GB 3647982080,3647982591,BE -3647982592,3647983871,DE -3647983872,3647983879,NL -3647983880,3647984033,DE -3647984034,3647984034,NL -3647984035,3647984639,DE +3647982592,3647983615,IT +3647983616,3647984639,NL 3647984640,3647985663,BE 3647985664,3647986431,DE 3647986432,3647986687,ES @@ -170118,7 +172495,8 @@ 3647987712,3647988735,IT 3647988736,3647989759,DE 3647989760,3647991807,ES -3647991808,3647995903,BE +3647991808,3647993855,DE +3647993856,3647995903,BE 3647995904,3648004095,RU 3648004096,3648004837,GB 3648004838,3648004838,RU @@ -170167,11 +172545,10 @@ 3648155648,3648159743,CH 3648159744,3648163839,ES 3648163840,3648167935,RU -3648167936,3648168191,GB -3648168192,3648168447,IE -3648168448,3648169983,GB -3648169984,3648171007,IE -3648171008,3648172031,GB +3648167936,3648169983,IE +3648169984,3648170239,GB +3648170240,3648170495,IE +3648170496,3648172031,GB 3648172032,3648176127,RU 3648176128,3648178175,DE 3648178176,3648180223,FR @@ -170224,9 +172601,7 @@ 3648405504,3648413695,RU 3648413696,3648417791,SK 3648417792,3648418303,ES -3648418304,3648420095,GB -3648420096,3648420351,NL -3648420352,3648425983,GB +3648418304,3648425983,GB 3648425984,3648430079,IT 3648430080,3648434175,NL 3648434176,3648438271,RU @@ -170284,7 +172659,8 @@ 3649843200,3649847295,NL 3649847296,3649855487,DE 3649855488,3649856511,GB -3649856512,3649857791,US +3649856512,3649857535,US +3649857536,3649857791,GB 3649857792,3649858047,IN 3649858048,3649858559,GB 3649858560,3649859583,US @@ -170318,10 +172694,12 @@ 3650203648,3650207743,ES 3650207744,3650211839,SK 3650211840,3650215935,LV -3650215936,3650216959,RU +3650215936,3650216959,BR 3650216960,3650217983,IQ 3650217984,3650219007,NO -3650219008,3650220031,SE +3650219008,3650219263,SE +3650219264,3650219519,NL +3650219520,3650220031,SE 3650220032,3650224127,SA 3650224128,3650224383,TH 3650224384,3650224639,ES @@ -170452,8 +172830,9 @@ 3650682880,3650748415,PL 3650748416,3650879487,GB 3650879488,3650912255,RO -3650912256,3650912767,FR -3650912768,3650916393,GB +3650912256,3650914311,GB +3650914312,3650914319,IT +3650914320,3650916393,GB 3650916394,3650916394,FR 3650916395,3650919807,GB 3650919808,3650919823,BG @@ -170481,24 +172860,16 @@ 3650929896,3650929903,ES 3650929904,3650929911,SE 3650929912,3650929919,CH -3650929920,3650932881,GB +3650929920,3650932863,GB +3650932864,3650932881,US 3650932882,3650932882,DE -3650932883,3650932943,GB +3650932883,3650932943,US 3650932944,3650932975,IT -3650932976,3650932983,GB +3650932976,3650932983,US 3650932984,3650932991,BE 3650932992,3650939607,GB 3650939608,3650939615,TR -3650939616,3650940927,GB -3650940928,3650941177,NL -3650941178,3650941178,GB -3650941179,3650941183,NL -3650941184,3650943999,GB -3650944000,3650944530,FR -3650944531,3650944531,GB -3650944532,3650944708,FR -3650944709,3650944709,GB -3650944710,3650945023,FR +3650939616,3650945023,GB 3650945024,3651010559,DK 3651010560,3651076095,GB 3651076096,3651108863,DE @@ -170512,23 +172883,15 @@ 3651190016,3651192319,DE 3651192320,3651193343,GB 3651193344,3651207167,DE -3651207168,3651207199,GB -3651207224,3651207295,GB -3651207424,3651207615,GB -3651207648,3651208959,GB +3651207168,3651209215,GB 3651209216,3651209231,US -3651209232,3651209239,GB -3651209240,3651209243,DE -3651209472,3651210751,GB +3651209232,3651211263,GB 3651211264,3651211519,IR -3651213824,3651214207,US -3651215360,3651215395,GB -3651215616,3651215871,GB -3651217408,3651217535,GI +3651211520,3651213823,GB +3651213824,3651214079,US +3651214080,3651219455,GB 3651219456,3651219967,US -3651220432,3651220447,GB -3651221504,3651221695,GB -3651223552,3651223567,GB +3651219968,3651223567,GB 3651223584,3651223607,GB 3651223648,3651223663,ES 3651227136,3651227391,GB @@ -170537,20 +172900,18 @@ 3651232320,3651232383,GB 3651237376,3651237631,SC 3651239936,3651272703,GB -3651272704,3651338239,CH -3651338240,3651342847,GB -3651342848,3651343359,US -3651343360,3651344127,GB +3651272704,3651297023,CH +3651297024,3651297151,DE +3651297152,3651338239,CH +3651338240,3651344127,GB 3651344128,3651344383,DE 3651344384,3651345407,GB 3651345408,3651346175,DE 3651346176,3651352575,GB 3651352576,3651353599,FR -3651353600,3651354623,GB -3651354624,3651361279,FR +3651353600,3651361279,GB 3651361280,3651361535,IE -3651361536,3651362815,FR -3651362816,3651403775,GB +3651361536,3651403775,GB 3651403776,3651534847,AE 3651534848,3651600383,NL 3651600384,3651665919,FR @@ -170602,10 +172963,7 @@ 3651870720,3651874815,IT 3651874816,3651878911,PL 3651878912,3651883007,IT -3651883008,3651884543,CD -3651884544,3651884799,BE -3651884800,3651885311,CD -3651885312,3651887103,BE +3651883008,3651887103,CD 3651887104,3651891199,GB 3651891200,3651895295,DE 3651895296,3651899391,GB @@ -170638,12 +172996,16 @@ 3652005888,3652009983,GB 3652009984,3652014079,RU 3652014080,3652018175,SA -3652018176,3652020991,IE +3652018176,3652018687,IE +3652018688,3652018943,PL +3652018944,3652020991,IE 3652020992,3652021247,AT 3652021248,3652022015,IE 3652022016,3652022271,DE 3652022272,3652026367,ES -3652026368,3652034559,DE +3652026368,3652032767,DE +3652032768,3652033791,NL +3652033792,3652034559,DE 3652034560,3652046847,PL 3652046848,3652050943,IE 3652050944,3652055039,LI @@ -170668,16 +173030,16 @@ 3652149248,3652153343,DE 3652153344,3652157439,SE 3652157440,3652165631,RU -3652165632,3652165887,MQ -3652165888,3652168703,FR -3652168704,3652169215,MQ -3652169216,3652169727,FR +3652165632,3652165759,MQ +3652165760,3652167679,FR +3652167680,3652168703,GP +3652168704,3652169727,FR 3652169728,3652173823,MQ 3652173824,3652177919,AT 3652177920,3652182015,CY 3652182016,3652186111,DE -3652186112,3652186623,TH -3652186624,3652190207,DE +3652186112,3652187135,TH +3652187136,3652190207,DE 3652190208,3652321279,GB 3652321280,3652386815,JP 3652386816,3652583423,GB @@ -170784,7 +173146,9 @@ 3652599616,3652599623,DE 3652599624,3652599679,FR 3652599680,3652599743,IT -3652599744,3652601855,FR +3652599744,3652599791,FR +3652599792,3652599807,BE +3652599808,3652601855,FR 3652601856,3652603903,PL 3652603904,3652608087,FR 3652608088,3652608091,ES @@ -170833,7 +173197,9 @@ 3652613680,3652613695,LT 3652613696,3652614015,FR 3652614016,3652614079,BE -3652614080,3652615871,FR +3652614080,3652614339,FR +3652614340,3652614343,LT +3652614344,3652615871,FR 3652615872,3652615935,DE 3652615936,3652620639,FR 3652620640,3652620671,CZ @@ -170866,7 +173232,11 @@ 3652628608,3652628639,PL 3652628640,3652628855,FR 3652628856,3652628863,ES -3652628864,3652629743,FR +3652628864,3652629095,FR +3652629096,3652629103,GB +3652629104,3652629167,FR +3652629168,3652629183,PL +3652629184,3652629743,FR 3652629744,3652629759,ES 3652629760,3652630015,FR 3652630016,3652630031,ES @@ -171062,8 +173432,8 @@ 3653763072,3654025215,IT 3654025216,3654287359,GB 3654287360,3654467071,SE -3654467072,3654467199,DK -3654467200,3654606975,SE +3654467072,3654467327,DK +3654467328,3654606975,SE 3654607104,3654608404,SE 3654608405,3654608405,NO 3654608406,3654608895,SE @@ -171167,7 +173537,9 @@ 3669620736,3669622783,IN 3669622784,3669688319,SG 3669688320,3669753855,TW -3669753856,3670015999,HK +3669753856,3669825535,HK +3669825536,3669826559,PH +3669826560,3670015999,HK 3670016000,3671064575,CN 3671064576,3671130111,MY 3671130112,3671195647,KR @@ -171182,9 +173554,9 @@ 3673751552,3673817087,CN 3673817088,3673882623,HK 3673882624,3673948159,JP -3673948160,3674180351,HK -3674180352,3674180607,AU -3674180608,3674210303,HK +3673948160,3674062847,HK +3674062848,3674064895,AU +3674064896,3674210303,HK 3674210304,3678404607,JP 3678404608,3678535679,IN 3678535680,3678666751,JP @@ -171238,7 +173610,10 @@ 3699376128,3700424703,TW 3700424704,3700752383,JP 3700752384,3700817919,KR -3700817920,3700981759,JP +3700817920,3700977663,JP +3700977664,3700978687,BD +3700978688,3700979711,TH +3700979712,3700981759,JP 3700981760,3701014527,CN 3701014528,3701080063,JP 3701080064,3701211135,CN @@ -171307,7 +173682,56 @@ 3706322944,3706388479,CN 3706388480,3706781695,AU 3706781696,3706847231,HK -3706847232,3706978303,CN +3706847232,3706847743,CN +3706847744,3706847999,HK +3706848000,3706849791,CN +3706849792,3706850047,SG +3706850048,3706851071,CN +3706851072,3706851327,US +3706851328,3706880767,CN +3706880768,3706881023,US +3706881024,3706881535,CN +3706881536,3706881791,JP +3706881792,3706882303,CN +3706882304,3706882559,JP +3706882560,3706883071,CN +3706883072,3706883327,FR +3706883328,3706883839,US +3706883840,3706885119,CN +3706885120,3706885375,SG +3706885376,3706885887,CN +3706885888,3706886143,US +3706886144,3706962431,CN +3706962432,3706962687,US +3706962688,3706963199,CN +3706963200,3706963455,US +3706963456,3706964479,CN +3706964480,3706964735,SE +3706964736,3706965759,CN +3706965760,3706966015,TH +3706966016,3706967039,IN +3706967040,3706967295,US +3706967296,3706969599,CN +3706969600,3706969855,HK +3706969856,3706970111,CN +3706970112,3706970367,US +3706970368,3706971903,CN +3706971904,3706972159,US +3706972160,3706973183,CN +3706973184,3706973439,US +3706973440,3706973951,CN +3706973952,3706974207,PH +3706974208,3706974463,TW +3706974464,3706974719,CN +3706974720,3706974975,US +3706974976,3706976511,CN +3706976512,3706976512,JP +3706976513,3706977023,CN +3706977024,3706977279,OM +3706977280,3706977535,CN +3706977536,3706977791,HK +3706977792,3706978047,TH +3706978048,3706978303,CN 3706978304,3707109375,AU 3707109376,3707174911,HK 3707174912,3707207679,JP @@ -171449,7 +173873,7 @@ 3743019008,3743022079,MY 3743022080,3743023103,BD 3743023104,3743027199,TW -3743027200,3743028223,IN +3743027200,3743028223,US 3743028224,3743029247,AF 3743029248,3743030271,NZ 3743030272,3743035391,IN @@ -171479,9 +173903,7 @@ 3743134720,3743135743,JP 3743135744,3743136767,CN 3743136768,3743137791,MY -3743137792,3743146495,TH -3743146496,3743146751,DK -3743146752,3743154175,TH +3743137792,3743154175,TH 3743154176,3743186943,MY 3743186944,3743219711,KR 3743219712,3743252479,JP @@ -171560,7 +173982,9 @@ 3757862912,3757867007,JP 3757867008,3757875519,CN 3757875520,3757875583,HK -3757875584,3757899775,CN +3757875584,3757878271,CN +3757878272,3757878527,JP +3757878528,3757899775,CN 3757899776,3757965311,KR 3757965312,3758063615,CN 3758063616,3758079999,HK diff --git a/src/config/geoip6 b/src/config/geoip6 index fd247799ce..abe71e560b 100644 --- a/src/config/geoip6 +++ b/src/config/geoip6 @@ -1,4 +1,4 @@ -# Last updated based on October 9 2018 Maxmind GeoLite2 Country +# Last updated based on December 5 2018 Maxmind GeoLite2 Country # wget https://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz # gunzip GeoLite2-Country.mmdb.gz # python mmdb-convert.py GeoLite2-Country.mmdb @@ -70,8 +70,8 @@ 2001:420:4000::,2001:420:447f:ffff:ffff:ffff:ffff:ffff,NL 2001:420:4480::,2001:420:4487:ffff:ffff:ffff:ffff:ffff,IL 2001:420:4488::,2001:420:4fff:ffff:ffff:ffff:ffff:ffff,NL -2001:420:5000::,2001:420:53ff:ffff:ffff:ffff:ffff:ffff,AU -2001:420:5400::,2001:420:57ff:ffff:ffff:ffff:ffff:ffff,IN +2001:420:5000::,2001:420:51ff:ffff:ffff:ffff:ffff:ffff,AU +2001:420:5200::,2001:420:57ff:ffff:ffff:ffff:ffff:ffff,IN 2001:420:5800::,2001:420:5bff:ffff:ffff:ffff:ffff:ffff,HK 2001:420:5c00::,2001:420:5dff:ffff:ffff:ffff:ffff:ffff,SG 2001:420:5e00::,2001:420:5fff:ffff:ffff:ffff:ffff:ffff,JP @@ -83,7 +83,9 @@ 2001:420:c0d8::,2001:420:c0db:ffff:ffff:ffff:ffff:ffff,HK 2001:420:c0dc::,2001:420:c0df:ffff:ffff:ffff:ffff:ffff,JP 2001:420:c0e0::,2001:420:c0e3:ffff:ffff:ffff:ffff:ffff,IN -2001:420:c0e4::,2001:420:ffff:ffff:ffff:ffff:ffff:ffff,US +2001:420:c0e4::,2001:420:c0e7:ffff:ffff:ffff:ffff:ffff,US +2001:420:c0e8::,2001:420:c0ff:ffff:ffff:ffff:ffff:ffff,IN +2001:420:c100::,2001:420:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:428::,2001:428:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:430::,2001:430:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:438::,2001:438:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -105,27 +107,32 @@ 2001:470:5:319::,2001:470:d:11b:ffff:ffff:ffff:ffff,US 2001:470:d:11c::,2001:470:d:11c:ffff:ffff:ffff:ffff,NZ 2001:470:d:11d::,2001:470:d:1ff:ffff:ffff:ffff:ffff,US -2001:470:d:200::,2001:470:d:ffff:ffff:ffff:ffff:ffff,CN -2001:470:e::,2001:470:17:ffff:ffff:ffff:ffff:ffff,US -2001:470:18::,2001:470:19:e7f:ffff:ffff:ffff:ffff,CN +2001:470:d:200::,2001:470:d:267:ffff:ffff:ffff:ffff,CN +2001:470:d:268::,2001:470:d:268:ffff:ffff:ffff:ffff,US +2001:470:d:269::,2001:470:d:2a3:ffff:ffff:ffff:ffff,CN +2001:470:d:2a4::,2001:470:d:2a4:ffff:ffff:ffff:ffff,US +2001:470:d:2a5::,2001:470:d:7ff:ffff:ffff:ffff:ffff,CN +2001:470:d:800::,2001:470:d:17ff:ffff:ffff:ffff:ffff,US +2001:470:d:1800::,2001:470:d:ffff:ffff:ffff:ffff:ffff,CN +2001:470:e::,2001:470:18:ffff:ffff:ffff:ffff:ffff,US +2001:470:19::,2001:470:19:e7f:ffff:ffff:ffff:ffff,CN 2001:470:19:e80::,2001:470:19:e80:ffff:ffff:ffff:ffff,HK 2001:470:19:e81::,2001:470:19:1180:ffff:ffff:ffff:ffff,CN 2001:470:19:1181::,2001:470:19:1181:ffff:ffff:ffff:ffff,HK 2001:470:19:1182::,2001:470:19:ffff:ffff:ffff:ffff:ffff,CN -2001:470:1a::,2001:470:1c:ffff:ffff:ffff:ffff:ffff,US -2001:470:1d::,2001:470:1d:7ff:ffff:ffff:ffff:ffff,CA -2001:470:1d:800::,2001:470:1d:ffff:ffff:ffff:ffff:ffff,RU -2001:470:1e::,2001:470:1f:ffff:ffff:ffff:ffff:ffff,US -2001:470:20::,2001:470:23:429:ffff:ffff:ffff:ffff,JP +2001:470:1a::,2001:470:1d:56f:ffff:ffff:ffff:ffff,US +2001:470:1d:570::,2001:470:1d:570:ffff:ffff:ffff:ffff,CA +2001:470:1d:571::,2001:470:1d:7ff:ffff:ffff:ffff:ffff,US +2001:470:1d:800::,2001:470:1d:fff:ffff:ffff:ffff:ffff,RU +2001:470:1d:1000::,2001:470:23:429:ffff:ffff:ffff:ffff,US 2001:470:23:42a::,2001:470:23:42a:ffff:ffff:ffff:ffff,RU -2001:470:23:42b::,2001:470:23:ffff:ffff:ffff:ffff:ffff,JP +2001:470:23:42b::,2001:470:23:ffff:ffff:ffff:ffff:ffff,US 2001:470:24::,2001:470:24:3ff:ffff:ffff:ffff:ffff,KR -2001:470:24:400::,2001:470:24:7ff:ffff:ffff:ffff:ffff,CN -2001:470:24:800::,2001:470:24:fff:ffff:ffff:ffff:ffff,KR +2001:470:24:400::,2001:470:24:5ff:ffff:ffff:ffff:ffff,CN +2001:470:24:600::,2001:470:24:fff:ffff:ffff:ffff:ffff,KR 2001:470:24:1000::,2001:470:24:1fff:ffff:ffff:ffff:ffff,CN 2001:470:24:2000::,2001:470:24:ffff:ffff:ffff:ffff:ffff,KR -2001:470:25::,2001:470:25:ffff:ffff:ffff:ffff:ffff,US -2001:470:26::,2001:470:26:65b:ffff:ffff:ffff:ffff,RU +2001:470:25::,2001:470:26:65b:ffff:ffff:ffff:ffff,RU 2001:470:26:65c::,2001:470:26:65c:ffff:ffff:ffff:ffff,CH 2001:470:26:65d::,2001:470:26:825:ffff:ffff:ffff:ffff,RU 2001:470:26:826::,2001:470:26:826:ffff:ffff:ffff:ffff,CH @@ -147,24 +154,26 @@ 2001:470:28:817::,2001:470:28:817:ffff:ffff:ffff:ffff,DK 2001:470:28:818::,2001:470:28:9c1:ffff:ffff:ffff:ffff,RU 2001:470:28:9c2::,2001:470:28:9c2:ffff:ffff:ffff:ffff,SE -2001:470:28:9c3::,2001:470:28:a2b:ffff:ffff:ffff:ffff,RU +2001:470:28:9c3::,2001:470:28:9ff:ffff:ffff:ffff:ffff,RU +2001:470:28:a00::,2001:470:28:a2b:ffff:ffff:ffff:ffff,FI 2001:470:28:a2c::,2001:470:28:a2c:ffff:ffff:ffff:ffff,SE -2001:470:28:a2d::,2001:470:28:efc:ffff:ffff:ffff:ffff,RU +2001:470:28:a2d::,2001:470:28:bff:ffff:ffff:ffff:ffff,FI +2001:470:28:c00::,2001:470:28:efc:ffff:ffff:ffff:ffff,RU 2001:470:28:efd::,2001:470:28:efd:ffff:ffff:ffff:ffff,SE -2001:470:28:efe::,2001:470:2e:1::2f,RU -2001:470:2e:1::30,2001:470:2e:1::30,US -2001:470:2e:1::31,2001:470:2f:ffff:ffff:ffff:ffff:ffff,RU -2001:470:30::,2001:470:36:6c:ffff:ffff:ffff:ffff,US +2001:470:28:efe::,2001:470:28:ffff:ffff:ffff:ffff:ffff,RU +2001:470:29::,2001:470:36:6c:ffff:ffff:ffff:ffff,US 2001:470:36:6d::,2001:470:36:6d:ffff:ffff:ffff:ffff,IN -2001:470:36:6e::,2001:470:6b:ffff:ffff:ffff:ffff:ffff,US -2001:470:6c::,2001:470:6c:39d:ffff:ffff:ffff:ffff,DE +2001:470:36:6e::,2001:470:6c:39d:ffff:ffff:ffff:ffff,US 2001:470:6c:39e::,2001:470:6c:39e:ffff:ffff:ffff:ffff,DK -2001:470:6c:39f::,2001:470:6d:39d:ffff:ffff:ffff:ffff,DE +2001:470:6c:39f::,2001:470:6c:ffff:ffff:ffff:ffff:ffff,US +2001:470:6d::,2001:470:6d:39d:ffff:ffff:ffff:ffff,DE 2001:470:6d:39e::,2001:470:6d:39e:ffff:ffff:ffff:ffff,DK 2001:470:6d:39f::,2001:470:6d:6b1:ffff:ffff:ffff:ffff,DE 2001:470:6d:6b2::,2001:470:6d:6b2:ffff:ffff:ffff:ffff,ES -2001:470:6d:6b3::,2001:470:6d:ffff:ffff:ffff:ffff:ffff,DE -2001:470:6e::,2001:470:6f:49e:ffff:ffff:ffff:ffff,US +2001:470:6d:6b3::,2001:470:6d:7ff:ffff:ffff:ffff:ffff,DE +2001:470:6d:800::,2001:470:6d:e8d:ffff:ffff:ffff:ffff,US +2001:470:6d:e8e::,2001:470:6d:e8e:ffff:ffff:ffff:ffff,DE +2001:470:6d:e8f::,2001:470:6f:49e:ffff:ffff:ffff:ffff,US 2001:470:6f:49f::,2001:470:6f:49f:ffff:ffff:ffff:ffff,SK 2001:470:6f:4a0::,2001:470:6f:7ff:ffff:ffff:ffff:ffff,US 2001:470:6f:800::,2001:470:6f:fff:ffff:ffff:ffff:ffff,CZ @@ -185,14 +194,8 @@ 2001:470:1c00::,2001:470:1f04:ffff:ffff:ffff:ffff:ffff,US 2001:470:1f05::,2001:470:1f05:83:ffff:ffff:ffff:ffff,CN 2001:470:1f05:84::,2001:470:1f05:84:ffff:ffff:ffff:ffff,US -2001:470:1f05:85::,2001:470:1f05:3ff:ffff:ffff:ffff:ffff,CN -2001:470:1f05:400::,2001:470:1f05:fff:ffff:ffff:ffff:ffff,US -2001:470:1f05:1000::,2001:470:1f05:ffff:ffff:ffff:ffff:ffff,CN -2001:470:1f06::,2001:470:1f07:7ff:ffff:ffff:ffff:ffff,US -2001:470:1f07:800::,2001:470:1f07:8ff:ffff:ffff:ffff:ffff,CN -2001:470:1f07:900::,2001:470:1f07:9ff:ffff:ffff:ffff:ffff,US -2001:470:1f07:a00::,2001:470:1f07:bff:ffff:ffff:ffff:ffff,CN -2001:470:1f07:c00::,2001:470:1f08:136:ffff:ffff:ffff:ffff,US +2001:470:1f05:85::,2001:470:1f05:1ff:ffff:ffff:ffff:ffff,CN +2001:470:1f05:200::,2001:470:1f08:136:ffff:ffff:ffff:ffff,US 2001:470:1f08:137::,2001:470:1f08:137:ffff:ffff:ffff:ffff,GB 2001:470:1f08:138::,2001:470:1f08:415::1,US 2001:470:1f08:415::2,2001:470:1f08:415::2,GB @@ -200,75 +203,65 @@ 2001:470:1f08:121a::,2001:470:1f08:121a:ffff:ffff:ffff:ffff,GB 2001:470:1f08:121b::,2001:470:1f08:1367:ffff:ffff:ffff:ffff,US 2001:470:1f08:1368::,2001:470:1f08:1368:ffff:ffff:ffff:ffff,GB -2001:470:1f08:1369::,2001:470:1f09:114:ffff:ffff:ffff:ffff,US -2001:470:1f09:115::,2001:470:1f09:115:ffff:ffff:ffff:ffff,GB -2001:470:1f09:116::,2001:470:1f09:2b5:ffff:ffff:ffff:ffff,US -2001:470:1f09:2b6::,2001:470:1f09:2b6:ffff:ffff:ffff:ffff,GB -2001:470:1f09:2b7::,2001:470:1f09:414:ffff:ffff:ffff:ffff,US -2001:470:1f09:415::,2001:470:1f09:415:ffff:ffff:ffff:ffff,GB -2001:470:1f09:416::,2001:470:1f09:7ff:ffff:ffff:ffff:ffff,US -2001:470:1f09:800::,2001:470:1f09:fff:ffff:ffff:ffff:ffff,GB -2001:470:1f09:1000::,2001:470:1f09:1219:ffff:ffff:ffff:ffff,US -2001:470:1f09:121a::,2001:470:1f09:121a:ffff:ffff:ffff:ffff,GB -2001:470:1f09:121b::,2001:470:1f09:1367:ffff:ffff:ffff:ffff,US -2001:470:1f09:1368::,2001:470:1f09:1368:ffff:ffff:ffff:ffff,GB -2001:470:1f09:1369::,2001:470:1f09:ffff:ffff:ffff:ffff:ffff,US -2001:470:1f0a::,2001:470:1f0a:ffff:ffff:ffff:ffff:ffff,RU -2001:470:1f0b::,2001:470:1f0b:30e:ffff:ffff:ffff:ffff,UA +2001:470:1f08:1369::,2001:470:1f08:ffff:ffff:ffff:ffff:ffff,US +2001:470:1f09::,2001:470:1f09:ffff:ffff:ffff:ffff:ffff,GB +2001:470:1f0a::,2001:470:1f0a:ffff:ffff:ffff:ffff:ffff,US +2001:470:1f0b::,2001:470:1f0b:30e:ffff:ffff:ffff:ffff,RU 2001:470:1f0b:30f::,2001:470:1f0b:30f:ffff:ffff:ffff:ffff,DE -2001:470:1f0b:310::,2001:470:1f0b:59f:ffff:ffff:ffff:ffff,UA +2001:470:1f0b:310::,2001:470:1f0b:4b0:ffff:ffff:ffff:ffff,RU +2001:470:1f0b:4b1::,2001:470:1f0b:4b1:ffff:ffff:ffff:ffff,UA +2001:470:1f0b:4b2::,2001:470:1f0b:59f:ffff:ffff:ffff:ffff,RU 2001:470:1f0b:5a0::,2001:470:1f0b:5a0:ffff:ffff:ffff:ffff,AT -2001:470:1f0b:5a1::,2001:470:1f0b:779:ffff:ffff:ffff:ffff,UA +2001:470:1f0b:5a1::,2001:470:1f0b:779:ffff:ffff:ffff:ffff,RU 2001:470:1f0b:77a::,2001:470:1f0b:77a:ffff:ffff:ffff:ffff,DE -2001:470:1f0b:77b::,2001:470:1f0b:784:ffff:ffff:ffff:ffff,UA +2001:470:1f0b:77b::,2001:470:1f0b:784:ffff:ffff:ffff:ffff,RU 2001:470:1f0b:785::,2001:470:1f0b:785:ffff:ffff:ffff:ffff,PL -2001:470:1f0b:786::,2001:470:1f0b:9c7:ffff:ffff:ffff:ffff,UA +2001:470:1f0b:786::,2001:470:1f0b:9c7:ffff:ffff:ffff:ffff,RU 2001:470:1f0b:9c8::,2001:470:1f0b:9c8:ffff:ffff:ffff:ffff,AT -2001:470:1f0b:9c9::,2001:470:1f0b:be6:ffff:ffff:ffff:ffff,UA -2001:470:1f0b:be7::,2001:470:1f0b:be7:ffff:ffff:ffff:ffff,RU -2001:470:1f0b:be8::,2001:470:1f0b:fff:ffff:ffff:ffff:ffff,UA -2001:470:1f0b:1000::,2001:470:1f0b:118a:ffff:ffff:ffff:ffff,RU +2001:470:1f0b:9c9::,2001:470:1f0b:118a:ffff:ffff:ffff:ffff,RU 2001:470:1f0b:118b::,2001:470:1f0b:118b:ffff:ffff:ffff:ffff,DE 2001:470:1f0b:118c::,2001:470:1f0b:11d1:ffff:ffff:ffff:ffff,RU 2001:470:1f0b:11d2::,2001:470:1f0b:11d2:ffff:ffff:ffff:ffff,DE 2001:470:1f0b:11d3::,2001:470:1f0b:1211:ffff:ffff:ffff:ffff,RU 2001:470:1f0b:1212::,2001:470:1f0b:1212:ffff:ffff:ffff:ffff,DE -2001:470:1f0b:1213::,2001:470:1f0b:ffff:ffff:ffff:ffff:ffff,RU -2001:470:1f0c::,2001:470:1f13:ffff:ffff:ffff:ffff:ffff,US -2001:470:1f14::,2001:470:1f15:b3:ffff:ffff:ffff:ffff,RU +2001:470:1f0b:1213::,2001:470:1f0b:16ff:ffff:ffff:ffff:ffff,RU +2001:470:1f0b:1700::,2001:470:1f0b:17ff:ffff:ffff:ffff:ffff,UA +2001:470:1f0b:1800::,2001:470:1f0b:ffff:ffff:ffff:ffff:ffff,RU +2001:470:1f0c::,2001:470:1f11:ffff:ffff:ffff:ffff:ffff,US +2001:470:1f12::,2001:470:1f13:ffff:ffff:ffff:ffff:ffff,FR +2001:470:1f14::,2001:470:1f15:b3:ffff:ffff:ffff:ffff,US 2001:470:1f15:b4::,2001:470:1f15:b4:ffff:ffff:ffff:ffff,NL -2001:470:1f15:b5::,2001:470:1f15:16b:ffff:ffff:ffff:ffff,RU +2001:470:1f15:b5::,2001:470:1f15:16b:ffff:ffff:ffff:ffff,US 2001:470:1f15:16c::,2001:470:1f15:16c:ffff:ffff:ffff:ffff,NL -2001:470:1f15:16d::,2001:470:1f15:20f:ffff:ffff:ffff:ffff,RU +2001:470:1f15:16d::,2001:470:1f15:20f:ffff:ffff:ffff:ffff,US 2001:470:1f15:210::,2001:470:1f15:210:ffff:ffff:ffff:ffff,NL -2001:470:1f15:211::,2001:470:1f15:44f:ffff:ffff:ffff:ffff,RU +2001:470:1f15:211::,2001:470:1f15:44f:ffff:ffff:ffff:ffff,US 2001:470:1f15:450::,2001:470:1f15:450:ffff:ffff:ffff:ffff,NL -2001:470:1f15:451::,2001:470:1f15:500:ffff:ffff:ffff:ffff,RU +2001:470:1f15:451::,2001:470:1f15:500:ffff:ffff:ffff:ffff,US 2001:470:1f15:501::,2001:470:1f15:501:ffff:ffff:ffff:ffff,NL -2001:470:1f15:502::,2001:470:1f15:582:ffff:ffff:ffff:ffff,RU +2001:470:1f15:502::,2001:470:1f15:582:ffff:ffff:ffff:ffff,US 2001:470:1f15:583::,2001:470:1f15:583:ffff:ffff:ffff:ffff,NL -2001:470:1f15:584::,2001:470:1f15:5ab:ffff:ffff:ffff:ffff,RU +2001:470:1f15:584::,2001:470:1f15:5ab:ffff:ffff:ffff:ffff,US 2001:470:1f15:5ac::,2001:470:1f15:5ac:ffff:ffff:ffff:ffff,NL -2001:470:1f15:5ad::,2001:470:1f15:9c5:ffff:ffff:ffff:ffff,RU +2001:470:1f15:5ad::,2001:470:1f15:73b:ffff:ffff:ffff:ffff,US +2001:470:1f15:73c::,2001:470:1f15:73c:ffff:ffff:ffff:ffff,NL +2001:470:1f15:73d::,2001:470:1f15:9c5:ffff:ffff:ffff:ffff,US 2001:470:1f15:9c6::,2001:470:1f15:9c6:ffff:ffff:ffff:ffff,AT -2001:470:1f15:9c7::,2001:470:1f15:a5e:ffff:ffff:ffff:ffff,RU +2001:470:1f15:9c7::,2001:470:1f15:a5e:ffff:ffff:ffff:ffff,US 2001:470:1f15:a5f::,2001:470:1f15:a60:ffff:ffff:ffff:ffff,NL -2001:470:1f15:a61::,2001:470:1f15:b25:ffff:ffff:ffff:ffff,RU +2001:470:1f15:a61::,2001:470:1f15:b25:ffff:ffff:ffff:ffff,US 2001:470:1f15:b26::,2001:470:1f15:b26:ffff:ffff:ffff:ffff,NL -2001:470:1f15:b27::,2001:470:1f15:10db:ffff:ffff:ffff:ffff,RU +2001:470:1f15:b27::,2001:470:1f15:10db:ffff:ffff:ffff:ffff,US 2001:470:1f15:10dc::,2001:470:1f15:10dc:ffff:ffff:ffff:ffff,NL -2001:470:1f15:10dd::,2001:470:1f15:110b:ffff:ffff:ffff:ffff,RU +2001:470:1f15:10dd::,2001:470:1f15:110b:ffff:ffff:ffff:ffff,US 2001:470:1f15:110c::,2001:470:1f15:110c:ffff:ffff:ffff:ffff,BE -2001:470:1f15:110d::,2001:470:1f17:ffff:ffff:ffff:ffff:ffff,RU -2001:470:1f18::,2001:470:1f1c:ffff:ffff:ffff:ffff:ffff,US -2001:470:1f1d::,2001:470:1f1d:195:ffff:ffff:ffff:ffff,IE +2001:470:1f15:110d::,2001:470:1f1d:195:ffff:ffff:ffff:ffff,US 2001:470:1f1d:196::,2001:470:1f1d:196:ffff:ffff:ffff:ffff,GB -2001:470:1f1d:197::,2001:470:1f1d:929:ffff:ffff:ffff:ffff,IE +2001:470:1f1d:197::,2001:470:1f1d:929:ffff:ffff:ffff:ffff,US 2001:470:1f1d:92a::,2001:470:1f1d:92a:ffff:ffff:ffff:ffff,GB -2001:470:1f1d:92b::,2001:470:1f1d:a59:ffff:ffff:ffff:ffff,IE +2001:470:1f1d:92b::,2001:470:1f1d:a59:ffff:ffff:ffff:ffff,US 2001:470:1f1d:a5a::,2001:470:1f1d:a5a:ffff:ffff:ffff:ffff,GB -2001:470:1f1d:a5b::,2001:470:1f1d:ffff:ffff:ffff:ffff:ffff,IE -2001:470:1f1e::,2001:470:1f21:37:ffff:ffff:ffff:ffff,US +2001:470:1f1d:a5b::,2001:470:1f21:37:ffff:ffff:ffff:ffff,US 2001:470:1f21:38::,2001:470:1f21:38:ffff:ffff:ffff:ffff,PT 2001:470:1f21:39::,2001:470:1fff:ffff:ffff:ffff:ffff:ffff,US 2001:470:2000::,2001:470:21fb:ffff:ffff:ffff:ffff:ffff,HU @@ -276,35 +269,29 @@ 2001:470:21fd::,2001:470:27ff:ffff:ffff:ffff:ffff:ffff,HU 2001:470:2800::,2001:470:4a63:ffff:ffff:ffff:ffff:ffff,US 2001:470:4a64::,2001:470:4a64:ffff:ffff:ffff:ffff:ffff,NZ -2001:470:4a65::,2001:470:581f:ffff:ffff:ffff:ffff:ffff,US -2001:470:5820::,2001:470:5820:ffff:ffff:ffff:ffff:ffff,CZ -2001:470:5821::,2001:470:5a34:ffff:ffff:ffff:ffff:ffff,US -2001:470:5a35::,2001:470:5a35:ffff:ffff:ffff:ffff:ffff,CZ -2001:470:5a36::,2001:470:5a39:ffff:ffff:ffff:ffff:ffff,US -2001:470:5a3a::,2001:470:5a3a:ffff:ffff:ffff:ffff:ffff,CZ -2001:470:5a3b::,2001:470:5a80:ffff:ffff:ffff:ffff:ffff,US -2001:470:5a81::,2001:470:5a81:ffff:ffff:ffff:ffff:ffff,CZ -2001:470:5a82::,2001:470:6304:ffff:ffff:ffff:ffff:ffff,US +2001:470:4a65::,2001:470:57ff:ffff:ffff:ffff:ffff:ffff,US +2001:470:5800::,2001:470:5bff:ffff:ffff:ffff:ffff:ffff,CZ +2001:470:5c00::,2001:470:6304:ffff:ffff:ffff:ffff:ffff,US 2001:470:6305::,2001:470:6305:ffff:ffff:ffff:ffff:ffff,UA 2001:470:6306::,2001:470:647b:ffff:ffff:ffff:ffff:ffff,US 2001:470:647c::,2001:470:647c:ffff:ffff:ffff:ffff:ffff,UA -2001:470:647d::,2001:470:67ff:ffff:ffff:ffff:ffff:ffff,US -2001:470:6800::,2001:470:6fff:ffff:ffff:ffff:ffff:ffff,GB -2001:470:7000::,2001:470:7170:ffff:ffff:ffff:ffff:ffff,US -2001:470:7171::,2001:470:7171:ffff:ffff:ffff:ffff:ffff,DE -2001:470:7172::,2001:470:7271:ffff:ffff:ffff:ffff:ffff,US -2001:470:7272::,2001:470:7272:ffff:ffff:ffff:ffff:ffff,DE -2001:470:7273::,2001:470:7286:ffff:ffff:ffff:ffff:ffff,US +2001:470:647d::,2001:470:6bff:ffff:ffff:ffff:ffff:ffff,US +2001:470:6c00::,2001:470:6dff:ffff:ffff:ffff:ffff:ffff,GB +2001:470:6e00::,2001:470:6f5b:ffff:ffff:ffff:ffff:ffff,RU +2001:470:6f5c::,2001:470:6f5c:ffff:ffff:ffff:ffff:ffff,GB +2001:470:6f5d::,2001:470:6fff:ffff:ffff:ffff:ffff:ffff,RU +2001:470:7000::,2001:470:7286:ffff:ffff:ffff:ffff:ffff,DE 2001:470:7287::,2001:470:7287:ffff:ffff:ffff:ffff:ffff,PL -2001:470:7288::,2001:470:73ff:ffff:ffff:ffff:ffff:ffff,US -2001:470:7400::,2001:470:7421:ffff:ffff:ffff:ffff:ffff,RU +2001:470:7288::,2001:470:73ff:ffff:ffff:ffff:ffff:ffff,DE +2001:470:7400::,2001:470:7421:ffff:ffff:ffff:ffff:ffff,US 2001:470:7422::,2001:470:7422:ffff:ffff:ffff:ffff:ffff,DE -2001:470:7423::,2001:470:747a:ffff:ffff:ffff:ffff:ffff,RU +2001:470:7423::,2001:470:747a:ffff:ffff:ffff:ffff:ffff,US 2001:470:747b::,2001:470:747b:ffff:ffff:ffff:ffff:ffff,AT -2001:470:747c::,2001:470:74fd:ffff:ffff:ffff:ffff:ffff,RU +2001:470:747c::,2001:470:74fd:ffff:ffff:ffff:ffff:ffff,US 2001:470:74fe::,2001:470:74fe:ffff:ffff:ffff:ffff:ffff,AT -2001:470:74ff::,2001:470:77ff:ffff:ffff:ffff:ffff:ffff,RU -2001:470:7800::,2001:470:7837:ffff:ffff:ffff:ffff:ffff,US +2001:470:74ff::,2001:470:75e5:ffff:ffff:ffff:ffff:ffff,US +2001:470:75e6::,2001:470:75e6:ffff:ffff:ffff:ffff:ffff,RU +2001:470:75e7::,2001:470:7837:ffff:ffff:ffff:ffff:ffff,US 2001:470:7838::,2001:470:7838:ffff:ffff:ffff:ffff:ffff,NL 2001:470:7839::,2001:470:783c:ffff:ffff:ffff:ffff:ffff,US 2001:470:783d::,2001:470:783d:ffff:ffff:ffff:ffff:ffff,NL @@ -324,33 +311,51 @@ 2001:470:7ea6::,2001:470:7ea6:ffff:ffff:ffff:ffff:ffff,NL 2001:470:7ea7::,2001:470:9794:ffff:ffff:ffff:ffff:ffff,US 2001:470:9795::,2001:470:9795:ffff:ffff:ffff:ffff:ffff,GB -2001:470:9796::,2001:470:999c:ffff:ffff:ffff:ffff:ffff,US +2001:470:9796::,2001:470:97ff:ffff:ffff:ffff:ffff:ffff,US +2001:470:9800::,2001:470:999c:ffff:ffff:ffff:ffff:ffff,RU 2001:470:999d::,2001:470:999d:ffff:ffff:ffff:ffff:ffff,DE -2001:470:999e::,2001:470:9aa3:ffff:ffff:ffff:ffff:ffff,US -2001:470:9aa4::,2001:470:9aa7:ffff:ffff:ffff:ffff:ffff,RU -2001:470:9aa8::,2001:470:b0e1:ffff:ffff:ffff:ffff:ffff,US +2001:470:999e::,2001:470:9bff:ffff:ffff:ffff:ffff:ffff,RU +2001:470:9c00::,2001:470:b0e1:ffff:ffff:ffff:ffff:ffff,US 2001:470:b0e2::,2001:470:b0e2:ffff:ffff:ffff:ffff:ffff,CA -2001:470:b0e3::,2001:470:b1ff:ffff:ffff:ffff:ffff:ffff,US -2001:470:b200::,2001:470:b2ff:ffff:ffff:ffff:ffff:ffff,CA -2001:470:b300::,2001:470:b4e9:ffff:ffff:ffff:ffff:ffff,US +2001:470:b0e3::,2001:470:b4e9:ffff:ffff:ffff:ffff:ffff,US 2001:470:b4ea::,2001:470:b4ea:ffff:ffff:ffff:ffff:ffff,AT 2001:470:b4eb::,2001:470:b625:ffff:ffff:ffff:ffff:ffff,US 2001:470:b626::,2001:470:b626:ff:ffff:ffff:ffff:ffff,DE -2001:470:b626:100::,2001:470:d6ee:ffff:ffff:ffff:ffff:ffff,US +2001:470:b626:100::,2001:470:c3ff:ffff:ffff:ffff:ffff:ffff,US +2001:470:c400::,2001:470:c4b1:ffff:ffff:ffff:ffff:ffff,CA +2001:470:c4b2::,2001:470:c4b2:ffff:ffff:ffff:ffff:ffff,US +2001:470:c4b3::,2001:470:c4d2:ffff:ffff:ffff:ffff:ffff,CA +2001:470:c4d3::,2001:470:c4d3:ffff:ffff:ffff:ffff:ffff,US +2001:470:c4d4::,2001:470:c7ff:ffff:ffff:ffff:ffff:ffff,CA +2001:470:c800::,2001:470:d6ee:ffff:ffff:ffff:ffff:ffff,US 2001:470:d6ef::,2001:470:d6ef:ffff:ffff:ffff:ffff:ffff,FR -2001:470:d6f0::,2001:470:dbff:ffff:ffff:ffff:ffff:ffff,US -2001:470:dc00::,2001:470:dd67:ffff:ffff:ffff:ffff:ffff,RU +2001:470:d6f0::,2001:470:d7ff:ffff:ffff:ffff:ffff:ffff,US +2001:470:d800::,2001:470:dbff:ffff:ffff:ffff:ffff:ffff,BR +2001:470:dc00::,2001:470:dc1b:ffff:ffff:ffff:ffff:ffff,US +2001:470:dc1c::,2001:470:dc1c:ffff:ffff:ffff:ffff:ffff,RU +2001:470:dc1d::,2001:470:dd3a:ffff:ffff:ffff:ffff:ffff,US +2001:470:dd3b::,2001:470:dd3b:ffff:ffff:ffff:ffff:ffff,FI +2001:470:dd3c::,2001:470:dd67:ffff:ffff:ffff:ffff:ffff,US 2001:470:dd68::,2001:470:dd68:ffff:ffff:ffff:ffff:ffff,DK -2001:470:dd69::,2001:470:dec3:ffff:ffff:ffff:ffff:ffff,RU +2001:470:dd69::,2001:470:ddff:ffff:ffff:ffff:ffff:ffff,US +2001:470:de00::,2001:470:de7f:ffff:ffff:ffff:ffff:ffff,RU +2001:470:de80::,2001:470:dec3:ffff:ffff:ffff:ffff:ffff,US 2001:470:dec4::,2001:470:dec4:ffff:ffff:ffff:ffff:ffff,SE -2001:470:dec5::,2001:470:dee2:ffff:ffff:ffff:ffff:ffff,RU +2001:470:dec5::,2001:470:dee2:ffff:ffff:ffff:ffff:ffff,US 2001:470:dee3::,2001:470:dee3:ffff:ffff:ffff:ffff:ffff,NO -2001:470:dee4::,2001:470:df26:ffff:ffff:ffff:ffff:ffff,RU +2001:470:dee4::,2001:470:df26:ffff:ffff:ffff:ffff:ffff,US 2001:470:df27::,2001:470:df27:ffff:ffff:ffff:ffff:ffff,SE -2001:470:df28::,2001:470:df40:ffff:ffff:ffff:ffff:ffff,RU +2001:470:df28::,2001:470:df40:ffff:ffff:ffff:ffff:ffff,US 2001:470:df41::,2001:470:df41:ffff:ffff:ffff:ffff:ffff,SE -2001:470:df42::,2001:470:dfff:ffff:ffff:ffff:ffff:ffff,RU -2001:470:e000::,2001:470:ffff:ffff:ffff:ffff:ffff:ffff,US +2001:470:df42::,2001:470:dfc9:ffff:ffff:ffff:ffff:ffff,US +2001:470:dfca::,2001:470:dfca:ffff:ffff:ffff:ffff:ffff,RU +2001:470:dfcb::,2001:470:ebff:ffff:ffff:ffff:ffff:ffff,US +2001:470:ec00::,2001:470:efff:ffff:ffff:ffff:ffff:ffff,SG +2001:470:f000::,2001:470:f07f:ffff:ffff:ffff:ffff:ffff,US +2001:470:f080::,2001:470:f08a:ffff:ffff:ffff:ffff:ffff,CN +2001:470:f08b::,2001:470:f08b:ffff:ffff:ffff:ffff:ffff,US +2001:470:f08c::,2001:470:f0bf:ffff:ffff:ffff:ffff:ffff,CN +2001:470:f0c0::,2001:470:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:478::,2001:478:ffff:ffff:ffff:ffff:ffff:ffff,KN 2001:480::,2001:480:ffff:ffff:ffff:ffff:ffff:ffff,US 2001:490::,2001:490:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -509,11 +514,13 @@ 2001:504:70::,2001:504:72:ffff:ffff:ffff:ffff:ffff,US 2001:504:73::,2001:504:73:ffff:ffff:ffff:ffff:ffff,CA 2001:504:74::,2001:504:79:ffff:ffff:ffff:ffff:ffff,US -2001:504:80::,2001:504:91:ffff:ffff:ffff:ffff:ffff,US +2001:504:80::,2001:504:92:ffff:ffff:ffff:ffff:ffff,US +2001:504:93::,2001:504:93:ffff:ffff:ffff:ffff:ffff,VG 2001:506::,2001:506:1:ffff:ffff:ffff:ffff:ffff,US 2001:506:8::,2001:506:8:ffff:ffff:ffff:ffff:ffff,US 2001:506:20::,2001:506:20:ffff:ffff:ffff:ffff:ffff,CA 2001:506:28::,2001:506:28:ffff:ffff:ffff:ffff:ffff,US +2001:506:30::,2001:506:30:ffff:ffff:ffff:ffff:ffff,US 2001:506:100::,2001:506:100:ffff:ffff:ffff:ffff:ffff,US 2001:506:200::,2001:506:2ff:ffff:ffff:ffff:ffff:ffff,US 2001:506:1000::,2001:506:2fff:ffff:ffff:ffff:ffff:ffff,US @@ -584,14 +591,110 @@ 2001:668:e401:1::,2001:668:e401:2:ffff:ffff:ffff:ffff,CZ 2001:668:e401:3::,2001:66f:ffff:ffff:ffff:ffff:ffff:ffff,IE 2001:670::,2001:673:ffff:ffff:ffff:ffff:ffff:ffff,FI -2001:678::,2001:678:3ff:ffff:ffff:ffff:ffff:ffff,UA -2001:678:400::,2001:678:431:baff:ffff:ffff:ffff:ffff,GB +2001:678::,2001:678:273:ffff:ffff:ffff:ffff:ffff,UA +2001:678:274::,2001:678:274:ffff:ffff:ffff:ffff:ffff,DE +2001:678:275::,2001:678:2ff:ffff:ffff:ffff:ffff:ffff,UA +2001:678:300::,2001:678:303:ffff:ffff:ffff:ffff:ffff,DE +2001:678:310::,2001:678:310:ffff:ffff:ffff:ffff:ffff,CH +2001:678:314::,2001:678:314:ffff:ffff:ffff:ffff:ffff,RO +2001:678:318::,2001:678:318:ffff:ffff:ffff:ffff:ffff,UA +2001:678:31c::,2001:678:31c:ffff:ffff:ffff:ffff:ffff,UA +2001:678:320::,2001:678:320:ffff:ffff:ffff:ffff:ffff,CZ +2001:678:324::,2001:678:324:ffff:ffff:ffff:ffff:ffff,LV +2001:678:328::,2001:678:328:ffff:ffff:ffff:ffff:ffff,CH +2001:678:32c::,2001:678:32c:ffff:ffff:ffff:ffff:ffff,GB +2001:678:330::,2001:678:330:ffff:ffff:ffff:ffff:ffff,SE +2001:678:334::,2001:678:334:ffff:ffff:ffff:ffff:ffff,UA +2001:678:338::,2001:678:338:ffff:ffff:ffff:ffff:ffff,DE +2001:678:33c::,2001:678:33c:ffff:ffff:ffff:ffff:ffff,DK +2001:678:340::,2001:678:340:ffff:ffff:ffff:ffff:ffff,DE +2001:678:344::,2001:678:344:ffff:ffff:ffff:ffff:ffff,RU +2001:678:348::,2001:678:348:ffff:ffff:ffff:ffff:ffff,NL +2001:678:34c::,2001:678:34c:ffff:ffff:ffff:ffff:ffff,US +2001:678:350::,2001:678:350:ffff:ffff:ffff:ffff:ffff,RU +2001:678:354::,2001:678:354:ffff:ffff:ffff:ffff:ffff,RU +2001:678:358::,2001:678:358:ffff:ffff:ffff:ffff:ffff,IE +2001:678:35c::,2001:678:35c:ffff:ffff:ffff:ffff:ffff,DE +2001:678:360::,2001:678:360:ffff:ffff:ffff:ffff:ffff,DE +2001:678:364::,2001:678:364:ffff:ffff:ffff:ffff:ffff,PL +2001:678:368::,2001:678:368:ffff:ffff:ffff:ffff:ffff,CZ +2001:678:36c::,2001:678:36c:ffff:ffff:ffff:ffff:ffff,DE +2001:678:370::,2001:678:370:ffff:ffff:ffff:ffff:ffff,DE +2001:678:374::,2001:678:374:ffff:ffff:ffff:ffff:ffff,UA +2001:678:378::,2001:678:378:ffff:ffff:ffff:ffff:ffff,CZ +2001:678:37c::,2001:678:37c:ffff:ffff:ffff:ffff:ffff,UA +2001:678:380::,2001:678:380:ffff:ffff:ffff:ffff:ffff,PL +2001:678:384::,2001:678:384:ffff:ffff:ffff:ffff:ffff,RU +2001:678:388::,2001:678:388:ffff:ffff:ffff:ffff:ffff,PL +2001:678:38c::,2001:678:38c:ffff:ffff:ffff:ffff:ffff,PL +2001:678:390::,2001:678:390:ffff:ffff:ffff:ffff:ffff,NL +2001:678:394::,2001:678:394:ffff:ffff:ffff:ffff:ffff,SE +2001:678:398::,2001:678:398:ffff:ffff:ffff:ffff:ffff,CZ +2001:678:39c::,2001:678:39c:ffff:ffff:ffff:ffff:ffff,SA +2001:678:3a0::,2001:678:3a0:ffff:ffff:ffff:ffff:ffff,DE +2001:678:3a4::,2001:678:3a4:ffff:ffff:ffff:ffff:ffff,SE +2001:678:3a8::,2001:678:3a8:ffff:ffff:ffff:ffff:ffff,DE +2001:678:3ac::,2001:678:3ac:ffff:ffff:ffff:ffff:ffff,PL +2001:678:3b0::,2001:678:3b0:ffff:ffff:ffff:ffff:ffff,PL +2001:678:3b4::,2001:678:3b4:ffff:ffff:ffff:ffff:ffff,DE +2001:678:3b8::,2001:678:3b8:ffff:ffff:ffff:ffff:ffff,DE +2001:678:3bc::,2001:678:3bc:ffff:ffff:ffff:ffff:ffff,FR +2001:678:3c0::,2001:678:3c0:ffff:ffff:ffff:ffff:ffff,PL +2001:678:3c4::,2001:678:3c4:ffff:ffff:ffff:ffff:ffff,DE +2001:678:3c8::,2001:678:3c8:ffff:ffff:ffff:ffff:ffff,GR +2001:678:3cc::,2001:678:3cc:ffff:ffff:ffff:ffff:ffff,FR +2001:678:3d0::,2001:678:3d0:ffff:ffff:ffff:ffff:ffff,RU +2001:678:3d4::,2001:678:3d4:ffff:ffff:ffff:ffff:ffff,NL +2001:678:3d8::,2001:678:3d8:ffff:ffff:ffff:ffff:ffff,GB +2001:678:3dc::,2001:678:3dc:ffff:ffff:ffff:ffff:ffff,AT +2001:678:3e0::,2001:678:3e0:ffff:ffff:ffff:ffff:ffff,NL +2001:678:3e4::,2001:678:3e4:ffff:ffff:ffff:ffff:ffff,DE +2001:678:3e8::,2001:678:3e8:ffff:ffff:ffff:ffff:ffff,PL +2001:678:3ec::,2001:678:3ec:ffff:ffff:ffff:ffff:ffff,SE +2001:678:3f0::,2001:678:3f0:ffff:ffff:ffff:ffff:ffff,NO +2001:678:3f4::,2001:678:3f4:ffff:ffff:ffff:ffff:ffff,DE +2001:678:3f8::,2001:678:3f8:ffff:ffff:ffff:ffff:ffff,UA +2001:678:3fc::,2001:678:3fc:ffff:ffff:ffff:ffff:ffff,FR +2001:678:400::,2001:678:431:baff:ffff:ffff:ffff:ffff,DE 2001:678:431:bb00::,2001:678:431:bbff:ffff:ffff:ffff:ffff,FR -2001:678:431:bc00::,2001:678:47f:ffff:ffff:ffff:ffff:ffff,GB +2001:678:431:bc00::,2001:678:47f:ffff:ffff:ffff:ffff:ffff,DE 2001:678:480::,2001:678:480:ffff:ffff:ffff:ffff:ffff,AT -2001:678:481::,2001:678:4fb:ffff:ffff:ffff:ffff:ffff,GB +2001:678:481::,2001:678:4fb:ffff:ffff:ffff:ffff:ffff,DE 2001:678:4fc::,2001:678:4fc:ffff:ffff:ffff:ffff:ffff,RO -2001:678:4fd::,2001:678:58b:ffff:ffff:ffff:ffff:ffff,GB +2001:678:4fd::,2001:678:4ff:ffff:ffff:ffff:ffff:ffff,DE +2001:678:500::,2001:678:500:ffff:ffff:ffff:ffff:ffff,GB +2001:678:504::,2001:678:504:ffff:ffff:ffff:ffff:ffff,PL +2001:678:508::,2001:678:508:ffff:ffff:ffff:ffff:ffff,ES +2001:678:50c::,2001:678:50c:ffff:ffff:ffff:ffff:ffff,DE +2001:678:510::,2001:678:510:ffff:ffff:ffff:ffff:ffff,AT +2001:678:514::,2001:678:514:ffff:ffff:ffff:ffff:ffff,PT +2001:678:518::,2001:678:518:ffff:ffff:ffff:ffff:ffff,DE +2001:678:51c::,2001:678:51c:ffff:ffff:ffff:ffff:ffff,DK +2001:678:520::,2001:678:520:ffff:ffff:ffff:ffff:ffff,RU +2001:678:524::,2001:678:524:ffff:ffff:ffff:ffff:ffff,SE +2001:678:528::,2001:678:528:ffff:ffff:ffff:ffff:ffff,AT +2001:678:52c::,2001:678:52c:ffff:ffff:ffff:ffff:ffff,FI +2001:678:530::,2001:678:530:ffff:ffff:ffff:ffff:ffff,PL +2001:678:534::,2001:678:534:ffff:ffff:ffff:ffff:ffff,RU +2001:678:538::,2001:678:538:ffff:ffff:ffff:ffff:ffff,NL +2001:678:53c::,2001:678:53c:ffff:ffff:ffff:ffff:ffff,NL +2001:678:540::,2001:678:540:ffff:ffff:ffff:ffff:ffff,DE +2001:678:544::,2001:678:544:ffff:ffff:ffff:ffff:ffff,IE +2001:678:548::,2001:678:548:ffff:ffff:ffff:ffff:ffff,RU +2001:678:54c::,2001:678:54c:ffff:ffff:ffff:ffff:ffff,SE +2001:678:550::,2001:678:550:ffff:ffff:ffff:ffff:ffff,GB +2001:678:554::,2001:678:554:ffff:ffff:ffff:ffff:ffff,DK +2001:678:558::,2001:678:558:ffff:ffff:ffff:ffff:ffff,DE +2001:678:55c::,2001:678:55c:ffff:ffff:ffff:ffff:ffff,SE +2001:678:560::,2001:678:560:ffff:ffff:ffff:ffff:ffff,DE +2001:678:564::,2001:678:564:ffff:ffff:ffff:ffff:ffff,UA +2001:678:568::,2001:678:568:ffff:ffff:ffff:ffff:ffff,RU +2001:678:56c::,2001:678:56c:ffff:ffff:ffff:ffff:ffff,NL +2001:678:570::,2001:678:570:ffff:ffff:ffff:ffff:ffff,PL +2001:678:574::,2001:678:574:ffff:ffff:ffff:ffff:ffff,PL +2001:678:578::,2001:678:578:ffff:ffff:ffff:ffff:ffff,DE +2001:678:57c::,2001:678:57c:ffff:ffff:ffff:ffff:ffff,RU +2001:678:580::,2001:678:58b:ffff:ffff:ffff:ffff:ffff,GB 2001:678:58c::,2001:678:58c:ffff:ffff:ffff:ffff:ffff,IS 2001:678:58d::,2001:678:5df:ffff:ffff:ffff:ffff:ffff,GB 2001:678:5e0::,2001:678:5e0:ffff:ffff:ffff:ffff:ffff,RU @@ -602,7 +705,9 @@ 2001:678:61c::,2001:678:61c:ffff:ffff:ffff:ffff:ffff,PL 2001:678:61d::,2001:678:63b:ffff:ffff:ffff:ffff:ffff,RU 2001:678:63c::,2001:678:63c:ffff:ffff:ffff:ffff:ffff,PL -2001:678:63d::,2001:678:7b7:ffff:ffff:ffff:ffff:ffff,RU +2001:678:63d::,2001:678:6b7:ffff:ffff:ffff:ffff:ffff,RU +2001:678:6b8::,2001:678:6b8:ffff:ffff:ffff:ffff:ffff,GB +2001:678:6b9::,2001:678:7b7:ffff:ffff:ffff:ffff:ffff,RU 2001:678:7b8::,2001:678:7b8:ffff:ffff:ffff:ffff:ffff,PL 2001:678:7b9::,2001:678:7bb:ffff:ffff:ffff:ffff:ffff,RU 2001:678:7bc::,2001:678:7bc:ffff:ffff:ffff:ffff:ffff,PL @@ -620,6 +725,32 @@ 2001:678:828::,2001:678:828:ffff:ffff:ffff:ffff:ffff,DE 2001:678:82c::,2001:678:82c:ffff:ffff:ffff:ffff:ffff,DE 2001:678:830::,2001:678:833:ffff:ffff:ffff:ffff:ffff,DE +2001:678:840::,2001:678:840:ffff:ffff:ffff:ffff:ffff,PL +2001:678:844::,2001:678:844:ffff:ffff:ffff:ffff:ffff,PL +2001:678:848::,2001:678:848:ffff:ffff:ffff:ffff:ffff,SE +2001:678:84c::,2001:678:84c:ffff:ffff:ffff:ffff:ffff,CZ +2001:678:850::,2001:678:850:ffff:ffff:ffff:ffff:ffff,PL +2001:678:854::,2001:678:854:ffff:ffff:ffff:ffff:ffff,DE +2001:678:858::,2001:678:858:ffff:ffff:ffff:ffff:ffff,RU +2001:678:85c::,2001:678:85c:ffff:ffff:ffff:ffff:ffff,RU +2001:678:860::,2001:678:860:ffff:ffff:ffff:ffff:ffff,UZ +2001:678:864::,2001:678:864:ffff:ffff:ffff:ffff:ffff,RU +2001:678:868::,2001:678:868:ffff:ffff:ffff:ffff:ffff,DE +2001:678:86c::,2001:678:86c:ffff:ffff:ffff:ffff:ffff,SK +2001:678:870::,2001:678:870:ffff:ffff:ffff:ffff:ffff,PL +2001:678:874::,2001:678:874:ffff:ffff:ffff:ffff:ffff,DE +2001:678:878::,2001:678:878:ffff:ffff:ffff:ffff:ffff,DE +2001:678:87c::,2001:678:87c:ffff:ffff:ffff:ffff:ffff,UA +2001:678:880::,2001:678:880:ffff:ffff:ffff:ffff:ffff,NL +2001:678:884::,2001:678:884:ffff:ffff:ffff:ffff:ffff,UA +2001:678:888::,2001:678:888:ffff:ffff:ffff:ffff:ffff,IS +2001:678:88c::,2001:678:88c:ffff:ffff:ffff:ffff:ffff,GB +2001:678:890::,2001:678:890:ffff:ffff:ffff:ffff:ffff,CH +2001:678:894::,2001:678:894:ffff:ffff:ffff:ffff:ffff,DE +2001:678:898::,2001:678:898:ffff:ffff:ffff:ffff:ffff,RO +2001:678:89c::,2001:678:89c:ffff:ffff:ffff:ffff:ffff,SE +2001:678:8a0::,2001:678:8a0:ffff:ffff:ffff:ffff:ffff,DE +2001:678:8a4::,2001:678:8a4:ffff:ffff:ffff:ffff:ffff,PL 2001:67c::,2001:67c:5b:ffff:ffff:ffff:ffff:ffff,GB 2001:67c:5c::,2001:67c:5c:ffff:ffff:ffff:ffff:ffff,BE 2001:67c:5d::,2001:67c:63:ffff:ffff:ffff:ffff:ffff,GB @@ -629,80 +760,76 @@ 2001:67c:89::,2001:67c:eb:ffff:ffff:ffff:ffff:ffff,GB 2001:67c:ec::,2001:67c:ec:ffff:ffff:ffff:ffff:ffff,FR 2001:67c:ed::,2001:67c:ff:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:100::,2001:67c:100:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:104::,2001:67c:104:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:108::,2001:67c:108:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:10c::,2001:67c:10c:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:110::,2001:67c:110:ffff:ffff:ffff:ffff:ffff,FI -2001:67c:114::,2001:67c:114:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:118::,2001:67c:118:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:11c::,2001:67c:11c:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:120::,2001:67c:120:ffff:ffff:ffff:ffff:ffff,BE -2001:67c:124::,2001:67c:124:ffff:ffff:ffff:ffff:ffff,SI -2001:67c:128::,2001:67c:128:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:12c::,2001:67c:12c:ffff:ffff:ffff:ffff:ffff,FI -2001:67c:130::,2001:67c:130:ffff:ffff:ffff:ffff:ffff,SA -2001:67c:134::,2001:67c:134:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:138::,2001:67c:138:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:13c::,2001:67c:13c:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:140::,2001:67c:140:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:144::,2001:67c:144:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:148::,2001:67c:148:ffff:ffff:ffff:ffff:ffff,AT -2001:67c:14c::,2001:67c:14d:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:150::,2001:67c:150:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:154::,2001:67c:154:ffff:ffff:ffff:ffff:ffff,RO -2001:67c:158::,2001:67c:158:ffff:ffff:ffff:ffff:ffff,DK -2001:67c:15c::,2001:67c:15c:ffff:ffff:ffff:ffff:ffff,FI -2001:67c:160::,2001:67c:160:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:164::,2001:67c:164:ffff:ffff:ffff:ffff:ffff,FI -2001:67c:168::,2001:67c:168:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:16c::,2001:67c:16c:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:170::,2001:67c:170:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:174::,2001:67c:174:ffff:ffff:ffff:ffff:ffff,SM -2001:67c:178::,2001:67c:178:ffff:ffff:ffff:ffff:ffff,AT -2001:67c:17c::,2001:67c:17c:ffff:ffff:ffff:ffff:ffff,AT -2001:67c:180::,2001:67c:180:ffff:ffff:ffff:ffff:ffff,AT -2001:67c:184::,2001:67c:184:ffff:ffff:ffff:ffff:ffff,DK -2001:67c:188::,2001:67c:188:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:18c::,2001:67c:18c:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:190::,2001:67c:190:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:194::,2001:67c:194:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:198::,2001:67c:198:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:19c::,2001:67c:19c:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:1a0::,2001:67c:1a0:ffff:ffff:ffff:ffff:ffff,SI -2001:67c:1a4::,2001:67c:1a4:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:1a8::,2001:67c:1a8:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:1ac::,2001:67c:1ac:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:1b0::,2001:67c:1b0:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:1b4::,2001:67c:1b4:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:1b8::,2001:67c:1b8:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:1bc::,2001:67c:1bc:ffff:ffff:ffff:ffff:ffff,AT -2001:67c:1c0::,2001:67c:1c0:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:1c4::,2001:67c:1c4:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:1c8::,2001:67c:1c8:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:1cc::,2001:67c:1cc:ffff:ffff:ffff:ffff:ffff,BE -2001:67c:1d0::,2001:67c:1d0:ffff:ffff:ffff:ffff:ffff,AT -2001:67c:1d4::,2001:67c:1d4:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:1d8::,2001:67c:1d8:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:1dc::,2001:67c:1dc:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:1e0::,2001:67c:1e0:ffff:ffff:ffff:ffff:ffff,RO -2001:67c:1e4::,2001:67c:1e4:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:1e8::,2001:67c:1e8:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:1ec::,2001:67c:1ec:ffff:ffff:ffff:ffff:ffff,NO -2001:67c:1f0::,2001:67c:1f0:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:1f4::,2001:67c:1f4:ffff:ffff:ffff:ffff:ffff,DK -2001:67c:1f8::,2001:67c:1f8:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:1fc::,2001:67c:1fc:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:100::,2001:67c:17f:ffff:ffff:ffff:ffff:ffff,FI +2001:67c:180::,2001:67c:1ff:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:200::,2001:67c:24b:ffff:ffff:ffff:ffff:ffff,CZ 2001:67c:24c::,2001:67c:24c:ffff:ffff:ffff:ffff:ffff,PL 2001:67c:24d::,2001:67c:2ef:ffff:ffff:ffff:ffff:ffff,CZ 2001:67c:2f0::,2001:67c:2f0:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:2f1::,2001:67c:2ff:ffff:ffff:ffff:ffff:ffff,CZ -2001:67c:300::,2001:67c:36f:ffff:ffff:ffff:ffff:ffff,LV +2001:67c:300::,2001:67c:300:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:304::,2001:67c:304:ffff:ffff:ffff:ffff:ffff,BE +2001:67c:308::,2001:67c:308:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:30c::,2001:67c:30c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:310::,2001:67c:310:ffff:ffff:ffff:ffff:ffff,CY +2001:67c:314::,2001:67c:314:ffff:ffff:ffff:ffff:ffff,BE +2001:67c:318::,2001:67c:318:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:31c::,2001:67c:31c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:320::,2001:67c:320:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:324::,2001:67c:324:ffff:ffff:ffff:ffff:ffff,NO +2001:67c:328::,2001:67c:328:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:32c::,2001:67c:32c:ffff:ffff:ffff:ffff:ffff,EE +2001:67c:330::,2001:67c:330:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:334::,2001:67c:334:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:338::,2001:67c:338:ffff:ffff:ffff:ffff:ffff,IE +2001:67c:33c::,2001:67c:33c:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:340::,2001:67c:340:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:344::,2001:67c:344:ffff:ffff:ffff:ffff:ffff,BE +2001:67c:348::,2001:67c:348:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:34c::,2001:67c:34c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:350::,2001:67c:350:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:354::,2001:67c:354:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:358::,2001:67c:358:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:35c::,2001:67c:35c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:360::,2001:67c:360:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:364::,2001:67c:364:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:368::,2001:67c:368:ffff:ffff:ffff:ffff:ffff,LV +2001:67c:36c::,2001:67c:36c:ffff:ffff:ffff:ffff:ffff,CH 2001:67c:370::,2001:67c:370:ffff:ffff:ffff:ffff:ffff,TH -2001:67c:371::,2001:67c:3df:ffff:ffff:ffff:ffff:ffff,LV +2001:67c:374::,2001:67c:374:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:378::,2001:67c:378:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:37c::,2001:67c:37c:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:380::,2001:67c:380:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:384::,2001:67c:384:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:388::,2001:67c:388:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:38c::,2001:67c:38c:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:390::,2001:67c:390:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:394::,2001:67c:394:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:398::,2001:67c:398:ffff:ffff:ffff:ffff:ffff,NO +2001:67c:39c::,2001:67c:39c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:3a0::,2001:67c:3a0:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:3a4::,2001:67c:3a4:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:3a8::,2001:67c:3a8:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:3ac::,2001:67c:3ac:ffff:ffff:ffff:ffff:ffff,RS +2001:67c:3b0::,2001:67c:3b0:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:3b4::,2001:67c:3b4:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:3b8::,2001:67c:3b8:ffff:ffff:ffff:ffff:ffff,IE +2001:67c:3bc::,2001:67c:3bc:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:3c0::,2001:67c:3c0:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:3c4::,2001:67c:3c4:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:3c8::,2001:67c:3c8:ffff:ffff:ffff:ffff:ffff,EE +2001:67c:3cc::,2001:67c:3cc:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:3d0::,2001:67c:3d0:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:3d4::,2001:67c:3d4:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:3d8::,2001:67c:3d8:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:3dc::,2001:67c:3dc:ffff:ffff:ffff:ffff:ffff,GB 2001:67c:3e0::,2001:67c:3e0:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:3e1::,2001:67c:3ff:ffff:ffff:ffff:ffff:ffff,LV +2001:67c:3e4::,2001:67c:3e4:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:3e8::,2001:67c:3e9:ffff:ffff:ffff:ffff:ffff,SA +2001:67c:3f0::,2001:67c:3f0:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:3f4::,2001:67c:3f4:ffff:ffff:ffff:ffff:ffff,HR +2001:67c:3f8::,2001:67c:3f8:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:3fc::,2001:67c:3fc:ffff:ffff:ffff:ffff:ffff,CH 2001:67c:400::,2001:67c:400:ffff:ffff:ffff:ffff:ffff,ES 2001:67c:404::,2001:67c:404:ffff:ffff:ffff:ffff:ffff,AT 2001:67c:408::,2001:67c:408:ffff:ffff:ffff:ffff:ffff,FR @@ -817,198 +944,128 @@ 2001:67c:5f4::,2001:67c:5f4:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:5f8::,2001:67c:5f8:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:5fc::,2001:67c:5fc:ffff:ffff:ffff:ffff:ffff,AT -2001:67c:600::,2001:67c:600:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:604::,2001:67c:604:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:608::,2001:67c:608:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:60c::,2001:67c:60c:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:610::,2001:67c:610:ffff:ffff:ffff:ffff:ffff,DK -2001:67c:614::,2001:67c:614:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:618::,2001:67c:618:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:61c::,2001:67c:61c:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:620::,2001:67c:620:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:624::,2001:67c:624:ffff:ffff:ffff:ffff:ffff,RO -2001:67c:628::,2001:67c:628:ffff:ffff:ffff:ffff:ffff,RO -2001:67c:62c::,2001:67c:62c:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:630::,2001:67c:630:ffff:ffff:ffff:ffff:ffff,NO -2001:67c:634::,2001:67c:634:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:638::,2001:67c:638:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:63c::,2001:67c:63c:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:640::,2001:67c:640:ffff:ffff:ffff:ffff:ffff,RO -2001:67c:644::,2001:67c:644:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:648::,2001:67c:648:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:650::,2001:67c:650:ffff:ffff:ffff:ffff:ffff,CZ -2001:67c:654::,2001:67c:654:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:658::,2001:67c:658:ffff:ffff:ffff:ffff:ffff,CZ -2001:67c:65c::,2001:67c:65c:ffff:ffff:ffff:ffff:ffff,DK -2001:67c:660::,2001:67c:660:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:664::,2001:67c:664:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:668::,2001:67c:668:ffff:ffff:ffff:ffff:ffff,MD -2001:67c:66c::,2001:67c:66c:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:670::,2001:67c:670:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:674::,2001:67c:674:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:678::,2001:67c:678:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:67c::,2001:67c:67c:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:680::,2001:67c:680:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:684::,2001:67c:684:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:688::,2001:67c:688:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:68c::,2001:67c:68c:ffff:ffff:ffff:ffff:ffff,TR -2001:67c:690::,2001:67c:690:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:694::,2001:67c:694:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:698::,2001:67c:698:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:69c::,2001:67c:69c:ffff:ffff:ffff:ffff:ffff,RS -2001:67c:6a0::,2001:67c:6a0:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:6a4::,2001:67c:6a4:ffff:ffff:ffff:ffff:ffff,FR -2001:67c:6a8::,2001:67c:6a8:ffff:ffff:ffff:ffff:ffff,DK -2001:67c:6ac::,2001:67c:6ac:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:6b0::,2001:67c:6b0:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:6b4::,2001:67c:6b4:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:6b8::,2001:67c:6b8:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:6bc::,2001:67c:6bc:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:6c0::,2001:67c:6c0:ffff:ffff:ffff:ffff:ffff,TR -2001:67c:6c4::,2001:67c:6c4:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:6c8::,2001:67c:6c8:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:6cc::,2001:67c:6cc:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:6d4::,2001:67c:6d4:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:6d8::,2001:67c:6d8:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:6dc::,2001:67c:6dc:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:6e0::,2001:67c:6e0:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:6e4::,2001:67c:6e4:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:6e8::,2001:67c:6e8:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:6ec::,2001:67c:6ec:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:6f0::,2001:67c:6f0:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:6f4::,2001:67c:6f4:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:6f8::,2001:67c:6f8:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:6fc::,2001:67c:6fc:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:700::,2001:67c:700:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:704::,2001:67c:704:ffff:ffff:ffff:ffff:ffff,AT -2001:67c:708::,2001:67c:708:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:70c::,2001:67c:70c:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:710::,2001:67c:710:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:714::,2001:67c:714:ffff:ffff:ffff:ffff:ffff,NO -2001:67c:718::,2001:67c:718:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:71c::,2001:67c:71c:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:720::,2001:67c:720:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:724::,2001:67c:724:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:728::,2001:67c:728:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:72c::,2001:67c:72c:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:734::,2001:67c:734:ffff:ffff:ffff:ffff:ffff,AT -2001:67c:738::,2001:67c:738:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:73c::,2001:67c:73c:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:740::,2001:67c:740:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:744::,2001:67c:744:ffff:ffff:ffff:ffff:ffff,RO -2001:67c:748::,2001:67c:748:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:74c::,2001:67c:74c:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:750::,2001:67c:750:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:754::,2001:67c:754:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:758::,2001:67c:758:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:75c::,2001:67c:75c:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:760::,2001:67c:760:ffff:ffff:ffff:ffff:ffff,LV -2001:67c:764::,2001:67c:764:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:76c::,2001:67c:76c:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:770::,2001:67c:770:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:774::,2001:67c:774:ffff:ffff:ffff:ffff:ffff,NO -2001:67c:778::,2001:67c:778:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:77c::,2001:67c:77c:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:780::,2001:67c:780:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:784::,2001:67c:784:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:788::,2001:67c:788:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:78c::,2001:67c:78c:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:790::,2001:67c:790:ffff:ffff:ffff:ffff:ffff,IT -2001:67c:794::,2001:67c:794:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:798::,2001:67c:798:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:79c::,2001:67c:79c:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:7a0::,2001:67c:7a0:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:7a4::,2001:67c:7a4:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:7a8::,2001:67c:7a8:ffff:ffff:ffff:ffff:ffff,DK -2001:67c:7ac::,2001:67c:7ac:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:7b0::,2001:67c:7b0:ffff:ffff:ffff:ffff:ffff,CZ -2001:67c:7b4::,2001:67c:7b4:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:7b8::,2001:67c:7b8:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:7bc::,2001:67c:7bc:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:7c0::,2001:67c:7c3:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:7d0::,2001:67c:7d0:ffff:ffff:ffff:ffff:ffff,LV -2001:67c:7d4::,2001:67c:7d4:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:7d8::,2001:67c:7d8:ffff:ffff:ffff:ffff:ffff,RO -2001:67c:7dc::,2001:67c:7dc:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:7e0::,2001:67c:7e0:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:7e4::,2001:67c:7e4:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:7e8::,2001:67c:7e8:ffff:ffff:ffff:ffff:ffff,NO -2001:67c:7ec::,2001:67c:7ec:ffff:ffff:ffff:ffff:ffff,NO -2001:67c:7f0::,2001:67c:7f0:ffff:ffff:ffff:ffff:ffff,NO -2001:67c:7f4::,2001:67c:7f4:ffff:ffff:ffff:ffff:ffff,KW -2001:67c:7f8::,2001:67c:7f8:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:7fc::,2001:67c:7fc:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:600::,2001:67c:6ff:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:700::,2001:67c:7ff:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:1000::,2001:67c:1093:ffff:ffff:ffff:ffff:ffff,CH 2001:67c:1094::,2001:67c:1094:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:1095::,2001:67c:10ff:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:1100::,2001:67c:1100:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:1104::,2001:67c:1104:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:1108::,2001:67c:1109:ffff:ffff:ffff:ffff:ffff,FR -2001:67c:1110::,2001:67c:1111:ffff:ffff:ffff:ffff:ffff,AT -2001:67c:1118::,2001:67c:1118:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:111c::,2001:67c:111c:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:1120::,2001:67c:1120:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:1124::,2001:67c:1124:ffff:ffff:ffff:ffff:ffff,SI -2001:67c:1128::,2001:67c:1128:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:112c::,2001:67c:112c:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:1130::,2001:67c:1130:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:1134::,2001:67c:1134:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:1138::,2001:67c:1138:ffff:ffff:ffff:ffff:ffff,CZ -2001:67c:113c::,2001:67c:113c:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:1140::,2001:67c:1140:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:1148::,2001:67c:1148:ffff:ffff:ffff:ffff:ffff,ES -2001:67c:114c::,2001:67c:114c:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:1150::,2001:67c:1150:ffff:ffff:ffff:ffff:ffff,IL -2001:67c:1154::,2001:67c:1154:ffff:ffff:ffff:ffff:ffff,TR -2001:67c:1158::,2001:67c:1158:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:115c::,2001:67c:115c:ffff:ffff:ffff:ffff:ffff,RO -2001:67c:1160::,2001:67c:1160:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:1164::,2001:67c:1164:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:1168::,2001:67c:1168:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:116c::,2001:67c:116c:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:1170::,2001:67c:1170:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:1174::,2001:67c:1174:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:1178::,2001:67c:1178:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:117c::,2001:67c:117c:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:1180::,2001:67c:1180:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:1184::,2001:67c:1184:ffff:ffff:ffff:ffff:ffff,HR -2001:67c:1188::,2001:67c:1188:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:118c::,2001:67c:118c:ffff:ffff:ffff:ffff:ffff,FR -2001:67c:1194::,2001:67c:1194:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:1198::,2001:67c:1199:ffff:ffff:ffff:ffff:ffff,SA -2001:67c:11a0::,2001:67c:11a0:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:11a4::,2001:67c:11a4:ffff:ffff:ffff:ffff:ffff,RO -2001:67c:11a8::,2001:67c:11a8:ffff:ffff:ffff:ffff:ffff,CZ -2001:67c:11ac::,2001:67c:11ac:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:11b0::,2001:67c:11b0:ffff:ffff:ffff:ffff:ffff,FR -2001:67c:11b4::,2001:67c:11b4:ffff:ffff:ffff:ffff:ffff,ES -2001:67c:11b8::,2001:67c:11b8:ffff:ffff:ffff:ffff:ffff,TR -2001:67c:11bc::,2001:67c:11bc:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:11c0::,2001:67c:11c0:ffff:ffff:ffff:ffff:ffff,DK -2001:67c:11c4::,2001:67c:11c4:ffff:ffff:ffff:ffff:ffff,RO -2001:67c:11c8::,2001:67c:11c8:ffff:ffff:ffff:ffff:ffff,FR -2001:67c:11cc::,2001:67c:11cc:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:11d0::,2001:67c:11d0:ffff:ffff:ffff:ffff:ffff,RO -2001:67c:11d4::,2001:67c:11d4:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:11d8::,2001:67c:11d8:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:11dc::,2001:67c:11dc:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:11e0::,2001:67c:11e0:ffff:ffff:ffff:ffff:ffff,BG -2001:67c:11e4::,2001:67c:11e4:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:11e8::,2001:67c:11e8:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:11ec::,2001:67c:11ec:ffff:ffff:ffff:ffff:ffff,TR -2001:67c:11f0::,2001:67c:11f0:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:11f4::,2001:67c:11f4:ffff:ffff:ffff:ffff:ffff,AT -2001:67c:11f8::,2001:67c:11f8:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:11fc::,2001:67c:11fc:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:1200::,2001:67c:122f:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:1095::,2001:67c:1147:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:1148::,2001:67c:1148::ffff:ffff:ffff:ffff,ES +2001:67c:1148:1::,2001:67c:11ff:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:1200::,2001:67c:1200:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:1204::,2001:67c:1204:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:1208::,2001:67c:1208:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:120c::,2001:67c:120c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1210::,2001:67c:1213:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1220::,2001:67c:1223:ffff:ffff:ffff:ffff:ffff,CZ 2001:67c:1230::,2001:67c:1233:ffff:ffff:ffff:ffff:ffff,TH -2001:67c:1234::,2001:67c:123f:ffff:ffff:ffff:ffff:ffff,CZ 2001:67c:1240::,2001:67c:1240:ffff:ffff:ffff:ffff:ffff,IE -2001:67c:1241::,2001:67c:12af:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:1244::,2001:67c:1244:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1248::,2001:67c:1248:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:124c::,2001:67c:124c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1254::,2001:67c:1254:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:1258::,2001:67c:1258:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:125c::,2001:67c:125c:ffff:ffff:ffff:ffff:ffff,IE +2001:67c:1260::,2001:67c:1260:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:1264::,2001:67c:1264:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1268::,2001:67c:1268:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:126c::,2001:67c:126c:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:1270::,2001:67c:1270:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1274::,2001:67c:1274:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1278::,2001:67c:1278:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:127c::,2001:67c:127c:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:1280::,2001:67c:1280:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:1284::,2001:67c:1284:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:1288::,2001:67c:1288:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:128c::,2001:67c:128c:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:1290::,2001:67c:1290:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:1294::,2001:67c:1294:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1298::,2001:67c:1298:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:129c::,2001:67c:129c:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:12a0::,2001:67c:12a0:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:12a4::,2001:67c:12a4:ffff:ffff:ffff:ffff:ffff,TR +2001:67c:12a8::,2001:67c:12a8:ffff:ffff:ffff:ffff:ffff,FI +2001:67c:12ac::,2001:67c:12ac:ffff:ffff:ffff:ffff:ffff,LU 2001:67c:12b0::,2001:67c:12b0:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:12b1::,2001:67c:13b7:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:12b4::,2001:67c:12b4:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:12b8::,2001:67c:12b8:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:12bc::,2001:67c:12bc:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:12c0::,2001:67c:12c1:ffff:ffff:ffff:ffff:ffff,NO +2001:67c:12c8::,2001:67c:12c8:ffff:ffff:ffff:ffff:ffff,LV +2001:67c:12cc::,2001:67c:12cc:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:12d0::,2001:67c:12d0:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:12d4::,2001:67c:12d4:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:12d8::,2001:67c:12d8:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:12dc::,2001:67c:12dc:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:12e0::,2001:67c:12e0:ffff:ffff:ffff:ffff:ffff,KG +2001:67c:12e4::,2001:67c:12e4:ffff:ffff:ffff:ffff:ffff,SA +2001:67c:12e8::,2001:67c:12e9:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:12f0::,2001:67c:12f0:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:12f4::,2001:67c:12f4:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:12f8::,2001:67c:12f8:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:12fc::,2001:67c:12fc:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:1300::,2001:67c:1300:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:1304::,2001:67c:1304:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1308::,2001:67c:1308:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:130c::,2001:67c:130c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1310::,2001:67c:1310:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1314::,2001:67c:1314:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:1318::,2001:67c:1318:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:131c::,2001:67c:131c:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1320::,2001:67c:1320:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1324::,2001:67c:1324:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:1328::,2001:67c:1328:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:132c::,2001:67c:132c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1330::,2001:67c:1330:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:1334::,2001:67c:1334:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1338::,2001:67c:1338:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:133c::,2001:67c:133c:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:1340::,2001:67c:1340:ffff:ffff:ffff:ffff:ffff,HR +2001:67c:1344::,2001:67c:1344:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1348::,2001:67c:1348:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:134c::,2001:67c:134c:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:1350::,2001:67c:1350:ffff:ffff:ffff:ffff:ffff,CY +2001:67c:1354::,2001:67c:1354:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1358::,2001:67c:1358:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:135c::,2001:67c:135c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1360::,2001:67c:1360:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:1364::,2001:67c:1364:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:1368::,2001:67c:1368:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:136c::,2001:67c:136c:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:1370::,2001:67c:1370:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:1374::,2001:67c:1374:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:1378::,2001:67c:1378:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:137c::,2001:67c:137c:ffff:ffff:ffff:ffff:ffff,ES +2001:67c:1380::,2001:67c:1380:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:1384::,2001:67c:1384:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1388::,2001:67c:1388:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:138c::,2001:67c:138c:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:1390::,2001:67c:1390:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:1394::,2001:67c:1394:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:1398::,2001:67c:1398:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:139c::,2001:67c:139c:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:13a0::,2001:67c:13a0:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:13a8::,2001:67c:13a8:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:13ac::,2001:67c:13ac:ffff:ffff:ffff:ffff:ffff,FI +2001:67c:13b0::,2001:67c:13b0:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:13b4::,2001:67c:13b4:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:13b8::,2001:67c:13b8:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:13b9::,2001:67c:13ff:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:13bc::,2001:67c:13bc:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:13c0::,2001:67c:13c0:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:13c4::,2001:67c:13c4:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:13c8::,2001:67c:13c8:ffff:ffff:ffff:ffff:ffff,LV +2001:67c:13cc::,2001:67c:13cc:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:13d0::,2001:67c:13d0:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:13d4::,2001:67c:13d4:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:13d8::,2001:67c:13d8:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:13dc::,2001:67c:13dc:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:13e0::,2001:67c:13e0:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:13e4::,2001:67c:13e4:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:13e8::,2001:67c:13e8:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:13ec::,2001:67c:13ec:ffff:ffff:ffff:ffff:ffff,PT +2001:67c:13f0::,2001:67c:13f0:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:13f4::,2001:67c:13f4:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:13f8::,2001:67c:13f8:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:13fc::,2001:67c:13fc:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:1400::,2001:67c:142f:ffff:ffff:ffff:ffff:ffff,HR 2001:67c:1430::,2001:67c:1430:ffff:ffff:ffff:ffff:ffff,CH 2001:67c:1431::,2001:67c:1493:ffff:ffff:ffff:ffff:ffff,HR @@ -1022,47 +1079,15 @@ 2001:67c:16c9::,2001:67c:173f:ffff:ffff:ffff:ffff:ffff,HR 2001:67c:1740::,2001:67c:1740:ffff:ffff:ffff:ffff:ffff,FR 2001:67c:1741::,2001:67c:17ff:ffff:ffff:ffff:ffff:ffff,HR -2001:67c:1800::,2001:67c:1913:ffff:ffff:ffff:ffff:ffff,RO -2001:67c:1914::,2001:67c:1914:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:1915::,2001:67c:19f3:ffff:ffff:ffff:ffff:ffff,RO -2001:67c:19f4::,2001:67c:19f4:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:19f5::,2001:67c:1b07:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1800::,2001:67c:1b07:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:1b08::,2001:67c:1b08:ffff:ffff:ffff:ffff:ffff,IT -2001:67c:1b09::,2001:67c:1bff:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:1b09::,2001:67c:1bff:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:1c00::,2001:67c:1cff:ffff:ffff:ffff:ffff:ffff,NO -2001:67c:2000::,2001:67c:2000:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:2004::,2001:67c:2004:ffff:ffff:ffff:ffff:ffff,SI -2001:67c:2008::,2001:67c:2008:ffff:ffff:ffff:ffff:ffff,FR -2001:67c:200c::,2001:67c:200c:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:2010::,2001:67c:2010:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:2014::,2001:67c:2014:ffff:ffff:ffff:ffff:ffff,SI -2001:67c:2018::,2001:67c:2018:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:201c::,2001:67c:201c:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:2020::,2001:67c:2020:ffff:ffff:ffff:ffff:ffff,NO -2001:67c:2024::,2001:67c:2024:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:2028::,2001:67c:2028:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:202c::,2001:67c:202c:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:2030::,2001:67c:2030:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:2034::,2001:67c:2034:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:2038::,2001:67c:2038:ffff:ffff:ffff:ffff:ffff,CZ -2001:67c:203c::,2001:67c:203c:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:2040::,2001:67c:2040:ffff:ffff:ffff:ffff:ffff,AE -2001:67c:2044::,2001:67c:2044:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:2048::,2001:67c:2048:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:204c::,2001:67c:204c:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:2050::,2001:67c:2050:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:2054::,2001:67c:2054:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2000::,2001:67c:2057:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:2058::,2001:67c:2058:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:205c::,2001:67c:205c:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:2060::,2001:67c:2060:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:2064::,2001:67c:2064:ffff:ffff:ffff:ffff:ffff,FR -2001:67c:2068::,2001:67c:2068:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:206c::,2001:67c:206c:ffff:ffff:ffff:ffff:ffff,NO +2001:67c:2059::,2001:67c:206f:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:2070::,2001:67c:2070:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:2074::,2001:67c:2074:ffff:ffff:ffff:ffff:ffff,AT -2001:67c:2078::,2001:67c:2078:ffff:ffff:ffff:ffff:ffff,AT -2001:67c:207c::,2001:67c:207c:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:2080::,2001:67c:20ff:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2071::,2001:67c:20ff:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:2100::,2001:67c:2100:ffff:ffff:ffff:ffff:ffff,RO 2001:67c:2104::,2001:67c:2104:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:2108::,2001:67c:2108:ffff:ffff:ffff:ffff:ffff,RU @@ -1095,14 +1120,8 @@ 2001:67c:2174::,2001:67c:2174:ffff:ffff:ffff:ffff:ffff,DK 2001:67c:2178::,2001:67c:2178:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:217c::,2001:67c:217c:ffff:ffff:ffff:ffff:ffff,FR -2001:67c:2180::,2001:67c:2180:ffff:ffff:ffff:ffff:ffff,AT -2001:67c:2184::,2001:67c:2184:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:2188::,2001:67c:2188:ffff:ffff:ffff:ffff:ffff,FR -2001:67c:218c::,2001:67c:218c:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:2190::,2001:67c:2190:ffff:ffff:ffff:ffff:ffff,CZ -2001:67c:2194::,2001:67c:2194:ffff:ffff:ffff:ffff:ffff,CZ -2001:67c:2198::,2001:67c:2198:ffff:ffff:ffff:ffff:ffff,LV -2001:67c:219c::,2001:67c:219c:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2180::,2001:67c:218f:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2190::,2001:67c:219f:ffff:ffff:ffff:ffff:ffff,LV 2001:67c:21a0::,2001:67c:21a0:ffff:ffff:ffff:ffff:ffff,IT 2001:67c:21a4::,2001:67c:21a4:ffff:ffff:ffff:ffff:ffff,FI 2001:67c:21a8::,2001:67c:21a8:ffff:ffff:ffff:ffff:ffff,AT @@ -1111,7 +1130,7 @@ 2001:67c:21b4::,2001:67c:21b4:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:21b8::,2001:67c:21b8:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:21bc::,2001:67c:21bc:ffff:ffff:ffff:ffff:ffff,BG -2001:67c:21c0::,2001:67c:21ff:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:21c0::,2001:67c:21ff:ffff:ffff:ffff:ffff:ffff,PL 2001:67c:2200::,2001:67c:2200:ffff:ffff:ffff:ffff:ffff,FR 2001:67c:2204::,2001:67c:2204:ffff:ffff:ffff:ffff:ffff,AT 2001:67c:2208::,2001:67c:2208:ffff:ffff:ffff:ffff:ffff,AT @@ -1176,23 +1195,7 @@ 2001:67c:22fc::,2001:67c:22fc:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:2300::,2001:67c:232b:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:232c::,2001:67c:232c:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:232d::,2001:67c:233f:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:2340::,2001:67c:2340:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:2344::,2001:67c:2344:ffff:ffff:ffff:ffff:ffff,RU -2001:67c:2348::,2001:67c:2348:ffff:ffff:ffff:ffff:ffff,AE -2001:67c:234c::,2001:67c:234c:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:2350::,2001:67c:2350:ffff:ffff:ffff:ffff:ffff,CH -2001:67c:2354::,2001:67c:2354:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:2358::,2001:67c:2358:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:235c::,2001:67c:235c:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:2360::,2001:67c:2360:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:2364::,2001:67c:2364:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:2368::,2001:67c:2368:ffff:ffff:ffff:ffff:ffff,SI -2001:67c:236c::,2001:67c:236c:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:2370::,2001:67c:2370:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:2374::,2001:67c:2374:ffff:ffff:ffff:ffff:ffff,PL -2001:67c:2378::,2001:67c:2378:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:237c::,2001:67c:237c:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:232d::,2001:67c:237f:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:2380::,2001:67c:2380:ffff:ffff:ffff:ffff:ffff,UA 2001:67c:2384::,2001:67c:2384:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:2388::,2001:67c:2388:ffff:ffff:ffff:ffff:ffff,DK @@ -1224,18 +1227,194 @@ 2001:67c:23f4::,2001:67c:23f4:ffff:ffff:ffff:ffff:ffff,PL 2001:67c:23f8::,2001:67c:23f8:ffff:ffff:ffff:ffff:ffff,DK 2001:67c:23fc::,2001:67c:23fc:ffff:ffff:ffff:ffff:ffff,BG -2001:67c:2400::,2001:67c:24d7:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:2400::,2001:67c:2400:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:2404::,2001:67c:2404:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:2408::,2001:67c:2408:ffff:ffff:ffff:ffff:ffff,AE +2001:67c:240c::,2001:67c:240c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2410::,2001:67c:2410:ffff:ffff:ffff:ffff:ffff,TR +2001:67c:2414::,2001:67c:2414:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2418::,2001:67c:2418:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:241c::,2001:67c:241c:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:2420::,2001:67c:2420:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:2424::,2001:67c:2424:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:2428::,2001:67c:2428:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:242c::,2001:67c:242c:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:2430::,2001:67c:2433:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:2440::,2001:67c:2440:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:2444::,2001:67c:2444:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2448::,2001:67c:2448:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:244c::,2001:67c:244c:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2450::,2001:67c:2450:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:2454::,2001:67c:2454:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2458::,2001:67c:2458:ffff:ffff:ffff:ffff:ffff,NO +2001:67c:245c::,2001:67c:245c:ffff:ffff:ffff:ffff:ffff,FI +2001:67c:2460::,2001:67c:2460:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2464::,2001:67c:2464:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:2468::,2001:67c:2468:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:246c::,2001:67c:246c:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:2470::,2001:67c:2470:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:2474::,2001:67c:2474:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:2478::,2001:67c:2478:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:247c::,2001:67c:247c:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:2480::,2001:67c:2480:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2484::,2001:67c:2484:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2488::,2001:67c:2488:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:248c::,2001:67c:248c:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:2490::,2001:67c:2490:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:2494::,2001:67c:2494:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:2498::,2001:67c:2498:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:249c::,2001:67c:249c:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:24a0::,2001:67c:24a0:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:24a4::,2001:67c:24a4:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:24a8::,2001:67c:24a8:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:24b0::,2001:67c:24b0:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:24b4::,2001:67c:24b4:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:24b8::,2001:67c:24b8:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:24bc::,2001:67c:24bc:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:24c0::,2001:67c:24c0:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:24c4::,2001:67c:24c4:ffff:ffff:ffff:ffff:ffff,RO +2001:67c:24c8::,2001:67c:24c8:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:24cc::,2001:67c:24cc:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:24d0::,2001:67c:24d0:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:24d4::,2001:67c:24d4:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:24d8::,2001:67c:24d8:ffff:ffff:ffff:ffff:ffff,NO -2001:67c:24d9::,2001:67c:2543:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:24dc::,2001:67c:24dc:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:24e0::,2001:67c:24e0:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:24e4::,2001:67c:24e4:ffff:ffff:ffff:ffff:ffff,NO +2001:67c:24e8::,2001:67c:24e9:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:24f0::,2001:67c:24f0:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:24f4::,2001:67c:24f4:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:24f8::,2001:67c:24f8:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:24fc::,2001:67c:24fc:ffff:ffff:ffff:ffff:ffff,NO +2001:67c:2500::,2001:67c:2543:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:2544::,2001:67c:2544:ffff:ffff:ffff:ffff:ffff,GB 2001:67c:2545::,2001:67c:2567:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:2568::,2001:67c:2568:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:2569::,2001:67c:25e7:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:25e8::,2001:67c:25e8:ffff:ffff:ffff:ffff:ffff,FR 2001:67c:25e9::,2001:67c:25ff:ffff:ffff:ffff:ffff:ffff,NL -2001:67c:2600::,2001:67c:26f7:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2600::,2001:67c:2600:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:2604::,2001:67c:2604:ffff:ffff:ffff:ffff:ffff,SK +2001:67c:2608::,2001:67c:2608:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:260c::,2001:67c:260c:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:2610::,2001:67c:2610:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:2614::,2001:67c:2614:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:2618::,2001:67c:2618:ffff:ffff:ffff:ffff:ffff,EE +2001:67c:261c::,2001:67c:261c:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:2620::,2001:67c:2620:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:2624::,2001:67c:2624:ffff:ffff:ffff:ffff:ffff,SA +2001:67c:2628::,2001:67c:2628:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:262c::,2001:67c:262c:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:2630::,2001:67c:2630:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:2634::,2001:67c:2634:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:2638::,2001:67c:2638:ffff:ffff:ffff:ffff:ffff,SK +2001:67c:263c::,2001:67c:263c:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:2640::,2001:67c:2640:ffff:ffff:ffff:ffff:ffff,AE +2001:67c:2644::,2001:67c:2644:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:2648::,2001:67c:2648:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:264c::,2001:67c:264c:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:2650::,2001:67c:2650:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2654::,2001:67c:2654:ffff:ffff:ffff:ffff:ffff,AE +2001:67c:2658::,2001:67c:2658:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:265c::,2001:67c:265c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2660::,2001:67c:2660:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:2664::,2001:67c:2664:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:2668::,2001:67c:2668:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:266c::,2001:67c:266c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2670::,2001:67c:2670:ffff:ffff:ffff:ffff:ffff,SK +2001:67c:2674::,2001:67c:2674:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2678::,2001:67c:2678:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:267c::,2001:67c:267c:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:2680::,2001:67c:2680:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2684::,2001:67c:2684:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:2688::,2001:67c:2688:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:268c::,2001:67c:268c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2690::,2001:67c:2690:ffff:ffff:ffff:ffff:ffff,BE +2001:67c:2694::,2001:67c:2694:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:2698::,2001:67c:2698:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:269c::,2001:67c:269c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:26a0::,2001:67c:26a0:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:26a4::,2001:67c:26a4:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:26a8::,2001:67c:26a8:ffff:ffff:ffff:ffff:ffff,BE +2001:67c:26ac::,2001:67c:26ac:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:26b0::,2001:67c:26b0:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:26b4::,2001:67c:26b4:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:26b8::,2001:67c:26b8:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:26bc::,2001:67c:26bc:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:26c0::,2001:67c:26c3:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:26d0::,2001:67c:26d0:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:26d4::,2001:67c:26d4:ffff:ffff:ffff:ffff:ffff,SK +2001:67c:26d8::,2001:67c:26d8:ffff:ffff:ffff:ffff:ffff,FR +2001:67c:26dc::,2001:67c:26dc:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:26e0::,2001:67c:26e0:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:26e4::,2001:67c:26e4:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:26e8::,2001:67c:26e8:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:26ec::,2001:67c:26ec:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:26f0::,2001:67c:26f0:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:26f4::,2001:67c:26f4:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:26f8::,2001:67c:26f8:ffff:ffff:ffff:ffff:ffff,UA -2001:67c:26f9::,2001:67c:27ff:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:26fc::,2001:67c:26fc:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:2700::,2001:67c:2700:ffff:ffff:ffff:ffff:ffff,FI +2001:67c:2704::,2001:67c:2704:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2708::,2001:67c:2708:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:270c::,2001:67c:270c:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:2710::,2001:67c:2710:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:2714::,2001:67c:2714:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2718::,2001:67c:2718:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:271c::,2001:67c:271c:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2720::,2001:67c:2720:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:2724::,2001:67c:2724:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:2728::,2001:67c:2728:ffff:ffff:ffff:ffff:ffff,IR +2001:67c:272c::,2001:67c:272c:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:2730::,2001:67c:2730:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:2734::,2001:67c:2734:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:2738::,2001:67c:2738:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:273c::,2001:67c:273c:ffff:ffff:ffff:ffff:ffff,CH +2001:67c:2740::,2001:67c:2740:ffff:ffff:ffff:ffff:ffff,SK +2001:67c:2744::,2001:67c:2744:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:2748::,2001:67c:2748:ffff:ffff:ffff:ffff:ffff,GR +2001:67c:274c::,2001:67c:274c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2750::,2001:67c:2750:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:2758::,2001:67c:2758:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:275c::,2001:67c:275c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2760::,2001:67c:2760:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2764::,2001:67c:2764:ffff:ffff:ffff:ffff:ffff,NO +2001:67c:2768::,2001:67c:2768:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:276c::,2001:67c:276c:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:2770::,2001:67c:2770:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2774::,2001:67c:2774:ffff:ffff:ffff:ffff:ffff,AE +2001:67c:2780::,2001:67c:2780:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2784::,2001:67c:2784:ffff:ffff:ffff:ffff:ffff,FI +2001:67c:2788::,2001:67c:2788:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:278c::,2001:67c:278c:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:2790::,2001:67c:2790:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:2794::,2001:67c:2794:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:2798::,2001:67c:2798:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:279c::,2001:67c:279c:ffff:ffff:ffff:ffff:ffff,NL +2001:67c:27a0::,2001:67c:27a0:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:27a4::,2001:67c:27a4:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:27a8::,2001:67c:27a8:ffff:ffff:ffff:ffff:ffff,DK +2001:67c:27ac::,2001:67c:27ac:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:27b0::,2001:67c:27b0:ffff:ffff:ffff:ffff:ffff,FI +2001:67c:27b4::,2001:67c:27b4:ffff:ffff:ffff:ffff:ffff,UA +2001:67c:27b8::,2001:67c:27b8:ffff:ffff:ffff:ffff:ffff,SA +2001:67c:27bc::,2001:67c:27bc:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:27c0::,2001:67c:27c0:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:27c4::,2001:67c:27c4:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:27c8::,2001:67c:27c8:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:27cc::,2001:67c:27cc:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:27d0::,2001:67c:27d0:ffff:ffff:ffff:ffff:ffff,DE +2001:67c:27d4::,2001:67c:27d4:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:27d8::,2001:67c:27d8:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:27dc::,2001:67c:27dc:ffff:ffff:ffff:ffff:ffff,GB +2001:67c:27e0::,2001:67c:27e0:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:27e4::,2001:67c:27e4:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:27e8::,2001:67c:27e8:ffff:ffff:ffff:ffff:ffff,SI +2001:67c:27ec::,2001:67c:27ec:ffff:ffff:ffff:ffff:ffff,NO +2001:67c:27f0::,2001:67c:27f0:ffff:ffff:ffff:ffff:ffff,AT +2001:67c:27f4::,2001:67c:27f4:ffff:ffff:ffff:ffff:ffff,PL +2001:67c:27f8::,2001:67c:27f8:ffff:ffff:ffff:ffff:ffff,SE +2001:67c:27fc::,2001:67c:27fc:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:2800::,2001:67c:2800:ffff:ffff:ffff:ffff:ffff,CH 2001:67c:2804::,2001:67c:2804:ffff:ffff:ffff:ffff:ffff,PL 2001:67c:2808::,2001:67c:2808:ffff:ffff:ffff:ffff:ffff,PL @@ -1266,7 +1445,6 @@ 2001:67c:286c::,2001:67c:286c:ffff:ffff:ffff:ffff:ffff,GB 2001:67c:2870::,2001:67c:2870:ffff:ffff:ffff:ffff:ffff,PL 2001:67c:2874::,2001:67c:2874:ffff:ffff:ffff:ffff:ffff,GB -2001:67c:2878::,2001:67c:2878:ffff:ffff:ffff:ffff:ffff,DK 2001:67c:287c::,2001:67c:287c:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:2880::,2001:67c:2880:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:2884::,2001:67c:2884:ffff:ffff:ffff:ffff:ffff,DE @@ -1294,7 +1472,6 @@ 2001:67c:28e0::,2001:67c:28e0:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:28e4::,2001:67c:28e4:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:28e8::,2001:67c:28e8:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:28ec::,2001:67c:28ec:ffff:ffff:ffff:ffff:ffff,AT 2001:67c:28f0::,2001:67c:28f0:ffff:ffff:ffff:ffff:ffff,NL 2001:67c:28f4::,2001:67c:28f4:ffff:ffff:ffff:ffff:ffff,SI 2001:67c:28f8::,2001:67c:28f8:ffff:ffff:ffff:ffff:ffff,LT @@ -1453,7 +1630,6 @@ 2001:67c:2c28::,2001:67c:2c28:ffff:ffff:ffff:ffff:ffff,CH 2001:67c:2c2c::,2001:67c:2c2c:ffff:ffff:ffff:ffff:ffff,HU 2001:67c:2c30::,2001:67c:2c30:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:2c34::,2001:67c:2c34:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:2c38::,2001:67c:2c38:ffff:ffff:ffff:ffff:ffff,CH 2001:67c:2c3c::,2001:67c:2c3c:ffff:ffff:ffff:ffff:ffff,DE 2001:67c:2c40::,2001:67c:2c40:ffff:ffff:ffff:ffff:ffff,CH @@ -1500,10 +1676,9 @@ 2001:67c:2e74::,2001:67c:2e74:ffff:ffff:ffff:ffff:ffff,SE 2001:67c:2e75::,2001:67c:2e7f:ffff:ffff:ffff:ffff:ffff,UA 2001:67c:2e80::,2001:67c:2eff:ffff:ffff:ffff:ffff:ffff,DE -2001:67c:2f00::,2001:67c:2f7b:ffff:ffff:ffff:ffff:ffff,CZ +2001:67c:2f00::,2001:67c:2f7b:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:2f7c::,2001:67c:2f7c:ffff:ffff:ffff:ffff:ffff,SE -2001:67c:2f7d::,2001:67c:2f7f:ffff:ffff:ffff:ffff:ffff,CZ -2001:67c:2f80::,2001:67c:2f87:ffff:ffff:ffff:ffff:ffff,RU +2001:67c:2f7d::,2001:67c:2f87:ffff:ffff:ffff:ffff:ffff,RU 2001:67c:2f88::,2001:67c:2f88:ffff:ffff:ffff:ffff:ffff,ZA 2001:67c:2f89::,2001:67c:2fff:ffff:ffff:ffff:ffff:ffff,RU 2001:680::,2001:680:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -1519,7 +1694,7 @@ 2001:6e0::,2001:6e0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:6e8::,2001:6ef:ffff:ffff:ffff:ffff:ffff:ffff,FI 2001:6f0::,2001:6f7:ffff:ffff:ffff:ffff:ffff:ffff,SE -2001:6f8:1::,2001:6f8:2ff:ffff:ffff:ffff:ffff:ffff,GB +2001:6f8::,2001:6f8:2ff:ffff:ffff:ffff:ffff:ffff,GB 2001:6f8:300::,2001:6f8:3ff:ffff:ffff:ffff:ffff:ffff,BE 2001:6f8:400::,2001:6f8:13ff:ffff:ffff:ffff:ffff:ffff,GB 2001:6f8:1400::,2001:6f8:14ff:ffff:ffff:ffff:ffff:ffff,BE @@ -1534,7 +1709,9 @@ 2001:730:1::,2001:730:ffff:ffff:ffff:ffff:ffff:ffff,SK 2001:731::,2001:737:ffff:ffff:ffff:ffff:ffff:ffff,RO 2001:738::,2001:738:ffff:ffff:ffff:ffff:ffff:ffff,HU +2001:740::,2001:740:c000:ffff:ffff:ffff:ffff:ffff,GB 2001:740:c001::,2001:740:c001:ffff:ffff:ffff:ffff:ffff,DE +2001:740:c002::,2001:740:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:748::,2001:748:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:750::,2001:750:ffff:ffff:ffff:ffff:ffff:ffff,IT 2001:758::,2001:758:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -1556,7 +1733,6 @@ 2001:7d8::,2001:7d8:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:7e0::,2001:7e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:7e8::,2001:7ef:ffff:ffff:ffff:ffff:ffff:ffff,LU -2001:7f0::,2001:7f0:3ff:ffff:ffff:ffff:ffff:ffff,DE 2001:7f0:4000::,2001:7f0:43ff:ffff:ffff:ffff:ffff:ffff,DE 2001:7f0:c000::,2001:7f0:cfff:ffff:ffff:ffff:ffff:ffff,CZ 2001:7f8::,2001:7f8::ffff:ffff:ffff:ffff:ffff,DE @@ -1753,6 +1929,8 @@ 2001:7f8:cb::,2001:7f8:cb:ffff:ffff:ffff:ffff:ffff,MK 2001:7f8:cc::,2001:7f8:cc:ffff:ffff:ffff:ffff:ffff,CH 2001:7f8:cd::,2001:7f8:cd:ffff:ffff:ffff:ffff:ffff,NL +2001:7f8:ce::,2001:7f8:ce:ffff:ffff:ffff:ffff:ffff,GR +2001:7f8:cf::,2001:7f8:cf:ffff:ffff:ffff:ffff:ffff,IT 2001:7f9:4::,2001:7f9:4:ffff:ffff:ffff:ffff:ffff,AL 2001:7f9:8::,2001:7f9:8:ffff:ffff:ffff:ffff:ffff,AM 2001:7f9:c::,2001:7f9:c:ffff:ffff:ffff:ffff:ffff,PL @@ -1797,9 +1975,7 @@ 2001:888::,2001:88f:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:890::,2001:891:ffff:ffff:ffff:ffff:ffff:ffff,AT 2001:898::,2001:89f:ffff:ffff:ffff:ffff:ffff:ffff,NL -2001:8a0::,2001:8a0:e8ff:ffff:ffff:ffff:ffff:ffff,PT -2001:8a0:e900::,2001:8a0:e9ff:ffff:ffff:ffff:ffff:ffff,US -2001:8a0:ea00::,2001:8a7:ffff:ffff:ffff:ffff:ffff:ffff,PT +2001:8a0::,2001:8a7:ffff:ffff:ffff:ffff:ffff:ffff,PT 2001:8a8::,2001:8a8:ffff:ffff:ffff:ffff:ffff:ffff,CH 2001:8b0::,2001:8b0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:8b8::,2001:8bf:ffff:ffff:ffff:ffff:ffff:ffff,FI @@ -1818,11 +1994,13 @@ 2001:913:1000::,2001:913:1fff:ffff:ffff:ffff:ffff:ffff,BE 2001:913:2000::,2001:917:ffff:ffff:ffff:ffff:ffff:ffff,FR 2001:918::,2001:91f:ffff:ffff:ffff:ffff:ffff:ffff,CH -2001:920::,2001:920:17ff:ffff:ffff:ffff:ffff:ffff,GB -2001:920:1800::,2001:920:1bff:ffff:ffff:ffff:ffff:ffff,DE -2001:920:1c00::,2001:920:5845:ffff:ffff:ffff:ffff:ffff,GB +2001:920::,2001:920:18ff:ffff:ffff:ffff:ffff:ffff,GB +2001:920:1900::,2001:920:19ff:ffff:ffff:ffff:ffff:ffff,DE +2001:920:1a00::,2001:920:5845:ffff:ffff:ffff:ffff:ffff,GB 2001:920:5846::,2001:920:5846:ffff:ffff:ffff:ffff:ffff,ES -2001:920:5847::,2001:927:ffff:ffff:ffff:ffff:ffff:ffff,GB +2001:920:5847::,2001:923:ffff:ffff:ffff:ffff:ffff:ffff,GB +2001:924::,2001:924:ffff:ffff:ffff:ffff:ffff:ffff,US +2001:925::,2001:927:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:928::,2001:928:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:930::,2001:930:ffff:ffff:ffff:ffff:ffff:ffff,TR 2001:938::,2001:938:ffff:ffff:ffff:ffff:ffff:ffff,AT @@ -1831,26 +2009,24 @@ 2001:950::,2001:950:ffff:ffff:ffff:ffff:ffff:ffff,HU 2001:958::,2001:958:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:960::,2001:960:ffff:ffff:ffff:ffff:ffff:ffff,NL -2001:968::,2001:968:ffff:ffff:ffff:ffff:ffff:ffff,NL +2001:968::,2001:96f:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:978::,2001:978:2:39::5:1,DE 2001:978:2:39::5:2,2001:978:2:39::5:2,SI 2001:978:2:39::5:3,2001:978:7ff:ffff:ffff:ffff:ffff:ffff,DE 2001:978:800::,2001:978:bff:ffff:ffff:ffff:ffff:ffff,SE -2001:978:c00::,2001:978:1fff:ffff:ffff:ffff:ffff:ffff,DE -2001:978:2000::,2001:978:2300:2ff:ffff:ffff:ffff:ffff,US +2001:978:c00::,2001:978:2300:2ff:ffff:ffff:ffff:ffff,DE 2001:978:2300:300::,2001:978:2300:3ff:ffff:ffff:ffff:ffff,GB -2001:978:2300:400::,2001:978:23ff:ffff:ffff:ffff:ffff:ffff,US -2001:978:2400::,2001:978:29ff:ffff:ffff:ffff:ffff:ffff,DE +2001:978:2300:400::,2001:978:2304:ffff:ffff:ffff:ffff:ffff,DE +2001:978:2305::,2001:978:2305:ffff:ffff:ffff:ffff:ffff,US +2001:978:2306::,2001:978:29ff:ffff:ffff:ffff:ffff:ffff,DE 2001:978:2a00::,2001:978:2a00:ffff:ffff:ffff:ffff:ffff,IE 2001:978:2a01::,2001:978:33ff:ffff:ffff:ffff:ffff:ffff,DE -2001:978:3400::,2001:978:3400:ffff:ffff:ffff:ffff:ffff,US -2001:978:3401::,2001:978:73ff:ffff:ffff:ffff:ffff:ffff,DE +2001:978:3400::,2001:978:37ff:ffff:ffff:ffff:ffff:ffff,US +2001:978:3800::,2001:978:73ff:ffff:ffff:ffff:ffff:ffff,DE 2001:978:7400::,2001:978:7400:ffff:ffff:ffff:ffff:ffff,FI 2001:978:7401::,2001:978:a4ff:ffff:ffff:ffff:ffff:ffff,DE 2001:978:a500::,2001:978:a500:ffff:ffff:ffff:ffff:ffff,BE -2001:978:a501::,2001:978:adff:ffff:ffff:ffff:ffff:ffff,DE -2001:978:ae00::,2001:978:ae00:ffff:ffff:ffff:ffff:ffff,CH -2001:978:ae01::,2001:978:b3ff:ffff:ffff:ffff:ffff:ffff,DE +2001:978:a501::,2001:978:b3ff:ffff:ffff:ffff:ffff:ffff,DE 2001:978:b400::,2001:978:b400:ffff:ffff:ffff:ffff:ffff,BG 2001:978:b401::,2001:978:b5ff:ffff:ffff:ffff:ffff:ffff,DE 2001:978:b600::,2001:978:b600:ffff:ffff:ffff:ffff:ffff,RS @@ -1874,7 +2050,7 @@ 2001:a10::,2001:a17:ffff:ffff:ffff:ffff:ffff:ffff,PL 2001:a18::,2001:a1f:ffff:ffff:ffff:ffff:ffff:ffff,LU 2001:a20::,2001:a20:ffff:ffff:ffff:ffff:ffff:ffff,DE -2001:a30::,2001:a30:ffff:ffff:ffff:ffff:ffff:ffff,IT +2001:a30::,2001:a37:ffff:ffff:ffff:ffff:ffff:ffff,IT 2001:a38::,2001:a3f:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:a40::,2001:a40:ffff:ffff:ffff:ffff:ffff:ffff,PT 2001:a48::,2001:a48:ffff:ffff:ffff:ffff:ffff:ffff,PL @@ -1906,7 +2082,8 @@ 2001:ac8:28::,2001:ac8:28:ffff:ffff:ffff:ffff:ffff,CH 2001:ac8:29::,2001:ac8:2f:ffff:ffff:ffff:ffff:ffff,AT 2001:ac8:30::,2001:ac8:30:ffff:ffff:ffff:ffff:ffff,BG -2001:ac8:31::,2001:ac8:33:ffff:ffff:ffff:ffff:ffff,CZ +2001:ac8:31::,2001:ac8:31:ffff:ffff:ffff:ffff:ffff,GB +2001:ac8:32::,2001:ac8:33:ffff:ffff:ffff:ffff:ffff,CZ 2001:ac8:34::,2001:ac8:34:ffff:ffff:ffff:ffff:ffff,GB 2001:ac8:35::,2001:ac8:35:ffff:ffff:ffff:ffff:ffff,ES 2001:ac8:36::,2001:ac8:36:ffff:ffff:ffff:ffff:ffff,DE @@ -1931,7 +2108,19 @@ 2001:ac8:52::,2001:ac8:52:ffff:ffff:ffff:ffff:ffff,NL 2001:ac8:53::,2001:ac8:55:ffff:ffff:ffff:ffff:ffff,GB 2001:ac8:56::,2001:ac8:56:ffff:ffff:ffff:ffff:ffff,IT -2001:ac8:57::,2001:ac8:ffff:ffff:ffff:ffff:ffff:ffff,GB +2001:ac8:57::,2001:ac8:62:ffff:ffff:ffff:ffff:ffff,GB +2001:ac8:63::,2001:ac8:64:ffff:ffff:ffff:ffff:ffff,ES +2001:ac8:65::,2001:ac8:66:ffff:ffff:ffff:ffff:ffff,DE +2001:ac8:67::,2001:ac8:68:ffff:ffff:ffff:ffff:ffff,BE +2001:ac8:69::,2001:ac8:69:ffff:ffff:ffff:ffff:ffff,HU +2001:ac8:6a::,2001:ac8:6f:ffff:ffff:ffff:ffff:ffff,GB +2001:ac8:70::,2001:ac8:70:ffff:ffff:ffff:ffff:ffff,HU +2001:ac8:71::,2001:ac8:72:ffff:ffff:ffff:ffff:ffff,DK +2001:ac8:73::,2001:ac8:74:ffff:ffff:ffff:ffff:ffff,DE +2001:ac8:75::,2001:ac8:78:ffff:ffff:ffff:ffff:ffff,IT +2001:ac8:79::,2001:ac8:79:ffff:ffff:ffff:ffff:ffff,GB +2001:ac8:7a::,2001:ac8:7b:ffff:ffff:ffff:ffff:ffff,FR +2001:ac8:7c::,2001:ac8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:ad0::,2001:ad0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2001:ad8::,2001:ae1:ffff:ffff:ffff:ffff:ffff:ffff,DE 2001:ae8::,2001:ae8:ffff:ffff:ffff:ffff:ffff:ffff,CZ @@ -2085,10 +2274,10 @@ 2001:dee:8000::,2001:dee:8001:ffff:ffff:ffff:ffff:ffff,NZ 2001:def::,2001:def::ffff:ffff:ffff:ffff:ffff,HK 2001:def:8000::,2001:def:8001:ffff:ffff:ffff:ffff:ffff,NP -2001:df0::,2001:df0:48:ffff:ffff:ffff:ffff:ffff,NZ +2001:df0::,2001:df0:3f:ffff:ffff:ffff:ffff:ffff,NZ +2001:df0:40::,2001:df0:48:ffff:ffff:ffff:ffff:ffff,ID 2001:df0:49::,2001:df0:49:ffff:ffff:ffff:ffff:ffff,AU -2001:df0:4a::,2001:df0:7f:ffff:ffff:ffff:ffff:ffff,NZ -2001:df0:80::,2001:df0:bf:ffff:ffff:ffff:ffff:ffff,ID +2001:df0:4a::,2001:df0:bf:ffff:ffff:ffff:ffff:ffff,ID 2001:df0:c0::,2001:df0:d9:1ff:ffff:ffff:ffff:ffff,JP 2001:df0:d9:200::,2001:df0:d9:2ff:ffff:ffff:ffff:ffff,HK 2001:df0:d9:300::,2001:df0:db:ffff:ffff:ffff:ffff:ffff,JP @@ -2097,19 +2286,11 @@ 2001:df0:100::,2001:df0:1ff:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:200::,2001:df0:21f:ffff:ffff:ffff:ffff:ffff,IN 2001:df0:220::,2001:df0:23f:ffff:ffff:ffff:ffff:ffff,JP -2001:df0:241::,2001:df0:241:ffff:ffff:ffff:ffff:ffff,AU -2001:df0:242::,2001:df0:242:ffff:ffff:ffff:ffff:ffff,ID -2001:df0:243::,2001:df0:243:ffff:ffff:ffff:ffff:ffff,IN -2001:df0:245::,2001:df0:246:ffff:ffff:ffff:ffff:ffff,AU -2001:df0:247::,2001:df0:247:ffff:ffff:ffff:ffff:ffff,NZ -2001:df0:248::,2001:df0:248:ffff:ffff:ffff:ffff:ffff,TH -2001:df0:249::,2001:df0:24a:ffff:ffff:ffff:ffff:ffff,AU -2001:df0:24b::,2001:df0:24b:ffff:ffff:ffff:ffff:ffff,NZ -2001:df0:24c::,2001:df0:24c:ffff:ffff:ffff:ffff:ffff,MY -2001:df0:24e::,2001:df0:24e:ffff:ffff:ffff:ffff:ffff,AU -2001:df0:24f::,2001:df0:24f:ffff:ffff:ffff:ffff:ffff,SG -2001:df0:250::,2001:df0:27f:ffff:ffff:ffff:ffff:ffff,JP -2001:df0:280::,2001:df0:2bf:ffff:ffff:ffff:ffff:ffff,MY +2001:df0:240::,2001:df0:24f:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:250::,2001:df0:29f:ffff:ffff:ffff:ffff:ffff,JP +2001:df0:2a0::,2001:df0:2b0:ffff:ffff:ffff:ffff:ffff,MY +2001:df0:2b1::,2001:df0:2b1:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:2b2::,2001:df0:2bf:ffff:ffff:ffff:ffff:ffff,MY 2001:df0:2c0::,2001:df0:2e1:3114:ffff:ffff:ffff:ffff,JP 2001:df0:2e1:3115::,2001:df0:2e1:3115:ffff:ffff:ffff:ffff,ID 2001:df0:2e1:3116::,2001:df0:2ff:ffff:ffff:ffff:ffff:ffff,JP @@ -2357,7 +2538,7 @@ 2001:df0:c600::,2001:df0:c600:ffff:ffff:ffff:ffff:ffff,IN 2001:df0:c800::,2001:df0:c800:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:c900::,2001:df0:c900:ffff:ffff:ffff:ffff:ffff,PK -2001:df0:ca00::,2001:df0:ca00:ffff:ffff:ffff:ffff:ffff,AU +2001:df0:ca00::,2001:df0:ca01:ffff:ffff:ffff:ffff:ffff,AU 2001:df0:cb00::,2001:df0:cb00:ffff:ffff:ffff:ffff:ffff,NZ 2001:df0:cc00::,2001:df0:cc00:ffff:ffff:ffff:ffff:ffff,ID 2001:df0:cd00::,2001:df0:cd00:ffff:ffff:ffff:ffff:ffff,AU @@ -2413,7 +2594,9 @@ 2001:df1:500::,2001:df1:500:ffff:ffff:ffff:ffff:ffff,ID 2001:df1:600::,2001:df1:600:ffff:ffff:ffff:ffff:ffff,HK 2001:df1:700::,2001:df1:700:ffff:ffff:ffff:ffff:ffff,BD -2001:df1:800::,2001:df1:9ff:ffff:ffff:ffff:ffff:ffff,HK +2001:df1:800::,2001:df1:800:ffff:ffff:ffff:ffff:ffff,SG +2001:df1:801::,2001:df1:801:ffff:ffff:ffff:ffff:ffff,HK +2001:df1:900::,2001:df1:900:ffff:ffff:ffff:ffff:ffff,PH 2001:df1:a00::,2001:df1:a00:ffff:ffff:ffff:ffff:ffff,NZ 2001:df1:b00::,2001:df1:b00:ffff:ffff:ffff:ffff:ffff,PG 2001:df1:d00::,2001:df1:d00:ffff:ffff:ffff:ffff:ffff,IN @@ -2557,7 +2740,6 @@ 2001:df1:9d00::,2001:df1:9d00:ffff:ffff:ffff:ffff:ffff,AU 2001:df1:9e00::,2001:df1:9e00:ffff:ffff:ffff:ffff:ffff,ID 2001:df1:9f00::,2001:df1:9f00:ffff:ffff:ffff:ffff:ffff,ID -2001:df1:a000::,2001:df1:a000:ffff:ffff:ffff:ffff:ffff,IN 2001:df1:a100::,2001:df1:a100:ffff:ffff:ffff:ffff:ffff,CN 2001:df1:a200::,2001:df1:a200:ffff:ffff:ffff:ffff:ffff,ID 2001:df1:a300::,2001:df1:a300:ffff:ffff:ffff:ffff:ffff,SG @@ -2568,7 +2750,6 @@ 2001:df1:a900::,2001:df1:a900:ffff:ffff:ffff:ffff:ffff,ID 2001:df1:aa00::,2001:df1:aa00:ffff:ffff:ffff:ffff:ffff,ID 2001:df1:ab00::,2001:df1:ab00:ffff:ffff:ffff:ffff:ffff,HK -2001:df1:ad00::,2001:df1:ad00:ffff:ffff:ffff:ffff:ffff,IN 2001:df1:af00::,2001:df1:af00:ffff:ffff:ffff:ffff:ffff,AU 2001:df1:b000::,2001:df1:b000:ffff:ffff:ffff:ffff:ffff,TH 2001:df1:b100::,2001:df1:b100:ffff:ffff:ffff:ffff:ffff,ID @@ -2853,9 +3034,7 @@ 2001:df2:d900::,2001:df2:d900:ffff:ffff:ffff:ffff:ffff,VN 2001:df2:da00::,2001:df2:da00:ffff:ffff:ffff:ffff:ffff,JP 2001:df2:db00::,2001:df2:db00:ffff:ffff:ffff:ffff:ffff,AU -2001:df2:dc00::,2001:df2:dc00:ffff:ffff:ffff:ffff:ffff,TH -2001:df2:dd00::,2001:df2:dd00:ffff:ffff:ffff:ffff:ffff,ID -2001:df2:de00::,2001:df2:de00:ffff:ffff:ffff:ffff:ffff,AU +2001:df2:dc00::,2001:df2:dfff:ffff:ffff:ffff:ffff:ffff,TH 2001:df2:e100::,2001:df2:e100:ffff:ffff:ffff:ffff:ffff,ID 2001:df2:e200::,2001:df2:e200:ffff:ffff:ffff:ffff:ffff,IN 2001:df2:e300::,2001:df2:e300:ffff:ffff:ffff:ffff:ffff,ID @@ -3083,7 +3262,6 @@ 2001:df3:d300::,2001:df3:d300:ffff:ffff:ffff:ffff:ffff,IN 2001:df3:d400::,2001:df3:d400:ffff:ffff:ffff:ffff:ffff,AU 2001:df3:d500::,2001:df3:d500:ffff:ffff:ffff:ffff:ffff,AU -2001:df3:d600::,2001:df3:d600:ffff:ffff:ffff:ffff:ffff,AF 2001:df3:d700::,2001:df3:d700:ffff:ffff:ffff:ffff:ffff,ID 2001:df3:d900::,2001:df3:d900:ffff:ffff:ffff:ffff:ffff,ID 2001:df3:da00::,2001:df3:da00:ffff:ffff:ffff:ffff:ffff,US @@ -3116,7 +3294,6 @@ 2001:df3:f700::,2001:df3:f700:ffff:ffff:ffff:ffff:ffff,IN 2001:df3:f800::,2001:df3:f800:ffff:ffff:ffff:ffff:ffff,IN 2001:df3:f900::,2001:df3:f900:ffff:ffff:ffff:ffff:ffff,TH -2001:df3:fa00::,2001:df3:fa00:ffff:ffff:ffff:ffff:ffff,AU 2001:df3:fb00::,2001:df3:fb00:ffff:ffff:ffff:ffff:ffff,IN 2001:df3:fc00::,2001:df3:fc00:ffff:ffff:ffff:ffff:ffff,HK 2001:df3:fd00::,2001:df3:fd00:ffff:ffff:ffff:ffff:ffff,AU @@ -3218,7 +3395,7 @@ 2001:df4:6000::,2001:df4:6000:ffff:ffff:ffff:ffff:ffff,MY 2001:df4:6100::,2001:df4:6100:ffff:ffff:ffff:ffff:ffff,BD 2001:df4:6200::,2001:df4:6200:ffff:ffff:ffff:ffff:ffff,PK -2001:df4:6300::,2001:df4:6300:ffff:ffff:ffff:ffff:ffff,PH +2001:df4:6300::,2001:df4:6301:ffff:ffff:ffff:ffff:ffff,PH 2001:df4:6400::,2001:df4:6400:ffff:ffff:ffff:ffff:ffff,LA 2001:df4:6500::,2001:df4:6500:ffff:ffff:ffff:ffff:ffff,AU 2001:df4:6600::,2001:df4:6600:ffff:ffff:ffff:ffff:ffff,SG @@ -3272,14 +3449,10 @@ 2001:df4:9900::,2001:df4:9900:ffff:ffff:ffff:ffff:ffff,ID 2001:df4:9a00::,2001:df4:9a00:ffff:ffff:ffff:ffff:ffff,AU 2001:df4:9b00::,2001:df4:9b00:ffff:ffff:ffff:ffff:ffff,IN -2001:df4:9c00::,2001:df4:9c00:ffff:ffff:ffff:ffff:ffff,AU 2001:df4:9d00::,2001:df4:9d00:ffff:ffff:ffff:ffff:ffff,TW 2001:df4:9e00::,2001:df4:9e00:ffff:ffff:ffff:ffff:ffff,AU 2001:df4:9f00::,2001:df4:9f00:ffff:ffff:ffff:ffff:ffff,IN -2001:df4:a000::,2001:df4:a000:ffff:ffff:ffff:ffff:ffff,NZ -2001:df4:a100::,2001:df4:a100:ffff:ffff:ffff:ffff:ffff,ID -2001:df4:a200::,2001:df4:a200:ffff:ffff:ffff:ffff:ffff,AU -2001:df4:a300::,2001:df4:a300:ffff:ffff:ffff:ffff:ffff,IN +2001:df4:a000::,2001:df4:a3ff:ffff:ffff:ffff:ffff:ffff,IN 2001:df4:a400::,2001:df4:a400:ffff:ffff:ffff:ffff:ffff,AU 2001:df4:a500::,2001:df4:a500:ffff:ffff:ffff:ffff:ffff,AU 2001:df4:a600::,2001:df4:a600:ffff:ffff:ffff:ffff:ffff,AU @@ -3500,7 +3673,6 @@ 2001:df5:8500::,2001:df5:8500:ffff:ffff:ffff:ffff:ffff,ID 2001:df5:8600::,2001:df5:8600:ffff:ffff:ffff:ffff:ffff,AU 2001:df5:8700::,2001:df5:8700:ffff:ffff:ffff:ffff:ffff,ID -2001:df5:8800::,2001:df5:8800:ffff:ffff:ffff:ffff:ffff,IN 2001:df5:8900::,2001:df5:8900:ffff:ffff:ffff:ffff:ffff,ID 2001:df5:8a00::,2001:df5:8a00:ffff:ffff:ffff:ffff:ffff,VN 2001:df5:8b00::,2001:df5:8b00:ffff:ffff:ffff:ffff:ffff,HK @@ -3548,7 +3720,6 @@ 2001:df5:b900::,2001:df5:b900:ffff:ffff:ffff:ffff:ffff,VN 2001:df5:ba00::,2001:df5:ba00:ffff:ffff:ffff:ffff:ffff,IN 2001:df5:bb00::,2001:df5:bb00:ffff:ffff:ffff:ffff:ffff,VN -2001:df5:bc00::,2001:df5:bc00:ffff:ffff:ffff:ffff:ffff,AU 2001:df5:bd00::,2001:df5:bd00:ffff:ffff:ffff:ffff:ffff,BD 2001:df5:be00::,2001:df5:be00:ffff:ffff:ffff:ffff:ffff,VN 2001:df5:bf00::,2001:df5:bf00:ffff:ffff:ffff:ffff:ffff,ID @@ -3819,51 +3990,101 @@ 2001:df6:dc00::,2001:df6:dc00:ffff:ffff:ffff:ffff:ffff,ID 2001:df6:dd00::,2001:df6:dd00:ffff:ffff:ffff:ffff:ffff,VN 2001:df6:de00::,2001:df6:de00:ffff:ffff:ffff:ffff:ffff,BD +2001:df6:df00::,2001:df6:df00:ffff:ffff:ffff:ffff:ffff,CN +2001:df6:e100::,2001:df6:e100:ffff:ffff:ffff:ffff:ffff,MY 2001:df6:e200::,2001:df6:e200:ffff:ffff:ffff:ffff:ffff,NZ +2001:df6:e300::,2001:df6:e300:ffff:ffff:ffff:ffff:ffff,IN 2001:df6:e400::,2001:df6:e400:ffff:ffff:ffff:ffff:ffff,IN +2001:df6:e500::,2001:df6:e501:ffff:ffff:ffff:ffff:ffff,AU 2001:df6:e600::,2001:df6:e600:ffff:ffff:ffff:ffff:ffff,ES +2001:df6:e700::,2001:df6:e700:ffff:ffff:ffff:ffff:ffff,ID 2001:df6:e800::,2001:df6:e800:ffff:ffff:ffff:ffff:ffff,IN -2001:df6:ea00::,2001:df6:ea00:ffff:ffff:ffff:ffff:ffff,AU +2001:df6:e900::,2001:df6:e900:ffff:ffff:ffff:ffff:ffff,ID +2001:df6:eb00::,2001:df6:eb00:ffff:ffff:ffff:ffff:ffff,HK 2001:df6:ec00::,2001:df6:ec00:ffff:ffff:ffff:ffff:ffff,ID +2001:df6:ed00::,2001:df6:ed00:ffff:ffff:ffff:ffff:ffff,SG 2001:df6:ee00::,2001:df6:ee00:ffff:ffff:ffff:ffff:ffff,AU +2001:df6:ef00::,2001:df6:ef00:ffff:ffff:ffff:ffff:ffff,ID 2001:df6:f000::,2001:df6:f000:ffff:ffff:ffff:ffff:ffff,HK +2001:df6:f100::,2001:df6:f100:ffff:ffff:ffff:ffff:ffff,ID 2001:df6:f200::,2001:df6:f200:ffff:ffff:ffff:ffff:ffff,AU +2001:df6:f300::,2001:df6:f300:ffff:ffff:ffff:ffff:ffff,AU 2001:df6:f400::,2001:df6:f400:ffff:ffff:ffff:ffff:ffff,CN +2001:df6:f500::,2001:df6:f500:ffff:ffff:ffff:ffff:ffff,AU 2001:df6:f600::,2001:df6:f600:ffff:ffff:ffff:ffff:ffff,ID +2001:df6:f700::,2001:df6:f700:ffff:ffff:ffff:ffff:ffff,NP 2001:df6:f800::,2001:df6:f800:ffff:ffff:ffff:ffff:ffff,AU +2001:df6:f900::,2001:df6:f900:ffff:ffff:ffff:ffff:ffff,NZ 2001:df6:fa00::,2001:df6:fa00:ffff:ffff:ffff:ffff:ffff,IN +2001:df6:fb00::,2001:df6:fb00:ffff:ffff:ffff:ffff:ffff,AU 2001:df6:fc00::,2001:df6:fc00:ffff:ffff:ffff:ffff:ffff,AU +2001:df6:fd00::,2001:df6:fd00:ffff:ffff:ffff:ffff:ffff,ID 2001:df6:fe00::,2001:df6:fe00:ffff:ffff:ffff:ffff:ffff,AU +2001:df6:ff00::,2001:df6:ff00:ffff:ffff:ffff:ffff:ffff,AU 2001:df7::,2001:df7::ffff:ffff:ffff:ffff:ffff,IN +2001:df7:100::,2001:df7:100:ffff:ffff:ffff:ffff:ffff,GB 2001:df7:200::,2001:df7:203:ffff:ffff:ffff:ffff:ffff,IN +2001:df7:300::,2001:df7:300:ffff:ffff:ffff:ffff:ffff,ID 2001:df7:400::,2001:df7:400:ffff:ffff:ffff:ffff:ffff,HK +2001:df7:500::,2001:df7:500:ffff:ffff:ffff:ffff:ffff,WS 2001:df7:600::,2001:df7:600:ffff:ffff:ffff:ffff:ffff,IN +2001:df7:700::,2001:df7:700:ffff:ffff:ffff:ffff:ffff,ID 2001:df7:800::,2001:df7:800:ffff:ffff:ffff:ffff:ffff,IN +2001:df7:900::,2001:df7:900:ffff:ffff:ffff:ffff:ffff,NZ 2001:df7:a00::,2001:df7:a00:ffff:ffff:ffff:ffff:ffff,ID +2001:df7:b00::,2001:df7:b00:ffff:ffff:ffff:ffff:ffff,ID 2001:df7:c00::,2001:df7:c00:ffff:ffff:ffff:ffff:ffff,TW +2001:df7:d00::,2001:df7:d00:ffff:ffff:ffff:ffff:ffff,AU 2001:df7:e00::,2001:df7:e00:ffff:ffff:ffff:ffff:ffff,NZ +2001:df7:f00::,2001:df7:f00:ffff:ffff:ffff:ffff:ffff,AU 2001:df7:1000::,2001:df7:1000:ffff:ffff:ffff:ffff:ffff,IN +2001:df7:1100::,2001:df7:1100:ffff:ffff:ffff:ffff:ffff,ID 2001:df7:1200::,2001:df7:1200:ffff:ffff:ffff:ffff:ffff,AU +2001:df7:1300::,2001:df7:1300:ffff:ffff:ffff:ffff:ffff,PH 2001:df7:1400::,2001:df7:1400:ffff:ffff:ffff:ffff:ffff,AU +2001:df7:1500::,2001:df7:1500:ffff:ffff:ffff:ffff:ffff,VN +2001:df7:1700::,2001:df7:1700:ffff:ffff:ffff:ffff:ffff,VN +2001:df7:1900::,2001:df7:1900:ffff:ffff:ffff:ffff:ffff,IN 2001:df7:1a00::,2001:df7:1a00:ffff:ffff:ffff:ffff:ffff,ID +2001:df7:1b00::,2001:df7:1b00:ffff:ffff:ffff:ffff:ffff,IN 2001:df7:1c00::,2001:df7:1c00:ffff:ffff:ffff:ffff:ffff,ID +2001:df7:1d00::,2001:df7:1d00:ffff:ffff:ffff:ffff:ffff,NZ +2001:df7:1f00::,2001:df7:1f00:ffff:ffff:ffff:ffff:ffff,ID 2001:df7:2000::,2001:df7:2000:ffff:ffff:ffff:ffff:ffff,AU +2001:df7:2100::,2001:df7:2100:ffff:ffff:ffff:ffff:ffff,ID 2001:df7:2200::,2001:df7:2200:ffff:ffff:ffff:ffff:ffff,TH +2001:df7:2300::,2001:df7:2301:ffff:ffff:ffff:ffff:ffff,BD 2001:df7:2400::,2001:df7:2400:ffff:ffff:ffff:ffff:ffff,AU +2001:df7:2500::,2001:df7:2500:ffff:ffff:ffff:ffff:ffff,PK 2001:df7:2600::,2001:df7:2600:ffff:ffff:ffff:ffff:ffff,HK +2001:df7:2700::,2001:df7:2700:ffff:ffff:ffff:ffff:ffff,TH 2001:df7:2800::,2001:df7:2800:ffff:ffff:ffff:ffff:ffff,AU +2001:df7:2900::,2001:df7:2900:ffff:ffff:ffff:ffff:ffff,ID 2001:df7:2a00::,2001:df7:2a00:ffff:ffff:ffff:ffff:ffff,AU +2001:df7:2b00::,2001:df7:2b00:ffff:ffff:ffff:ffff:ffff,IN 2001:df7:2c00::,2001:df7:2c00:ffff:ffff:ffff:ffff:ffff,IN +2001:df7:2d00::,2001:df7:2d00:ffff:ffff:ffff:ffff:ffff,ID 2001:df7:2e00::,2001:df7:2e00:ffff:ffff:ffff:ffff:ffff,IN +2001:df7:2f00::,2001:df7:2f00:ffff:ffff:ffff:ffff:ffff,ID 2001:df7:3000::,2001:df7:3001:ffff:ffff:ffff:ffff:ffff,NZ +2001:df7:3100::,2001:df7:3100:ffff:ffff:ffff:ffff:ffff,ID 2001:df7:3200::,2001:df7:3200:ffff:ffff:ffff:ffff:ffff,AU +2001:df7:3300::,2001:df7:3300:ffff:ffff:ffff:ffff:ffff,AU 2001:df7:3400::,2001:df7:3400:ffff:ffff:ffff:ffff:ffff,ID +2001:df7:3500::,2001:df7:3500:ffff:ffff:ffff:ffff:ffff,ID 2001:df7:3600::,2001:df7:3600:ffff:ffff:ffff:ffff:ffff,ID +2001:df7:3700::,2001:df7:3700:ffff:ffff:ffff:ffff:ffff,HK 2001:df7:3800::,2001:df7:3800:ffff:ffff:ffff:ffff:ffff,AU +2001:df7:3900::,2001:df7:3900:ffff:ffff:ffff:ffff:ffff,AU +2001:df7:3b00::,2001:df7:3b00:ffff:ffff:ffff:ffff:ffff,ID 2001:df7:3c00::,2001:df7:3c00:ffff:ffff:ffff:ffff:ffff,ID +2001:df7:3d00::,2001:df7:3d00:ffff:ffff:ffff:ffff:ffff,HK 2001:df7:3e00::,2001:df7:3e00:ffff:ffff:ffff:ffff:ffff,AU +2001:df7:3f00::,2001:df7:3f00:ffff:ffff:ffff:ffff:ffff,ID 2001:df7:4000::,2001:df7:4000:ffff:ffff:ffff:ffff:ffff,SG +2001:df7:4100::,2001:df7:4100:ffff:ffff:ffff:ffff:ffff,IN 2001:df7:4200::,2001:df7:4200:ffff:ffff:ffff:ffff:ffff,AU +2001:df7:4300::,2001:df7:4300:ffff:ffff:ffff:ffff:ffff,BD 2001:df7:4400::,2001:df7:4400:ffff:ffff:ffff:ffff:ffff,IN 2001:df7:4600::,2001:df7:4600:ffff:ffff:ffff:ffff:ffff,IN 2001:df7:4800::,2001:df7:481f:ffff:ffff:ffff:ffff:ffff,JP @@ -3904,8 +4125,7 @@ 2001:df7:9e00::,2001:df7:9e00:ffff:ffff:ffff:ffff:ffff,SG 2001:df7:a000::,2001:df7:a000:ffff:ffff:ffff:ffff:ffff,AU 2001:df7:a200::,2001:df7:a200:ffff:ffff:ffff:ffff:ffff,ID -2001:df7:a400::,2001:df7:a401:ffff:ffff:ffff:ffff:ffff,SG -2001:df7:a600::,2001:df7:a600:ffff:ffff:ffff:ffff:ffff,ID +2001:df7:a400::,2001:df7:a7ff:ffff:ffff:ffff:ffff:ffff,TH 2001:df7:a800::,2001:df7:a800:ffff:ffff:ffff:ffff:ffff,JP 2001:df7:aa00::,2001:df7:aa00:ffff:ffff:ffff:ffff:ffff,ID 2001:df7:ac00::,2001:df7:ac00:ffff:ffff:ffff:ffff:ffff,AU @@ -3933,7 +4153,6 @@ 2001:df7:da00::,2001:df7:da00:ffff:ffff:ffff:ffff:ffff,ID 2001:df7:dc00::,2001:df7:dc00:ffff:ffff:ffff:ffff:ffff,TH 2001:df7:de00::,2001:df7:de03:ffff:ffff:ffff:ffff:ffff,IN -2001:df7:e000::,2001:df7:e000:ffff:ffff:ffff:ffff:ffff,IN 2001:df7:e200::,2001:df7:e200:ffff:ffff:ffff:ffff:ffff,IN 2001:df7:e400::,2001:df7:e400:ffff:ffff:ffff:ffff:ffff,IN 2001:df7:e600::,2001:df7:e600:ffff:ffff:ffff:ffff:ffff,ID @@ -4361,15 +4580,8 @@ 2001:2005::,2001:2005:ffff:ffff:ffff:ffff:ffff:ffff,SE 2001:2010::,2001:2012:ffff:ffff:ffff:ffff:ffff:ffff,DK 2001:2020::,2001:2021:ffff:ffff:ffff:ffff:ffff:ffff,LT -2001:2030::,2001:2030::1c:6129:fc61:4a70:fc90,SE -2001:2030::1c:6129:fc61:4a70:fc91,2001:2030::1c:6129:fc61:4a70:fc91,US -2001:2030::1c:6129:fc61:4a70:fc92,2001:2030::1d:b985:4aff:c872:8159,SE -2001:2030::1d:b985:4aff:c872:815a,2001:2030::1d:b985:4aff:c872:815a,US -2001:2030::1d:b985:4aff:c872:815b,2001:2030::3e:344c:f8ec:e9b9:2c26,SE -2001:2030::3e:344c:f8ec:e9b9:2c27,2001:2030::3e:344c:f8ec:e9b9:2c27,US -2001:2030::3e:344c:f8ec:e9b9:2c28,2001:2030::3f:4144:aaf7:902:29f9,SE -2001:2030::3f:4144:aaf7:902:29fa,2001:2030::3f:4144:aaf7:902:29fa,US -2001:2030::3f:4144:aaf7:902:29fb,2001:2030:ffff:ffff:ffff:ffff:ffff:ffff,SE +2001:2030::,2001:2030::ffff:ffff:ffff:ffff:ffff,US +2001:2030:1::,2001:2030:ffff:ffff:ffff:ffff:ffff:ffff,SE 2001:2031:0:5::,2001:2031::1b:ffff:ffff:ffff:ffff,CA 2001:2031:0:1d::,2001:2031::1d:ffff:ffff:ffff:ffff,CA 2001:2040::,2001:2040:ffff:ffff:ffff:ffff:ffff:ffff,SE @@ -4638,6 +4850,12 @@ 2001:43f8:11a0::,2001:43f8:11a1:ffff:ffff:ffff:ffff:ffff,SO 2001:43f8:11b0::,2001:43f8:11b0:ffff:ffff:ffff:ffff:ffff,ZA 2001:43f8:11c0::,2001:43f8:11c0:ffff:ffff:ffff:ffff:ffff,KE +2001:43f8:11d0::,2001:43f8:11d0:ffff:ffff:ffff:ffff:ffff,SD +2001:43f8:11e0::,2001:43f8:11e0:ffff:ffff:ffff:ffff:ffff,RW +2001:43f8:11f0::,2001:43f8:11f1:ffff:ffff:ffff:ffff:ffff,NG +2001:43f8:1200::,2001:43f8:120f:ffff:ffff:ffff:ffff:ffff,NG +2001:43f8:1300::,2001:43f8:1300:ffff:ffff:ffff:ffff:ffff,ZA +2001:43f8:1310::,2001:43f8:1310:ffff:ffff:ffff:ffff:ffff,NG 2001:4400::,2001:4403:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2001:4408::,2001:4408:ffff:ffff:ffff:ffff:ffff:ffff,IN 2001:4410::,2001:4410:ffff:ffff:ffff:ffff:ffff:ffff,NZ @@ -4823,14 +5041,13 @@ 2001:4878:8249::,2001:4878:8249:ffff:ffff:ffff:ffff:ffff,FR 2001:4878:824a::,2001:4878:824f:ffff:ffff:ffff:ffff:ffff,US 2001:4878:8250::,2001:4878:8250:ffff:ffff:ffff:ffff:ffff,IT -2001:4878:8251::,2001:4878:8304:ffff:ffff:ffff:ffff:ffff,US -2001:4878:8305::,2001:4878:8305:ffff:ffff:ffff:ffff:ffff,IN -2001:4878:8306::,2001:4878:8320:ffff:ffff:ffff:ffff:ffff,US -2001:4878:8321::,2001:4878:8321:ffff:ffff:ffff:ffff:ffff,SG +2001:4878:8251::,2001:4878:82ff:ffff:ffff:ffff:ffff:ffff,US +2001:4878:8300::,2001:4878:831f:ffff:ffff:ffff:ffff:ffff,IN +2001:4878:8320::,2001:4878:8321:ffff:ffff:ffff:ffff:ffff,SG 2001:4878:8322::,2001:4878:8322:ffff:ffff:ffff:ffff:ffff,JP 2001:4878:8323::,2001:4878:8323:ffff:ffff:ffff:ffff:ffff,AU 2001:4878:8324::,2001:4878:8324:ffff:ffff:ffff:ffff:ffff,KR -2001:4878:8325::,2001:4878:833f:ffff:ffff:ffff:ffff:ffff,US +2001:4878:8325::,2001:4878:833f:ffff:ffff:ffff:ffff:ffff,SG 2001:4878:8340::,2001:4878:8340:ffff:ffff:ffff:ffff:ffff,HK 2001:4878:8341::,2001:4878:8343:ffff:ffff:ffff:ffff:ffff,US 2001:4878:8344::,2001:4878:8344:ffff:ffff:ffff:ffff:ffff,IN @@ -4839,41 +5056,35 @@ 2001:4878:8349::,2001:4878:a128:ffff:ffff:ffff:ffff:ffff,US 2001:4878:a129::,2001:4878:a129:ffff:ffff:ffff:ffff:ffff,CR 2001:4878:a12a::,2001:4878:a1ff:ffff:ffff:ffff:ffff:ffff,US -2001:4878:a200::,2001:4878:a203:ffff:ffff:ffff:ffff:ffff,JP +2001:4878:a200::,2001:4878:a203:ffff:ffff:ffff:ffff:ffff,IN 2001:4878:a204::,2001:4878:a204:ffff:ffff:ffff:ffff:ffff,DE -2001:4878:a205::,2001:4878:a214:ffff:ffff:ffff:ffff:ffff,JP +2001:4878:a205::,2001:4878:a214:ffff:ffff:ffff:ffff:ffff,IN 2001:4878:a215::,2001:4878:a215:ffff:ffff:ffff:ffff:ffff,GB -2001:4878:a216::,2001:4878:a21f:ffff:ffff:ffff:ffff:ffff,JP +2001:4878:a216::,2001:4878:a21f:ffff:ffff:ffff:ffff:ffff,IN 2001:4878:a220::,2001:4878:a220:ffff:ffff:ffff:ffff:ffff,SE -2001:4878:a221::,2001:4878:a224:ffff:ffff:ffff:ffff:ffff,JP +2001:4878:a221::,2001:4878:a224:ffff:ffff:ffff:ffff:ffff,IN 2001:4878:a225::,2001:4878:a225:ffff:ffff:ffff:ffff:ffff,PL -2001:4878:a226::,2001:4878:a227:ffff:ffff:ffff:ffff:ffff,JP +2001:4878:a226::,2001:4878:a227:ffff:ffff:ffff:ffff:ffff,IN 2001:4878:a228::,2001:4878:a228:ffff:ffff:ffff:ffff:ffff,IL -2001:4878:a229::,2001:4878:a233:ffff:ffff:ffff:ffff:ffff,JP +2001:4878:a229::,2001:4878:a233:ffff:ffff:ffff:ffff:ffff,IN 2001:4878:a234::,2001:4878:a234:ffff:ffff:ffff:ffff:ffff,GB -2001:4878:a235::,2001:4878:a241:ffff:ffff:ffff:ffff:ffff,JP +2001:4878:a235::,2001:4878:a241:ffff:ffff:ffff:ffff:ffff,IN 2001:4878:a242::,2001:4878:a242:ffff:ffff:ffff:ffff:ffff,NL 2001:4878:a243::,2001:4878:a243:ffff:ffff:ffff:ffff:ffff,PL -2001:4878:a244::,2001:4878:a245:ffff:ffff:ffff:ffff:ffff,JP +2001:4878:a244::,2001:4878:a245:ffff:ffff:ffff:ffff:ffff,IN 2001:4878:a246::,2001:4878:a246:ffff:ffff:ffff:ffff:ffff,DK -2001:4878:a247::,2001:4878:a248:ffff:ffff:ffff:ffff:ffff,JP +2001:4878:a247::,2001:4878:a248:ffff:ffff:ffff:ffff:ffff,IN 2001:4878:a249::,2001:4878:a249:ffff:ffff:ffff:ffff:ffff,FR -2001:4878:a24a::,2001:4878:a24f:ffff:ffff:ffff:ffff:ffff,JP +2001:4878:a24a::,2001:4878:a24f:ffff:ffff:ffff:ffff:ffff,IN 2001:4878:a250::,2001:4878:a250:ffff:ffff:ffff:ffff:ffff,IT -2001:4878:a251::,2001:4878:a304:ffff:ffff:ffff:ffff:ffff,JP -2001:4878:a305::,2001:4878:a305:ffff:ffff:ffff:ffff:ffff,IN -2001:4878:a306::,2001:4878:a320:ffff:ffff:ffff:ffff:ffff,JP +2001:4878:a251::,2001:4878:a320:ffff:ffff:ffff:ffff:ffff,IN 2001:4878:a321::,2001:4878:a321:ffff:ffff:ffff:ffff:ffff,SG 2001:4878:a322::,2001:4878:a322:ffff:ffff:ffff:ffff:ffff,JP 2001:4878:a323::,2001:4878:a323:ffff:ffff:ffff:ffff:ffff,AU 2001:4878:a324::,2001:4878:a324:ffff:ffff:ffff:ffff:ffff,KR -2001:4878:a325::,2001:4878:a33f:ffff:ffff:ffff:ffff:ffff,JP +2001:4878:a325::,2001:4878:a33f:ffff:ffff:ffff:ffff:ffff,IN 2001:4878:a340::,2001:4878:a340:ffff:ffff:ffff:ffff:ffff,HK -2001:4878:a341::,2001:4878:a343:ffff:ffff:ffff:ffff:ffff,JP -2001:4878:a344::,2001:4878:a344:ffff:ffff:ffff:ffff:ffff,IN -2001:4878:a345::,2001:4878:a347:ffff:ffff:ffff:ffff:ffff,JP -2001:4878:a348::,2001:4878:a348:ffff:ffff:ffff:ffff:ffff,IN -2001:4878:a349::,2001:4878:a3ff:ffff:ffff:ffff:ffff:ffff,JP +2001:4878:a341::,2001:4878:a3ff:ffff:ffff:ffff:ffff:ffff,IN 2001:4878:a400::,2001:4878:c061:ffff:ffff:ffff:ffff:ffff,US 2001:4878:c062::,2001:4878:c063:ffff:ffff:ffff:ffff:ffff,IN 2001:4878:c064::,2001:4878:c128:ffff:ffff:ffff:ffff:ffff,US @@ -5031,7 +5242,6 @@ 2001:4c08::,2001:4c08:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:4c10::,2001:4c10:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:4c20::,2001:4c20:ffff:ffff:ffff:ffff:ffff:ffff,GB -2001:4c28::,2001:4c28:3ff:ffff:ffff:ffff:ffff:ffff,US 2001:4c28:3000:632:107:167:111:92,2001:4c28:3000:632:107:167:111:92,IN 2001:4c30::,2001:4c30:ffff:ffff:ffff:ffff:ffff:ffff,PL 2001:4c38::,2001:4c3f:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -5089,7 +5299,7 @@ 2001:4de0:500::,2001:4de0:5ff:ffff:ffff:ffff:ffff:ffff,SE 2001:4de0:600::,2001:4de0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2001:4de8::,2001:4de8:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2001:4df0::,2001:4df0:ffff:ffff:ffff:ffff:ffff:ffff,IL +2001:4df0::,2001:4df7:ffff:ffff:ffff:ffff:ffff:ffff,IL 2001:5000::,2001:5000::ffff:ffff:ffff:ffff:ffff,DE 2001:5000:1::,2001:5000:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:5001::,2001:5001:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -5104,13 +5314,18 @@ 2001:500a::,2001:500a:ffff:ffff:ffff:ffff:ffff:ffff,JP 2001:500b::,2001:500b:ffff:ffff:ffff:ffff:ffff:ffff,HK 2001:500c::,2001:500c:ffff:ffff:ffff:ffff:ffff:ffff,SG +2001:500d::,2001:500f:ffff:ffff:ffff:ffff:ffff:ffff,GB 2001:5010::,2001:5010:ffff:ffff:ffff:ffff:ffff:ffff,RU 2001:5011::,2001:5011:ffff:ffff:ffff:ffff:ffff:ffff,ES 2001:5012::,2001:5012:ffff:ffff:ffff:ffff:ffff:ffff,SE 2001:5013::,2001:5013:ffff:ffff:ffff:ffff:ffff:ffff,CH 2001:5014::,2001:5014:ffff:ffff:ffff:ffff:ffff:ffff,US -2001:5100::,2001:5100:3ff:ffff:ffff:ffff:ffff:ffff,GB -2001:8000::,2001:8fff:ffff:ffff:ffff:ffff:ffff:ffff,AU +2001:5015::,2001:57ff:ffff:ffff:ffff:ffff:ffff:ffff,GB +2001:8000::,2001:8003:6028:7fff:ffff:ffff:ffff:ffff,AU +2001:8003:6028:8000::,2001:8003:6028:cfff:ffff:ffff:ffff:ffff,SG +2001:8003:6028:d000::,2001:8003:6028:dfff:ffff:ffff:ffff:ffff,AU +2001:8003:6028:e000::,2001:8003:6028:ffff:ffff:ffff:ffff:ffff,SG +2001:8003:6029::,2001:8fff:ffff:ffff:ffff:ffff:ffff:ffff,AU 2001:a000::,2001:a7ff:ffff:ffff:ffff:ffff:ffff:ffff,JP 2001:b000::,2001:b7ff:ffff:ffff:ffff:ffff:ffff:ffff,TW 2003::,2003:1fff:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -5217,7 +5432,6 @@ 2400:39c0::,2400:39c0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:3a00::,2400:3a00:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:3a40::,2400:3a40:ffff:ffff:ffff:ffff:ffff:ffff,CN -2400:3a80::,2400:3a80:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:3ac0::,2400:3ac0:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:3b00::,2400:3b00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:3b40::,2400:3b40:ffff:ffff:ffff:ffff:ffff:ffff,CN @@ -5594,7 +5808,6 @@ 2400:9840::,2400:9840:ffff:ffff:ffff:ffff:ffff:ffff,BD 2400:9880::,2400:9880:ffff:ffff:ffff:ffff:ffff:ffff,AU 2400:98c0::,2400:98c0:ffff:ffff:ffff:ffff:ffff:ffff,CN -2400:9900::,2400:9900:ffff:ffff:ffff:ffff:ffff:ffff,NP 2400:9940::,2400:9940:ffff:ffff:ffff:ffff:ffff:ffff,BD 2400:9980::,2400:9980:ffff:ffff:ffff:ffff:ffff:ffff,IN 2400:99c0::,2400:99c0:ffff:ffff:ffff:ffff:ffff:ffff,AU @@ -5912,15 +6125,26 @@ 2400:cb00:151::,2400:cb00:151:ffff:ffff:ffff:ffff:ffff,LV 2400:cb00:152::,2400:cb00:152:ffff:ffff:ffff:ffff:ffff,EE 2400:cb00:153::,2400:cb00:153:ffff:ffff:ffff:ffff:ffff,CA -2400:cb00:154::,2400:cb00:160:ffff:ffff:ffff:ffff:ffff,US +2400:cb00:154::,2400:cb00:157:ffff:ffff:ffff:ffff:ffff,US +2400:cb00:158::,2400:cb00:158:ffff:ffff:ffff:ffff:ffff,RU +2400:cb00:159::,2400:cb00:160:ffff:ffff:ffff:ffff:ffff,US 2400:cb00:161::,2400:cb00:161:ffff:ffff:ffff:ffff:ffff,CO 2400:cb00:162::,2400:cb00:165:ffff:ffff:ffff:ffff:ffff,US 2400:cb00:166::,2400:cb00:166:ffff:ffff:ffff:ffff:ffff,MD 2400:cb00:167::,2400:cb00:168:ffff:ffff:ffff:ffff:ffff,CA 2400:cb00:169::,2400:cb00:169:ffff:ffff:ffff:ffff:ffff,LU -2400:cb00:16a::,2400:cb00:172:ffff:ffff:ffff:ffff:ffff,US +2400:cb00:16a::,2400:cb00:16f:ffff:ffff:ffff:ffff:ffff,US +2400:cb00:170::,2400:cb00:170:ffff:ffff:ffff:ffff:ffff,BH +2400:cb00:171::,2400:cb00:172:ffff:ffff:ffff:ffff:ffff,US 2400:cb00:173::,2400:cb00:173:ffff:ffff:ffff:ffff:ffff,MN -2400:cb00:174::,2400:cb00:ffff:ffff:ffff:ffff:ffff:ffff,US +2400:cb00:174::,2400:cb00:174:ffff:ffff:ffff:ffff:ffff,NG +2400:cb00:175::,2400:cb00:175:ffff:ffff:ffff:ffff:ffff,TH +2400:cb00:176::,2400:cb00:177:ffff:ffff:ffff:ffff:ffff,VN +2400:cb00:178::,2400:cb00:178:ffff:ffff:ffff:ffff:ffff,FR +2400:cb00:179::,2400:cb00:179:ffff:ffff:ffff:ffff:ffff,PK +2400:cb00:17a::,2400:cb00:181:ffff:ffff:ffff:ffff:ffff,US +2400:cb00:182::,2400:cb00:182:ffff:ffff:ffff:ffff:ffff,MA +2400:cb00:183::,2400:cb00:ffff:ffff:ffff:ffff:ffff:ffff,US 2400:cb40::,2400:cb40:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:cb80::,2400:cb80:ffff:ffff:ffff:ffff:ffff:ffff,CN 2400:cbc0::,2400:cbc0:ffff:ffff:ffff:ffff:ffff:ffff,CN @@ -6224,6 +6448,7 @@ 2401:1a80::,2401:1a80:ffff:ffff:ffff:ffff:ffff:ffff,TH 2401:1ac0::,2401:1ac0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2401:1b00::,2401:1b00:ffff:ffff:ffff:ffff:ffff:ffff,ID +2401:1b40::,2401:1b40:ffff:ffff:ffff:ffff:ffff:ffff,BD 2401:1b80::,2401:1b80:ffff:ffff:ffff:ffff:ffff:ffff,AU 2401:1bc0::,2401:1bc0:ffff:ffff:ffff:ffff:ffff:ffff,PK 2401:1c00::,2401:1c00:ffff:ffff:ffff:ffff:ffff:ffff,AU @@ -6420,7 +6645,6 @@ 2401:4dc0::,2401:4dc0:ffff:ffff:ffff:ffff:ffff:ffff,HK 2401:4e00::,2401:4e00:ffff:ffff:ffff:ffff:ffff:ffff,ID 2401:4e40::,2401:4e40:ffff:ffff:ffff:ffff:ffff:ffff,MP -2401:4e80::,2401:4e80:ffff:ffff:ffff:ffff:ffff:ffff,HK 2401:4ec0::,2401:4ec0:ffff:ffff:ffff:ffff:ffff:ffff,AU 2401:4f00::,2401:4f00:ffff:ffff:ffff:ffff:ffff:ffff,TH 2401:4f40::,2401:4f40:ffff:ffff:ffff:ffff:ffff:ffff,IN @@ -6734,7 +6958,6 @@ 2401:b100::,2401:b100:ffff:ffff:ffff:ffff:ffff:ffff,IN 2401:b140::,2401:b140:ffff:ffff:ffff:ffff:ffff:ffff,JP 2401:b180::,2401:b180:ffff:ffff:ffff:ffff:ffff:ffff,CN -2401:b1c0::,2401:b1c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2401:b200::,2401:b200:ffff:ffff:ffff:ffff:ffff:ffff,IN 2401:b240::,2401:b240:ffff:ffff:ffff:ffff:ffff:ffff,IN 2401:b2c0::,2401:b2c0:ffff:ffff:ffff:ffff:ffff:ffff,AU @@ -6853,7 +7076,6 @@ 2401:cd80:6::,2401:cd81:ffff:ffff:ffff:ffff:ffff:ffff,AU 2401:cdc0::,2401:cdc0:ffff:ffff:ffff:ffff:ffff:ffff,HK 2401:ce00::,2401:ce00:ffff:ffff:ffff:ffff:ffff:ffff,CN -2401:ce40::,2401:ce40:ffff:ffff:ffff:ffff:ffff:ffff,HK 2401:ce80::,2401:ce80:ffff:ffff:ffff:ffff:ffff:ffff,JP 2401:cec0::,2401:cec0:ffff:ffff:ffff:ffff:ffff:ffff,HK 2401:cf00::,2401:cf00:ffff:ffff:ffff:ffff:ffff:ffff,AU @@ -7011,7 +7233,6 @@ 2401:f300::,2401:f300:ffff:ffff:ffff:ffff:ffff:ffff,CN 2401:f340::,2401:f340:ffff:ffff:ffff:ffff:ffff:ffff,AU 2401:f380::,2401:f380:ffff:ffff:ffff:ffff:ffff:ffff,HK -2401:f3c0::,2401:f3c0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2401:f400::,2401:f400:ffff:ffff:ffff:ffff:ffff:ffff,HK 2401:f440::,2401:f440:ffff:ffff:ffff:ffff:ffff:ffff,AU 2401:f480::,2401:f480:ffff:ffff:ffff:ffff:ffff:ffff,IN @@ -7033,7 +7254,11 @@ 2401:f900::,2401:f900:ffff:ffff:ffff:ffff:ffff:ffff,SG 2401:f940::,2401:f940:ffff:ffff:ffff:ffff:ffff:ffff,HK 2401:f980::,2401:f980:ffff:ffff:ffff:ffff:ffff:ffff,ID -2401:f9c0::,2401:f9c0:aa9f:ffff:ffff:ffff:ffff:ffff,US +2401:f9c0::,2401:f9c0:a00f:ffff:ffff:ffff:ffff:ffff,US +2401:f9c0:a010::,2401:f9c0:a010:ffff:ffff:ffff:ffff:ffff,CN +2401:f9c0:a011::,2401:f9c0:a011:ffff:ffff:ffff:ffff:ffff,AU +2401:f9c0:a012::,2401:f9c0:a012:ffff:ffff:ffff:ffff:ffff,HK +2401:f9c0:a013::,2401:f9c0:aa9f:ffff:ffff:ffff:ffff:ffff,US 2401:f9c0:aaa0::,2401:f9c0:aaa0:ffff:ffff:ffff:ffff:ffff,CA 2401:f9c0:aaa1::,2401:f9c0:cdcc:ffff:ffff:ffff:ffff:ffff,US 2401:f9c0:cdcd::,2401:f9c0:cdcd:ffff:ffff:ffff:ffff:ffff,CN @@ -7045,58 +7270,263 @@ 2401:f9c0:fba0::,2401:f9c0:fba3:ffff:ffff:ffff:ffff:ffff,CN 2401:f9c0:fba4::,2401:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,US 2401:fa00::,2401:fa00::ffff:ffff:ffff:ffff:ffff,AU -2401:fa00:1::,2401:fa00:1:ffff:ffff:ffff:ffff:ffff,TW -2401:fa00:2::,2401:fa00:2:ffff:ffff:ffff:ffff:ffff,US +2401:fa00:1::,2401:fa00:2:ffff:ffff:ffff:ffff:ffff,TW 2401:fa00:3::,2401:fa00:3:ffff:ffff:ffff:ffff:ffff,SG -2401:fa00:4::,2401:fa00:5:ffff:ffff:ffff:ffff:ffff,JP -2401:fa00:6::,2401:fa00:6:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:4::,2401:fa00:4:ffff:ffff:ffff:ffff:ffff,JP +2401:fa00:5::,2401:fa00:6:ffff:ffff:ffff:ffff:ffff,IN 2401:fa00:7::,2401:fa00:7:ffff:ffff:ffff:ffff:ffff,PH -2401:fa00:8::,2401:fa00:8:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:8::,2401:fa00:8:ffff:ffff:ffff:ffff:ffff,MY 2401:fa00:9::,2401:fa00:9:ffff:ffff:ffff:ffff:ffff,AU 2401:fa00:a::,2401:fa00:c:ffff:ffff:ffff:ffff:ffff,IN 2401:fa00:d::,2401:fa00:d:ffff:ffff:ffff:ffff:ffff,KR -2401:fa00:e::,2401:fa00:11:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:e::,2401:fa00:f:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:10::,2401:fa00:10:ffff:ffff:ffff:ffff:ffff,JP +2401:fa00:11::,2401:fa00:11:ffff:ffff:ffff:ffff:ffff,AU 2401:fa00:12::,2401:fa00:12:ffff:ffff:ffff:ffff:ffff,NZ 2401:fa00:13::,2401:fa00:13:ffff:ffff:ffff:ffff:ffff,HK 2401:fa00:14::,2401:fa00:17:ffff:ffff:ffff:ffff:ffff,KR 2401:fa00:18::,2401:fa00:18:ffff:ffff:ffff:ffff:ffff,PH 2401:fa00:19::,2401:fa00:19:ffff:ffff:ffff:ffff:ffff,TH -2401:fa00:1a::,2401:fa00:1b:ffff:ffff:ffff:ffff:ffff,PH +2401:fa00:1a::,2401:fa00:1b:ffff:ffff:ffff:ffff:ffff,IN 2401:fa00:1c::,2401:fa00:1c:ffff:ffff:ffff:ffff:ffff,KR -2401:fa00:1d::,2401:fa00:23:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:1d::,2401:fa00:1d:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:1e::,2401:fa00:1f:ffff:ffff:ffff:ffff:ffff,JP +2401:fa00:20::,2401:fa00:20:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:21::,2401:fa00:21:ffff:ffff:ffff:ffff:ffff,TW +2401:fa00:22::,2401:fa00:22:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:23::,2401:fa00:23:ffff:ffff:ffff:ffff:ffff,TW 2401:fa00:24::,2401:fa00:24:ffff:ffff:ffff:ffff:ffff,MY 2401:fa00:25::,2401:fa00:25:ffff:ffff:ffff:ffff:ffff,IN 2401:fa00:26::,2401:fa00:27:ffff:ffff:ffff:ffff:ffff,PH 2401:fa00:28::,2401:fa00:2b:ffff:ffff:ffff:ffff:ffff,IN 2401:fa00:2c::,2401:fa00:2f:ffff:ffff:ffff:ffff:ffff,SG -2401:fa00:30::,2401:fa00:35:ffff:ffff:ffff:ffff:ffff,PH +2401:fa00:30::,2401:fa00:32:ffff:ffff:ffff:ffff:ffff,US +2401:fa00:33::,2401:fa00:33:ffff:ffff:ffff:ffff:ffff,PH +2401:fa00:34::,2401:fa00:35:ffff:ffff:ffff:ffff:ffff,US 2401:fa00:36::,2401:fa00:36:ffff:ffff:ffff:ffff:ffff,SG -2401:fa00:37::,2401:fa00:3f:ffff:ffff:ffff:ffff:ffff,PH +2401:fa00:37::,2401:fa00:3a:ffff:ffff:ffff:ffff:ffff,US +2401:fa00:3b::,2401:fa00:3b:ffff:ffff:ffff:ffff:ffff,TW +2401:fa00:3c::,2401:fa00:3f:ffff:ffff:ffff:ffff:ffff,US 2401:fa00:40::,2401:fa00:5f:ffff:ffff:ffff:ffff:ffff,CN -2401:fa00:60::,2401:fa00:60:ffff:ffff:ffff:ffff:ffff,US -2401:fa00:61::,2401:fa00:61:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:60::,2401:fa00:61:ffff:ffff:ffff:ffff:ffff,IN 2401:fa00:62::,2401:fa00:63:ffff:ffff:ffff:ffff:ffff,PH 2401:fa00:64::,2401:fa00:66:ffff:ffff:ffff:ffff:ffff,IN 2401:fa00:67::,2401:fa00:67:ffff:ffff:ffff:ffff:ffff,PH 2401:fa00:68::,2401:fa00:ef:ffff:ffff:ffff:ffff:ffff,IN -2401:fa00:f0::,2401:fa00:f0:ffff:ffff:ffff:ffff:ffff,TW -2401:fa00:f1::,2401:fa00:f7:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:f0::,2401:fa00:f1:ffff:ffff:ffff:ffff:ffff,TW +2401:fa00:f2::,2401:fa00:f2:ffff:ffff:ffff:ffff:ffff,MY +2401:fa00:f3::,2401:fa00:f7:ffff:ffff:ffff:ffff:ffff,US 2401:fa00:f8::,2401:fa00:fb:ffff:ffff:ffff:ffff:ffff,PH 2401:fa00:fc::,2401:fa00:fe:ffff:ffff:ffff:ffff:ffff,TW 2401:fa00:ff::,2401:fa00:ff:ffff:ffff:ffff:ffff:ffff,AU -2401:fa00:100::,2401:fa00:400:dbff:ffff:ffff:ffff:ffff,IN -2401:fa00:400:dc00::,2401:fa00:400:ddff:ffff:ffff:ffff:ffff,TW -2401:fa00:400:de00::,2401:fa00:400:e1ff:ffff:ffff:ffff:ffff,IN +2401:fa00:100::,2401:fa00:3ff:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:400::,2401:fa00:400:2fff:ffff:ffff:ffff:ffff,US +2401:fa00:400:3000::,2401:fa00:400:3fff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:4000::,2401:fa00:400:41ff:ffff:ffff:ffff:ffff,AU +2401:fa00:400:4200::,2401:fa00:400:45ff:ffff:ffff:ffff:ffff,US +2401:fa00:400:4600::,2401:fa00:400:47ff:ffff:ffff:ffff:ffff,CA +2401:fa00:400:4800::,2401:fa00:400:49ff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:4a00::,2401:fa00:400:4bff:ffff:ffff:ffff:ffff,KR +2401:fa00:400:4c00::,2401:fa00:400:4dff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:4e00::,2401:fa00:400:4fff:ffff:ffff:ffff:ffff,US +2401:fa00:400:5000::,2401:fa00:400:51ff:ffff:ffff:ffff:ffff,BR +2401:fa00:400:5200::,2401:fa00:400:55ff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:5600::,2401:fa00:400:57ff:ffff:ffff:ffff:ffff,TH +2401:fa00:400:5800::,2401:fa00:400:59ff:ffff:ffff:ffff:ffff,NL +2401:fa00:400:5a00::,2401:fa00:400:5bff:ffff:ffff:ffff:ffff,TR +2401:fa00:400:5c00::,2401:fa00:400:5dff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:5e00::,2401:fa00:400:5fff:ffff:ffff:ffff:ffff,KE +2401:fa00:400:6000::,2401:fa00:400:61ff:ffff:ffff:ffff:ffff,US +2401:fa00:400:6200::,2401:fa00:400:63ff:ffff:ffff:ffff:ffff,MY +2401:fa00:400:6400::,2401:fa00:400:65ff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:6600::,2401:fa00:400:67ff:ffff:ffff:ffff:ffff,US +2401:fa00:400:6800::,2401:fa00:400:69ff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:6a00::,2401:fa00:400:6bff:ffff:ffff:ffff:ffff,IT +2401:fa00:400:6c00::,2401:fa00:400:6dff:ffff:ffff:ffff:ffff,BR +2401:fa00:400:6e00::,2401:fa00:400:6fff:ffff:ffff:ffff:ffff,BE +2401:fa00:400:7000::,2401:fa00:400:71ff:ffff:ffff:ffff:ffff,DE +2401:fa00:400:7200::,2401:fa00:400:73ff:ffff:ffff:ffff:ffff,RU +2401:fa00:400:7400::,2401:fa00:400:75ff:ffff:ffff:ffff:ffff,AR +2401:fa00:400:7600::,2401:fa00:400:77ff:ffff:ffff:ffff:ffff,ES +2401:fa00:400:7800::,2401:fa00:400:79ff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:7a00::,2401:fa00:400:7bff:ffff:ffff:ffff:ffff,DK +2401:fa00:400:7c00::,2401:fa00:400:7dff:ffff:ffff:ffff:ffff,FR +2401:fa00:400:7e00::,2401:fa00:400:7fff:ffff:ffff:ffff:ffff,SE +2401:fa00:400:8000::,2401:fa00:400:81ff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:8200::,2401:fa00:400:85ff:ffff:ffff:ffff:ffff,US +2401:fa00:400:8600::,2401:fa00:400:87ff:ffff:ffff:ffff:ffff,CA +2401:fa00:400:8800::,2401:fa00:400:89ff:ffff:ffff:ffff:ffff,US +2401:fa00:400:8a00::,2401:fa00:400:8bff:ffff:ffff:ffff:ffff,GB +2401:fa00:400:8c00::,2401:fa00:400:8dff:ffff:ffff:ffff:ffff,CA +2401:fa00:400:8e00::,2401:fa00:400:8fff:ffff:ffff:ffff:ffff,GB +2401:fa00:400:9000::,2401:fa00:400:91ff:ffff:ffff:ffff:ffff,US +2401:fa00:400:9200::,2401:fa00:400:93ff:ffff:ffff:ffff:ffff,GB +2401:fa00:400:9400::,2401:fa00:400:95ff:ffff:ffff:ffff:ffff,US +2401:fa00:400:9600::,2401:fa00:400:9bff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:9c00::,2401:fa00:400:a3ff:ffff:ffff:ffff:ffff,US +2401:fa00:400:a400::,2401:fa00:400:a5ff:ffff:ffff:ffff:ffff,PL +2401:fa00:400:a600::,2401:fa00:400:a7ff:ffff:ffff:ffff:ffff,US +2401:fa00:400:a800::,2401:fa00:400:a9ff:ffff:ffff:ffff:ffff,DE +2401:fa00:400:aa00::,2401:fa00:400:abff:ffff:ffff:ffff:ffff,US +2401:fa00:400:ac00::,2401:fa00:400:adff:ffff:ffff:ffff:ffff,HK +2401:fa00:400:ae00::,2401:fa00:400:afff:ffff:ffff:ffff:ffff,TW +2401:fa00:400:b000::,2401:fa00:400:b1ff:ffff:ffff:ffff:ffff,JP +2401:fa00:400:b200::,2401:fa00:400:b3ff:ffff:ffff:ffff:ffff,CO +2401:fa00:400:b400::,2401:fa00:400:b5ff:ffff:ffff:ffff:ffff,JP +2401:fa00:400:b600::,2401:fa00:400:b7ff:ffff:ffff:ffff:ffff,US +2401:fa00:400:b800::,2401:fa00:400:b9ff:ffff:ffff:ffff:ffff,NG +2401:fa00:400:ba00::,2401:fa00:400:c3ff:ffff:ffff:ffff:ffff,US +2401:fa00:400:c400::,2401:fa00:400:c5ff:ffff:ffff:ffff:ffff,IE +2401:fa00:400:c600::,2401:fa00:400:c7ff:ffff:ffff:ffff:ffff,CH +2401:fa00:400:c800::,2401:fa00:400:cbff:ffff:ffff:ffff:ffff,US +2401:fa00:400:cc00::,2401:fa00:400:cdff:ffff:ffff:ffff:ffff,GB +2401:fa00:400:ce00::,2401:fa00:400:d1ff:ffff:ffff:ffff:ffff,US +2401:fa00:400:d200::,2401:fa00:400:d3ff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:d400::,2401:fa00:400:d5ff:ffff:ffff:ffff:ffff,US +2401:fa00:400:d600::,2401:fa00:400:d7ff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:d800::,2401:fa00:400:d9ff:ffff:ffff:ffff:ffff,NL +2401:fa00:400:da00::,2401:fa00:400:dbff:ffff:ffff:ffff:ffff,US +2401:fa00:400:dc00::,2401:fa00:400:dfff:ffff:ffff:ffff:ffff,TW +2401:fa00:400:e000::,2401:fa00:400:e1ff:ffff:ffff:ffff:ffff,US 2401:fa00:400:e200::,2401:fa00:400:e3ff:ffff:ffff:ffff:ffff,TW -2401:fa00:400:e400::,2401:fa00:400:f1ff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:e400::,2401:fa00:400:e7ff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:e800::,2401:fa00:400:e9ff:ffff:ffff:ffff:ffff,IE +2401:fa00:400:ea00::,2401:fa00:400:ebff:ffff:ffff:ffff:ffff,PL +2401:fa00:400:ec00::,2401:fa00:400:edff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:ee00::,2401:fa00:400:efff:ffff:ffff:ffff:ffff,US +2401:fa00:400:f000::,2401:fa00:400:f1ff:ffff:ffff:ffff:ffff,IT 2401:fa00:400:f200::,2401:fa00:400:f3ff:ffff:ffff:ffff:ffff,TW -2401:fa00:400:f400::,2401:fa00:480:8fff:ffff:ffff:ffff:ffff,IN -2401:fa00:480:9000::,2401:fa00:480:91ff:ffff:ffff:ffff:ffff,TW -2401:fa00:480:9200::,2401:fa00:480:93ff:ffff:ffff:ffff:ffff,IN -2401:fa00:480:9400::,2401:fa00:480:95ff:ffff:ffff:ffff:ffff,TW -2401:fa00:480:9600::,2401:fa00:480:bfff:ffff:ffff:ffff:ffff,IN +2401:fa00:400:f400::,2401:fa00:400:f5ff:ffff:ffff:ffff:ffff,IL +2401:fa00:400:f600::,2401:fa00:400:f7ff:ffff:ffff:ffff:ffff,US +2401:fa00:400:f800::,2401:fa00:400:f9ff:ffff:ffff:ffff:ffff,AU +2401:fa00:400:fa00::,2401:fa00:400:fbff:ffff:ffff:ffff:ffff,US +2401:fa00:400:fc00::,2401:fa00:400:fdff:ffff:ffff:ffff:ffff,MY +2401:fa00:400:fe00::,2401:fa00:400:ffff:ffff:ffff:ffff:ffff,US +2401:fa00:401::,2401:fa00:401:1ff:ffff:ffff:ffff:ffff,CH +2401:fa00:401:200::,2401:fa00:401:3ff:ffff:ffff:ffff:ffff,TW +2401:fa00:401:400::,2401:fa00:401:7ff:ffff:ffff:ffff:ffff,US +2401:fa00:401:800::,2401:fa00:401:9ff:ffff:ffff:ffff:ffff,PT +2401:fa00:401:a00::,2401:fa00:401:bff:ffff:ffff:ffff:ffff,IN +2401:fa00:401:c00::,2401:fa00:401:dff:ffff:ffff:ffff:ffff,US +2401:fa00:401:e00::,2401:fa00:401:fff:ffff:ffff:ffff:ffff,IN +2401:fa00:401:1000::,2401:fa00:401:11ff:ffff:ffff:ffff:ffff,PL +2401:fa00:401:1200::,2401:fa00:401:13ff:ffff:ffff:ffff:ffff,IE +2401:fa00:401:1400::,2401:fa00:401:15ff:ffff:ffff:ffff:ffff,US +2401:fa00:401:1600::,2401:fa00:403:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:404::,2401:fa00:404:1ff:ffff:ffff:ffff:ffff,IL +2401:fa00:404:200::,2401:fa00:404:5ff:ffff:ffff:ffff:ffff,AU +2401:fa00:404:600::,2401:fa00:407:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:408::,2401:fa00:408:1ff:ffff:ffff:ffff:ffff,GB +2401:fa00:408:200::,2401:fa00:41f:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:420::,2401:fa00:420:1ff:ffff:ffff:ffff:ffff,DE +2401:fa00:420:200::,2401:fa00:420:3ff:ffff:ffff:ffff:ffff,AE +2401:fa00:420:400::,2401:fa00:420:5ff:ffff:ffff:ffff:ffff,IN +2401:fa00:420:600::,2401:fa00:420:7ff:ffff:ffff:ffff:ffff,GB +2401:fa00:420:800::,2401:fa00:420:fff:ffff:ffff:ffff:ffff,IN +2401:fa00:420:1000::,2401:fa00:420:11ff:ffff:ffff:ffff:ffff,GR +2401:fa00:420:1200::,2401:fa00:420:13ff:ffff:ffff:ffff:ffff,IN +2401:fa00:420:1400::,2401:fa00:420:15ff:ffff:ffff:ffff:ffff,US +2401:fa00:420:1600::,2401:fa00:47f:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:480::,2401:fa00:480:9ff:ffff:ffff:ffff:ffff,US +2401:fa00:480:a00::,2401:fa00:480:dff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:e00::,2401:fa00:480:fff:ffff:ffff:ffff:ffff,TW +2401:fa00:480:1000::,2401:fa00:480:11ff:ffff:ffff:ffff:ffff,JP +2401:fa00:480:1200::,2401:fa00:480:13ff:ffff:ffff:ffff:ffff,US +2401:fa00:480:1400::,2401:fa00:480:14ff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:1500::,2401:fa00:480:15ff:ffff:ffff:ffff:ffff,BE +2401:fa00:480:1600::,2401:fa00:480:1dff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:1e00::,2401:fa00:480:1fff:ffff:ffff:ffff:ffff,JP +2401:fa00:480:2000::,2401:fa00:480:25ff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:2600::,2401:fa00:480:27ff:ffff:ffff:ffff:ffff,US +2401:fa00:480:2800::,2401:fa00:480:29ff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:2a00::,2401:fa00:480:2fff:ffff:ffff:ffff:ffff,US +2401:fa00:480:3000::,2401:fa00:480:31ff:ffff:ffff:ffff:ffff,HK +2401:fa00:480:3200::,2401:fa00:480:37ff:ffff:ffff:ffff:ffff,US +2401:fa00:480:3800::,2401:fa00:480:39ff:ffff:ffff:ffff:ffff,BR +2401:fa00:480:3a00::,2401:fa00:480:3bff:ffff:ffff:ffff:ffff,BE +2401:fa00:480:3c00::,2401:fa00:480:3dff:ffff:ffff:ffff:ffff,US +2401:fa00:480:3e00::,2401:fa00:480:3fff:ffff:ffff:ffff:ffff,AU +2401:fa00:480:4000::,2401:fa00:480:41ff:ffff:ffff:ffff:ffff,US +2401:fa00:480:4200::,2401:fa00:480:43ff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:4400::,2401:fa00:480:45ff:ffff:ffff:ffff:ffff,GB +2401:fa00:480:4600::,2401:fa00:480:47ff:ffff:ffff:ffff:ffff,CH +2401:fa00:480:4800::,2401:fa00:480:49ff:ffff:ffff:ffff:ffff,US +2401:fa00:480:4a00::,2401:fa00:480:4bff:ffff:ffff:ffff:ffff,GB +2401:fa00:480:4c00::,2401:fa00:480:4dff:ffff:ffff:ffff:ffff,SE +2401:fa00:480:4e00::,2401:fa00:480:4fff:ffff:ffff:ffff:ffff,AU +2401:fa00:480:5000::,2401:fa00:480:51ff:ffff:ffff:ffff:ffff,FR +2401:fa00:480:5200::,2401:fa00:480:53ff:ffff:ffff:ffff:ffff,US +2401:fa00:480:5400::,2401:fa00:480:55ff:ffff:ffff:ffff:ffff,DE +2401:fa00:480:5600::,2401:fa00:480:57ff:ffff:ffff:ffff:ffff,IE +2401:fa00:480:5800::,2401:fa00:480:5bff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:5c00::,2401:fa00:480:5dff:ffff:ffff:ffff:ffff,US +2401:fa00:480:5e00::,2401:fa00:480:5fff:ffff:ffff:ffff:ffff,GB +2401:fa00:480:6000::,2401:fa00:480:63ff:ffff:ffff:ffff:ffff,CA +2401:fa00:480:6400::,2401:fa00:480:6bff:ffff:ffff:ffff:ffff,US +2401:fa00:480:6c00::,2401:fa00:480:6fff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:7000::,2401:fa00:480:71ff:ffff:ffff:ffff:ffff,US +2401:fa00:480:7200::,2401:fa00:480:73ff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:7400::,2401:fa00:480:75ff:ffff:ffff:ffff:ffff,NZ +2401:fa00:480:7600::,2401:fa00:480:77ff:ffff:ffff:ffff:ffff,CN +2401:fa00:480:7800::,2401:fa00:480:7dff:ffff:ffff:ffff:ffff,US +2401:fa00:480:7e00::,2401:fa00:480:7fff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:8000::,2401:fa00:480:81ff:ffff:ffff:ffff:ffff,DK +2401:fa00:480:8200::,2401:fa00:480:87ff:ffff:ffff:ffff:ffff,US +2401:fa00:480:8800::,2401:fa00:480:89ff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:8a00::,2401:fa00:480:8dff:ffff:ffff:ffff:ffff,US +2401:fa00:480:8e00::,2401:fa00:480:8fff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:9000::,2401:fa00:480:95ff:ffff:ffff:ffff:ffff,TW +2401:fa00:480:9600::,2401:fa00:480:97ff:ffff:ffff:ffff:ffff,KR +2401:fa00:480:9800::,2401:fa00:480:99ff:ffff:ffff:ffff:ffff,US +2401:fa00:480:9a00::,2401:fa00:480:9bff:ffff:ffff:ffff:ffff,TW +2401:fa00:480:9c00::,2401:fa00:480:9fff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:a000::,2401:fa00:480:a1ff:ffff:ffff:ffff:ffff,GB +2401:fa00:480:a200::,2401:fa00:480:a3ff:ffff:ffff:ffff:ffff,US +2401:fa00:480:a400::,2401:fa00:480:a5ff:ffff:ffff:ffff:ffff,ES +2401:fa00:480:a600::,2401:fa00:480:a7ff:ffff:ffff:ffff:ffff,CA +2401:fa00:480:a800::,2401:fa00:480:a9ff:ffff:ffff:ffff:ffff,US +2401:fa00:480:aa00::,2401:fa00:480:abff:ffff:ffff:ffff:ffff,IE +2401:fa00:480:ac00::,2401:fa00:480:adff:ffff:ffff:ffff:ffff,AU +2401:fa00:480:ae00::,2401:fa00:480:afff:ffff:ffff:ffff:ffff,CH +2401:fa00:480:b000::,2401:fa00:480:b1ff:ffff:ffff:ffff:ffff,TW +2401:fa00:480:b200::,2401:fa00:480:b3ff:ffff:ffff:ffff:ffff,PL +2401:fa00:480:b400::,2401:fa00:480:b5ff:ffff:ffff:ffff:ffff,BR +2401:fa00:480:b600::,2401:fa00:480:b7ff:ffff:ffff:ffff:ffff,US +2401:fa00:480:b800::,2401:fa00:480:b9ff:ffff:ffff:ffff:ffff,GB +2401:fa00:480:ba00::,2401:fa00:480:bbff:ffff:ffff:ffff:ffff,PL +2401:fa00:480:bc00::,2401:fa00:480:bdff:ffff:ffff:ffff:ffff,DE +2401:fa00:480:be00::,2401:fa00:480:bfff:ffff:ffff:ffff:ffff,US 2401:fa00:480:c000::,2401:fa00:480:c1ff:ffff:ffff:ffff:ffff,TW -2401:fa00:480:c200::,2401:fa00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:c200::,2401:fa00:480:c3ff:ffff:ffff:ffff:ffff,AU +2401:fa00:480:c400::,2401:fa00:480:c5ff:ffff:ffff:ffff:ffff,US +2401:fa00:480:c600::,2401:fa00:480:c7ff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:c800::,2401:fa00:480:cbff:ffff:ffff:ffff:ffff,US +2401:fa00:480:cc00::,2401:fa00:480:cdff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:ce00::,2401:fa00:480:cfff:ffff:ffff:ffff:ffff,US +2401:fa00:480:d000::,2401:fa00:480:d1ff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:d200::,2401:fa00:480:d3ff:ffff:ffff:ffff:ffff,US +2401:fa00:480:d400::,2401:fa00:480:d5ff:ffff:ffff:ffff:ffff,IN +2401:fa00:480:d600::,2401:fa00:480:d7ff:ffff:ffff:ffff:ffff,MY +2401:fa00:480:d800::,2401:fa00:480:d9ff:ffff:ffff:ffff:ffff,FR +2401:fa00:480:da00::,2401:fa00:493:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:494::,2401:fa00:494:2ff:ffff:ffff:ffff:ffff,US +2401:fa00:494:300::,2401:fa00:494:4ff:ffff:ffff:ffff:ffff,IN +2401:fa00:494:500::,2401:fa00:494:6ff:ffff:ffff:ffff:ffff,US +2401:fa00:494:700::,2401:fa00:49b:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:49c::,2401:fa00:49c:1ff:ffff:ffff:ffff:ffff,US +2401:fa00:49c:200::,2401:fa00:49f:feff:ffff:ffff:ffff:ffff,IN +2401:fa00:49f:ff00::,2401:fa00:4a0:ffff:ffff:ffff:ffff:ffff,US +2401:fa00:4a1::,2401:fa00:4a1:3ff:ffff:ffff:ffff:ffff,CH +2401:fa00:4a1:400::,2401:fa00:ffe0:ffff:ffff:ffff:ffff:ffff,IN +2401:fa00:ffe1::,2401:fa00:ffe1:1ff:ffff:ffff:ffff:ffff,US +2401:fa00:ffe1:200::,2401:fa00:ffe1:2ff:ffff:ffff:ffff:ffff,DE +2401:fa00:ffe1:300::,2401:fa00:ffe1:3ff:ffff:ffff:ffff:ffff,IN +2401:fa00:ffe1:400::,2401:fa00:ffe1:4ff:ffff:ffff:ffff:ffff,TW +2401:fa00:ffe1:500::,2401:fa00:ffe1:5ff:ffff:ffff:ffff:ffff,IN +2401:fa00:ffe1:600::,2401:fa00:ffe1:6ff:ffff:ffff:ffff:ffff,US +2401:fa00:ffe1:700::,2401:fa00:ffe1:7ff:ffff:ffff:ffff:ffff,IN +2401:fa00:ffe1:800::,2401:fa00:ffe1:8ff:ffff:ffff:ffff:ffff,US +2401:fa00:ffe1:900::,2401:fa00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2401:fa40::,2401:fa40:ffff:ffff:ffff:ffff:ffff:ffff,IN 2401:fa80::,2401:fa80:ffff:ffff:ffff:ffff:ffff:ffff,CN 2401:fac0::,2401:fac0:ffff:ffff:ffff:ffff:ffff:ffff,CN @@ -7730,7 +8160,6 @@ 2402:9b00::,2402:9b00:ffff:ffff:ffff:ffff:ffff:ffff,TH 2402:9b40::,2402:9b40:ffff:ffff:ffff:ffff:ffff:ffff,HK 2402:9b80::,2402:9b80:ffff:ffff:ffff:ffff:ffff:ffff,CN -2402:9bc0::,2402:9bc0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2402:9c00::,2402:9c00:ffff:ffff:ffff:ffff:ffff:ffff,TW 2402:9c40::,2402:9c40:ffff:ffff:ffff:ffff:ffff:ffff,ID 2402:9c80::,2402:9c80:ffff:ffff:ffff:ffff:ffff:ffff,AU @@ -7743,7 +8172,7 @@ 2402:9e80::,2402:9e80:5:ffff:ffff:ffff:ffff:ffff,HK 2402:9e80:6::,2402:9e80:6:ffff:ffff:ffff:ffff:ffff,NZ 2402:9e80:7::,2402:9e80:13:ffff:ffff:ffff:ffff:ffff,HK -2402:9e80:14::,2402:9e80:14:ffff:ffff:ffff:ffff:ffff,VN +2402:9e80:14::,2402:9e80:14:ffff:ffff:ffff:ffff:ffff,AU 2402:9e80:15::,2402:9e80:15:ffff:ffff:ffff:ffff:ffff,US 2402:9e80:16::,2402:9e80:18:ffff:ffff:ffff:ffff:ffff,HK 2402:9e80:19::,2402:9e80:19:ffff:ffff:ffff:ffff:ffff,KR @@ -7751,7 +8180,9 @@ 2402:9e80:24::,2402:9e80:24:ffff:ffff:ffff:ffff:ffff,AU 2402:9e80:25::,2402:9e80:25:ffff:ffff:ffff:ffff:ffff,HK 2402:9e80:26::,2402:9e80:26:ffff:ffff:ffff:ffff:ffff,JP -2402:9e80:27::,2402:9e80:dfff:ffff:ffff:ffff:ffff:ffff,HK +2402:9e80:27::,2402:9e80:27:ffff:ffff:ffff:ffff:ffff,HK +2402:9e80:28::,2402:9e80:28:ffff:ffff:ffff:ffff:ffff,US +2402:9e80:29::,2402:9e80:dfff:ffff:ffff:ffff:ffff:ffff,HK 2402:9e80:e000::,2402:9e80:ffff:ffff:ffff:ffff:ffff:ffff,US 2402:9ec0::,2402:9ec0:ffff:ffff:ffff:ffff:ffff:ffff,PK 2402:9f00::,2402:9f00:ffff:ffff:ffff:ffff:ffff:ffff,AU @@ -8288,7 +8719,7 @@ 2403:2400::,2403:2400:ffff:ffff:ffff:ffff:ffff:ffff,HK 2403:2440::,2403:2440:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:24c0::,2403:24c0:ffff:ffff:ffff:ffff:ffff:ffff,CN -2403:2500::,2403:2500:ffff:ffff:ffff:ffff:ffff:ffff,IN +2403:2500::,2403:2500:ffff:ffff:ffff:ffff:ffff:ffff,US 2403:2540::,2403:2540:ffff:ffff:ffff:ffff:ffff:ffff,MY 2403:2580::,2403:2580:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:25c0::,2403:25c0:ffff:ffff:ffff:ffff:ffff:ffff,CN @@ -8466,7 +8897,6 @@ 2403:4d40::,2403:4d40:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:4d80::,2403:4d80:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:4dc0::,2403:4dc0:ffff:ffff:ffff:ffff:ffff:ffff,AU -2403:4e00::,2403:4e00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2403:4e40::,2403:4e40:ffff:ffff:ffff:ffff:ffff:ffff,HK 2403:4e80::,2403:4e80:ffff:ffff:ffff:ffff:ffff:ffff,AU 2403:4ec0::,2403:4ec0:ffff:ffff:ffff:ffff:ffff:ffff,CN @@ -8888,142 +9318,287 @@ 2403:b780::,2403:b780:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:b7c0::,2403:b7c0:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:b800::,2403:b800:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:b840::,2403:b840:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:b880::,2403:b880:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:b8c0::,2403:b8c0:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:b900::,2403:b900:ffff:ffff:ffff:ffff:ffff:ffff,ID +2403:b940::,2403:b940:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:b980::,2403:b980:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:b9c0::,2403:b9c0:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:ba00::,2403:ba00:ffff:ffff:ffff:ffff:ffff:ffff,ID +2403:ba40::,2403:ba40:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:ba80::,2403:ba80:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:bac0::,2403:bac0:ffff:ffff:ffff:ffff:ffff:ffff,ID 2403:bb00::,2403:bb00:ffff:ffff:ffff:ffff:ffff:ffff,ID +2403:bb40::,2403:bb40:ffff:ffff:ffff:ffff:ffff:ffff,BD +2403:bbc0::,2403:bbc0:ffff:ffff:ffff:ffff:ffff:ffff,KH 2403:bc00::,2403:bc00:ffff:ffff:ffff:ffff:ffff:ffff,MY +2403:bc40::,2403:bc40:ffff:ffff:ffff:ffff:ffff:ffff,MY 2403:bc80::,2403:bc80:ffff:ffff:ffff:ffff:ffff:ffff,SG +2403:bcc0::,2403:bcc0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2403:bd00::,2403:bd00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2403:bd40::,2403:bd40:ffff:ffff:ffff:ffff:ffff:ffff,PK 2403:bd80::,2403:bd80:ffff:ffff:ffff:ffff:ffff:ffff,JP +2403:bdc0::,2403:bdc0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:be00::,2403:be00:ffff:ffff:ffff:ffff:ffff:ffff,ID +2403:be40::,2403:be40:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:be80::,2403:be80:ffff:ffff:ffff:ffff:ffff:ffff,IN +2403:bec0::,2403:bec0:ffff:ffff:ffff:ffff:ffff:ffff,PK 2403:bf00::,2403:bf00:ffff:ffff:ffff:ffff:ffff:ffff,TH +2403:bf40::,2403:bf40:ffff:ffff:ffff:ffff:ffff:ffff,VN 2403:bf80::,2403:bf80:ffff:ffff:ffff:ffff:ffff:ffff,BD +2403:bfc0::,2403:bfc0:ffff:ffff:ffff:ffff:ffff:ffff,VN 2403:c000::,2403:c000:ffff:ffff:ffff:ffff:ffff:ffff,TH +2403:c040::,2403:c040:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:c080::,2403:c080:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:c0c0::,2403:c0c0:ffff:ffff:ffff:ffff:ffff:ffff,PK 2403:c100::,2403:c100:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:c140::,2403:c140:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:c180::,2403:c180:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:c1c0::,2403:c1c0:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:c200::,2403:c200:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2403:c240::,2403:c240:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:c280::,2403:c280:ffff:ffff:ffff:ffff:ffff:ffff,MM +2403:c2c0::,2403:c2c0:ffff:ffff:ffff:ffff:ffff:ffff,PK 2403:c300::,2403:c300:ffff:ffff:ffff:ffff:ffff:ffff,TW +2403:c340::,2403:c340:ffff:ffff:ffff:ffff:ffff:ffff,ID 2403:c380::,2403:c380:ffff:ffff:ffff:ffff:ffff:ffff,IN +2403:c3c0::,2403:c3c0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:c400::,2403:c400:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:c440::,2403:c440:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:c480::,2403:c480:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:c4c0::,2403:c4c0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:c500::,2403:c500:ffff:ffff:ffff:ffff:ffff:ffff,SG +2403:c540::,2403:c540:ffff:ffff:ffff:ffff:ffff:ffff,HK 2403:c580::,2403:c580:ffff:ffff:ffff:ffff:ffff:ffff,MY +2403:c5c0::,2403:c5c0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2403:c600::,2403:c600:ffff:ffff:ffff:ffff:ffff:ffff,ID +2403:c640::,2403:c640:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2403:c680::,2403:c680:ffff:ffff:ffff:ffff:ffff:ffff,IN +2403:c6c0::,2403:c6c0:ffff:ffff:ffff:ffff:ffff:ffff,TW +2403:c740::,2403:c740:ffff:ffff:ffff:ffff:ffff:ffff,TH 2403:c780::,2403:c780:ffff:ffff:ffff:ffff:ffff:ffff,JP +2403:c7c0::,2403:c7c0:ffff:ffff:ffff:ffff:ffff:ffff,SG 2403:c800::,2403:c800:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:c840::,2403:c840:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:c880::,2403:c881:ffff:ffff:ffff:ffff:ffff:ffff,HK +2403:c8c0::,2403:c8c0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:c900::,2403:c900:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2403:c940::,2403:c940:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:c980::,2403:c980:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:c9c0::,2403:c9c0:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:ca00::,2403:ca00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:ca40::,2403:ca40:ffff:ffff:ffff:ffff:ffff:ffff,TW +2403:cac0::,2403:cac0:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:cb00::,2403:cb00:ffff:ffff:ffff:ffff:ffff:ffff,SG +2403:cb40::,2403:cb40:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:cb80::,2403:cb80:ffff:ffff:ffff:ffff:ffff:ffff,ID +2403:cbc0::,2403:cbc0:ffff:ffff:ffff:ffff:ffff:ffff,MY 2403:cc00::,2403:cc00:9fff:ffff:ffff:ffff:ffff:ffff,SG 2403:cc00:a000::,2403:cc00:afff:ffff:ffff:ffff:ffff:ffff,NZ 2403:cc00:b000::,2403:cc00:ffff:ffff:ffff:ffff:ffff:ffff,SG +2403:cc40::,2403:cc40:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:cc80::,2403:cc80:ffff:ffff:ffff:ffff:ffff:ffff,BD +2403:ccc0::,2403:ccc0:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:cd00::,2403:cd00:ffff:ffff:ffff:ffff:ffff:ffff,PH +2403:cd40::,2403:cd40:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:cd80::,2403:cd80:ffff:ffff:ffff:ffff:ffff:ffff,PH +2403:cdc0::,2403:cdc0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:ce00::,2403:ce00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:ce40::,2403:ce40:ffff:ffff:ffff:ffff:ffff:ffff,TW +2403:cec0::,2403:cec0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:cf00::,2403:cf00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:cf40::,2403:cf40:ffff:ffff:ffff:ffff:ffff:ffff,IN 2403:cf80::,2403:cf80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:cfc0::,2403:cfc0:ffff:ffff:ffff:ffff:ffff:ffff,SG 2403:d000::,2403:d000:ffff:ffff:ffff:ffff:ffff:ffff,JP +2403:d040::,2403:d040:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:d080::,2403:d080:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:d0c0::,2403:d0c0:ffff:ffff:ffff:ffff:ffff:ffff,TH 2403:d100::,2403:d100:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:d140::,2403:d140:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2403:d180::,2403:d180:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:d1c0::,2403:d1c0:ffff:ffff:ffff:ffff:ffff:ffff,AU 2403:d200::,2403:d200:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2403:d240::,2403:d240:ffff:ffff:ffff:ffff:ffff:ffff,PK 2403:d280::,2403:d280:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:d2c0::,2403:d2c0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:d300::,2403:d300:ffff:ffff:ffff:ffff:ffff:ffff,HK +2403:d340::,2403:d340:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:d380::,2403:d380:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:d3c0::,2403:d3c0:ffff:ffff:ffff:ffff:ffff:ffff,AU 2403:d400::,2403:d400:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:d440::,2403:d440:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:d480::,2403:d480:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:d4c0::,2403:d4c0:ffff:ffff:ffff:ffff:ffff:ffff,IN 2403:d500::,2403:d500:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:d540::,2403:d540:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:d580::,2403:d580:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:d5c0::,2403:d5c0:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:d600::,2403:d600:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:d640::,2403:d640:ffff:ffff:ffff:ffff:ffff:ffff,ID 2403:d680::,2403:d680:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:d6c0::,2403:d6c0:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2403:d700::,2403:d700:ffff:ffff:ffff:ffff:ffff:ffff,MN +2403:d740::,2403:d740:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:d780::,2403:d780:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:d7c0::,2403:d7c0:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:d840::,2403:d840:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:d880::,2403:d880:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:d8c0::,2403:d8c0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:d900::,2403:d900:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:d940::,2403:d940:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:d980::,2403:d980:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:d9c0::,2403:d9c0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:da00::,2403:da00:ffff:ffff:ffff:ffff:ffff:ffff,ID +2403:da40::,2403:da40:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:da80::,2403:da80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:dac0::,2403:dac0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:db00::,2403:db00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:db40::,2403:db40:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:db80::,2403:db80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:dbc0::,2403:dbc0:ffff:ffff:ffff:ffff:ffff:ffff,HK 2403:dc00::,2403:dc00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:dc40::,2403:dc40:ffff:ffff:ffff:ffff:ffff:ffff,SG 2403:dc80::,2403:dc80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:dcc0::,2403:dcc0:ffff:ffff:ffff:ffff:ffff:ffff,HK 2403:dd00::,2403:dd00:ffff:ffff:ffff:ffff:ffff:ffff,BD +2403:dd40::,2403:dd40:ffff:ffff:ffff:ffff:ffff:ffff,JP 2403:dd80::,2403:dd80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:ddc0::,2403:ddc0:ffff:ffff:ffff:ffff:ffff:ffff,NP 2403:de00::,2403:de00:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2403:de40::,2403:de40:ffff:ffff:ffff:ffff:ffff:ffff,IN 2403:de80::,2403:de80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:dec0::,2403:dec0:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:df00::,2403:df00:ffff:ffff:ffff:ffff:ffff:ffff,SG +2403:df40::,2403:df40:ffff:ffff:ffff:ffff:ffff:ffff,US 2403:df80::,2403:df80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:dfc0::,2403:dfc0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:e000::,2403:e000:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:e040::,2403:e040:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2403:e080::,2403:e080:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:e0c0::,2403:e0c0:ffff:ffff:ffff:ffff:ffff:ffff,ID 2403:e100::,2403:e100:ffff:ffff:ffff:ffff:ffff:ffff,BD +2403:e140::,2403:e140:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:e180::,2403:e180:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:e1c0::,2403:e1c0:ffff:ffff:ffff:ffff:ffff:ffff,ID 2403:e200::,2403:e200:ffff:ffff:ffff:ffff:ffff:ffff,VN +2403:e240::,2403:e240:ffff:ffff:ffff:ffff:ffff:ffff,TH 2403:e280::,2403:e280:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:e2c0::,2403:e2c0:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:e300::,2403:e300:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:e340::,2403:e340:ffff:ffff:ffff:ffff:ffff:ffff,HK 2403:e380::,2403:e380:ffff:ffff:ffff:ffff:ffff:ffff,ID +2403:e3c0::,2403:e3c0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:e400::,2403:e400:ffff:ffff:ffff:ffff:ffff:ffff,HK +2403:e440::,2403:e440:ffff:ffff:ffff:ffff:ffff:ffff,ID 2403:e480::,2403:e480:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:e4c0::,2403:e4c0:ffff:ffff:ffff:ffff:ffff:ffff,JP 2403:e500::,2403:e500:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:e540::,2403:e540:ffff:ffff:ffff:ffff:ffff:ffff,IN 2403:e580::,2403:e580:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:e5c0::,2403:e5c0:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:e600::,2403:e600:ffff:ffff:ffff:ffff:ffff:ffff,ID +2403:e640::,2403:e640:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:e680::,2403:e680:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:e6c0::,2403:e6c0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:e700::,2403:e700:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:e740::,2403:e740:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:e780::,2403:e780:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:e7c0::,2403:e7c0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:e800::,2403:e800:ffff:ffff:ffff:ffff:ffff:ffff,HK +2403:e840::,2403:e840:ffff:ffff:ffff:ffff:ffff:ffff,HK 2403:e880::,2403:e880:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:e8c0::,2403:e8c0:ffff:ffff:ffff:ffff:ffff:ffff,ID 2403:e900::,2403:e900:ffff:ffff:ffff:ffff:ffff:ffff,SG +2403:e940::,2403:e940:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:e980::,2403:e980:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:e9c0::,2403:e9c0:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:ea00::,2403:ea00:ffff:ffff:ffff:ffff:ffff:ffff,HK +2403:ea40::,2403:ea40:ffff:ffff:ffff:ffff:ffff:ffff,ID 2403:ea80::,2403:ea80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:eac0::,2403:eac0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:eb00::,2403:eb00:ffff:ffff:ffff:ffff:ffff:ffff,BD +2403:eb40::,2403:eb40:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:eb80::,2403:eb80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:ebc0::,2403:ebc0:ffff:ffff:ffff:ffff:ffff:ffff,HK 2403:ec00::,2403:ec00:ffff:ffff:ffff:ffff:ffff:ffff,BD +2403:ec40::,2403:ec40:ffff:ffff:ffff:ffff:ffff:ffff,SG 2403:ec80::,2403:ec80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:ecc0::,2403:ecc0:ffff:ffff:ffff:ffff:ffff:ffff,AU 2403:ed00::,2403:ed00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:ed40::,2403:ed40:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:ed80::,2403:ed80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:edc0::,2403:edc0:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:ee00::,2403:ee00:ffff:ffff:ffff:ffff:ffff:ffff,TW +2403:ee40::,2403:ee40:ffff:ffff:ffff:ffff:ffff:ffff,PK 2403:ee80::,2403:ee80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:eec0::,2403:eec0:ffff:ffff:ffff:ffff:ffff:ffff,ID +2403:ef40::,2403:ef40:ffff:ffff:ffff:ffff:ffff:ffff,MY 2403:ef80::,2403:ef80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:efc0::,2403:efc0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:f000::,2403:f000:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:f040::,2403:f040:ffff:ffff:ffff:ffff:ffff:ffff,TH 2403:f080::,2403:f080:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:f0c0::,2403:f0c0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:f100::,2403:f100:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:f140::,2403:f140:ffff:ffff:ffff:ffff:ffff:ffff,AF 2403:f180::,2403:f180:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:f1c0::,2403:f1c0:ffff:ffff:ffff:ffff:ffff:ffff,ID 2403:f200::,2403:f200:ffff:ffff:ffff:ffff:ffff:ffff,JP +2403:f240::,2403:f240:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:f280::,2403:f280:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:f2c0::,2403:f2c0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:f300::,2403:f300:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:f340::,2403:f340:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:f380::,2403:f380:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:f3c0::,2403:f3c0:ffff:ffff:ffff:ffff:ffff:ffff,TW +2403:f440::,2403:f440:ffff:ffff:ffff:ffff:ffff:ffff,IN 2403:f480::,2403:f481:ffff:ffff:ffff:ffff:ffff:ffff,US +2403:f4c0::,2403:f4c0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:f500::,2403:f500:ffff:ffff:ffff:ffff:ffff:ffff,HK +2403:f540::,2403:f540:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:f580::,2403:f580:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:f5c0::,2403:f5c0:ffff:ffff:ffff:ffff:ffff:ffff,PK 2403:f600::,2403:f600:ffff:ffff:ffff:ffff:ffff:ffff,NR +2403:f640::,2403:f640:ffff:ffff:ffff:ffff:ffff:ffff,PH 2403:f680::,2403:f680:ffff:ffff:ffff:ffff:ffff:ffff,IN +2403:f6c0::,2403:f6c0:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:f700::,2403:f700:ffff:ffff:ffff:ffff:ffff:ffff,NZ +2403:f740::,2403:f740:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:f780::,2403:f780:ffff:ffff:ffff:ffff:ffff:ffff,BD +2403:f7c0::,2403:f7c0:ffff:ffff:ffff:ffff:ffff:ffff,PK +2403:f840::,2403:f840:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:f880::,2403:f880:ffff:ffff:ffff:ffff:ffff:ffff,JP +2403:f8c0::,2403:f8c0:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:f940::,2403:f940:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:f980::,2403:f980:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:f9c0::,2403:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:fa00::,2403:fa00:ffff:ffff:ffff:ffff:ffff:ffff,HK +2403:fa40::,2403:fa40:ffff:ffff:ffff:ffff:ffff:ffff,NL +2403:fac0::,2403:fac0:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:fb00::,2403:fb00:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:fb40::,2403:fb40:ffff:ffff:ffff:ffff:ffff:ffff,TW 2403:fb80::,2403:fb80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:fbc0::,2403:fbc0:ffff:ffff:ffff:ffff:ffff:ffff,VU 2403:fc00::,2403:fc00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:fc40::,2403:fc40:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:fc80::,2403:fc80:ffff:ffff:ffff:ffff:ffff:ffff,ID +2403:fcc0::,2403:fcc0:ffff:ffff:ffff:ffff:ffff:ffff,PK 2403:fd00::,2403:fd00:ffff:ffff:ffff:ffff:ffff:ffff,AU +2403:fd40::,2403:fd40:ffff:ffff:ffff:ffff:ffff:ffff,MY 2403:fd80::,2403:fd80:ffff:ffff:ffff:ffff:ffff:ffff,ID +2403:fdc0::,2403:fdc0:ffff:ffff:ffff:ffff:ffff:ffff,AU 2403:fe00::,2403:fe00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2403:fe40::,2403:fe40:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:fe80::,2403:fe80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:fec0::,2403:fec0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2403:ff00::,2403:ff00:ffff:ffff:ffff:ffff:ffff:ffff,ID +2403:ff40::,2403:ff40:ffff:ffff:ffff:ffff:ffff:ffff,BD 2403:ff80::,2403:ff80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2403:ffc0::,2403:ffc0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2404::,2404:3f:ffff:ffff:ffff:ffff:ffff:ffff,TW +2404:40::,2404:40:ffff:ffff:ffff:ffff:ffff:ffff,ID 2404:80::,2404:8f:ffff:ffff:ffff:ffff:ffff:ffff,TW 2404:a0::,2404:a0:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2404:a8::,2404:a8:ffff:ffff:ffff:ffff:ffff:ffff,MY @@ -9059,26 +9634,48 @@ 2404:1a8::,2404:1a8:ffff:ffff:ffff:ffff:ffff:ffff,JP 2404:1b0::,2404:1b0:ffff:ffff:ffff:ffff:ffff:ffff,ID 2404:1b8::,2404:1b8:ffff:ffff:ffff:ffff:ffff:ffff,ID +2404:1c0::,2404:1c0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2404:200::,2404:200:ffff:ffff:ffff:ffff:ffff:ffff,JP +2404:240::,2404:240:ffff:ffff:ffff:ffff:ffff:ffff,CN 2404:280::,2404:280:ffff:ffff:ffff:ffff:ffff:ffff,CN +2404:2c0::,2404:2c0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2404:300::,2404:300:ffff:ffff:ffff:ffff:ffff:ffff,KH +2404:340::,2404:340:ffff:ffff:ffff:ffff:ffff:ffff,ID 2404:380::,2404:380:ffff:ffff:ffff:ffff:ffff:ffff,GU +2404:3c0::,2404:3c0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2404:400::,2404:400:ffff:ffff:ffff:ffff:ffff:ffff,ID +2404:440::,2404:440:ffff:ffff:ffff:ffff:ffff:ffff,CN 2404:480::,2404:480:ffff:ffff:ffff:ffff:ffff:ffff,CN +2404:4c0::,2404:4c0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2404:500::,2404:500:ffff:ffff:ffff:ffff:ffff:ffff,ID +2404:540::,2404:540:ffff:ffff:ffff:ffff:ffff:ffff,BD 2404:580::,2404:580:ffff:ffff:ffff:ffff:ffff:ffff,IN +2404:5c0::,2404:5c0:ffff:ffff:ffff:ffff:ffff:ffff,AU 2404:600::,2404:600:ffff:ffff:ffff:ffff:ffff:ffff,ID +2404:640::,2404:640:ffff:ffff:ffff:ffff:ffff:ffff,IN 2404:680::,2404:680:ffff:ffff:ffff:ffff:ffff:ffff,CN +2404:6c0::,2404:6c0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2404:700::,2404:700:ffff:ffff:ffff:ffff:ffff:ffff,KH +2404:740::,2404:740:ffff:ffff:ffff:ffff:ffff:ffff,IN 2404:780::,2404:780:ffff:ffff:ffff:ffff:ffff:ffff,AU +2404:7c0::,2404:7c0:ffff:ffff:ffff:ffff:ffff:ffff,ID 2404:800::,2404:800:ffff:ffff:ffff:ffff:ffff:ffff,KR +2404:840::,2404:840:ffff:ffff:ffff:ffff:ffff:ffff,TW 2404:880::,2404:880:ffff:ffff:ffff:ffff:ffff:ffff,ID +2404:8c0::,2404:8c0:ffff:ffff:ffff:ffff:ffff:ffff,HK +2404:940::,2404:940:ffff:ffff:ffff:ffff:ffff:ffff,HK 2404:980::,2404:980:ffff:ffff:ffff:ffff:ffff:ffff,BD +2404:9c0::,2404:9c0:ffff:ffff:ffff:ffff:ffff:ffff,BD 2404:a00::,2404:a00:ffff:ffff:ffff:ffff:ffff:ffff,JP +2404:a40::,2404:a40:ffff:ffff:ffff:ffff:ffff:ffff,BD 2404:a80::,2404:a80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2404:ac0::,2404:ac0:ffff:ffff:ffff:ffff:ffff:ffff,ID 2404:b00::,2404:b00:ffff:ffff:ffff:ffff:ffff:ffff,BD +2404:b40::,2404:b40:ffff:ffff:ffff:ffff:ffff:ffff,HK 2404:b80::,2404:b80:ffff:ffff:ffff:ffff:ffff:ffff,CN +2404:bc0::,2404:bc0:ffff:ffff:ffff:ffff:ffff:ffff,CN 2404:c00::,2404:c00:ffff:ffff:ffff:ffff:ffff:ffff,IN +2404:c40::,2404:c40:ffff:ffff:ffff:ffff:ffff:ffff,CN 2404:c80::,2404:c80:ffff:ffff:ffff:ffff:ffff:ffff,AU 2404:d00::,2404:d00:ffff:ffff:ffff:ffff:ffff:ffff,BD 2404:d80::,2404:d80:ffff:ffff:ffff:ffff:ffff:ffff,CN @@ -9534,10 +10131,15 @@ 2404:f801:30::,2404:f801:30::,AU 2404:f801:30::1,2404:f801:7fff:ffff:ffff:ffff:ffff:ffff,SG 2404:f801:8000::,2404:f801:803f:ffff:ffff:ffff:ffff:ffff,IN -2404:f801:8040::,2404:f801:8057:ffff:ffff:ffff:ffff:ffff,JP +2404:f801:8040::,2404:f801:804f:ffff:ffff:ffff:ffff:ffff,SG +2404:f801:8050::,2404:f801:8050:ffff:ffff:ffff:ffff:ffff,JP +2404:f801:8051::,2404:f801:8057:ffff:ffff:ffff:ffff:ffff,SG 2404:f801:8058::,2404:f801:8058:ffff:ffff:ffff:ffff:ffff,IN -2404:f801:8059::,2404:f801:807f:ffff:ffff:ffff:ffff:ffff,JP -2404:f801:8080::,2404:f801:e7ff:ffff:ffff:ffff:ffff:ffff,SG +2404:f801:8059::,2404:f801:8fff:ffff:ffff:ffff:ffff:ffff,SG +2404:f801:9000::,2404:f801:9000:17:ffff:ffff:ffff:ffff,CN +2404:f801:9000:18::,2404:f801:9000:1f:ffff:ffff:ffff:ffff,SG +2404:f801:9000:20::,2404:f801:93ff:ffff:ffff:ffff:ffff:ffff,CN +2404:f801:9400::,2404:f801:e7ff:ffff:ffff:ffff:ffff:ffff,SG 2404:f801:e800::,2404:f801:ebff:ffff:ffff:ffff:ffff:ffff,AU 2404:f801:ec00::,2404:f801:ffff:ffff:ffff:ffff:ffff:ffff,SG 2404:f880::,2404:f880:ffff:ffff:ffff:ffff:ffff:ffff,HK @@ -9973,7 +10575,6 @@ 2405:ba00:8800::,2405:ba00:ffff:ffff:ffff:ffff:ffff:ffff,IN 2405:ba80::,2405:ba80:ffff:ffff:ffff:ffff:ffff:ffff,HK 2405:bb00::,2405:bb00:ffff:ffff:ffff:ffff:ffff:ffff,CN -2405:bb80::,2405:bb80:ffff:ffff:ffff:ffff:ffff:ffff,CN 2405:bc00::,2405:bc00:ffff:ffff:ffff:ffff:ffff:ffff,AU 2405:bc80::,2405:bc80:ffff:ffff:ffff:ffff:ffff:ffff,NZ 2405:bd00::,2405:bd00:ffff:ffff:ffff:ffff:ffff:ffff,CN @@ -10681,7 +11282,10 @@ 2406:f280::,2406:f280:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:f300::,2406:f300:ffff:ffff:ffff:ffff:ffff:ffff,CN 2406:f380::,2406:f380:ffff:ffff:ffff:ffff:ffff:ffff,HK -2406:f400::,2406:f400:12f:ffff:ffff:ffff:ffff:ffff,SG +2406:f400::,2406:f400:ff:ffff:ffff:ffff:ffff:ffff,SG +2406:f400:100::,2406:f400:10f:ffff:ffff:ffff:ffff:ffff,HK +2406:f400:110::,2406:f400:11f:ffff:ffff:ffff:ffff:ffff,SG +2406:f400:120::,2406:f400:12f:ffff:ffff:ffff:ffff:ffff,ID 2406:f400:130::,2406:f400:13f:ffff:ffff:ffff:ffff:ffff,JP 2406:f400:140::,2406:f400:ffff:ffff:ffff:ffff:ffff:ffff,SG 2406:f480::,2406:f480:ffff:ffff:ffff:ffff:ffff:ffff,PK @@ -11207,8 +11811,11 @@ 240a:c000::,240a:cfff:ffff:ffff:ffff:ffff:ffff:ffff,CN 240b::,240b:3f:ffff:ffff:ffff:ffff:ffff:ffff,JP 240b:240::,240b:27f:ffff:ffff:ffff:ffff:ffff:ffff,JP +240b:4000::,240b:43ff:ffff:ffff:ffff:ffff:ffff:ffff,SG 240b:8000::,240b:87ff:ffff:ffff:ffff:ffff:ffff:ffff,CN +240b:c000::,240b:c0ff:ffff:ffff:ffff:ffff:ffff:ffff,JP 240c::,240c:f:ffff:ffff:ffff:ffff:ffff:ffff,CN +240c:4000::,240c:43ff:ffff:ffff:ffff:ffff:ffff:ffff,CN 240c:8000::,240c:87ff:ffff:ffff:ffff:ffff:ffff:ffff,CN 240d::,240d:1f:ffff:ffff:ffff:ffff:ffff:ffff,JP 240d:8000::,240d:80ff:ffff:ffff:ffff:ffff:ffff:ffff,CN @@ -11216,7 +11823,9 @@ 240f::,240f:1ff:ffff:ffff:ffff:ffff:ffff:ffff,JP 240f:8000::,240f:80ff:ffff:ffff:ffff:ffff:ffff:ffff,CN 2600::,2600:1:cfff:ffff:ffff:ffff:ffff:ffff,US -2600:1:d000::,2600:1:d03f:ffff:ffff:ffff:ffff:ffff,PR +2600:1:d000::,2600:1:d029:ffff:ffff:ffff:ffff:ffff,PR +2600:1:d02a::,2600:1:d02b:ffff:ffff:ffff:ffff:ffff,US +2600:1:d02c::,2600:1:d03f:ffff:ffff:ffff:ffff:ffff,PR 2600:1:d040::,2600:7:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:100::,2600:10f:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:200::,2600:20f:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -11313,7 +11922,7 @@ 2600:3000::,2600:3007:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:3100::,2600:310f:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:3200::,2600:320f:ffff:ffff:ffff:ffff:ffff:ffff,US -2600:3400::,2600:340f:ffff:ffff:ffff:ffff:ffff:ffff,US +2600:3300::,2600:340f:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:3800::,2600:380f:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:3c00::,2600:3c03:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:4000::,2600:40ff:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -11344,6 +11953,7 @@ 2600:b000::,2600:b00f:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:b400::,2600:b40f:ffff:ffff:ffff:ffff:ffff:ffff,US 2600:e000::,2600:e00f:ffff:ffff:ffff:ffff:ffff:ffff,CA +2600:ef00::,2600:ef00::ffff:ffff:ffff:ffff,US 2601::,2601:fff:ffff:ffff:ffff:ffff:ffff:ffff,US 2602::,2602:10f:ffff:ffff:ffff:ffff:ffff:ffff,US 2602:200::,2602:200:ffff:ffff:ffff:ffff:ffff:ffff,CA @@ -11353,6 +11963,27 @@ 2602:233::,2602:233:ffff:ffff:ffff:ffff:ffff:ffff,US 2602:240::,2602:25f:ffff:ffff:ffff:ffff:ffff:ffff,US 2602:300::,2602:3ff:ffff:ffff:ffff:ffff:ffff:ffff,US +2602:fe21::,2602:fe21:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe22::,2602:fe22:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe23::,2602:fe23:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe24::,2602:fe24:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe25::,2602:fe25:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe26::,2602:fe26:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe27::,2602:fe27:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe28::,2602:fe28:fff:ffff:ffff:ffff:ffff:ffff,CA +2602:fe29::,2602:fe29:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe2a::,2602:fe2a:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe2b::,2602:fe2b:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe2c::,2602:fe2c:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe2d::,2602:fe2d:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe2e::,2602:fe2e:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe2f::,2602:fe2f:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe30::,2602:fe30:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe31::,2602:fe31:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe32::,2602:fe32:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe33::,2602:fe33:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe34::,2602:fe34:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe35::,2602:fe35:fff:ffff:ffff:ffff:ffff:ffff,CA 2602:fe36::,2602:fe36:fff:ffff:ffff:ffff:ffff:ffff,CA 2602:fe37::,2602:fe37:fff:ffff:ffff:ffff:ffff:ffff,CA 2602:fe38::,2602:fe38:fff:ffff:ffff:ffff:ffff:ffff,US @@ -11406,8 +12037,7 @@ 2602:fe68::,2602:fe68:fff:ffff:ffff:ffff:ffff:ffff,US 2602:fe69::,2602:fe69:fff:ffff:ffff:ffff:ffff:ffff,CA 2602:fe6a::,2602:fe6a:fff:ffff:ffff:ffff:ffff:ffff,CA -2602:fe6b::,2602:fe6b:fff:ffff:ffff:ffff:ffff:ffff,US -2602:fe6c::,2602:fe6c:fff:ffff:ffff:ffff:ffff:ffff,US +2602:fe6b::,2602:fe6c:fff:ffff:ffff:ffff:ffff:ffff,US 2602:fe6d::,2602:fe6d:fff:ffff:ffff:ffff:ffff:ffff,US 2602:fe6e::,2602:fe6e:fff:ffff:ffff:ffff:ffff:ffff,US 2602:fe6f::,2602:fe6f:fff:ffff:ffff:ffff:ffff:ffff,US @@ -11524,7 +12154,6 @@ 2602:fedc::,2602:fedc:fff:ffff:ffff:ffff:ffff:ffff,US 2602:fedd::,2602:fedd:fff:ffff:ffff:ffff:ffff:ffff,CA 2602:fede::,2602:fede:fff:ffff:ffff:ffff:ffff:ffff,US -2602:fedf::,2602:fedf:fff:ffff:ffff:ffff:ffff:ffff,US 2602:fef0::,2602:fef0:fff:ffff:ffff:ffff:ffff:ffff,US 2602:fef1::,2602:fef1:fff:ffff:ffff:ffff:ffff:ffff,US 2602:fef2::,2602:fef2:fff:ffff:ffff:ffff:ffff:ffff,CA @@ -11774,8 +12403,8 @@ 2602:fffd::,2602:fffd:fff:ffff:ffff:ffff:ffff:ffff,CA 2602:ffff::,2602:ffff:fff:ffff:ffff:ffff:ffff:ffff,US 2603::,2603:1005:ffff:ffff:ffff:ffff:ffff:ffff,US -2603:1006::,2603:1006::5:ffff:ffff:ffff:ffff,ZA -2603:1006:0:6::,2603:1006::ffff:ffff:ffff:ffff:ffff,US +2603:1006::,2603:1006::b:ffff:ffff:ffff:ffff,ZA +2603:1006:0:c::,2603:1006::ffff:ffff:ffff:ffff:ffff,US 2603:1006:1::,2603:1006:1:7ff:ffff:ffff:ffff:ffff,ZA 2603:1006:1:800::,2603:1006:1:ffff:ffff:ffff:ffff:ffff,US 2603:1006:2::,2603:1006:2:7ff:ffff:ffff:ffff:ffff,ZA @@ -11814,7 +12443,9 @@ 2603:1020:600::,2603:1020:7ff:ffff:ffff:ffff:ffff:ffff,GB 2603:1020:800::,2603:1020:9ff:ffff:ffff:ffff:ffff:ffff,FR 2603:1020:a00::,2603:1020:bff:ffff:ffff:ffff:ffff:ffff,CH -2603:1020:c00::,2603:1023:ffff:ffff:ffff:ffff:ffff:ffff,US +2603:1020:c00::,2603:1020:dff:ffff:ffff:ffff:ffff:ffff,DE +2603:1020:e00::,2603:1020:eff:ffff:ffff:ffff:ffff:ffff,NO +2603:1020:f00::,2603:1023:ffff:ffff:ffff:ffff:ffff:ffff,US 2603:1024::,2603:1024:ff:ffff:ffff:ffff:ffff:ffff,IE 2603:1024:100::,2603:1025:ffff:ffff:ffff:ffff:ffff:ffff,US 2603:1026::,2603:1026:2:ffff:ffff:ffff:ffff:ffff,IE @@ -11862,7 +12493,8 @@ 2603:1026:1400::,2603:1026:14ff:ffff:ffff:ffff:ffff:ffff,FI 2603:1026:1500::,2603:1026:16ff:ffff:ffff:ffff:ffff:ffff,GB 2603:1026:1700::,2603:1026:17ff:ffff:ffff:ffff:ffff:ffff,AT -2603:1026:1800::,2603:1027::1:ffff:ffff:ffff:ffff,US +2603:1026:1800::,2603:1026:19ff:ffff:ffff:ffff:ffff:ffff,GB +2603:1026:1a00::,2603:1027::1:ffff:ffff:ffff:ffff,US 2603:1027:0:2::,2603:1027::3:ffff:ffff:ffff:ffff,NL 2603:1027:0:4::,2603:1027::4:ffff:ffff:ffff:ffff,IE 2603:1027:0:5::,2603:1027::5:ffff:ffff:ffff:ffff,US @@ -11963,7 +12595,11 @@ 2603:1046:c00::,2603:1046:c00:1:ffff:ffff:ffff:ffff,HK 2603:1046:c00:2::,2603:1046:c00:3:ffff:ffff:ffff:ffff,JP 2603:1046:c00:4::,2603:1046:c00:11:ffff:ffff:ffff:ffff,AE -2603:1046:c00:12::,2603:1046:c00:ffff:ffff:ffff:ffff:ffff,US +2603:1046:c00:12::,2603:1046:c00:18:ffff:ffff:ffff:ffff,SG +2603:1046:c00:19::,2603:1046:c00:1a:ffff:ffff:ffff:ffff,AE +2603:1046:c00:1b::,2603:1046:c00:1b:ffff:ffff:ffff:ffff,US +2603:1046:c00:1c::,2603:1046:c00:1f:ffff:ffff:ffff:ffff,SG +2603:1046:c00:20::,2603:1046:c00:ffff:ffff:ffff:ffff:ffff,US 2603:1046:c01::,2603:1046:c01:ffff:ffff:ffff:ffff:ffff,SG 2603:1046:c02::,2603:1046:c02:ffff:ffff:ffff:ffff:ffff,HK 2603:1046:c03::,2603:1046:c03:ffff:ffff:ffff:ffff:ffff,MY @@ -12027,7 +12663,8 @@ 2603:1047:600::,2603:1047:7ff:ffff:ffff:ffff:ffff:ffff,IN 2603:1047:800::,2603:1047:8ff:ffff:ffff:ffff:ffff:ffff,MY 2603:1047:900::,2603:1047:aff:ffff:ffff:ffff:ffff:ffff,AE -2603:1047:b00::,2603:1048:ffff:ffff:ffff:ffff:ffff:ffff,US +2603:1047:b00::,2603:1047:bff:ffff:ffff:ffff:ffff:ffff,KR +2603:1047:c00::,2603:1048:ffff:ffff:ffff:ffff:ffff:ffff,US 2603:1049::,2603:1049:3:ffff:ffff:ffff:ffff:ffff,SG 2603:1049:4::,2603:1049:1ff:ffff:ffff:ffff:ffff:ffff,US 2603:1049:200::,2603:1049:202:ffff:ffff:ffff:ffff:ffff,HK @@ -12184,7 +12821,8 @@ 2604:1700::,2604:1700:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:1740::,2604:1740:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:1780::,2604:1780:ffff:ffff:ffff:ffff:ffff:ffff,KY -2604:17c0::,2604:17c0:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:17c0::,2604:17c0:3f:ffff:ffff:ffff:ffff:ffff,US +2604:17c0:40::,2604:17c0:ffff:ffff:ffff:ffff:ffff:ffff,CA 2604:1800::,2604:1800:ffff:ffff:ffff:ffff:ffff:ffff,GP 2604:1840::,2604:1840:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:1880::,2604:1880:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -12840,7 +13478,6 @@ 2604:c0c0::,2604:c0c0:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:c100::,2604:c100:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:c140::,2604:c140:ffff:ffff:ffff:ffff:ffff:ffff,US -2604:c180::,2604:c180:ffff:ffff:ffff:ffff:ffff:ffff,VI 2604:c1c0::,2604:c1c0:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:c200::,2604:c200:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:c240::,2604:c240:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -12996,7 +13633,31 @@ 2604:ca00:1b7:8000::,2604:ca00:1b7:ffff:ffff:ffff:ffff:ffff,NO 2604:ca00:1b8::,2604:ca00:1b8:7fff:ffff:ffff:ffff:ffff,PT 2604:ca00:1b8:8000::,2604:ca00:1b8:ffff:ffff:ffff:ffff:ffff,SE -2604:ca00:1b9::,2604:ca00:ffff:ffff:ffff:ffff:ffff:ffff,US +2604:ca00:1b9::,2604:ca00:1c0:ffff:ffff:ffff:ffff:ffff,US +2604:ca00:1c1::,2604:ca00:1c1:ffff:ffff:ffff:ffff:ffff,CA +2604:ca00:1c2::,2604:ca00:1c2:ffff:ffff:ffff:ffff:ffff,MX +2604:ca00:1c3::,2604:ca00:1c3:ffff:ffff:ffff:ffff:ffff,PR +2604:ca00:1c4::,2604:ca00:1c4:ffff:ffff:ffff:ffff:ffff,VI +2604:ca00:1c5::,2604:ca00:1c5:ffff:ffff:ffff:ffff:ffff,UM +2604:ca00:1c6::,2604:ca00:1d0:ffff:ffff:ffff:ffff:ffff,US +2604:ca00:1d1::,2604:ca00:1d1:ffff:ffff:ffff:ffff:ffff,CA +2604:ca00:1d2::,2604:ca00:1d2:ffff:ffff:ffff:ffff:ffff,MX +2604:ca00:1d3::,2604:ca00:1d3:ffff:ffff:ffff:ffff:ffff,PR +2604:ca00:1d4::,2604:ca00:1d4:ffff:ffff:ffff:ffff:ffff,VI +2604:ca00:1d5::,2604:ca00:1d5:ffff:ffff:ffff:ffff:ffff,UM +2604:ca00:1d6::,2604:ca00:1e0:ffff:ffff:ffff:ffff:ffff,US +2604:ca00:1e1::,2604:ca00:1e1:ffff:ffff:ffff:ffff:ffff,CA +2604:ca00:1e2::,2604:ca00:1e2:ffff:ffff:ffff:ffff:ffff,MX +2604:ca00:1e3::,2604:ca00:1e3:ffff:ffff:ffff:ffff:ffff,PR +2604:ca00:1e4::,2604:ca00:1e4:ffff:ffff:ffff:ffff:ffff,VI +2604:ca00:1e5::,2604:ca00:1e5:ffff:ffff:ffff:ffff:ffff,UM +2604:ca00:1e6::,2604:ca00:1f0:ffff:ffff:ffff:ffff:ffff,US +2604:ca00:1f1::,2604:ca00:1f1:ffff:ffff:ffff:ffff:ffff,CA +2604:ca00:1f2::,2604:ca00:1f2:ffff:ffff:ffff:ffff:ffff,MX +2604:ca00:1f3::,2604:ca00:1f3:ffff:ffff:ffff:ffff:ffff,PR +2604:ca00:1f4::,2604:ca00:1f4:ffff:ffff:ffff:ffff:ffff,VI +2604:ca00:1f5::,2604:ca00:1f5:ffff:ffff:ffff:ffff:ffff,UM +2604:ca00:1f6::,2604:ca00:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:ca40::,2604:ca40:ffff:ffff:ffff:ffff:ffff:ffff,PM 2604:ca80::,2604:ca80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:cac0::,2604:cac0:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -13077,7 +13738,6 @@ 2604:de40::,2604:de40:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:de80::,2604:de80:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:dec0::,2604:dec0:ffff:ffff:ffff:ffff:ffff:ffff,US -2604:df00::,2604:df00:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:df40::,2604:df40:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:dfc0::,2604:dfc0:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:e000::,2604:e000:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -13200,33 +13860,65 @@ 2604:ff00::,2604:ff00:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:ff40::,2604:ff40:ffff:ffff:ffff:ffff:ffff:ffff,US 2604:ff80::,2604:ff80:ffff:ffff:ffff:ffff:ffff:ffff,CA +2604:ffc0::,2604:ffc0:ffff:ffff:ffff:ffff:ffff:ffff,US 2605::,2605::ffff:ffff:ffff:ffff:ffff:ffff,US +2605:40::,2605:40:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:80::,2605:80:ffff:ffff:ffff:ffff:ffff:ffff,CA +2605:c0::,2605:c0:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:100::,2605:100:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:140::,2605:140:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:180::,2605:180:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:1c0::,2605:1c0:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:240::,2605:240:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:280::,2605:280:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:2c0::,2605:2c0:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:300::,2605:300:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:340::,2605:340:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:380::,2605:380:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:3c0::,2605:3c0:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:400::,2605:400:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:440::,2605:440:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:480::,2605:480:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:4c0::,2605:4c0:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:500::,2605:500:ffff:ffff:ffff:ffff:ffff:ffff,CA +2605:540::,2605:540:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:5c0::,2605:5c0:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:600::,2605:600:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:640::,2605:640:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:680::,2605:680:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:6c0::,2605:6c0:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:700::,2605:700:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:740::,2605:740:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:780::,2605:780:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:7c0::,2605:7c0:ffff:ffff:ffff:ffff:ffff:ffff,CA 2605:800::,2605:800:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:840::,2605:840:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:880::,2605:880:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:8c0::,2605:8c0:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:900::,2605:900:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:940::,2605:940:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:980::,2605:980:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:9c0::,2605:9c0:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:a00::,2605:a00:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:a40::,2605:a40:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:a80::,2605:a80:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:ac0::,2605:ac0:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:b40::,2605:b40:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:b80::,2605:b81:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:bc0::,2605:bc0:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:c00::,2605:c00:ffff:ffff:ffff:ffff:ffff:ffff,CA +2605:c40::,2605:c40:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:cc0::,2605:cc0:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:d00::,2605:d00:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:d40::,2605:d40:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:d80::,2605:d80:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:dc0::,2605:dc0:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:e00::,2605:e00:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:e40::,2605:e40:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:e80::,2605:e80:ffff:ffff:ffff:ffff:ffff:ffff,BM +2605:ec0::,2605:ec0:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:f00::,2605:f00:ffff:ffff:ffff:ffff:ffff:ffff,US +2605:f40::,2605:f40:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:f80::,2605:f80:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:1000::,2605:1000:ffff:ffff:ffff:ffff:ffff:ffff,CA 2605:1080::,2605:1080:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -13319,8 +14011,8 @@ 2605:3e80:700::,2605:3e80:700:f:ffff:ffff:ffff:ffff,US 2605:3e80:700:10::,2605:3e80:700:10:ffff:ffff:ffff:ffff,DE 2605:3e80:700:11::,2605:3e80:7ff:ffff:ffff:ffff:ffff:ffff,US -2605:3e80:800::,2605:3e80:8ff:ffff:ffff:ffff:ffff:ffff,FR -2605:3e80:900::,2605:3e80:11ff:ffff:ffff:ffff:ffff:ffff,US +2605:3e80:800::,2605:3e80:bff:ffff:ffff:ffff:ffff:ffff,FR +2605:3e80:c00::,2605:3e80:11ff:ffff:ffff:ffff:ffff:ffff,US 2605:3e80:1200::,2605:3e80:1200:ffff:ffff:ffff:ffff:ffff,CA 2605:3e80:1201::,2605:3e80:17ff:ffff:ffff:ffff:ffff:ffff,US 2605:3e80:1800::,2605:3e80:1bff:ffff:ffff:ffff:ffff:ffff,JP @@ -13528,7 +14220,6 @@ 2605:aa80::,2605:aa80:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:ab00::,2605:ab00:ffff:ffff:ffff:ffff:ffff:ffff,CA 2605:ab80::,2605:ab80:ffff:ffff:ffff:ffff:ffff:ffff,US -2605:ac00::,2605:ac00:ffff:ffff:ffff:ffff:ffff:ffff,CA 2605:ac80::,2605:ac80:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:ad00::,2605:ad00:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:ad80::,2605:ad80:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -13555,7 +14246,7 @@ 2605:b880::,2605:b880:ffff:ffff:ffff:ffff:ffff:ffff,CA 2605:b900::,2605:b900:ffff:ffff:ffff:ffff:ffff:ffff,CA 2605:b980::,2605:b980:ffff:ffff:ffff:ffff:ffff:ffff,US -2605:ba00::,2605:ba00:ffff:ffff:ffff:ffff:ffff:ffff,PR +2605:ba00::,2605:ba00:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:ba80::,2605:ba80:ffff:ffff:ffff:ffff:ffff:ffff,CA 2605:bb00::,2605:bb00:ffff:ffff:ffff:ffff:ffff:ffff,US 2605:bb80::,2605:bb80:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -13727,11 +14418,8 @@ 2606:a80::,2606:a80:ffff:ffff:ffff:ffff:ffff:ffff,CA 2606:b00::,2606:b00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:b80::,2606:b80:ffff:ffff:ffff:ffff:ffff:ffff,BM -2606:c00::,2606:c00:4:ffff:ffff:ffff:ffff:ffff,US -2606:c00:5::,2606:c00:5:7ff:ffff:ffff:ffff:ffff,TW -2606:c00:5:800::,2606:c00:5:fff:ffff:ffff:ffff:ffff,CN -2606:c00:5:1000::,2606:c00:5:ffff:ffff:ffff:ffff:ffff,TW -2606:c00:6::,2606:c00:ffff:ffff:ffff:ffff:ffff:ffff,US +2606:c00::,2606:c00:3ff:ffff:ffff:ffff:ffff:ffff,TW +2606:c00:400::,2606:c00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:d00::,2606:d00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:d80::,2606:d80:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:e80::,2606:e80:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -14034,6 +14722,7 @@ 2606:8c00::,2606:8c00:ffff:ffff:ffff:ffff:ffff:ffff,CA 2606:8c80::,2606:8c80:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:8d00::,2606:8d00:ffff:ffff:ffff:ffff:ffff:ffff,US +2606:8d80::,2606:8d80:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:8e80::,2606:8e80:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:8f00::,2606:8f00:ffff:ffff:ffff:ffff:ffff:ffff,US 2606:8f80::,2606:8f80:ffff:ffff:ffff:ffff:ffff:ffff,CA @@ -14259,7 +14948,6 @@ 2606:ff80::,2606:ff80:ffff:ffff:ffff:ffff:ffff:ffff,US 2607::,2607::ffff:ffff:ffff:ffff:ffff:ffff,CA 2607:80::,2607:80:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:90::,2607:90:3ff:ffff:ffff:ffff:ffff:ffff,US 2607:100::,2607:100:ffff:ffff:ffff:ffff:ffff:ffff,CA 2607:180::,2607:180:ffff:ffff:ffff:ffff:ffff:ffff,CA 2607:200::,2607:200:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -14448,7 +15136,6 @@ 2607:5f80::,2607:5f80:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:6000::,2607:600f:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:6100::,2607:6100:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:6180::,2607:6180:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:6200::,2607:6200:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:6280::,2607:6280:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:6300::,2607:6300:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -14522,10 +15209,11 @@ 2607:8580::,2607:8580:ffff:ffff:ffff:ffff:ffff:ffff,VI 2607:8600::,2607:8600:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:8680::,2607:8680:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:8700::,2607:8700:104:ffff:ffff:ffff:ffff:ffff,US +2607:8700::,2607:8700:100:ffff:ffff:ffff:ffff:ffff,CA +2607:8700:101::,2607:8700:104:ffff:ffff:ffff:ffff:ffff,US 2607:8700:105::,2607:8700:105:ffff:ffff:ffff:ffff:ffff,NL -2607:8700:106::,2607:8700:3ff:ffff:ffff:ffff:ffff:ffff,US -2607:8700:400::,2607:8700:ffff:ffff:ffff:ffff:ffff:ffff,CA +2607:8700:106::,2607:8700:109:ffff:ffff:ffff:ffff:ffff,US +2607:8700:10a::,2607:8700:ffff:ffff:ffff:ffff:ffff:ffff,CA 2607:8780::,2607:8780:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:8800::,2607:8800:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:8880::,2607:8880:ffff:ffff:ffff:ffff:ffff:ffff,CA @@ -14756,8 +15444,8 @@ 2607:f0d8::,2607:f0dc:4fff:ffff:ffff:ffff:ffff:ffff,US 2607:f0dc:5000::,2607:f0dc:5000:ffff:ffff:ffff:ffff:ffff,TW 2607:f0dc:5001::,2607:f0dc:5001:ffff:ffff:ffff:ffff:ffff,US -2607:f0dc:5002::,2607:f0dc:53ff:ffff:ffff:ffff:ffff:ffff,TW -2607:f0dc:5400::,2607:f0e0:ffff:ffff:ffff:ffff:ffff:ffff,US +2607:f0dc:5002::,2607:f0dc:50ff:ffff:ffff:ffff:ffff:ffff,TW +2607:f0dc:5100::,2607:f0e0:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f0e8::,2607:f0e8:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f0f8::,2607:f0f8:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f100::,2607:f100:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -14871,7 +15559,6 @@ 2607:f498::,2607:f498:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f4a0::,2607:f4a0:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f4a8::,2607:f4a8:ffff:ffff:ffff:ffff:ffff:ffff,CA -2607:f4b0::,2607:f4b0:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f4b8::,2607:f4b8:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f4c0::,2607:f4c0:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:f4c8::,2607:f4c8:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -15116,7 +15803,9 @@ 2607:fcc0:4000::,2607:fcc0:5fff:ffff:ffff:ffff:ffff:ffff,GB 2607:fcc0:6000::,2607:fcc0:ffff:ffff:ffff:ffff:ffff:ffff,CA 2607:fcc8::,2607:fcc8:ffff:ffff:ffff:ffff:ffff:ffff,US -2607:fcd0::,2607:fcd0:ffff:ffff:ffff:ffff:ffff:ffff,US +2607:fcd0::,2607:fcd0:cd3f:ffff:ffff:ffff:ffff:ffff,US +2607:fcd0:cd40::,2607:fcd0:cd7f:ffff:ffff:ffff:ffff:ffff,NL +2607:fcd0:cd80::,2607:fcd0:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fcd8::,2607:fcd8:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fce0::,2607:fce0:ffff:ffff:ffff:ffff:ffff:ffff,US 2607:fce8::,2607:fce8:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -15470,40 +16159,104 @@ 2620:0:ee0::,2620::ee0:ffff:ffff:ffff:ffff:ffff,US 2620:0:ef0::,2620::ef0:ffff:ffff:ffff:ffff:ffff,US 2620:0:f00::,2620::f7f:ffff:ffff:ffff:ffff:ffff,US -2620:0:1000::,2620::1023:ffff:ffff:ffff:ffff:ffff,US +2620:0:1000::,2620::100b:ffff:ffff:ffff:ffff:ffff,US +2620:0:100c::,2620::100c:ffff:ffff:ffff:ffff:ffff,CA +2620:0:100d::,2620::1010:ffff:ffff:ffff:ffff:ffff,US +2620:0:1011::,2620::1011:ffff:ffff:ffff:ffff:ffff,AR +2620:0:1012::,2620::1016:ffff:ffff:ffff:ffff:ffff,US +2620:0:1017::,2620::1017:ffff:ffff:ffff:ffff:ffff,CO +2620:0:1018::,2620::1023:ffff:ffff:ffff:ffff:ffff,US 2620:0:1024::,2620::1027:ffff:ffff:ffff:ffff:ffff,BR -2620:0:1028::,2620::103f:ffff:ffff:ffff:ffff:ffff,US +2620:0:1028::,2620::1033:ffff:ffff:ffff:ffff:ffff,US +2620:0:1034::,2620::1035:ffff:ffff:ffff:ffff:ffff,CA +2620:0:1036::,2620::103f:ffff:ffff:ffff:ffff:ffff,US 2620:0:1040::,2620::1041:ffff:ffff:ffff:ffff:ffff,IE 2620:0:1042::,2620::1042:ffff:ffff:ffff:ffff:ffff,GB -2620:0:1043::,2620::1043:ffff:ffff:ffff:ffff:ffff,IE +2620:0:1043::,2620::1043:ffff:ffff:ffff:ffff:ffff,SE 2620:0:1044::,2620::1045:ffff:ffff:ffff:ffff:ffff,IL 2620:0:1046::,2620::1047:ffff:ffff:ffff:ffff:ffff,PL -2620:0:1048::,2620::104f:ffff:ffff:ffff:ffff:ffff,DE -2620:0:1050::,2620::1054:ffff:ffff:ffff:ffff:ffff,IE +2620:0:1048::,2620::1048:ffff:ffff:ffff:ffff:ffff,IL +2620:0:1049::,2620::1049:ffff:ffff:ffff:ffff:ffff,DE +2620:0:104a::,2620::104a:ffff:ffff:ffff:ffff:ffff,AE +2620:0:104b::,2620::104b:ffff:ffff:ffff:ffff:ffff,NL +2620:0:104c::,2620::104e:ffff:ffff:ffff:ffff:ffff,DE +2620:0:104f::,2620::1050:ffff:ffff:ffff:ffff:ffff,GB +2620:0:1051::,2620::1051:ffff:ffff:ffff:ffff:ffff,ES +2620:0:1052::,2620::1052:ffff:ffff:ffff:ffff:ffff,IE +2620:0:1053::,2620::1053:ffff:ffff:ffff:ffff:ffff,FR +2620:0:1054::,2620::1054:ffff:ffff:ffff:ffff:ffff,US 2620:0:1055::,2620::1055:ffff:ffff:ffff:ffff:ffff,BE -2620:0:1056::,2620::1057:ffff:ffff:ffff:ffff:ffff,IE -2620:0:1058::,2620::105f:ffff:ffff:ffff:ffff:ffff,CH -2620:0:1060::,2620::106f:ffff:ffff:ffff:ffff:ffff,RU -2620:0:1070::,2620::107f:ffff:ffff:ffff:ffff:ffff,GB +2620:0:1056::,2620::1056:ffff:ffff:ffff:ffff:ffff,FR +2620:0:1057::,2620::1057:ffff:ffff:ffff:ffff:ffff,US +2620:0:1058::,2620::1058:ffff:ffff:ffff:ffff:ffff,CH +2620:0:1059::,2620::1059:ffff:ffff:ffff:ffff:ffff,DK +2620:0:105a::,2620::105f:ffff:ffff:ffff:ffff:ffff,CH +2620:0:1060::,2620::1060:ffff:ffff:ffff:ffff:ffff,FI +2620:0:1061::,2620::1061:ffff:ffff:ffff:ffff:ffff,CH +2620:0:1062::,2620::1065:ffff:ffff:ffff:ffff:ffff,HU +2620:0:1066::,2620::1066:ffff:ffff:ffff:ffff:ffff,KE +2620:0:1067::,2620::1068:ffff:ffff:ffff:ffff:ffff,HU +2620:0:1069::,2620::1069:ffff:ffff:ffff:ffff:ffff,PL +2620:0:106a::,2620::106a:ffff:ffff:ffff:ffff:ffff,PT +2620:0:106b::,2620::106b:ffff:ffff:ffff:ffff:ffff,RU +2620:0:106c::,2620::106e:ffff:ffff:ffff:ffff:ffff,HU +2620:0:106f::,2620::106f:ffff:ffff:ffff:ffff:ffff,CZ +2620:0:1070::,2620::1070:ffff:ffff:ffff:ffff:ffff,DE +2620:0:1071::,2620::1071:ffff:ffff:ffff:ffff:ffff,IT +2620:0:1072::,2620::1073:ffff:ffff:ffff:ffff:ffff,GB +2620:0:1074::,2620::1075:ffff:ffff:ffff:ffff:ffff,IE +2620:0:1076::,2620::1076:ffff:ffff:ffff:ffff:ffff,TR +2620:0:1077::,2620::1077:ffff:ffff:ffff:ffff:ffff,IE +2620:0:1078::,2620::1078:ffff:ffff:ffff:ffff:ffff,NG +2620:0:1079::,2620::1079:ffff:ffff:ffff:ffff:ffff,DK +2620:0:107a::,2620::107a:ffff:ffff:ffff:ffff:ffff,IE +2620:0:107b::,2620::107b:ffff:ffff:ffff:ffff:ffff,UA +2620:0:107c::,2620::107c:ffff:ffff:ffff:ffff:ffff,GR +2620:0:107d::,2620::107e:ffff:ffff:ffff:ffff:ffff,IE +2620:0:107f::,2620::107f:ffff:ffff:ffff:ffff:ffff,BE 2620:0:1080::,2620::10c7:ffff:ffff:ffff:ffff:ffff,US -2620:0:10c8::,2620::10cf:ffff:ffff:ffff:ffff:ffff,CN -2620:0:10d0::,2620::10ff:ffff:ffff:ffff:ffff:ffff,US +2620:0:10c8::,2620::10c8:ffff:ffff:ffff:ffff:ffff,CN +2620:0:10c9::,2620::10c9:ffff:ffff:ffff:ffff:ffff,DE +2620:0:10ca::,2620::10cb:ffff:ffff:ffff:ffff:ffff,CN +2620:0:10cc::,2620::10cc:ffff:ffff:ffff:ffff:ffff,TW +2620:0:10cd::,2620::10cf:ffff:ffff:ffff:ffff:ffff,CN +2620:0:10d0::,2620::10e7:ffff:ffff:ffff:ffff:ffff,US +2620:0:10e8::,2620::10e8:ffff:ffff:ffff:ffff:ffff,AR +2620:0:10e9::,2620::10e9:ffff:ffff:ffff:ffff:ffff,US +2620:0:10ea::,2620::10eb:ffff:ffff:ffff:ffff:ffff,AR +2620:0:10ec::,2620::10ff:ffff:ffff:ffff:ffff:ffff,US 2620:0:1400::,2620::143f:ffff:ffff:ffff:ffff:ffff,US 2620:0:1500::,2620::157f:ffff:ffff:ffff:ffff:ffff,US 2620:0:1600::,2620::167f:ffff:ffff:ffff:ffff:ffff,US 2620:0:1700::,2620::170f:ffff:ffff:ffff:ffff:ffff,US 2620:0:1800::,2620::181f:ffff:ffff:ffff:ffff:ffff,US -2620:0:1a00::,2620::1a80:ffff:ffff:ffff:ffff:ffff,US +2620:0:1a00::,2620::1a00:ffff:ffff:ffff:ffff:ffff,US +2620:0:1a10::,2620::1a10:ffff:ffff:ffff:ffff:ffff,US +2620:0:1a20::,2620::1a20:ffff:ffff:ffff:ffff:ffff,US +2620:0:1a30::,2620::1a30:ffff:ffff:ffff:ffff:ffff,US +2620:0:1a40::,2620::1a40:ffff:ffff:ffff:ffff:ffff,US +2620:0:1a50::,2620::1a50:ffff:ffff:ffff:ffff:ffff,US +2620:0:1a70::,2620::1a70:ffff:ffff:ffff:ffff:ffff,US +2620:0:1a80::,2620::1a80:ffff:ffff:ffff:ffff:ffff,US 2620:0:1aa0::,2620::1aa0:ffff:ffff:ffff:ffff:ffff,US 2620:0:1ab0::,2620::1ab0:ffff:ffff:ffff:ffff:ffff,US 2620:0:1ac0::,2620::1ac0:ffff:ffff:ffff:ffff:ffff,US 2620:0:1ad0::,2620::1ad7:ffff:ffff:ffff:ffff:ffff,US 2620:0:1ae0::,2620::1ae0:ffff:ffff:ffff:ffff:ffff,US 2620:0:1af0::,2620::1af0:ffff:ffff:ffff:ffff:ffff,CA -2620:0:1b00::,2620::1cff:ffff:ffff:ffff:ffff:ffff,US +2620:0:1b00::,2620::1b07:ffff:ffff:ffff:ffff:ffff,US +2620:0:1c00::,2620::1cff:ffff:ffff:ffff:ffff:ffff,US 2620:0:2000::,2620::24ff:ffff:ffff:ffff:ffff:ffff,US -2620:0:2800::,2620::2fff:ffff:ffff:ffff:ffff:ffff,US -2620:0:5000::,2620::510f:ffff:ffff:ffff:ffff:ffff,US +2620:0:2800::,2620::290f:ffff:ffff:ffff:ffff:ffff,US +2620:0:2a00::,2620::2fff:ffff:ffff:ffff:ffff:ffff,US +2620:0:5000::,2620::5000:ffff:ffff:ffff:ffff:ffff,US +2620:0:5010::,2620::5010:ffff:ffff:ffff:ffff:ffff,US +2620:0:5030::,2620::5030:ffff:ffff:ffff:ffff:ffff,US +2620:0:5040::,2620::5040:ffff:ffff:ffff:ffff:ffff,US +2620:0:5050::,2620::5050:ffff:ffff:ffff:ffff:ffff,US +2620:0:5060::,2620::5060:ffff:ffff:ffff:ffff:ffff,CA +2620:0:5070::,2620::5070:ffff:ffff:ffff:ffff:ffff,US +2620:0:5080::,2620::510f:ffff:ffff:ffff:ffff:ffff,US 2620:0:5200::,2620::53ff:ffff:ffff:ffff:ffff:ffff,US 2620:0:7f00::,2620::7f00:ffff:ffff:ffff:ffff:ffff,CA 2620:0:aa00::,2620::aa00:ffff:ffff:ffff:ffff:ffff,US @@ -15517,7 +16270,7 @@ 2620:1:c000::,2620:1:c000:ffff:ffff:ffff:ffff:ffff,US 2620:1:e000::,2620:1:e000:ffff:ffff:ffff:ffff:ffff,US 2620:2::,2620:2::ffff:ffff:ffff:ffff:ffff,US -2620:2:2000::,2620:2:2000:ffff:ffff:ffff:ffff:ffff,US +2620:2:2000::,2620:2:23ff:ffff:ffff:ffff:ffff:ffff,US 2620:2:4000::,2620:2:4000:ffff:ffff:ffff:ffff:ffff,CA 2620:2:6000::,2620:2:600f:ffff:ffff:ffff:ffff:ffff,US 2620:2:8000::,2620:2:8000:ffff:ffff:ffff:ffff:ffff,US @@ -15531,10 +16284,9 @@ 2620:3:8000::,2620:3:8000:ffff:ffff:ffff:ffff:ffff,US 2620:3:a000::,2620:3:a000:ffff:ffff:ffff:ffff:ffff,CA 2620:3:c000::,2620:3:c000:ffff:ffff:ffff:ffff:ffff,US -2620:3:e000::,2620:3:e000:ffff:ffff:ffff:ffff:ffff,US 2620:4::,2620:4::ffff:ffff:ffff:ffff:ffff,US 2620:4:2000::,2620:4:2000:ffff:ffff:ffff:ffff:ffff,US -2620:4:4000::,2620:4:4000:ffff:ffff:ffff:ffff:ffff,US +2620:4:4000::,2620:4:43ff:ffff:ffff:ffff:ffff:ffff,US 2620:4:6000::,2620:4:6000:ffff:ffff:ffff:ffff:ffff,US 2620:4:8000::,2620:4:8000:ffff:ffff:ffff:ffff:ffff,US 2620:4:a000::,2620:4:a000:ffff:ffff:ffff:ffff:ffff,US @@ -15637,7 +16389,7 @@ 2620:12:8000::,2620:12:8000:ffff:ffff:ffff:ffff:ffff,US 2620:12:a000::,2620:12:a000:ffff:ffff:ffff:ffff:ffff,US 2620:12:c000::,2620:12:c000:ffff:ffff:ffff:ffff:ffff,US -2620:13::,2620:13::ffff:ffff:ffff:ffff:ffff,CA +2620:13::,2620:13:3ff:ffff:ffff:ffff:ffff:ffff,CA 2620:13:2000::,2620:13:2000:ffff:ffff:ffff:ffff:ffff,CA 2620:13:4000::,2620:13:4000:ffff:ffff:ffff:ffff:ffff,US 2620:13:6000::,2620:13:6000:ffff:ffff:ffff:ffff:ffff,CA @@ -15713,7 +16465,7 @@ 2620:1c:c000::,2620:1c:c000:ffff:ffff:ffff:ffff:ffff,US 2620:1c:e000::,2620:1c:e000:ffff:ffff:ffff:ffff:ffff,US 2620:1d::,2620:1d:f:ffff:ffff:ffff:ffff:ffff,US -2620:1d:2000::,2620:1d:2000:ffff:ffff:ffff:ffff:ffff,US +2620:1d:2000::,2620:1d:23ff:ffff:ffff:ffff:ffff:ffff,US 2620:1d:4000::,2620:1d:4000:ffff:ffff:ffff:ffff:ffff,US 2620:1d:6000::,2620:1d:6000:ffff:ffff:ffff:ffff:ffff,US 2620:1d:8000::,2620:1d:8000:ffff:ffff:ffff:ffff:ffff,US @@ -15768,9 +16520,9 @@ 2620:23:e000::,2620:23:e000:ffff:ffff:ffff:ffff:ffff,US 2620:24::,2620:24:1f:ffff:ffff:ffff:ffff:ffff,US 2620:24:40c0::,2620:24:40c0:ffff:ffff:ffff:ffff:ffff,US -2620:24:8000::,2620:24:83ff:ffff:ffff:ffff:ffff:ffff,US +2620:24:8080::,2620:24:8080:ffff:ffff:ffff:ffff:ffff,US 2620:24:c040::,2620:24:c040:ffff:ffff:ffff:ffff:ffff,US -2620:25::,2620:25:3ff:ffff:ffff:ffff:ffff:ffff,US +2620:25::,2620:25::ffff:ffff:ffff:ffff:ffff,US 2620:25:2000::,2620:25:2000:ffff:ffff:ffff:ffff:ffff,US 2620:25:4000::,2620:25:4000:ffff:ffff:ffff:ffff:ffff,US 2620:25:6000::,2620:25:6000:ffff:ffff:ffff:ffff:ffff,CA @@ -15823,7 +16575,7 @@ 2620:2d:a000::,2620:2d:a000:ffff:ffff:ffff:ffff:ffff,US 2620:2d:c000::,2620:2d:c00f:ffff:ffff:ffff:ffff:ffff,US 2620:2e::,2620:2e:3f:ffff:ffff:ffff:ffff:ffff,US -2620:2e:40c0::,2620:2e:40c0:ffff:ffff:ffff:ffff:ffff,US +2620:2e:40c0::,2620:2e:40cf:ffff:ffff:ffff:ffff:ffff,US 2620:2e:c040::,2620:2e:c040:ffff:ffff:ffff:ffff:ffff,US 2620:2f::,2620:2f::ffff:ffff:ffff:ffff:ffff,CA 2620:2f:2000::,2620:2f:2000:ffff:ffff:ffff:ffff:ffff,US @@ -15869,7 +16621,7 @@ 2620:34:c000::,2620:34:c000:ffff:ffff:ffff:ffff:ffff,US 2620:34:e000::,2620:34:e000:ffff:ffff:ffff:ffff:ffff,US 2620:35:4000::,2620:35:400f:ffff:ffff:ffff:ffff:ffff,CA -2620:35:8000::,2620:35:8000:ffff:ffff:ffff:ffff:ffff,CA +2620:35:8000::,2620:35:83ff:ffff:ffff:ffff:ffff:ffff,CA 2620:35:a000::,2620:35:a000:ffff:ffff:ffff:ffff:ffff,US 2620:35:c000::,2620:35:c00f:ffff:ffff:ffff:ffff:ffff,US 2620:36::,2620:36::ffff:ffff:ffff:ffff:ffff,US @@ -15893,7 +16645,7 @@ 2620:38:a000::,2620:38:a000:ffff:ffff:ffff:ffff:ffff,US 2620:38:c000::,2620:38:c000:ffff:ffff:ffff:ffff:ffff,US 2620:38:e000::,2620:38:e000:ffff:ffff:ffff:ffff:ffff,US -2620:39::,2620:39:f:ffff:ffff:ffff:ffff:ffff,US +2620:39::,2620:39:3ff:ffff:ffff:ffff:ffff:ffff,US 2620:39:2000::,2620:39:2000:ffff:ffff:ffff:ffff:ffff,US 2620:39:4000::,2620:39:4000:ffff:ffff:ffff:ffff:ffff,US 2620:39:6000::,2620:39:6000:ffff:ffff:ffff:ffff:ffff,US @@ -15907,7 +16659,7 @@ 2620:3a:a000::,2620:3a:a000:ffff:ffff:ffff:ffff:ffff,US 2620:3a:c000::,2620:3a:c3ff:ffff:ffff:ffff:ffff:ffff,US 2620:3a:e000::,2620:3a:e000:ffff:ffff:ffff:ffff:ffff,US -2620:3b::,2620:3b::ffff:ffff:ffff:ffff:ffff,US +2620:3b::,2620:3b:3ff:ffff:ffff:ffff:ffff:ffff,US 2620:3b:2000::,2620:3b:2000:ffff:ffff:ffff:ffff:ffff,US 2620:3b:4000::,2620:3b:4000:ffff:ffff:ffff:ffff:ffff,US 2620:3b:6000::,2620:3b:6000:ffff:ffff:ffff:ffff:ffff,US @@ -16036,7 +16788,7 @@ 2620:4d:a000::,2620:4d:a000:ffff:ffff:ffff:ffff:ffff,US 2620:4d:c000::,2620:4d:c000:ffff:ffff:ffff:ffff:ffff,US 2620:4d:e000::,2620:4d:e000:ffff:ffff:ffff:ffff:ffff,US -2620:4e::,2620:4e:3ff:ffff:ffff:ffff:ffff:ffff,US +2620:4e::,2620:4e::ffff:ffff:ffff:ffff:ffff,US 2620:4e:2000::,2620:4e:2000:ffff:ffff:ffff:ffff:ffff,VG 2620:4e:4000::,2620:4e:4000:ffff:ffff:ffff:ffff:ffff,CA 2620:4e:6000::,2620:4e:6000:ffff:ffff:ffff:ffff:ffff,US @@ -16081,7 +16833,6 @@ 2620:54::,2620:54::ffff:ffff:ffff:ffff:ffff,US 2620:54:2000::,2620:54:2000:ffff:ffff:ffff:ffff:ffff,US 2620:54:4000::,2620:54:4000:ffff:ffff:ffff:ffff:ffff,US -2620:54:6000::,2620:54:6000:ffff:ffff:ffff:ffff:ffff,US 2620:54:8000::,2620:54:8000:ffff:ffff:ffff:ffff:ffff,US 2620:54:a000::,2620:54:a000:ffff:ffff:ffff:ffff:ffff,US 2620:54:c000::,2620:54:c000:ffff:ffff:ffff:ffff:ffff,CA @@ -16110,7 +16861,7 @@ 2620:58:4c00::,2620:58:4c00:ffff:ffff:ffff:ffff:ffff,US 2620:58:8800::,2620:58:8800:ffff:ffff:ffff:ffff:ffff,US 2620:58:c400::,2620:58:c400:ffff:ffff:ffff:ffff:ffff,CA -2620:59::,2620:59::ffff:ffff:ffff:ffff:ffff,US +2620:59::,2620:59:3ff:ffff:ffff:ffff:ffff:ffff,US 2620:59:2000::,2620:59:2000:ffff:ffff:ffff:ffff:ffff,US 2620:59:4000::,2620:59:4000:ffff:ffff:ffff:ffff:ffff,US 2620:59:6000::,2620:59:6000:ffff:ffff:ffff:ffff:ffff,JM @@ -16123,29 +16874,49 @@ 2620:5a:4000::,2620:5a:4000:ffff:ffff:ffff:ffff:ffff,CA 2620:5a:6000::,2620:5a:6000:ffff:ffff:ffff:ffff:ffff,US 2620:5a:8000::,2620:5a:8000:ffff:ffff:ffff:ffff:ffff,US +2620:5a:a000::,2620:5a:a000:ffff:ffff:ffff:ffff:ffff,US 2620:5a:c000::,2620:5a:c00f:ffff:ffff:ffff:ffff:ffff,US 2620:5b::,2620:5b::ffff:ffff:ffff:ffff:ffff,US +2620:5b:2000::,2620:5b:2000:ffff:ffff:ffff:ffff:ffff,US 2620:5b:4000::,2620:5b:4000:ffff:ffff:ffff:ffff:ffff,US +2620:5b:6000::,2620:5b:6000:ffff:ffff:ffff:ffff:ffff,US 2620:5b:8000::,2620:5b:8000:ffff:ffff:ffff:ffff:ffff,CA +2620:5b:a000::,2620:5b:a000:ffff:ffff:ffff:ffff:ffff,US 2620:5b:c000::,2620:5b:c00f:ffff:ffff:ffff:ffff:ffff,CA 2620:5c::,2620:5c::ffff:ffff:ffff:ffff:ffff,US +2620:5c:2000::,2620:5c:2000:ffff:ffff:ffff:ffff:ffff,US +2620:5c:6000::,2620:5c:6000:ffff:ffff:ffff:ffff:ffff,CA 2620:5c:8000::,2620:5c:8000:ffff:ffff:ffff:ffff:ffff,US +2620:5c:a000::,2620:5c:a000:ffff:ffff:ffff:ffff:ffff,US 2620:5c:c000::,2620:5c:c00f:ffff:ffff:ffff:ffff:ffff,US 2620:5d::,2620:5d::ffff:ffff:ffff:ffff:ffff,US +2620:5d:2000::,2620:5d:2000:ffff:ffff:ffff:ffff:ffff,US 2620:5d:4000::,2620:5d:4000:ffff:ffff:ffff:ffff:ffff,US +2620:5d:6000::,2620:5d:6000:ffff:ffff:ffff:ffff:ffff,US 2620:5d:8000::,2620:5d:8000:ffff:ffff:ffff:ffff:ffff,US +2620:5d:a000::,2620:5d:a000:ffff:ffff:ffff:ffff:ffff,CA 2620:5d:c000::,2620:5d:c000:ffff:ffff:ffff:ffff:ffff,US +2620:5d:e000::,2620:5d:e000:ffff:ffff:ffff:ffff:ffff,US 2620:5e::,2620:5e::ffff:ffff:ffff:ffff:ffff,US +2620:5e:2000::,2620:5e:2000:ffff:ffff:ffff:ffff:ffff,US 2620:5e:4000::,2620:5e:4000:ffff:ffff:ffff:ffff:ffff,CA +2620:5e:6000::,2620:5e:6000:ffff:ffff:ffff:ffff:ffff,US 2620:5e:8000::,2620:5e:8000:ffff:ffff:ffff:ffff:ffff,US +2620:5e:a000::,2620:5e:a000:ffff:ffff:ffff:ffff:ffff,US 2620:5e:c000::,2620:5e:c000:ffff:ffff:ffff:ffff:ffff,CA +2620:5e:e000::,2620:5e:e000:ffff:ffff:ffff:ffff:ffff,US 2620:5f::,2620:5f::ffff:ffff:ffff:ffff:ffff,US +2620:5f:2000::,2620:5f:2000:ffff:ffff:ffff:ffff:ffff,US 2620:5f:4000::,2620:5f:4000:ffff:ffff:ffff:ffff:ffff,US -2620:5f:8000::,2620:5f:83ff:ffff:ffff:ffff:ffff:ffff,US +2620:5f:6000::,2620:5f:6000:ffff:ffff:ffff:ffff:ffff,US +2620:5f:8000::,2620:5f:8000:ffff:ffff:ffff:ffff:ffff,US +2620:5f:a000::,2620:5f:a000:ffff:ffff:ffff:ffff:ffff,US 2620:5f:c000::,2620:5f:c000:ffff:ffff:ffff:ffff:ffff,US +2620:5f:e000::,2620:5f:e000:ffff:ffff:ffff:ffff:ffff,US 2620:60::,2620:60::ffff:ffff:ffff:ffff:ffff,US +2620:60:2000::,2620:60:2000:ffff:ffff:ffff:ffff:ffff,US 2620:60:4000::,2620:60:400f:ffff:ffff:ffff:ffff:ffff,US -2620:60:8000::,2620:60:8000:ffff:ffff:ffff:ffff:ffff,CA +2620:60:8000::,2620:60:800f:ffff:ffff:ffff:ffff:ffff,CA 2620:61::,2620:61::ffff:ffff:ffff:ffff:ffff,CA 2620:61:4000::,2620:61:400f:ffff:ffff:ffff:ffff:ffff,US 2620:61:8000::,2620:61:8000:ffff:ffff:ffff:ffff:ffff,US @@ -16180,7 +16951,7 @@ 2620:69:4000::,2620:69:4000:ffff:ffff:ffff:ffff:ffff,US 2620:69:8000::,2620:69:8000:ffff:ffff:ffff:ffff:ffff,US 2620:69:c000::,2620:69:c000:ffff:ffff:ffff:ffff:ffff,CA -2620:6a::,2620:6a::ffff:ffff:ffff:ffff:ffff,US +2620:6a::,2620:6a:3ff:ffff:ffff:ffff:ffff:ffff,US 2620:6a:4000::,2620:6a:4000:ffff:ffff:ffff:ffff:ffff,CA 2620:6a:8000::,2620:6a:8000:ffff:ffff:ffff:ffff:ffff,US 2620:6a:c000::,2620:6a:c000:ffff:ffff:ffff:ffff:ffff,CA @@ -16210,7 +16981,7 @@ 2620:71::,2620:71::ffff:ffff:ffff:ffff:ffff,US 2620:71:4000::,2620:71:4000:ffff:ffff:ffff:ffff:ffff,US 2620:71:8000::,2620:71:8000:ffff:ffff:ffff:ffff:ffff,US -2620:71:c000::,2620:71:c000:ffff:ffff:ffff:ffff:ffff,US +2620:71:c000::,2620:71:c00f:ffff:ffff:ffff:ffff:ffff,US 2620:72::,2620:72:3ff:ffff:ffff:ffff:ffff:ffff,US 2620:72:4000::,2620:72:4000:ffff:ffff:ffff:ffff:ffff,US 2620:72:8000::,2620:72:8000:ffff:ffff:ffff:ffff:ffff,US @@ -16229,7 +17000,17 @@ 2620:74:40::,2620:74:48:ffff:ffff:ffff:ffff:ffff,US 2620:74:49::,2620:74:4a:ffff:ffff:ffff:ffff:ffff,DE 2620:74:4b::,2620:74:4c:ffff:ffff:ffff:ffff:ffff,HK -2620:74:4d::,2620:74:3ff:ffff:ffff:ffff:ffff:ffff,US +2620:74:4d::,2620:74:56:ffff:ffff:ffff:ffff:ffff,US +2620:74:57::,2620:74:58:ffff:ffff:ffff:ffff:ffff,FR +2620:74:59::,2620:74:59:ffff:ffff:ffff:ffff:ffff,US +2620:74:5a::,2620:74:5e:ffff:ffff:ffff:ffff:ffff,GB +2620:74:5f::,2620:74:60:ffff:ffff:ffff:ffff:ffff,US +2620:74:61::,2620:74:61:ffff:ffff:ffff:ffff:ffff,SE +2620:74:62::,2620:74:64:ffff:ffff:ffff:ffff:ffff,US +2620:74:65::,2620:74:67:ffff:ffff:ffff:ffff:ffff,DE +2620:74:68::,2620:74:6a:ffff:ffff:ffff:ffff:ffff,US +2620:74:6b::,2620:74:6c:ffff:ffff:ffff:ffff:ffff,NL +2620:74:6d::,2620:74:ff:ffff:ffff:ffff:ffff:ffff,US 2620:74:40c0::,2620:74:40c0:ffff:ffff:ffff:ffff:ffff,US 2620:74:8080::,2620:74:8080:ffff:ffff:ffff:ffff:ffff,US 2620:74:c040::,2620:74:c040:ffff:ffff:ffff:ffff:ffff,US @@ -16270,7 +17051,7 @@ 2620:7d:8000::,2620:7d:8000:ffff:ffff:ffff:ffff:ffff,US 2620:7d:c000::,2620:7d:c000:ffff:ffff:ffff:ffff:ffff,US 2620:7e::,2620:7e:f:ffff:ffff:ffff:ffff:ffff,US -2620:7e:30e0::,2620:7e:30e0:ffff:ffff:ffff:ffff:ffff,US +2620:7e:3000::,2620:7e:33ff:ffff:ffff:ffff:ffff:ffff,US 2620:7e:60c0::,2620:7e:60c0:ffff:ffff:ffff:ffff:ffff,US 2620:7e:9000::,2620:7e:93ff:ffff:ffff:ffff:ffff:ffff,US 2620:7e:c080::,2620:7e:c080:ffff:ffff:ffff:ffff:ffff,US @@ -16287,7 +17068,7 @@ 2620:82:4000::,2620:82:4000:ffff:ffff:ffff:ffff:ffff,US 2620:82:8000::,2620:82:8000:ffff:ffff:ffff:ffff:ffff,US 2620:82:c000::,2620:82:c000:ffff:ffff:ffff:ffff:ffff,US -2620:83::,2620:83:3ff:ffff:ffff:ffff:ffff:ffff,US +2620:83::,2620:83::ffff:ffff:ffff:ffff:ffff,US 2620:83:4000::,2620:83:43ff:ffff:ffff:ffff:ffff:ffff,US 2620:83:8000::,2620:83:83ff:ffff:ffff:ffff:ffff:ffff,US 2620:83:c000::,2620:83:c000:ffff:ffff:ffff:ffff:ffff,US @@ -16378,7 +17159,6 @@ 2620:9b:8000::,2620:9b:80ff:ffff:ffff:ffff:ffff:ffff,US 2620:9b:c000::,2620:9b:c00f:ffff:ffff:ffff:ffff:ffff,US 2620:9c::,2620:9c::ffff:ffff:ffff:ffff:ffff,US -2620:9c:4000::,2620:9c:400f:ffff:ffff:ffff:ffff:ffff,US 2620:9c:8000::,2620:9c:8000:ffff:ffff:ffff:ffff:ffff,US 2620:9c:c000::,2620:9c:c000:ffff:ffff:ffff:ffff:ffff,US 2620:9d::,2620:9d::ffff:ffff:ffff:ffff:ffff,US @@ -16543,7 +17323,7 @@ 2620:c5::,2620:c5::ffff:ffff:ffff:ffff:ffff,US 2620:c5:4000::,2620:c5:4000:ffff:ffff:ffff:ffff:ffff,US 2620:c5:c000::,2620:c5:c000:ffff:ffff:ffff:ffff:ffff,US -2620:c6::,2620:c6::ffff:ffff:ffff:ffff:ffff,US +2620:c6::,2620:c6:3ff:ffff:ffff:ffff:ffff:ffff,US 2620:c6:4000::,2620:c6:4000:ffff:ffff:ffff:ffff:ffff,US 2620:c6:8000::,2620:c6:8000:ffff:ffff:ffff:ffff:ffff,US 2620:c6:c000::,2620:c6:c000:ffff:ffff:ffff:ffff:ffff,US @@ -16562,7 +17342,7 @@ 2620:ca:4000::,2620:ca:4000:ffff:ffff:ffff:ffff:ffff,US 2620:ca:8000::,2620:ca:8000:ffff:ffff:ffff:ffff:ffff,US 2620:ca:c000::,2620:ca:c000:ffff:ffff:ffff:ffff:ffff,US -2620:cb::,2620:cb:f:ffff:ffff:ffff:ffff:ffff,US +2620:cb::,2620:cb:3ff:ffff:ffff:ffff:ffff:ffff,US 2620:cb:4000::,2620:cb:4000:ffff:ffff:ffff:ffff:ffff,US 2620:cb:8000::,2620:cb:8000:ffff:ffff:ffff:ffff:ffff,US 2620:cb:c000::,2620:cb:c000:ffff:ffff:ffff:ffff:ffff,US @@ -16580,7 +17360,7 @@ 2620:ce:c000::,2620:ce:c000:ffff:ffff:ffff:ffff:ffff,US 2620:cf:4000::,2620:cf:4000:ffff:ffff:ffff:ffff:ffff,US 2620:cf:8000::,2620:cf:8000:ffff:ffff:ffff:ffff:ffff,US -2620:cf:c000::,2620:cf:c3ff:ffff:ffff:ffff:ffff:ffff,US +2620:cf:c000::,2620:cf:c00f:ffff:ffff:ffff:ffff:ffff,US 2620:d0::,2620:d0::ffff:ffff:ffff:ffff:ffff,US 2620:d0:4000::,2620:d0:4000:ffff:ffff:ffff:ffff:ffff,US 2620:d0:8000::,2620:d0:8000:ffff:ffff:ffff:ffff:ffff,US @@ -16595,7 +17375,7 @@ 2620:d3:4000::,2620:d3:4000:ffff:ffff:ffff:ffff:ffff,US 2620:d3:8000::,2620:d3:8000:ffff:ffff:ffff:ffff:ffff,US 2620:d3:c000::,2620:d3:c000:ffff:ffff:ffff:ffff:ffff,US -2620:d4::,2620:d4::ffff:ffff:ffff:ffff:ffff,US +2620:d4::,2620:d4:3ff:ffff:ffff:ffff:ffff:ffff,US 2620:d4:4000::,2620:d4:4000:ffff:ffff:ffff:ffff:ffff,US 2620:d4:8000::,2620:d4:8000:ffff:ffff:ffff:ffff:ffff,US 2620:d5::,2620:d5::ffff:ffff:ffff:ffff:ffff,US @@ -16668,7 +17448,7 @@ 2620:e6:4000::,2620:e6:4000:ffff:ffff:ffff:ffff:ffff,US 2620:e6:8000::,2620:e6:8000:ffff:ffff:ffff:ffff:ffff,US 2620:e6:c000::,2620:e6:c000:ffff:ffff:ffff:ffff:ffff,US -2620:e7::,2620:e7::ffff:ffff:ffff:ffff:ffff,US +2620:e7::,2620:e7:3ff:ffff:ffff:ffff:ffff:ffff,US 2620:e7:4000::,2620:e7:4000:ffff:ffff:ffff:ffff:ffff,US 2620:e7:8000::,2620:e7:8000:ffff:ffff:ffff:ffff:ffff,CA 2620:e7:c000::,2620:e7:c000:ffff:ffff:ffff:ffff:ffff,US @@ -16727,7 +17507,7 @@ 2620:f4::,2620:f4::ffff:ffff:ffff:ffff:ffff,US 2620:f4:4000::,2620:f4:40ff:ffff:ffff:ffff:ffff:ffff,US 2620:f4:8000::,2620:f4:8000:ffff:ffff:ffff:ffff:ffff,CA -2620:f4:c000::,2620:f4:c3ff:ffff:ffff:ffff:ffff:ffff,US +2620:f4:c000::,2620:f4:c000:ffff:ffff:ffff:ffff:ffff,US 2620:f5::,2620:f5::ffff:ffff:ffff:ffff:ffff,US 2620:f5:4000::,2620:f5:4000:ffff:ffff:ffff:ffff:ffff,US 2620:f5:8000::,2620:f5:8000:ffff:ffff:ffff:ffff:ffff,US @@ -16744,7 +17524,7 @@ 2620:f8:4000::,2620:f8:4000:ffff:ffff:ffff:ffff:ffff,US 2620:f8:8000::,2620:f8:8000:ffff:ffff:ffff:ffff:ffff,US 2620:f8:c000::,2620:f8:c000:ffff:ffff:ffff:ffff:ffff,US -2620:f9::,2620:f9:f:ffff:ffff:ffff:ffff:ffff,US +2620:f9::,2620:f9:3ff:ffff:ffff:ffff:ffff:ffff,US 2620:f9:4000::,2620:f9:4000:ffff:ffff:ffff:ffff:ffff,US 2620:f9:8000::,2620:f9:8000:ffff:ffff:ffff:ffff:ffff,US 2620:f9:c000::,2620:f9:c000:ffff:ffff:ffff:ffff:ffff,US @@ -16791,7 +17571,7 @@ 2620:101:5000::,2620:101:503f:ffff:ffff:ffff:ffff:ffff,US 2620:101:6000::,2620:101:6001:ffff:ffff:ffff:ffff:ffff,US 2620:101:7000::,2620:101:7001:ffff:ffff:ffff:ffff:ffff,US -2620:101:8000::,2620:101:83ff:ffff:ffff:ffff:ffff:ffff,US +2620:101:8000::,2620:101:80ff:ffff:ffff:ffff:ffff:ffff,US 2620:101:9000::,2620:101:900f:ffff:ffff:ffff:ffff:ffff,US 2620:101:b000::,2620:101:b07f:ffff:ffff:ffff:ffff:ffff,US 2620:101:c000::,2620:101:c3ff:ffff:ffff:ffff:ffff:ffff,CA @@ -16838,14 +17618,14 @@ 2620:104:400c::,2620:104:400c:ffff:ffff:ffff:ffff:ffff,NZ 2620:104:400d::,2620:104:43ff:ffff:ffff:ffff:ffff:ffff,US 2620:104:5000::,2620:104:500f:ffff:ffff:ffff:ffff:ffff,US -2620:104:6000::,2620:104:63ff:ffff:ffff:ffff:ffff:ffff,US +2620:104:6000::,2620:104:600f:ffff:ffff:ffff:ffff:ffff,US 2620:104:8000::,2620:104:80ff:ffff:ffff:ffff:ffff:ffff,US 2620:104:9000::,2620:104:900f:ffff:ffff:ffff:ffff:ffff,US 2620:104:a000::,2620:104:a00f:ffff:ffff:ffff:ffff:ffff,US -2620:104:b000::,2620:104:b3ff:ffff:ffff:ffff:ffff:ffff,US +2620:104:b000::,2620:104:b01f:ffff:ffff:ffff:ffff:ffff,US 2620:104:c000::,2620:104:c00f:ffff:ffff:ffff:ffff:ffff,US 2620:104:d000::,2620:104:d0ff:ffff:ffff:ffff:ffff:ffff,US -2620:104:e000::,2620:104:e3ff:ffff:ffff:ffff:ffff:ffff,US +2620:104:e000::,2620:104:e0ff:ffff:ffff:ffff:ffff:ffff,US 2620:104:f000::,2620:104:f00f:ffff:ffff:ffff:ffff:ffff,US 2620:105::,2620:105:f:ffff:ffff:ffff:ffff:ffff,CA 2620:105:2000::,2620:105:20ff:ffff:ffff:ffff:ffff:ffff,US @@ -16887,7 +17667,8 @@ 2620:107:6000::,2620:107:600f:ffff:ffff:ffff:ffff:ffff,US 2620:107:7000::,2620:107:700f:ffff:ffff:ffff:ffff:ffff,US 2620:107:8000::,2620:107:80ff:ffff:ffff:ffff:ffff:ffff,US -2620:107:9000::,2620:107:90ff:ffff:ffff:ffff:ffff:ffff,US +2620:107:9000::,2620:107:90bf:ffff:ffff:ffff:ffff:ffff,US +2620:107:90c0::,2620:107:90ff:ffff:ffff:ffff:ffff:ffff,CN 2620:107:a000::,2620:107:a0ff:ffff:ffff:ffff:ffff:ffff,US 2620:107:c000::,2620:107:c00f:ffff:ffff:ffff:ffff:ffff,US 2620:107:d000::,2620:107:d00f:ffff:ffff:ffff:ffff:ffff,US @@ -16926,7 +17707,7 @@ 2620:10a::,2620:10a:f:ffff:ffff:ffff:ffff:ffff,US 2620:10a:1000::,2620:10a:100f:ffff:ffff:ffff:ffff:ffff,US 2620:10a:2000::,2620:10a:200f:ffff:ffff:ffff:ffff:ffff,US -2620:10a:3000::,2620:10a:30ff:ffff:ffff:ffff:ffff:ffff,US +2620:10a:3000::,2620:10a:33ff:ffff:ffff:ffff:ffff:ffff,US 2620:10a:4000::,2620:10a:40ff:ffff:ffff:ffff:ffff:ffff,US 2620:10a:5000::,2620:10a:50ff:ffff:ffff:ffff:ffff:ffff,US 2620:10a:6000::,2620:10a:63ff:ffff:ffff:ffff:ffff:ffff,US @@ -16997,16 +17778,16 @@ 2620:10e:a000::,2620:10e:a00f:ffff:ffff:ffff:ffff:ffff,US 2620:10e:b000::,2620:10e:b0ff:ffff:ffff:ffff:ffff:ffff,US 2620:10e:c000::,2620:10e:c00f:ffff:ffff:ffff:ffff:ffff,US -2620:10e:d000::,2620:10e:d00f:ffff:ffff:ffff:ffff:ffff,BL +2620:10e:d000::,2620:10e:d0ff:ffff:ffff:ffff:ffff:ffff,BL 2620:10e:e000::,2620:10e:e00f:ffff:ffff:ffff:ffff:ffff,US 2620:10e:f000::,2620:10e:f00f:ffff:ffff:ffff:ffff:ffff,US 2620:10f::,2620:10f:f:ffff:ffff:ffff:ffff:ffff,US 2620:10f:1000::,2620:10f:100f:ffff:ffff:ffff:ffff:ffff,US 2620:10f:2000::,2620:10f:200f:ffff:ffff:ffff:ffff:ffff,US -2620:10f:3000::,2620:10f:33ff:ffff:ffff:ffff:ffff:ffff,US +2620:10f:3000::,2620:10f:30ff:ffff:ffff:ffff:ffff:ffff,US 2620:10f:4000::,2620:10f:400f:ffff:ffff:ffff:ffff:ffff,US 2620:10f:5000::,2620:10f:50ff:ffff:ffff:ffff:ffff:ffff,US -2620:10f:6000::,2620:10f:61ff:ffff:ffff:ffff:ffff:ffff,US +2620:10f:6000::,2620:10f:63ff:ffff:ffff:ffff:ffff:ffff,US 2620:10f:7000::,2620:10f:700f:ffff:ffff:ffff:ffff:ffff,US 2620:10f:8000::,2620:10f:80ff:ffff:ffff:ffff:ffff:ffff,US 2620:10f:9000::,2620:10f:900f:ffff:ffff:ffff:ffff:ffff,US @@ -17057,7 +17838,7 @@ 2620:112:a000::,2620:112:a00f:ffff:ffff:ffff:ffff:ffff,US 2620:112:b000::,2620:112:b0ff:ffff:ffff:ffff:ffff:ffff,US 2620:112:c000::,2620:112:c0ff:ffff:ffff:ffff:ffff:ffff,US -2620:112:d000::,2620:112:d3ff:ffff:ffff:ffff:ffff:ffff,US +2620:112:d000::,2620:112:d00f:ffff:ffff:ffff:ffff:ffff,US 2620:112:e000::,2620:112:e00f:ffff:ffff:ffff:ffff:ffff,US 2620:112:f000::,2620:112:f00f:ffff:ffff:ffff:ffff:ffff,US 2620:113::,2620:113:f:ffff:ffff:ffff:ffff:ffff,US @@ -17103,6 +17884,7 @@ 2620:115:d000::,2620:115:d0ff:ffff:ffff:ffff:ffff:ffff,US 2620:115:e000::,2620:115:e00f:ffff:ffff:ffff:ffff:ffff,US 2620:115:f000::,2620:115:f00f:ffff:ffff:ffff:ffff:ffff,US +2620:116::,2620:116:f:ffff:ffff:ffff:ffff:ffff,US 2620:116:1000::,2620:116:10ff:ffff:ffff:ffff:ffff:ffff,US 2620:116:2000::,2620:116:200f:ffff:ffff:ffff:ffff:ffff,US 2620:116:3000::,2620:116:300f:ffff:ffff:ffff:ffff:ffff,US @@ -17130,7 +17912,7 @@ 2620:117:9000::,2620:117:90ff:ffff:ffff:ffff:ffff:ffff,US 2620:117:a000::,2620:117:a0ff:ffff:ffff:ffff:ffff:ffff,US 2620:117:b000::,2620:117:b0ff:ffff:ffff:ffff:ffff:ffff,US -2620:117:c000::,2620:117:c3ff:ffff:ffff:ffff:ffff:ffff,US +2620:117:c000::,2620:117:c0ff:ffff:ffff:ffff:ffff:ffff,US 2620:117:d000::,2620:117:d0ff:ffff:ffff:ffff:ffff:ffff,CA 2620:117:e000::,2620:117:e0ff:ffff:ffff:ffff:ffff:ffff,US 2620:118:1000::,2620:118:10ff:ffff:ffff:ffff:ffff:ffff,US @@ -17193,10 +17975,10 @@ 2620:11b:d000::,2620:11b:d0ff:ffff:ffff:ffff:ffff:ffff,US 2620:11b:e000::,2620:11b:e0ff:ffff:ffff:ffff:ffff:ffff,US 2620:11b:f000::,2620:11b:f0ff:ffff:ffff:ffff:ffff:ffff,US -2620:11c::,2620:11c:f:ffff:ffff:ffff:ffff:ffff,US +2620:11c::,2620:11c:3ff:ffff:ffff:ffff:ffff:ffff,US 2620:11c:1000::,2620:11c:10ff:ffff:ffff:ffff:ffff:ffff,BB 2620:11c:2000::,2620:11c:20ff:ffff:ffff:ffff:ffff:ffff,CA -2620:11c:3000::,2620:11c:33ff:ffff:ffff:ffff:ffff:ffff,US +2620:11c:3000::,2620:11c:30ff:ffff:ffff:ffff:ffff:ffff,US 2620:11c:4000::,2620:11c:40ff:ffff:ffff:ffff:ffff:ffff,US 2620:11c:5000::,2620:11c:500f:ffff:ffff:ffff:ffff:ffff,US 2620:11c:6000::,2620:11c:600f:ffff:ffff:ffff:ffff:ffff,US @@ -17246,7 +18028,7 @@ 2620:11f:2000::,2620:11f:200f:ffff:ffff:ffff:ffff:ffff,US 2620:11f:3000::,2620:11f:30ff:ffff:ffff:ffff:ffff:ffff,US 2620:11f:4000::,2620:11f:43ff:ffff:ffff:ffff:ffff:ffff,US -2620:11f:5000::,2620:11f:53ff:ffff:ffff:ffff:ffff:ffff,US +2620:11f:5000::,2620:11f:50ff:ffff:ffff:ffff:ffff:ffff,US 2620:11f:6000::,2620:11f:60ff:ffff:ffff:ffff:ffff:ffff,US 2620:11f:7000::,2620:11f:700f:ffff:ffff:ffff:ffff:ffff,US 2620:11f:8000::,2620:11f:80ff:ffff:ffff:ffff:ffff:ffff,CA @@ -17277,7 +18059,7 @@ 2620:120:d000::,2620:120:d00f:ffff:ffff:ffff:ffff:ffff,US 2620:120:e000::,2620:120:e0ff:ffff:ffff:ffff:ffff:ffff,US 2620:120:f000::,2620:120:f0ff:ffff:ffff:ffff:ffff:ffff,US -2620:121::,2620:121:f:ffff:ffff:ffff:ffff:ffff,US +2620:121::,2620:121:3ff:ffff:ffff:ffff:ffff:ffff,US 2620:121:1000::,2620:121:100f:ffff:ffff:ffff:ffff:ffff,US 2620:121:2000::,2620:121:200f:ffff:ffff:ffff:ffff:ffff,US 2620:121:3000::,2620:121:30ff:ffff:ffff:ffff:ffff:ffff,US @@ -17293,7 +18075,7 @@ 2620:121:d000::,2620:121:d00f:ffff:ffff:ffff:ffff:ffff,US 2620:121:e000::,2620:121:e00f:ffff:ffff:ffff:ffff:ffff,US 2620:121:f000::,2620:121:f00f:ffff:ffff:ffff:ffff:ffff,US -2620:122::,2620:122:f:ffff:ffff:ffff:ffff:ffff,US +2620:122::,2620:122:3ff:ffff:ffff:ffff:ffff:ffff,US 2620:122:1000::,2620:122:10ff:ffff:ffff:ffff:ffff:ffff,US 2620:122:2000::,2620:122:20ff:ffff:ffff:ffff:ffff:ffff,US 2620:122:3000::,2620:122:30ff:ffff:ffff:ffff:ffff:ffff,US @@ -17312,12 +18094,12 @@ 2620:123:1000::,2620:123:10ff:ffff:ffff:ffff:ffff:ffff,US 2620:123:2000::,2620:123:200f:ffff:ffff:ffff:ffff:ffff,US 2620:123:3000::,2620:123:30ff:ffff:ffff:ffff:ffff:ffff,US -2620:123:4000::,2620:123:40ff:ffff:ffff:ffff:ffff:ffff,US +2620:123:4000::,2620:123:43ff:ffff:ffff:ffff:ffff:ffff,US 2620:123:5000::,2620:123:53ff:ffff:ffff:ffff:ffff:ffff,US 2620:123:6000::,2620:123:600f:ffff:ffff:ffff:ffff:ffff,CA 2620:123:7000::,2620:123:700f:ffff:ffff:ffff:ffff:ffff,CA 2620:123:8000::,2620:123:800f:ffff:ffff:ffff:ffff:ffff,US -2620:123:9000::,2620:123:93ff:ffff:ffff:ffff:ffff:ffff,US +2620:123:9000::,2620:123:900f:ffff:ffff:ffff:ffff:ffff,US 2620:123:a000::,2620:123:a00f:ffff:ffff:ffff:ffff:ffff,US 2620:123:b000::,2620:123:b00f:ffff:ffff:ffff:ffff:ffff,US 2620:123:c000::,2620:123:c0ff:ffff:ffff:ffff:ffff:ffff,US @@ -17397,7 +18179,6 @@ 2620:128:6000::,2620:128:600f:ffff:ffff:ffff:ffff:ffff,US 2620:128:7000::,2620:128:700f:ffff:ffff:ffff:ffff:ffff,US 2620:128:8000::,2620:128:800f:ffff:ffff:ffff:ffff:ffff,US -2620:128:a000::,2620:128:a0ff:ffff:ffff:ffff:ffff:ffff,US 2620:128:b000::,2620:128:b0ff:ffff:ffff:ffff:ffff:ffff,US 2620:128:c000::,2620:128:c0ff:ffff:ffff:ffff:ffff:ffff,US 2620:128:d000::,2620:128:d0ff:ffff:ffff:ffff:ffff:ffff,US @@ -17495,7 +18276,7 @@ 2620:12e:9000::,2620:12e:900f:ffff:ffff:ffff:ffff:ffff,US 2620:12e:a000::,2620:12e:a0ff:ffff:ffff:ffff:ffff:ffff,US 2620:12e:b000::,2620:12e:b00f:ffff:ffff:ffff:ffff:ffff,US -2620:12e:c000::,2620:12e:c3ff:ffff:ffff:ffff:ffff:ffff,US +2620:12e:c000::,2620:12e:c00f:ffff:ffff:ffff:ffff:ffff,US 2620:12e:d000::,2620:12e:d00f:ffff:ffff:ffff:ffff:ffff,US 2620:12e:e000::,2620:12e:e0ff:ffff:ffff:ffff:ffff:ffff,US 2620:12e:f000::,2620:12e:f0ff:ffff:ffff:ffff:ffff:ffff,US @@ -17517,7 +18298,7 @@ 2620:130::,2620:130:f:ffff:ffff:ffff:ffff:ffff,US 2620:130:1000::,2620:130:100f:ffff:ffff:ffff:ffff:ffff,CA 2620:130:2000::,2620:130:20ff:ffff:ffff:ffff:ffff:ffff,US -2620:130:3000::,2620:130:33ff:ffff:ffff:ffff:ffff:ffff,US +2620:130:3000::,2620:130:30ff:ffff:ffff:ffff:ffff:ffff,US 2620:130:4000::,2620:130:40ff:ffff:ffff:ffff:ffff:ffff,US 2620:130:5000::,2620:130:500f:ffff:ffff:ffff:ffff:ffff,US 2620:130:6000::,2620:130:600f:ffff:ffff:ffff:ffff:ffff,US @@ -17534,7 +18315,7 @@ 2620:131:2000::,2620:131:20ff:ffff:ffff:ffff:ffff:ffff,US 2620:131:3000::,2620:131:300f:ffff:ffff:ffff:ffff:ffff,US 2620:131:4000::,2620:131:40ff:ffff:ffff:ffff:ffff:ffff,CA -2620:131:5000::,2620:131:53ff:ffff:ffff:ffff:ffff:ffff,US +2620:131:5000::,2620:131:50ff:ffff:ffff:ffff:ffff:ffff,US 2620:131:6000::,2620:131:60ff:ffff:ffff:ffff:ffff:ffff,US 2620:131:7000::,2620:131:70ff:ffff:ffff:ffff:ffff:ffff,US 2620:131:8000::,2620:131:800f:ffff:ffff:ffff:ffff:ffff,US @@ -17600,7 +18381,7 @@ 2620:135:4000::,2620:135:400f:ffff:ffff:ffff:ffff:ffff,CA 2620:135:5000::,2620:135:500f:ffff:ffff:ffff:ffff:ffff,US 2620:135:6000::,2620:135:60ff:ffff:ffff:ffff:ffff:ffff,US -2620:135:7000::,2620:135:70ff:ffff:ffff:ffff:ffff:ffff,US +2620:135:7000::,2620:135:73ff:ffff:ffff:ffff:ffff:ffff,US 2620:135:8000::,2620:135:800f:ffff:ffff:ffff:ffff:ffff,US 2620:135:9000::,2620:135:90ff:ffff:ffff:ffff:ffff:ffff,US 2620:135:a000::,2620:135:a0ff:ffff:ffff:ffff:ffff:ffff,US @@ -17608,12 +18389,12 @@ 2620:135:c000::,2620:135:c00f:ffff:ffff:ffff:ffff:ffff,US 2620:135:d000::,2620:135:d00f:ffff:ffff:ffff:ffff:ffff,US 2620:135:e000::,2620:135:e0ff:ffff:ffff:ffff:ffff:ffff,US -2620:135:f000::,2620:135:f00f:ffff:ffff:ffff:ffff:ffff,CA +2620:135:f000::,2620:135:f3ff:ffff:ffff:ffff:ffff:ffff,CA 2620:136::,2620:136:ff:ffff:ffff:ffff:ffff:ffff,US 2620:136:1000::,2620:136:100f:ffff:ffff:ffff:ffff:ffff,US 2620:136:2000::,2620:136:20ff:ffff:ffff:ffff:ffff:ffff,US 2620:136:3000::,2620:136:30ff:ffff:ffff:ffff:ffff:ffff,US -2620:136:4000::,2620:136:400f:ffff:ffff:ffff:ffff:ffff,US +2620:136:4000::,2620:136:43ff:ffff:ffff:ffff:ffff:ffff,US 2620:136:5000::,2620:136:500f:ffff:ffff:ffff:ffff:ffff,US 2620:136:6000::,2620:136:600f:ffff:ffff:ffff:ffff:ffff,US 2620:136:7000::,2620:136:700f:ffff:ffff:ffff:ffff:ffff,US @@ -17701,6 +18482,20 @@ 2620:13b:a000::,2620:13b:a00f:ffff:ffff:ffff:ffff:ffff,US 2620:13b:b000::,2620:13b:b0ff:ffff:ffff:ffff:ffff:ffff,US 2620:13b:c000::,2620:13b:c00f:ffff:ffff:ffff:ffff:ffff,US +2620:13b:d000::,2620:13b:d00f:ffff:ffff:ffff:ffff:ffff,US +2620:13b:e000::,2620:13b:e00f:ffff:ffff:ffff:ffff:ffff,US +2620:13b:f000::,2620:13b:f0ff:ffff:ffff:ffff:ffff:ffff,US +2620:13c::,2620:13c:ff:ffff:ffff:ffff:ffff:ffff,US +2620:13c:1000::,2620:13c:10ff:ffff:ffff:ffff:ffff:ffff,US +2620:13c:2000::,2620:13c:200f:ffff:ffff:ffff:ffff:ffff,US +2620:13c:3000::,2620:13c:300f:ffff:ffff:ffff:ffff:ffff,US +2620:13c:4000::,2620:13c:40ff:ffff:ffff:ffff:ffff:ffff,US +2620:13c:5000::,2620:13c:500f:ffff:ffff:ffff:ffff:ffff,US +2620:13c:6000::,2620:13c:60ff:ffff:ffff:ffff:ffff:ffff,US +2620:13c:7000::,2620:13c:700f:ffff:ffff:ffff:ffff:ffff,US +2620:13c:8000::,2620:13c:800f:ffff:ffff:ffff:ffff:ffff,US +2620:13c:9000::,2620:13c:90ff:ffff:ffff:ffff:ffff:ffff,US +2620:13c:a000::,2620:13c:a0ff:ffff:ffff:ffff:ffff:ffff,US 2620:140::,2620:140:3ff:ffff:ffff:ffff:ffff:ffff,US 2620:141::,2620:141:fff:ffff:ffff:ffff:ffff:ffff,US 2620:143::,2620:143:7ff:ffff:ffff:ffff:ffff:ffff,US @@ -17729,11 +18524,18 @@ 2620:15a::,2620:15a:fff:ffff:ffff:ffff:ffff:ffff,US 2620:15b::,2620:15b:fff:ffff:ffff:ffff:ffff:ffff,US 2620:15c::,2620:15c:1:ffff:ffff:ffff:ffff:ffff,CA -2620:15c:2::,2620:15c:4:ffff:ffff:ffff:ffff:ffff,US -2620:15c:5::,2620:15c:5:ffff:ffff:ffff:ffff:ffff,BR -2620:15c:6::,2620:15c:30:ffff:ffff:ffff:ffff:ffff,US +2620:15c:2::,2620:15c:3:ffff:ffff:ffff:ffff:ffff,US +2620:15c:4::,2620:15c:5:ffff:ffff:ffff:ffff:ffff,BR +2620:15c:6::,2620:15c:2b:ffff:ffff:ffff:ffff:ffff,US +2620:15c:2c::,2620:15c:2c:ffff:ffff:ffff:ffff:ffff,BR +2620:15c:2d::,2620:15c:30:ffff:ffff:ffff:ffff:ffff,US 2620:15c:31::,2620:15c:31:ffff:ffff:ffff:ffff:ffff,PE -2620:15c:32::,2620:15c:fff:ffff:ffff:ffff:ffff:ffff,US +2620:15c:32::,2620:15c:60:ffff:ffff:ffff:ffff:ffff,US +2620:15c:61::,2620:15c:61:ffff:ffff:ffff:ffff:ffff,AR +2620:15c:62::,2620:15c:62:ffff:ffff:ffff:ffff:ffff,BR +2620:15c:63::,2620:15c:6e:ffff:ffff:ffff:ffff:ffff,US +2620:15c:6f::,2620:15c:6f:ffff:ffff:ffff:ffff:ffff,BR +2620:15c:70::,2620:15c:fff:ffff:ffff:ffff:ffff:ffff,US 2620:15d::,2620:15f:fff:ffff:ffff:ffff:ffff:ffff,US 2620:160::,2620:160:ffff:ffff:ffff:ffff:ffff:ffff,US 2620:162::,2620:162:fff:ffff:ffff:ffff:ffff:ffff,US @@ -17826,7 +18628,6 @@ 2620:17f::,2620:181:fff:ffff:ffff:ffff:ffff:ffff,US 2620:182::,2620:182:fff:ffff:ffff:ffff:ffff:ffff,US 2620:183::,2620:183:fff:ffff:ffff:ffff:ffff:ffff,US -2620:184::,2620:184:fff:ffff:ffff:ffff:ffff:ffff,US 2620:185::,2620:185:fff:ffff:ffff:ffff:ffff:ffff,US 2620:186::,2620:186:fff:ffff:ffff:ffff:ffff:ffff,US 2620:187::,2620:187:fff:ffff:ffff:ffff:ffff:ffff,US @@ -17844,6 +18645,8 @@ 2620:195::,2620:195:fff:ffff:ffff:ffff:ffff:ffff,US 2620:196::,2620:196:ffff:ffff:ffff:ffff:ffff:ffff,CA 2620:197::,2620:197:fff:ffff:ffff:ffff:ffff:ffff,US +2620:198::,2620:198:fff:ffff:ffff:ffff:ffff:ffff,US +2620:199::,2620:199:fff:ffff:ffff:ffff:ffff:ffff,US 2620:1a0::,2620:1a0:ffff:ffff:ffff:ffff:ffff:ffff,US 2620:1b0::,2620:1b0:ffff:ffff:ffff:ffff:ffff:ffff,US 2620:1c0::,2620:1c0:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -17878,8 +18681,8 @@ 2620:1f2::,2620:1f4:fff:ffff:ffff:ffff:ffff:ffff,US 2620:1f5::,2620:1f5:fff:ffff:ffff:ffff:ffff:ffff,CA 2620:1f6::,2620:1f6:fff:ffff:ffff:ffff:ffff:ffff,US -2620:1f7::,2620:1f7:38bf:ffff:ffff:ffff:ffff:ffff,US -2620:1f7:38c0::,2620:1f7:38ff:ffff:ffff:ffff:ffff:ffff,MY +2620:1f7::,2620:1f7:37ff:ffff:ffff:ffff:ffff:ffff,US +2620:1f7:3800::,2620:1f7:38ff:ffff:ffff:ffff:ffff:ffff,MY 2620:1f7:3900::,2620:1f9:fff:ffff:ffff:ffff:ffff:ffff,US 2620:1fa::,2620:1fb:fff:ffff:ffff:ffff:ffff:ffff,US 2620:1fc::,2620:1fc:fff:ffff:ffff:ffff:ffff:ffff,US @@ -18246,7 +19049,7 @@ 2801:15:8000::,2801:15:800f:ffff:ffff:ffff:ffff:ffff,CR 2801:15:9000::,2801:15:9000:ffff:ffff:ffff:ffff:ffff,AR 2801:15:a000::,2801:15:a000:ffff:ffff:ffff:ffff:ffff,DO -2801:15:b000::,2801:15:b000:ffff:ffff:ffff:ffff:ffff,AR +2801:15:b000::,2801:15:b3ff:ffff:ffff:ffff:ffff:ffff,AR 2801:15:c000::,2801:15:c000:ffff:ffff:ffff:ffff:ffff,GT 2801:15:d000::,2801:15:d000:ffff:ffff:ffff:ffff:ffff,CL 2801:15:e000::,2801:15:e000:ffff:ffff:ffff:ffff:ffff,DO @@ -18282,6 +19085,7 @@ 2801:17:c000::,2801:17:c000:ffff:ffff:ffff:ffff:ffff,PA 2801:17:d000::,2801:17:d000:ffff:ffff:ffff:ffff:ffff,CO 2801:17:e000::,2801:17:e000:ffff:ffff:ffff:ffff:ffff,AR +2801:17:f000::,2801:17:f000:ffff:ffff:ffff:ffff:ffff,PY 2801:18::,2801:18::ffff:ffff:ffff:ffff:ffff,CR 2801:18:2000::,2801:18:2000:ffff:ffff:ffff:ffff:ffff,CO 2801:18:3000::,2801:18:3000:ffff:ffff:ffff:ffff:ffff,CO @@ -18340,6 +19144,7 @@ 2801:1b:c000::,2801:1b:c000:ffff:ffff:ffff:ffff:ffff,PA 2801:1b:d000::,2801:1b:d000:ffff:ffff:ffff:ffff:ffff,CO 2801:1b:e000::,2801:1b:e000:ffff:ffff:ffff:ffff:ffff,NI +2801:1b:f000::,2801:1b:f000:ffff:ffff:ffff:ffff:ffff,AR 2801:1c::,2801:1c::ffff:ffff:ffff:ffff:ffff,PY 2801:1c:1000::,2801:1c:1000:ffff:ffff:ffff:ffff:ffff,AR 2801:1c:2000::,2801:1c:2000:ffff:ffff:ffff:ffff:ffff,PE @@ -18694,9 +19499,18 @@ 2801:80:2520::,2801:80:2520:ffff:ffff:ffff:ffff:ffff,BR 2801:80:2530::,2801:80:2530:ffff:ffff:ffff:ffff:ffff,BR 2801:80:2540::,2801:80:2540:ffff:ffff:ffff:ffff:ffff,BR +2801:80:2550::,2801:80:2550:ffff:ffff:ffff:ffff:ffff,BR +2801:80:2560::,2801:80:2560:ffff:ffff:ffff:ffff:ffff,BR +2801:80:2570::,2801:80:2570:ffff:ffff:ffff:ffff:ffff,BR +2801:80:2580::,2801:80:2587:ffff:ffff:ffff:ffff:ffff,BR +2801:80:2590::,2801:80:2593:ffff:ffff:ffff:ffff:ffff,BR +2801:80:25a0::,2801:80:25a0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:25b0::,2801:80:25b0:ffff:ffff:ffff:ffff:ffff,BR +2801:80:25c0::,2801:80:25c0:ffff:ffff:ffff:ffff:ffff,BR 2801:80:2600::,2801:80:26ff:ffff:ffff:ffff:ffff:ffff,BR 2801:80:2800::,2801:80:28ff:ffff:ffff:ffff:ffff:ffff,BR 2801:80:2c00::,2801:80:2cff:ffff:ffff:ffff:ffff:ffff,BR +2801:80:2e00::,2801:80:2eff:ffff:ffff:ffff:ffff:ffff,BR 2801:82::,2801:82:ffff:ffff:ffff:ffff:ffff:ffff,BR 2801:84::,2801:84:ffff:ffff:ffff:ffff:ffff:ffff,BR 2801:86::,2801:86:ffff:ffff:ffff:ffff:ffff:ffff,BR @@ -18734,7 +19548,7 @@ 2801:c4:12::,2801:c4:15:ffff:ffff:ffff:ffff:ffff,MX 2801:c4:17::,2801:c4:17:ffff:ffff:ffff:ffff:ffff,MX 2801:c4:19::,2801:c4:1d:ffff:ffff:ffff:ffff:ffff,MX -2801:c4:20::,2801:c4:20:ffff:ffff:ffff:ffff:ffff,MX +2801:c4:1f::,2801:c4:20:ffff:ffff:ffff:ffff:ffff,MX 2801:c4:30::,2801:c4:30:ffff:ffff:ffff:ffff:ffff,MX 2801:c4:50::,2801:c4:50:ffff:ffff:ffff:ffff:ffff,MX 2801:c4:60::,2801:c4:60:ffff:ffff:ffff:ffff:ffff,MX @@ -18773,6 +19587,7 @@ 2801:180::,2801:180:f:ffff:ffff:ffff:ffff:ffff,PA 2801:184::,2801:184:f:ffff:ffff:ffff:ffff:ffff,DO 2801:188::,2801:188:ff:ffff:ffff:ffff:ffff:ffff,AR +2801:18c::,2801:18c:f:ffff:ffff:ffff:ffff:ffff,CO 2801:190::,2801:190:fff:ffff:ffff:ffff:ffff:ffff,CO 2801:194::,2801:194:f:ffff:ffff:ffff:ffff:ffff,CO 2801:198::,2801:198:ffff:ffff:ffff:ffff:ffff:ffff,CL @@ -18842,6 +19657,7 @@ 2803:520::,2803:520:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:540::,2803:540:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:580::,2803:580:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:5a0::,2803:5a0:ffff:ffff:ffff:ffff:ffff:ffff,VE 2803:5c0::,2803:5c0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:600::,2803:600:ffff:ffff:ffff:ffff:ffff:ffff,PA 2803:620::,2803:620:ffff:ffff:ffff:ffff:ffff:ffff,CL @@ -18864,6 +19680,7 @@ 2803:920::,2803:920:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:940::,2803:940:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:980::,2803:980:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:9a0::,2803:9a0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:9c0::,2803:9c0:ffff:ffff:ffff:ffff:ffff:ffff,DO 2803:a00::,2803:a00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:a20::,2803:a20:ffff:ffff:ffff:ffff:ffff:ffff,CL @@ -18886,6 +19703,7 @@ 2803:d20::,2803:d20:ffff:ffff:ffff:ffff:ffff:ffff,GT 2803:d40::,2803:d40:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:d80::,2803:d87:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:da0::,2803:da0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:dc0::,2803:dc0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:e00::,2803:e00:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:e20::,2803:e20:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -18932,6 +19750,7 @@ 2803:1520::,2803:1520:ffff:ffff:ffff:ffff:ffff:ffff,GT 2803:1540::,2803:1540:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:1580::,2803:1580:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:15a0::,2803:15a0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:15c0::,2803:15c0:ffff:ffff:ffff:ffff:ffff:ffff,CO 2803:1600::,2803:1600:ffff:ffff:ffff:ffff:ffff:ffff,BQ 2803:1620::,2803:1620:ffff:ffff:ffff:ffff:ffff:ffff,PY @@ -18951,6 +19770,7 @@ 2803:1900::,2803:1900:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:1920::,2803:1920:ffff:ffff:ffff:ffff:ffff:ffff,BO 2803:1940::,2803:1940:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:19a0::,2803:19a0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:19c0::,2803:19c0:ffff:ffff:ffff:ffff:ffff:ffff,DO 2803:1a00::,2803:1a00:ffff:ffff:ffff:ffff:ffff:ffff,CO 2803:1a20::,2803:1a20:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -19016,6 +19836,7 @@ 2803:2520::,2803:2520:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:2540::,2803:2540:ffff:ffff:ffff:ffff:ffff:ffff,EC 2803:2580::,2803:2580:ffff:ffff:ffff:ffff:ffff:ffff,HN +2803:25a0::,2803:25a0:ffff:ffff:ffff:ffff:ffff:ffff,SV 2803:25c0::,2803:25c0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:2600::,2803:2600:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:2620::,2803:2620:ffff:ffff:ffff:ffff:ffff:ffff,GT @@ -19038,6 +19859,7 @@ 2803:2920::,2803:2920:ffff:ffff:ffff:ffff:ffff:ffff,EC 2803:2940::,2803:2940:ffff:ffff:ffff:ffff:ffff:ffff,PA 2803:2980::,2803:2980:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:29a0::,2803:29a0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:29c0::,2803:29c0:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:2a00::,2803:2a00:ffff:ffff:ffff:ffff:ffff:ffff,PY 2803:2a20::,2803:2a20:ffff:ffff:ffff:ffff:ffff:ffff,HN @@ -19080,6 +19902,7 @@ 2803:3120::,2803:3120:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:3140::,2803:3140:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:3180::,2803:3180:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:31a0::,2803:31a0:ffff:ffff:ffff:ffff:ffff:ffff,CO 2803:31c0::,2803:31c0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:3200::,2803:3200:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:3220::,2803:3220:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -19101,6 +19924,7 @@ 2803:3520::,2803:3520:ffff:ffff:ffff:ffff:ffff:ffff,PA 2803:3540::,2803:3540:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:3580::,2803:3580:ffff:ffff:ffff:ffff:ffff:ffff,PE +2803:35a0::,2803:35a0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:35c0::,2803:35c0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:3600::,2803:3600:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:3620::,2803:3620:ffff:ffff:ffff:ffff:ffff:ffff,PA @@ -19123,6 +19947,7 @@ 2803:3920::,2803:3920:ffff:ffff:ffff:ffff:ffff:ffff,EC 2803:3940::,2803:3940:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:3980::,2803:3980:ffff:ffff:ffff:ffff:ffff:ffff,VE +2803:39a0::,2803:39a0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:39c0::,2803:39c0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:3a00::,2803:3a00:ffff:ffff:ffff:ffff:ffff:ffff,GT 2803:3a20::,2803:3a20:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -19189,6 +20014,7 @@ 2803:4520::,2803:4520:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:4540::,2803:4540:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:4580::,2803:4580:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:45a0::,2803:45a0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:45c0::,2803:45c0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:4600::,2803:4600:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:4620::,2803:4620:ffff:ffff:ffff:ffff:ffff:ffff,CO @@ -19211,6 +20037,7 @@ 2803:4920::,2803:4920:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:4940::,2803:4940:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:4980::,2803:4980:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:49a0::,2803:49a0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:49c0::,2803:49c0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:4a20::,2803:4a20:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:4a40::,2803:4a40:ffff:ffff:ffff:ffff:ffff:ffff,CL @@ -19232,6 +20059,7 @@ 2803:4d20::,2803:4d20:ffff:ffff:ffff:ffff:ffff:ffff,CO 2803:4d40::,2803:4d40:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:4d80::,2803:4d80:ffff:ffff:ffff:ffff:ffff:ffff,CW +2803:4da0::,2803:4da0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:4dc0::,2803:4dc0:ffff:ffff:ffff:ffff:ffff:ffff,DO 2803:4e00::,2803:4e00:ffff:ffff:ffff:ffff:ffff:ffff,UY 2803:4e20::,2803:4e20:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -19277,6 +20105,7 @@ 2803:5520::,2803:5520:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:5540::,2803:5540:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:5580::,2803:5580:ffff:ffff:ffff:ffff:ffff:ffff,CR +2803:55a0::,2803:55a0:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:55c0::,2803:55c0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:5600::,2803:5600:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:5620::,2803:5620:ffff:ffff:ffff:ffff:ffff:ffff,CL @@ -19298,6 +20127,7 @@ 2803:5920::,2803:5920:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:5940::,2803:5940:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:5980::,2803:5980:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:59a0::,2803:59a0:ffff:ffff:ffff:ffff:ffff:ffff,SV 2803:59c0::,2803:59c0:ffff:ffff:ffff:ffff:ffff:ffff,EC 2803:5a00::,2803:5a00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:5a20::,2803:5a20:ffff:ffff:ffff:ffff:ffff:ffff,CL @@ -19364,6 +20194,7 @@ 2803:6520::,2803:6520:ffff:ffff:ffff:ffff:ffff:ffff,EC 2803:6540::,2803:6540:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:6580::,2803:6580:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:65a0::,2803:65a0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:65c0::,2803:65c0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:6600::,2803:6604:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:6620::,2803:6620:ffff:ffff:ffff:ffff:ffff:ffff,EC @@ -19385,6 +20216,7 @@ 2803:6920::,2803:6920:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:6940::,2803:6940:ffff:ffff:ffff:ffff:ffff:ffff,PY 2803:6980::,2803:6980:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:69a0::,2803:69a0:ffff:ffff:ffff:ffff:ffff:ffff,GT 2803:69c0::,2803:69c0:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:6a00::,2803:6a00:ffff:ffff:ffff:ffff:ffff:ffff,EC 2803:6a20::,2803:6a20:ffff:ffff:ffff:ffff:ffff:ffff,CL @@ -19429,6 +20261,7 @@ 2803:7120::,2803:7120:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:7140::,2803:7140:ffff:ffff:ffff:ffff:ffff:ffff,GT 2803:7180::,2803:7180:ffff:ffff:ffff:ffff:ffff:ffff,PE +2803:71a0::,2803:71a0:ffff:ffff:ffff:ffff:ffff:ffff,PY 2803:7200::,2803:7200:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:7220::,2803:7220:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:7240::,2803:7240:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -19472,6 +20305,7 @@ 2803:7920::,2803:7920:ffff:ffff:ffff:ffff:ffff:ffff,GT 2803:7940::,2803:7940:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:7980::,2803:7980:ffff:ffff:ffff:ffff:ffff:ffff,VE +2803:79a0::,2803:79a0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:79c0::,2803:79c0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:7a00::,2803:7a00:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:7a20::,2803:7a20:ffff:ffff:ffff:ffff:ffff:ffff,CL @@ -19539,6 +20373,7 @@ 2803:8520::,2803:8520:ffff:ffff:ffff:ffff:ffff:ffff,EC 2803:8540::,2803:8540:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:8580::,2803:8580:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:85a0::,2803:85a0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:85c0::,2803:85c0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:8600::,2803:8600:ffff:ffff:ffff:ffff:ffff:ffff,HT 2803:8620::,2803:8620:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -19561,6 +20396,7 @@ 2803:8920::,2803:8920:ffff:ffff:ffff:ffff:ffff:ffff,PY 2803:8940::,2803:8940:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:8980::,2803:8980:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:89a0::,2803:89a0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:89c0::,2803:89c0:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:8a20::,2803:8a20:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:8a40::,2803:8a40:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -19626,6 +20462,7 @@ 2803:9520::,2803:9520:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:9540::,2803:9540:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:9580::,2803:9580:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:95a0::,2803:95a0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:95c0::,2803:95c0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:9600::,2803:9600:ffff:ffff:ffff:ffff:ffff:ffff,CW 2803:9620::,2803:9620:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -19646,6 +20483,7 @@ 2803:9920::,2803:9920:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:9940::,2803:9940:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:9980::,2803:9980:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:99a0::,2803:99a0:ffff:ffff:ffff:ffff:ffff:ffff,GT 2803:99c0::,2803:99c0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:9a00::,2803:9a00:ffff:ffff:ffff:ffff:ffff:ffff,BZ 2803:9a20::,2803:9a20:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -19712,6 +20550,7 @@ 2803:a520::,2803:a520:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:a540::,2803:a540:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:a580::,2803:a580:ffff:ffff:ffff:ffff:ffff:ffff,HT +2803:a5a0::,2803:a5a0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:a5c0::,2803:a5c0:ffff:ffff:ffff:ffff:ffff:ffff,CO 2803:a600::,2803:a600:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:a620::,2803:a620:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -19733,6 +20572,7 @@ 2803:a920::,2803:a920:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:a940::,2803:a940:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:a980::,2803:a980:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:a9a0::,2803:a9a0:ffff:ffff:ffff:ffff:ffff:ffff,SV 2803:a9c0::,2803:a9c0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:aa00::,2803:aa00:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:aa20::,2803:aa20:ffff:ffff:ffff:ffff:ffff:ffff,EC @@ -19774,6 +20614,7 @@ 2803:b120::,2803:b120:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:b140::,2803:b140:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:b180::,2803:b180:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:b1a0::,2803:b1a0:ffff:ffff:ffff:ffff:ffff:ffff,PY 2803:b1c0::,2803:b1c0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:b200::,2803:b200:ffff:ffff:ffff:ffff:ffff:ffff,UY 2803:b220::,2803:b220:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -19795,6 +20636,7 @@ 2803:b500::,2803:b500:ffff:ffff:ffff:ffff:ffff:ffff,VE 2803:b520::,2803:b520:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:b580::,2803:b580:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:b5a0::,2803:b5a0:ffff:ffff:ffff:ffff:ffff:ffff,CO 2803:b5c0::,2803:b5c0:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:b600::,2803:b600:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:b620::,2803:b620:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -19816,7 +20658,17 @@ 2803:b900::,2803:b900:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:b920::,2803:b920:ffff:ffff:ffff:ffff:ffff:ffff,PY 2803:b940::,2803:b940:ffff:ffff:ffff:ffff:ffff:ffff,PE -2803:b9c0::,2803:b9c0:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:b9a0::,2803:b9a0:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:b9c0::,2803:b9c0:91ff:ffff:ffff:ffff:ffff:ffff,CO +2803:b9c0:9200::,2803:b9c0:94ff:ffff:ffff:ffff:ffff:ffff,PE +2803:b9c0:9500::,2803:b9c0:95ff:ffff:ffff:ffff:ffff:ffff,EC +2803:b9c0:9600::,2803:b9c0:96ff:ffff:ffff:ffff:ffff:ffff,CL +2803:b9c0:9700::,2803:b9c0:98ff:ffff:ffff:ffff:ffff:ffff,CO +2803:b9c0:9900::,2803:b9c0:99ff:ffff:ffff:ffff:ffff:ffff,PE +2803:b9c0:9a00::,2803:b9c0:9aff:ffff:ffff:ffff:ffff:ffff,EC +2803:b9c0:9b00::,2803:b9c0:9dff:ffff:ffff:ffff:ffff:ffff,CO +2803:b9c0:9e00::,2803:b9c0:9eff:ffff:ffff:ffff:ffff:ffff,PE +2803:b9c0:9f00::,2803:b9c0:ffff:ffff:ffff:ffff:ffff:ffff,CO 2803:ba00::,2803:ba00:ffff:ffff:ffff:ffff:ffff:ffff,GT 2803:ba20::,2803:ba20:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:ba40::,2803:ba40:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -19882,6 +20734,7 @@ 2803:c520::,2803:c520:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:c540::,2803:c540:ffff:ffff:ffff:ffff:ffff:ffff,GT 2803:c580::,2803:c580:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:c5a0::,2803:c5a0:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:c5c0::,2803:c5c0:ffff:ffff:ffff:ffff:ffff:ffff,EC 2803:c600::,2803:c600:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:c620::,2803:c620:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -19904,6 +20757,7 @@ 2803:c920::,2803:c920:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:c940::,2803:c940:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:c980::,2803:c980:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:c9a0::,2803:c9a0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:c9c0::,2803:c9c0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:ca00::,2803:ca00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:ca20::,2803:ca20:ffff:ffff:ffff:ffff:ffff:ffff,HN @@ -19950,6 +20804,7 @@ 2803:d120::,2803:d120:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:d140::,2803:d140:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:d180::,2803:d180:ffff:ffff:ffff:ffff:ffff:ffff,EC +2803:d1a0::,2803:d1a0:ffff:ffff:ffff:ffff:ffff:ffff,DO 2803:d1c0::,2803:d1c0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:d200::,2803:d200:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:d220::,2803:d220:ffff:ffff:ffff:ffff:ffff:ffff,EC @@ -19971,6 +20826,7 @@ 2803:d520::,2803:d520:ffff:ffff:ffff:ffff:ffff:ffff,BZ 2803:d540::,2803:d540:ffff:ffff:ffff:ffff:ffff:ffff,CO 2803:d580::,2803:d580:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:d5a0::,2803:d5a0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:d5c0::,2803:d5c0:ffff:ffff:ffff:ffff:ffff:ffff,BZ 2803:d600::,2803:d600:ffff:ffff:ffff:ffff:ffff:ffff,UY 2803:d620::,2803:d620:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -19993,6 +20849,7 @@ 2803:d920::,2803:d920:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:d940::,2803:d940:ffff:ffff:ffff:ffff:ffff:ffff,VE 2803:d980::,2803:d980:ffff:ffff:ffff:ffff:ffff:ffff,PA +2803:d9a0::,2803:d9a0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:d9c0::,2803:d9c0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:da00::,2803:da00:ffff:ffff:ffff:ffff:ffff:ffff,GY 2803:da20::,2803:da20:ffff:ffff:ffff:ffff:ffff:ffff,CO @@ -20060,10 +20917,10 @@ 2803:e520::,2803:e520:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:e540::,2803:e540:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:e580::,2803:e580:ffff:ffff:ffff:ffff:ffff:ffff,CO +2803:e5a0::,2803:e5a0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:e5c0::,2803:e5c0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:e600::,2803:e600:ffff:ffff:ffff:ffff:ffff:ffff,PA 2803:e620::,2803:e620:ffff:ffff:ffff:ffff:ffff:ffff,EC -2803:e640::,2803:e640:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:e680::,2803:e680:ffff:ffff:ffff:ffff:ffff:ffff,HN 2803:e6a0::,2803:e6a0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:e6c0::,2803:e6c0:ffff:ffff:ffff:ffff:ffff:ffff,SV @@ -20081,6 +20938,7 @@ 2803:e900::,2803:e900:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:e920::,2803:e920:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:e940::,2803:e940:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:e9a0::,2803:e9a0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:e9c0::,2803:e9c0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:ea00::,2803:ea00:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:ea20::,2803:ea20:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -20125,6 +20983,7 @@ 2803:f120::,2803:f120:ffff:ffff:ffff:ffff:ffff:ffff,UY 2803:f140::,2803:f140:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:f180::,2803:f180:ffff:ffff:ffff:ffff:ffff:ffff,HN +2803:f1a0::,2803:f1a0:ffff:ffff:ffff:ffff:ffff:ffff,DO 2803:f1c0::,2803:f1c0:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:f200::,2803:f200:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:f220::,2803:f220:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -20147,6 +21006,7 @@ 2803:f520::,2803:f520:ffff:ffff:ffff:ffff:ffff:ffff,PA 2803:f540::,2803:f540:ffff:ffff:ffff:ffff:ffff:ffff,PE 2803:f580::,2803:f580:ffff:ffff:ffff:ffff:ffff:ffff,AR +2803:f5a0::,2803:f5a0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:f5c0::,2803:f5c0:ffff:ffff:ffff:ffff:ffff:ffff,CL 2803:f600::,2803:f600:ffff:ffff:ffff:ffff:ffff:ffff,CR 2803:f620::,2803:f620:ffff:ffff:ffff:ffff:ffff:ffff,PE @@ -20168,6 +21028,7 @@ 2803:f920::,2803:f920:ffff:ffff:ffff:ffff:ffff:ffff,EC 2803:f940::,2803:f940:ffff:ffff:ffff:ffff:ffff:ffff,SX 2803:f980::,2803:f980:ffff:ffff:ffff:ffff:ffff:ffff,CL +2803:f9a0::,2803:f9a0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:f9c0::,2803:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,AR 2803:fa00::,2803:fa00:ffff:ffff:ffff:ffff:ffff:ffff,BO 2803:fa20::,2803:fa20:ffff:ffff:ffff:ffff:ffff:ffff,AR @@ -20395,7 +21256,6 @@ 2804:350::,2804:350:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:354::,2804:354:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:358::,2804:358:ffff:ffff:ffff:ffff:ffff:ffff,BR -2804:35c::,2804:35c:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:360::,2804:360:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:364::,2804:364:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:368::,2804:368:ffff:ffff:ffff:ffff:ffff:ffff,BR @@ -20405,7 +21265,9 @@ 2804:378::,2804:378:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:37c::,2804:37c:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:380::,2804:380:ffff:ffff:ffff:ffff:ffff:ffff,BR -2804:388::,2804:38b:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:388::,2804:388:129:13:ffff:ffff:ffff:ffff,BR +2804:388:129:14::,2804:388:129:14:ffff:ffff:ffff:ffff,US +2804:388:129:15::,2804:38b:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:390::,2804:390:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:394::,2804:394:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:39c::,2804:39c:ffff:ffff:ffff:ffff:ffff:ffff,BR @@ -20671,7 +21533,6 @@ 2804:7e0::,2804:7e0:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:7e4::,2804:7e4:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:7e8::,2804:7e8:ffff:ffff:ffff:ffff:ffff:ffff,BR -2804:7ec::,2804:7ec:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:7f0::,2804:7f7:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:800::,2804:800:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:804::,2804:804:ffff:ffff:ffff:ffff:ffff:ffff,BR @@ -20951,7 +21812,6 @@ 2804:c94::,2804:c94:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:c98::,2804:c98:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:c9c::,2804:c9c:ffff:ffff:ffff:ffff:ffff:ffff,BR -2804:ca0::,2804:ca0:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:ca4::,2804:ca4:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:ca8::,2804:ca8:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:cac::,2804:cac:ffff:ffff:ffff:ffff:ffff:ffff,BR @@ -21235,7 +22095,6 @@ 2804:1140::,2804:1140:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1144::,2804:1144:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1148::,2804:1148:ffff:ffff:ffff:ffff:ffff:ffff,BR -2804:114c::,2804:114c:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1150::,2804:1150:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1154::,2804:1154:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1158::,2804:1158:ffff:ffff:ffff:ffff:ffff:ffff,BR @@ -21246,7 +22105,6 @@ 2804:116c::,2804:116c:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1170::,2804:1170:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1174::,2804:1174:ffff:ffff:ffff:ffff:ffff:ffff,BR -2804:1178::,2804:1178:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:117c::,2804:117c:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1180::,2804:1180:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1184::,2804:1184:ffff:ffff:ffff:ffff:ffff:ffff,BR @@ -21902,6 +22760,7 @@ 2804:1c04::,2804:1c04:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1c08::,2804:1c08:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1c0c::,2804:1c0c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1c10::,2804:1c10:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1c14::,2804:1c14:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1c18::,2804:1c18:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1c1c::,2804:1c1c:ffff:ffff:ffff:ffff:ffff:ffff,BR @@ -22102,6 +22961,7 @@ 2804:1f30::,2804:1f30:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1f32::,2804:1f32:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:1f34::,2804:1f34:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:1f36::,2804:1f36:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2000::,2804:2000:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2004::,2804:2004:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2008::,2804:2008:ffff:ffff:ffff:ffff:ffff:ffff,BR @@ -22270,6 +23130,7 @@ 2804:22bc::,2804:22bc:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:22c0::,2804:22c0:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:22c4::,2804:22c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:22cc::,2804:22cc:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:22d0::,2804:22d0:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:22d4::,2804:22d4:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:22d8::,2804:22d8:ffff:ffff:ffff:ffff:ffff:ffff,BR @@ -22296,6 +23157,7 @@ 2804:2330::,2804:2330:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2334::,2804:2334:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2338::,2804:2338:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:233c::,2804:233c:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2340::,2804:2340:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2344::,2804:2344:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2348::,2804:2348:ffff:ffff:ffff:ffff:ffff:ffff,BR @@ -22713,6 +23575,7 @@ 2804:29fc::,2804:29fc:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2a00::,2804:2a00:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2a04::,2804:2a04:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2a08::,2804:2a08:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2a0c::,2804:2a0c:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2a10::,2804:2a10:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2a14::,2804:2a14:ffff:ffff:ffff:ffff:ffff:ffff,BR @@ -22850,6 +23713,7 @@ 2804:2c34::,2804:2c34:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2c38::,2804:2c38:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2c3c::,2804:2c3c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:2c40::,2804:2c40:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2c44::,2804:2c44:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2c48::,2804:2c48:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2c4c::,2804:2c4c:ffff:ffff:ffff:ffff:ffff:ffff,BR @@ -22889,7 +23753,6 @@ 2804:2cd4::,2804:2cd4:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2cd8::,2804:2cd8:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2cdc::,2804:2cdc:ffff:ffff:ffff:ffff:ffff:ffff,BR -2804:2ce0::,2804:2ce0:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2ce4::,2804:2ce4:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2ce8::,2804:2ce8:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:2cec::,2804:2cec:ffff:ffff:ffff:ffff:ffff:ffff,BR @@ -24090,7 +24953,6 @@ 2804:3fa8::,2804:3fa8:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:3fac::,2804:3fac:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:3fb0::,2804:3fb0:ffff:ffff:ffff:ffff:ffff:ffff,BR -2804:3fb4::,2804:3fb4:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:3fb8::,2804:3fb8:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:3fbc::,2804:3fbc:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:3fc0::,2804:3fc0:ffff:ffff:ffff:ffff:ffff:ffff,BR @@ -25361,6 +26223,228 @@ 2804:538c::,2804:538c:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:5390::,2804:5390:ffff:ffff:ffff:ffff:ffff:ffff,BR 2804:5394::,2804:5394:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5398::,2804:5398:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:539c::,2804:539c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53a0::,2804:53a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53a4::,2804:53a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53a8::,2804:53a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53ac::,2804:53ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53b0::,2804:53b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53b4::,2804:53b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53b8::,2804:53b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53bc::,2804:53bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53c0::,2804:53c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53c4::,2804:53c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53c8::,2804:53c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53cc::,2804:53cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53d0::,2804:53d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53d4::,2804:53d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53d8::,2804:53d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53dc::,2804:53dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53e0::,2804:53e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53e4::,2804:53e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53e8::,2804:53e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53ec::,2804:53ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53f0::,2804:53f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53f4::,2804:53f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53f8::,2804:53f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:53fc::,2804:53fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5400::,2804:5400:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5404::,2804:5404:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5408::,2804:5408:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:540c::,2804:540c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5410::,2804:5410:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5414::,2804:5414:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5418::,2804:5418:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:541c::,2804:541c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5420::,2804:5420:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5424::,2804:5424:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5428::,2804:5428:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:542c::,2804:542c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5430::,2804:5430:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5434::,2804:5434:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5438::,2804:5438:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:543c::,2804:543c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5440::,2804:5440:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5444::,2804:5444:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5448::,2804:5448:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:544c::,2804:544c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5450::,2804:5450:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5454::,2804:5454:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5458::,2804:5458:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:545c::,2804:545c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5460::,2804:5460:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5464::,2804:5464:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5468::,2804:5468:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:546c::,2804:546c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5470::,2804:5470:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5474::,2804:5474:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5478::,2804:5478:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:547c::,2804:547c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5480::,2804:5480:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5484::,2804:5484:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5488::,2804:5488:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:548c::,2804:548c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5490::,2804:5490:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5494::,2804:5494:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5498::,2804:5498:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:549c::,2804:549c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54a0::,2804:54a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54a4::,2804:54a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54a8::,2804:54a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54ac::,2804:54ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54b0::,2804:54b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54b4::,2804:54b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54b8::,2804:54b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54bc::,2804:54bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54c0::,2804:54c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54c4::,2804:54c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54c8::,2804:54c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54cc::,2804:54cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54d0::,2804:54d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54d4::,2804:54d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54d8::,2804:54d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54dc::,2804:54dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54e0::,2804:54e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54e4::,2804:54e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54e8::,2804:54e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54ec::,2804:54ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54f0::,2804:54f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54f4::,2804:54f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54f8::,2804:54f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:54fc::,2804:54fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5500::,2804:5500:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5504::,2804:5504:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5508::,2804:5508:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:550c::,2804:550c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5510::,2804:5510:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5514::,2804:5514:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5518::,2804:5518:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:551c::,2804:551c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5520::,2804:5520:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5524::,2804:5524:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5528::,2804:5528:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:552c::,2804:552c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5530::,2804:5530:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5534::,2804:5534:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5538::,2804:5538:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:553c::,2804:553c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5540::,2804:5540:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5544::,2804:5544:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5548::,2804:5548:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:554c::,2804:554c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5550::,2804:5550:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5554::,2804:5554:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5558::,2804:5558:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:555c::,2804:555c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5560::,2804:5560:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5564::,2804:5564:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5568::,2804:5568:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:556c::,2804:556c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5570::,2804:5570:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5574::,2804:5574:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5578::,2804:5578:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:557c::,2804:557c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5580::,2804:5580:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5584::,2804:5584:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5588::,2804:5588:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:558c::,2804:558c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5590::,2804:5590:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5594::,2804:5594:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5598::,2804:5598:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:559c::,2804:559c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55a0::,2804:55a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55a4::,2804:55a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55a8::,2804:55a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55ac::,2804:55ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55b0::,2804:55b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55b4::,2804:55b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55b8::,2804:55b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55bc::,2804:55bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55c0::,2804:55c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55c4::,2804:55c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55c8::,2804:55c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55cc::,2804:55cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55d0::,2804:55d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55d4::,2804:55d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55d8::,2804:55d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55dc::,2804:55dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55e0::,2804:55e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55e4::,2804:55e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55e8::,2804:55e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55ec::,2804:55ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55f0::,2804:55f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55f4::,2804:55f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55f8::,2804:55f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:55fc::,2804:55fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5600::,2804:5600:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5604::,2804:5604:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5608::,2804:5608:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:560c::,2804:560c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5610::,2804:5610:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5614::,2804:5614:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5618::,2804:5618:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:561c::,2804:561c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5620::,2804:5620:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5624::,2804:5624:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5628::,2804:5628:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:562c::,2804:562c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5630::,2804:5630:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5634::,2804:5634:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5638::,2804:5638:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:563c::,2804:563c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5640::,2804:5640:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5644::,2804:5644:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5648::,2804:5648:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:564c::,2804:564c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5650::,2804:5650:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5654::,2804:5654:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5658::,2804:5658:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:565c::,2804:565c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5660::,2804:5660:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5664::,2804:5664:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5668::,2804:5668:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:566c::,2804:566c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5670::,2804:5670:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5674::,2804:5674:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5678::,2804:5678:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:567c::,2804:567c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5680::,2804:5680:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5684::,2804:5684:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5688::,2804:5688:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:568c::,2804:568c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5690::,2804:5690:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5694::,2804:5694:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5698::,2804:5698:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:569c::,2804:569c:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56a0::,2804:56a0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56a4::,2804:56a4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56a8::,2804:56a8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56ac::,2804:56ac:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56b0::,2804:56b0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56b4::,2804:56b4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56b8::,2804:56b8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56bc::,2804:56bc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56c0::,2804:56c0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56c4::,2804:56c4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56c8::,2804:56c8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56cc::,2804:56cc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56d0::,2804:56d0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56d4::,2804:56d4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56d8::,2804:56d8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56dc::,2804:56dc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56e0::,2804:56e0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56e4::,2804:56e4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56e8::,2804:56e8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56ec::,2804:56ec:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56f0::,2804:56f0:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56f4::,2804:56f4:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56f8::,2804:56f8:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:56fc::,2804:56fc:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5700::,2804:5700:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5704::,2804:5704:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:5708::,2804:5708:ffff:ffff:ffff:ffff:ffff:ffff,BR +2804:570c::,2804:570c:ffff:ffff:ffff:ffff:ffff:ffff,BR 2806::,2806:f:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:200::,2806:215:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:217::,2806:220:ffff:ffff:ffff:ffff:ffff:ffff,MX @@ -25378,9 +26462,9 @@ 2806:2e0::,2806:2ee:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:2f0::,2806:2f0:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:2f4::,2806:2f4:ffff:ffff:ffff:ffff:ffff:ffff,MX -2806:2f6::,2806:306:ffff:ffff:ffff:ffff:ffff:ffff,MX -2806:30a::,2806:30a:ffff:ffff:ffff:ffff:ffff:ffff,MX -2806:310::,2806:310:ffff:ffff:ffff:ffff:ffff:ffff,MX +2806:2f6::,2806:312:ffff:ffff:ffff:ffff:ffff:ffff,MX +2806:314::,2806:315:ffff:ffff:ffff:ffff:ffff:ffff,MX +2806:317::,2806:317:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:320::,2806:320:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:330::,2806:330:ffff:ffff:ffff:ffff:ffff:ffff,MX 2806:350::,2806:350:ffff:ffff:ffff:ffff:ffff:ffff,MX @@ -25532,7 +26616,11 @@ 2a00:1010::,2a00:1010:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1018::,2a00:1018:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1020::,2a00:1020:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a00:1028::,2a00:102f:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a00:1028::,2a00:1028:96d2:7fff:ffff:ffff:ffff:ffff,CZ +2a00:1028:96d2:8000::,2a00:1028:96d2:9fff:ffff:ffff:ffff:ffff,US +2a00:1028:96d2:a000::,2a00:1028:96d2:bfff:ffff:ffff:ffff:ffff,CZ +2a00:1028:96d2:c000::,2a00:1028:96d2:ffff:ffff:ffff:ffff:ffff,US +2a00:1028:96d3::,2a00:102f:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:1030::,2a00:1030:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1040::,2a00:1040:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:1048::,2a00:1048:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -25584,7 +26672,9 @@ 2a00:11c0:b::,2a00:11c0:b:ffff:ffff:ffff:ffff:ffff,IT 2a00:11c0:c::,2a00:11c0:f:ffff:ffff:ffff:ffff:ffff,AT 2a00:11c0:10::,2a00:11c0:10:ffff:ffff:ffff:ffff:ffff,BR -2a00:11c0:11::,2a00:11c0:62:ffff:ffff:ffff:ffff:ffff,AT +2a00:11c0:11::,2a00:11c0:1f:ffff:ffff:ffff:ffff:ffff,AT +2a00:11c0:20::,2a00:11c0:3f:ffff:ffff:ffff:ffff:ffff,IN +2a00:11c0:40::,2a00:11c0:62:ffff:ffff:ffff:ffff:ffff,AT 2a00:11c0:63::,2a00:11c0:63:ffff:ffff:ffff:ffff:ffff,NL 2a00:11c0:64::,2a00:11c0:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a00:11c8::,2a00:11c8:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -25593,7 +26683,7 @@ 2a00:11e0::,2a00:11e0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:11e8::,2a00:11ef:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:11f0::,2a00:11f0:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a00:11f8::,2a00:11f8:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:11f8::,2a00:11ff:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:1200::,2a00:1200:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1208::,2a00:1208:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:1210::,2a00:1210:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -25657,7 +26747,6 @@ 2a00:1390::,2a00:1390:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:1398::,2a00:139f:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:13a0::,2a00:13a0:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a00:13a8::,2a00:13a8:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:13b0::,2a00:13b0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:13b8::,2a00:13b8:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a00:13c0::,2a00:13c0:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -25721,7 +26810,6 @@ 2a00:1538::,2a00:1538:ffff:ffff:ffff:ffff:ffff:ffff,NG 2a00:1540::,2a00:1540:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:1548::,2a00:1548:ffff:ffff:ffff:ffff:ffff:ffff,NO -2a00:1550::,2a00:1550:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:1558::,2a00:1558:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:1560::,2a00:1560:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a00:1568::,2a00:1568:ffff:ffff:ffff:ffff:ffff:ffff,DK @@ -25826,19 +26914,24 @@ 2a00:18f0::,2a00:18f0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:18f8::,2a00:18f8:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a00:1900::,2a00:1900:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a00:1908::,2a00:1908:bfff:ffff:ffff:ffff:ffff:ffff,UA +2a00:1908:e47::,2a00:1908:e47:ffff:ffff:ffff:ffff:ffff,NO +2a00:1908:a000::,2a00:1908:bfff:ffff:ffff:ffff:ffff:ffff,UA 2a00:1908:c000::,2a00:1908:dfff:ffff:ffff:ffff:ffff:ffff,DE -2a00:1908:e000::,2a00:1908:e964:ffff:ffff:ffff:ffff:ffff,UA +2a00:1908:e000::,2a00:1908:e000:ffff:ffff:ffff:ffff:ffff,UA +2a00:1908:e100::,2a00:1908:e100:ffff:ffff:ffff:ffff:ffff,UA +2a00:1908:e700::,2a00:1908:e700:ffff:ffff:ffff:ffff:ffff,RU 2a00:1908:e965::,2a00:1908:e965:ffff:ffff:ffff:ffff:ffff,KW -2a00:1908:e966::,2a00:1908:fff9:ffff:ffff:ffff:ffff:ffff,UA +2a00:1908:faca::,2a00:1908:faca:ffff:ffff:ffff:ffff:ffff,UA 2a00:1908:fffb::,2a00:1908:fffb:ffff:ffff:ffff:ffff:ffff,DE 2a00:1908:fffc::,2a00:1908:fffc:ffff:ffff:ffff:ffff:ffff,UA 2a00:1908:fffd::,2a00:1908:fffd:ffff:ffff:ffff:ffff:ffff,DE 2a00:1908:fffe::,2a00:1908:fffe:ffff:ffff:ffff:ffff:ffff,FR 2a00:1908:ffff::,2a00:1908:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a00:1909::,2a00:1909:ffff:ffff:ffff:ffff:ffff:ffff,GR -2a00:190a::,2a00:190a:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a00:190b::,2a00:190f:ffff:ffff:ffff:ffff:ffff:ffff,LT +2a00:1909::,2a00:1909:3fff:ffff:ffff:ffff:ffff:ffff,GR +2a00:190a::,2a00:190a:3fff:ffff:ffff:ffff:ffff:ffff,DE +2a00:190b::,2a00:190b:fff:ffff:ffff:ffff:ffff:ffff,FR +2a00:190c::,2a00:190c:fff:ffff:ffff:ffff:ffff:ffff,GB +2a00:190d::,2a00:190d:fff:ffff:ffff:ffff:ffff:ffff,KW 2a00:1910::,2a00:1917:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1918::,2a00:191f:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a00:1920::,2a00:1928:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -25860,8 +26953,7 @@ 2a00:19b0::,2a00:19b0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:19b8::,2a00:19b8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:19c0::,2a00:19c0:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a00:19c8::,2a00:19c8:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a00:19d0::,2a00:19d7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:19c8::,2a00:19d7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:19d8::,2a00:19d8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:19e0::,2a00:19e7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:19e8::,2a00:19e8:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -25947,7 +27039,7 @@ 2a00:1c28:4:2312::,2a00:1c2f:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:1c30::,2a00:1c30:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:1c38::,2a00:1c3f:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a00:1c40::,2a00:1c40:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:1c40::,2a00:1c47:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:1c48::,2a00:1c49:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:1c50::,2a00:1c50:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:1c58::,2a00:1c58:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -26068,14 +27160,14 @@ 2a00:1fe8::,2a00:1fe8:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:1ff0::,2a00:1ff0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:1ff8::,2a00:1ff8:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a00:2000:100::,2a00:2000:208a:ffff:ffff:ffff:ffff:ffff,GB +2a00:2000::,2a00:2000:208a:ffff:ffff:ffff:ffff:ffff,GB 2a00:2000:208b::,2a00:2000:208b:ffff:ffff:ffff:ffff:ffff,PL 2a00:2000:208c::,2a00:2000:208c:ffff:ffff:ffff:ffff:ffff,NO 2a00:2000:208d::,2a00:2000:5dff:ffff:ffff:ffff:ffff:ffff,GB 2a00:2000:5e00::,2a00:2000:5eff:ffff:ffff:ffff:ffff:ffff,PL 2a00:2000:5f00::,2a00:2000:5fff:ffff:ffff:ffff:ffff:ffff,NO 2a00:2000:6000::,2a00:23ff:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a00:4000::,2a00:4000:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a00:4000::,2a00:4007:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a00:4020::,2a00:4020:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:4040::,2a00:4040:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:4060::,2a00:4067:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -26157,7 +27249,7 @@ 2a00:4a00::,2a00:4a00:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:4a20::,2a00:4a20:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:4a40::,2a00:4a40:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a00:4a60::,2a00:4a60:ffff:ffff:ffff:ffff:ffff:ffff,PS +2a00:4a60::,2a00:4a67:ffff:ffff:ffff:ffff:ffff:ffff,PS 2a00:4a80::,2a00:4a80:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:4aa0::,2a00:4aa0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:4ae0::,2a00:4ae7:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -26214,7 +27306,7 @@ 2a00:50e0::,2a00:50e7:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a00:5100::,2a00:5100:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:5120::,2a00:5120:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a00:5140::,2a00:5140:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a00:5140::,2a00:5147:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:5160::,2a00:5160:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:5180::,2a00:5180:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:51a0::,2a00:51a0:ffff:ffff:ffff:ffff:ffff:ffff,BG @@ -26327,7 +27419,7 @@ 2a00:5d80::,2a00:5d80:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:5da0::,2a00:5da0:ffff:ffff:ffff:ffff:ffff:ffff,KZ 2a00:5dc0::,2a00:5dc0:ffff:ffff:ffff:ffff:ffff:ffff,RO -2a00:5de0::,2a00:5de0:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a00:5de0::,2a00:5de7:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:5e00::,2a00:5e00:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:5e40::,2a00:5e40:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:5e60::,2a00:5e60:ffff:ffff:ffff:ffff:ffff:ffff,LB @@ -26548,42 +27640,328 @@ 2a00:7960::,2a00:7960:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:79a0::,2a00:79a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:79c0::,2a00:79c0:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a00:79e0::,2a00:79e0:3:ffff:ffff:ffff:ffff:ffff,PL +2a00:79e0::,2a00:79e0::ffff:ffff:ffff:ffff:ffff,CH +2a00:79e0:1::,2a00:79e0:2:ffff:ffff:ffff:ffff:ffff,PL +2a00:79e0:3::,2a00:79e0:3:ffff:ffff:ffff:ffff:ffff,IE +2a00:79e0:4::,2a00:79e0:4:ffff:ffff:ffff:ffff:ffff,FI 2a00:79e0:5::,2a00:79e0:5:ffff:ffff:ffff:ffff:ffff,IT -2a00:79e0:8::,2a00:79e0:f:ffff:ffff:ffff:ffff:ffff,GB -2a00:79e0:10::,2a00:79e0:13:ffff:ffff:ffff:ffff:ffff,GH +2a00:79e0:6::,2a00:79e0:6:ffff:ffff:ffff:ffff:ffff,GB +2a00:79e0:8::,2a00:79e0:8:ffff:ffff:ffff:ffff:ffff,PL +2a00:79e0:9::,2a00:79e0:a:ffff:ffff:ffff:ffff:ffff,GB +2a00:79e0:b::,2a00:79e0:b:ffff:ffff:ffff:ffff:ffff,IT +2a00:79e0:c::,2a00:79e0:c:ffff:ffff:ffff:ffff:ffff,IE +2a00:79e0:d::,2a00:79e0:f:ffff:ffff:ffff:ffff:ffff,GB +2a00:79e0:10::,2a00:79e0:13:ffff:ffff:ffff:ffff:ffff,PL 2a00:79e0:14::,2a00:79e0:14:ffff:ffff:ffff:ffff:ffff,ZA -2a00:79e0:15::,2a00:79e0:17:ffff:ffff:ffff:ffff:ffff,DE +2a00:79e0:15::,2a00:79e0:15:ffff:ffff:ffff:ffff:ffff,DE +2a00:79e0:18::,2a00:79e0:18:ffff:ffff:ffff:ffff:ffff,CH +2a00:79e0:19::,2a00:79e0:19:ffff:ffff:ffff:ffff:ffff,DE +2a00:79e0:1a::,2a00:79e0:1a:ffff:ffff:ffff:ffff:ffff,IE +2a00:79e0:1b::,2a00:79e0:1b:ffff:ffff:ffff:ffff:ffff,CH 2a00:79e0:1c::,2a00:79e0:1c:ffff:ffff:ffff:ffff:ffff,NL -2a00:79e0:1f::,2a00:79e0:1f:ffff:ffff:ffff:ffff:ffff,LT -2a00:79e0:20::,2a00:79e0:22:ffff:ffff:ffff:ffff:ffff,IE +2a00:79e0:1d::,2a00:79e0:1e:ffff:ffff:ffff:ffff:ffff,CH +2a00:79e0:1f::,2a00:79e0:1f:ffff:ffff:ffff:ffff:ffff,AE 2a00:79e0:23::,2a00:79e0:23:ffff:ffff:ffff:ffff:ffff,GB -2a00:79e0:24::,2a00:79e0:26:ffff:ffff:ffff:ffff:ffff,IE +2a00:79e0:25::,2a00:79e0:25:ffff:ffff:ffff:ffff:ffff,DE 2a00:79e0:27::,2a00:79e0:27:ffff:ffff:ffff:ffff:ffff,NL -2a00:79e0:28::,2a00:79e0:30:ffff:ffff:ffff:ffff:ffff,IE +2a00:79e0:29::,2a00:79e0:29:ffff:ffff:ffff:ffff:ffff,NL +2a00:79e0:2e::,2a00:79e0:2e:ffff:ffff:ffff:ffff:ffff,DE +2a00:79e0:2f::,2a00:79e0:2f:ffff:ffff:ffff:ffff:ffff,FR 2a00:79e0:31::,2a00:79e0:31:ffff:ffff:ffff:ffff:ffff,SK -2a00:79e0:32::,2a00:79e0:36:ffff:ffff:ffff:ffff:ffff,IE +2a00:79e0:35::,2a00:79e0:35:ffff:ffff:ffff:ffff:ffff,IE +2a00:79e0:36::,2a00:79e0:36:ffff:ffff:ffff:ffff:ffff,IT 2a00:79e0:37::,2a00:79e0:37:ffff:ffff:ffff:ffff:ffff,DE 2a00:79e0:38::,2a00:79e0:38:ffff:ffff:ffff:ffff:ffff,IE 2a00:79e0:39::,2a00:79e0:39:ffff:ffff:ffff:ffff:ffff,PT -2a00:79e0:3a::,2a00:79e0:41:ffff:ffff:ffff:ffff:ffff,IE +2a00:79e0:3b::,2a00:79e0:3c:ffff:ffff:ffff:ffff:ffff,FI +2a00:79e0:3f::,2a00:79e0:3f:ffff:ffff:ffff:ffff:ffff,CH +2a00:79e0:40::,2a00:79e0:41:ffff:ffff:ffff:ffff:ffff,IE 2a00:79e0:42::,2a00:79e0:42:ffff:ffff:ffff:ffff:ffff,CH -2a00:79e0:43::,2a00:79e0:43:ffff:ffff:ffff:ffff:ffff,IE -2a00:79e0:60::,2a00:79e0:60:ffff:ffff:ffff:ffff:ffff,CH -2a00:79e0:100::,2a00:79e0:ffe2:4ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:43::,2a00:79e0:46:ffff:ffff:ffff:ffff:ffff,IE +2a00:79e0:60::,2a00:79e0:61:ffff:ffff:ffff:ffff:ffff,CH +2a00:79e0:62::,2a00:79e0:63:ffff:ffff:ffff:ffff:ffff,GB +2a00:79e0:64::,2a00:79e0:7f:ffff:ffff:ffff:ffff:ffff,CH +2a00:79e0:a0::,2a00:79e0:a0:ffff:ffff:ffff:ffff:ffff,FR +2a00:79e0:a3::,2a00:79e0:a3:ffff:ffff:ffff:ffff:ffff,DE +2a00:79e0:100::,2a00:79e0:1ff:ffff:ffff:ffff:ffff:ffff,CH +2a00:79e0:200::,2a00:79e0:200:ff:ffff:ffff:ffff:ffff,IN +2a00:79e0:200:100::,2a00:79e0:200:1ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:200:200::,2a00:79e0:200:2ff:ffff:ffff:ffff:ffff,BR +2a00:79e0:200:300::,2a00:79e0:200:3ff:ffff:ffff:ffff:ffff,US +2a00:79e0:200:400::,2a00:79e0:200:4ff:ffff:ffff:ffff:ffff,JP +2a00:79e0:200:500::,2a00:79e0:200:5ff:ffff:ffff:ffff:ffff,CN +2a00:79e0:200:600::,2a00:79e0:200:6ff:ffff:ffff:ffff:ffff,AU +2a00:79e0:200:700::,2a00:79e0:200:7ff:ffff:ffff:ffff:ffff,GB +2a00:79e0:200:800::,2a00:79e0:200:8ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:200:900::,2a00:79e0:200:9ff:ffff:ffff:ffff:ffff,RU +2a00:79e0:200:a00::,2a00:79e0:200:aff:ffff:ffff:ffff:ffff,US +2a00:79e0:200:b00::,2a00:79e0:200:bff:ffff:ffff:ffff:ffff,CH +2a00:79e0:200:c00::,2a00:79e0:200:cff:ffff:ffff:ffff:ffff,AR +2a00:79e0:200:d00::,2a00:79e0:200:dff:ffff:ffff:ffff:ffff,UA +2a00:79e0:200:e00::,2a00:79e0:200:fff:ffff:ffff:ffff:ffff,US +2a00:79e0:200:1000::,2a00:79e0:200:10ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:200:1100::,2a00:79e0:200:11ff:ffff:ffff:ffff:ffff,US +2a00:79e0:200:1200::,2a00:79e0:200:12ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:200:1300::,2a00:79e0:200:13ff:ffff:ffff:ffff:ffff,KR +2a00:79e0:200:1400::,2a00:79e0:200:5cff:ffff:ffff:ffff:ffff,CH +2a00:79e0:200:5d00::,2a00:79e0:200:5dff:ffff:ffff:ffff:ffff,US +2a00:79e0:200:5e00::,2a00:79e0:300:ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:300:100::,2a00:79e0:300:1ff:ffff:ffff:ffff:ffff,US +2a00:79e0:300:200::,2a00:79e0:ffdf:ffff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe0::,2a00:79e0:ffe0:ff:ffff:ffff:ffff:ffff,DE +2a00:79e0:ffe0:100::,2a00:79e0:ffe0:1ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe0:200::,2a00:79e0:ffe0:7ff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe0:800::,2a00:79e0:ffe0:8ff:ffff:ffff:ffff:ffff,TW +2a00:79e0:ffe0:900::,2a00:79e0:ffe0:9ff:ffff:ffff:ffff:ffff,IN +2a00:79e0:ffe0:a00::,2a00:79e0:ffe0:cff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe0:d00::,2a00:79e0:ffe0:dff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe0:e00::,2a00:79e0:ffe0:fff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe0:1000::,2a00:79e0:ffe0:11ff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe0:1200::,2a00:79e0:ffe0:ffff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe1::,2a00:79e0:ffe1:2ff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe1:300::,2a00:79e0:ffe1:3fff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe1:4000::,2a00:79e0:ffe1:48ff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe1:4900::,2a00:79e0:ffe1:49ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe1:4a00::,2a00:79e0:ffe1:4aff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe1:4b00::,2a00:79e0:ffe1:4bff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe1:4c00::,2a00:79e0:ffe1:4dff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe1:4e00::,2a00:79e0:ffe1:4fff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe1:5000::,2a00:79e0:ffe1:51ff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe1:5200::,2a00:79e0:ffe1:7fff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe1:8000::,2a00:79e0:ffe1:81ff:ffff:ffff:ffff:ffff,IN +2a00:79e0:ffe1:8200::,2a00:79e0:ffe1:82ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe1:8300::,2a00:79e0:ffe1:83ff:ffff:ffff:ffff:ffff,IN +2a00:79e0:ffe1:8400::,2a00:79e0:ffe1:c0ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe1:c100::,2a00:79e0:ffe1:c1ff:ffff:ffff:ffff:ffff,IE +2a00:79e0:ffe1:c200::,2a00:79e0:ffe1:c2ff:ffff:ffff:ffff:ffff,GB +2a00:79e0:ffe1:c300::,2a00:79e0:ffe1:c3ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe1:c400::,2a00:79e0:ffe1:c4ff:ffff:ffff:ffff:ffff,FR +2a00:79e0:ffe1:c500::,2a00:79e0:ffe2:1ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:200::,2a00:79e0:ffe2:4ff:ffff:ffff:ffff:ffff,US 2a00:79e0:ffe2:500::,2a00:79e0:ffe2:5ff:ffff:ffff:ffff:ffff,IE -2a00:79e0:ffe2:600::,2a00:79e1:abb:ffff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:600::,2a00:79e0:ffe2:6ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:700::,2a00:79e0:ffe2:7ff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:800::,2a00:79e0:ffe2:8ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:900::,2a00:79e0:ffe2:bff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:c00::,2a00:79e0:ffe2:cff:ffff:ffff:ffff:ffff,AR +2a00:79e0:ffe2:d00::,2a00:79e0:ffe2:dff:ffff:ffff:ffff:ffff,CA +2a00:79e0:ffe2:e00::,2a00:79e0:ffe2:eff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:f00::,2a00:79e0:ffe2:fff:ffff:ffff:ffff:ffff,BR +2a00:79e0:ffe2:1000::,2a00:79e0:ffe2:11ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:1200::,2a00:79e0:ffe2:12ff:ffff:ffff:ffff:ffff,BR +2a00:79e0:ffe2:1300::,2a00:79e0:ffe2:13ff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:1400::,2a00:79e0:ffe2:14ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:1500::,2a00:79e0:ffe2:15ff:ffff:ffff:ffff:ffff,AE +2a00:79e0:ffe2:1600::,2a00:79e0:ffe2:1bff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:1c00::,2a00:79e0:ffe2:1cff:ffff:ffff:ffff:ffff,DE +2a00:79e0:ffe2:1d00::,2a00:79e0:ffe2:1dff:ffff:ffff:ffff:ffff,TW +2a00:79e0:ffe2:1e00::,2a00:79e0:ffe2:1eff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:1f00::,2a00:79e0:ffe2:1fff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:2000::,2a00:79e0:ffe2:20ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:2100::,2a00:79e0:ffe2:21ff:ffff:ffff:ffff:ffff,PL +2a00:79e0:ffe2:2200::,2a00:79e0:ffe2:22ff:ffff:ffff:ffff:ffff,AE +2a00:79e0:ffe2:2300::,2a00:79e0:ffe2:23ff:ffff:ffff:ffff:ffff,BR +2a00:79e0:ffe2:2400::,2a00:79e0:ffe2:24ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:2500::,2a00:79e0:ffe2:25ff:ffff:ffff:ffff:ffff,GB +2a00:79e0:ffe2:2600::,2a00:79e0:ffe2:26ff:ffff:ffff:ffff:ffff,FR +2a00:79e0:ffe2:2700::,2a00:79e0:ffe2:29ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:2a00::,2a00:79e0:ffe2:2aff:ffff:ffff:ffff:ffff,MY +2a00:79e0:ffe2:2b00::,2a00:79e0:ffe2:2bff:ffff:ffff:ffff:ffff,SK +2a00:79e0:ffe2:2c00::,2a00:79e0:ffe2:2cff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:2d00::,2a00:79e0:ffe2:2dff:ffff:ffff:ffff:ffff,KR +2a00:79e0:ffe2:2e00::,2a00:79e0:ffe2:32ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:3300::,2a00:79e0:ffe2:33ff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:3400::,2a00:79e0:ffe2:37ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:3800::,2a00:79e0:ffe2:39ff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:3a00::,2a00:79e0:ffe2:3aff:ffff:ffff:ffff:ffff,NL +2a00:79e0:ffe2:3b00::,2a00:79e0:ffe2:3bff:ffff:ffff:ffff:ffff,AR +2a00:79e0:ffe2:3c00::,2a00:79e0:ffe2:3dff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:3e00::,2a00:79e0:ffe2:3eff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:3f00::,2a00:79e0:ffe2:3fff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:4000::,2a00:79e0:ffe2:41ff:ffff:ffff:ffff:ffff,TW +2a00:79e0:ffe2:4200::,2a00:79e0:ffe2:42ff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:4300::,2a00:79e0:ffe2:43ff:ffff:ffff:ffff:ffff,TW +2a00:79e0:ffe2:4400::,2a00:79e0:ffe2:44ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:4500::,2a00:79e0:ffe2:45ff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:4600::,2a00:79e0:ffe2:46ff:ffff:ffff:ffff:ffff,NZ +2a00:79e0:ffe2:4700::,2a00:79e0:ffe2:47ff:ffff:ffff:ffff:ffff,AU +2a00:79e0:ffe2:4800::,2a00:79e0:ffe2:48ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:4900::,2a00:79e0:ffe2:4aff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:4b00::,2a00:79e0:ffe2:4bff:ffff:ffff:ffff:ffff,IE +2a00:79e0:ffe2:4c00::,2a00:79e0:ffe2:4cff:ffff:ffff:ffff:ffff,CN +2a00:79e0:ffe2:4d00::,2a00:79e0:ffe2:4dff:ffff:ffff:ffff:ffff,IT +2a00:79e0:ffe2:4e00::,2a00:79e0:ffe2:4eff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:4f00::,2a00:79e0:ffe2:4fff:ffff:ffff:ffff:ffff,TW +2a00:79e0:ffe2:5000::,2a00:79e0:ffe2:50ff:ffff:ffff:ffff:ffff,NL +2a00:79e0:ffe2:5100::,2a00:79e0:ffe2:51ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:5200::,2a00:79e0:ffe2:52ff:ffff:ffff:ffff:ffff,IE +2a00:79e0:ffe2:5300::,2a00:79e0:ffe2:54ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:5500::,2a00:79e0:ffe2:55ff:ffff:ffff:ffff:ffff,PT +2a00:79e0:ffe2:5600::,2a00:79e0:ffe2:56ff:ffff:ffff:ffff:ffff,IN +2a00:79e0:ffe2:5700::,2a00:79e0:ffe2:59ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:5a00::,2a00:79e0:ffe2:5aff:ffff:ffff:ffff:ffff,FR +2a00:79e0:ffe2:5b00::,2a00:79e0:ffe2:5eff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:5f00::,2a00:79e0:ffe2:5fff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:6000::,2a00:79e0:ffe2:60ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:6100::,2a00:79e0:ffe2:61ff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:6200::,2a00:79e0:ffe2:62ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:6300::,2a00:79e0:ffe2:63ff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:6400::,2a00:79e0:ffe2:64ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:6500::,2a00:79e0:ffe2:65ff:ffff:ffff:ffff:ffff,DE +2a00:79e0:ffe2:6600::,2a00:79e0:ffe2:66ff:ffff:ffff:ffff:ffff,AU +2a00:79e0:ffe2:6700::,2a00:79e0:ffe2:67ff:ffff:ffff:ffff:ffff,MY +2a00:79e0:ffe2:6800::,2a00:79e0:ffe2:68ff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:6900::,2a00:79e0:ffe2:69ff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:6a00::,2a00:79e0:ffe2:6aff:ffff:ffff:ffff:ffff,KR +2a00:79e0:ffe2:6b00::,2a00:79e0:ffe2:6bff:ffff:ffff:ffff:ffff,GB +2a00:79e0:ffe2:6c00::,2a00:79e0:ffe2:6cff:ffff:ffff:ffff:ffff,CH +2a00:79e0:ffe2:6d00::,2a00:79e0:ffe2:6dff:ffff:ffff:ffff:ffff,US +2a00:79e0:ffe2:6e00::,2a00:79e1::ffff:ffff:ffff:ffff:ffff,CH +2a00:79e1:1::,2a00:79e1:1:ffff:ffff:ffff:ffff:ffff,CN +2a00:79e1:2::,2a00:79e1:7f:ffff:ffff:ffff:ffff:ffff,CH +2a00:79e1:80::,2a00:79e1:80:ff:ffff:ffff:ffff:ffff,NL +2a00:79e1:80:100::,2a00:79e1:abb:ffff:ffff:ffff:ffff:ffff,CH 2a00:79e1:abc::,2a00:79e1:abc:ff:ffff:ffff:ffff:ffff,GB -2a00:79e1:abc:100::,2a00:79e1:abc:dff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:100::,2a00:79e1:abc:1ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:200::,2a00:79e1:abc:3ff:ffff:ffff:ffff:ffff,CH +2a00:79e1:abc:400::,2a00:79e1:abc:4ff:ffff:ffff:ffff:ffff,IN +2a00:79e1:abc:500::,2a00:79e1:abc:5ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:600::,2a00:79e1:abc:6ff:ffff:ffff:ffff:ffff,IN +2a00:79e1:abc:700::,2a00:79e1:abc:7ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:800::,2a00:79e1:abc:8ff:ffff:ffff:ffff:ffff,NZ +2a00:79e1:abc:900::,2a00:79e1:abc:dff:ffff:ffff:ffff:ffff,US 2a00:79e1:abc:e00::,2a00:79e1:abc:fff:ffff:ffff:ffff:ffff,IN -2a00:79e1:abc:1000::,2a00:79e1:abc:11ff:ffff:ffff:ffff:ffff,IE -2a00:79e1:abc:1200::,2a00:79e1:abc:6eff:ffff:ffff:ffff:ffff,US -2a00:79e1:abc:6f00::,2a00:79e1:abc:6fff:ffff:ffff:ffff:ffff,TW -2a00:79e1:abc:7000::,2a00:79e1:abc:90ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:1000::,2a00:79e1:abc:10ff:ffff:ffff:ffff:ffff,DK +2a00:79e1:abc:1100::,2a00:79e1:abc:11ff:ffff:ffff:ffff:ffff,IE +2a00:79e1:abc:1200::,2a00:79e1:abc:17ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:1800::,2a00:79e1:abc:19ff:ffff:ffff:ffff:ffff,PH +2a00:79e1:abc:1a00::,2a00:79e1:abc:1bff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:1c00::,2a00:79e1:abc:1cff:ffff:ffff:ffff:ffff,IE +2a00:79e1:abc:1d00::,2a00:79e1:abc:1dff:ffff:ffff:ffff:ffff,CH +2a00:79e1:abc:1e00::,2a00:79e1:abc:1fff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:2000::,2a00:79e1:abc:20ff:ffff:ffff:ffff:ffff,CA +2a00:79e1:abc:2100::,2a00:79e1:abc:21ff:ffff:ffff:ffff:ffff,CN +2a00:79e1:abc:2200::,2a00:79e1:abc:23ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:2400::,2a00:79e1:abc:24ff:ffff:ffff:ffff:ffff,AR +2a00:79e1:abc:2500::,2a00:79e1:abc:25ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:2600::,2a00:79e1:abc:26ff:ffff:ffff:ffff:ffff,JP +2a00:79e1:abc:2700::,2a00:79e1:abc:29ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:2a00::,2a00:79e1:abc:2cff:ffff:ffff:ffff:ffff,AU +2a00:79e1:abc:2d00::,2a00:79e1:abc:2dff:ffff:ffff:ffff:ffff,BR +2a00:79e1:abc:2e00::,2a00:79e1:abc:2eff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:2f00::,2a00:79e1:abc:2fff:ffff:ffff:ffff:ffff,CO +2a00:79e1:abc:3000::,2a00:79e1:abc:32ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:3300::,2a00:79e1:abc:33ff:ffff:ffff:ffff:ffff,CA +2a00:79e1:abc:3400::,2a00:79e1:abc:34ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:3500::,2a00:79e1:abc:35ff:ffff:ffff:ffff:ffff,BR +2a00:79e1:abc:3600::,2a00:79e1:abc:36ff:ffff:ffff:ffff:ffff,JP +2a00:79e1:abc:3700::,2a00:79e1:abc:37ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:3800::,2a00:79e1:abc:3aff:ffff:ffff:ffff:ffff,IN +2a00:79e1:abc:3b00::,2a00:79e1:abc:3dff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:3e00::,2a00:79e1:abc:3eff:ffff:ffff:ffff:ffff,IT +2a00:79e1:abc:3f00::,2a00:79e1:abc:40ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:4100::,2a00:79e1:abc:41ff:ffff:ffff:ffff:ffff,BR +2a00:79e1:abc:4200::,2a00:79e1:abc:43ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:4400::,2a00:79e1:abc:44ff:ffff:ffff:ffff:ffff,NL +2a00:79e1:abc:4500::,2a00:79e1:abc:4aff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:4b00::,2a00:79e1:abc:4bff:ffff:ffff:ffff:ffff,TW +2a00:79e1:abc:4c00::,2a00:79e1:abc:4dff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:4e00::,2a00:79e1:abc:4eff:ffff:ffff:ffff:ffff,GB +2a00:79e1:abc:4f00::,2a00:79e1:abc:4fff:ffff:ffff:ffff:ffff,PL +2a00:79e1:abc:5000::,2a00:79e1:abc:50ff:ffff:ffff:ffff:ffff,GB +2a00:79e1:abc:5100::,2a00:79e1:abc:51ff:ffff:ffff:ffff:ffff,JP +2a00:79e1:abc:5200::,2a00:79e1:abc:52ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:5300::,2a00:79e1:abc:54ff:ffff:ffff:ffff:ffff,KR +2a00:79e1:abc:5500::,2a00:79e1:abc:56ff:ffff:ffff:ffff:ffff,MY +2a00:79e1:abc:5700::,2a00:79e1:abc:57ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:5800::,2a00:79e1:abc:58ff:ffff:ffff:ffff:ffff,TH +2a00:79e1:abc:5900::,2a00:79e1:abc:61ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:6200::,2a00:79e1:abc:62ff:ffff:ffff:ffff:ffff,TW +2a00:79e1:abc:6300::,2a00:79e1:abc:63ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:6400::,2a00:79e1:abc:64ff:ffff:ffff:ffff:ffff,CA +2a00:79e1:abc:6500::,2a00:79e1:abc:68ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:6900::,2a00:79e1:abc:69ff:ffff:ffff:ffff:ffff,HK +2a00:79e1:abc:6a00::,2a00:79e1:abc:6dff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:6e00::,2a00:79e1:abc:6fff:ffff:ffff:ffff:ffff,TW +2a00:79e1:abc:7000::,2a00:79e1:abc:78ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:7900::,2a00:79e1:abc:79ff:ffff:ffff:ffff:ffff,BE +2a00:79e1:abc:7a00::,2a00:79e1:abc:83ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:8400::,2a00:79e1:abc:84ff:ffff:ffff:ffff:ffff,BE +2a00:79e1:abc:8500::,2a00:79e1:abc:85ff:ffff:ffff:ffff:ffff,BR +2a00:79e1:abc:8600::,2a00:79e1:abc:86ff:ffff:ffff:ffff:ffff,DE +2a00:79e1:abc:8700::,2a00:79e1:abc:87ff:ffff:ffff:ffff:ffff,ES +2a00:79e1:abc:8800::,2a00:79e1:abc:88ff:ffff:ffff:ffff:ffff,DE +2a00:79e1:abc:8900::,2a00:79e1:abc:89ff:ffff:ffff:ffff:ffff,FI +2a00:79e1:abc:8a00::,2a00:79e1:abc:8aff:ffff:ffff:ffff:ffff,AR +2a00:79e1:abc:8b00::,2a00:79e1:abc:8bff:ffff:ffff:ffff:ffff,FR +2a00:79e1:abc:8c00::,2a00:79e1:abc:8cff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:8d00::,2a00:79e1:abc:8dff:ffff:ffff:ffff:ffff,NL +2a00:79e1:abc:8e00::,2a00:79e1:abc:8eff:ffff:ffff:ffff:ffff,IT +2a00:79e1:abc:8f00::,2a00:79e1:abc:90ff:ffff:ffff:ffff:ffff,US 2a00:79e1:abc:9100::,2a00:79e1:abc:91ff:ffff:ffff:ffff:ffff,TW -2a00:79e1:abc:9200::,2a00:79e1:abc:b1ff:ffff:ffff:ffff:ffff,US -2a00:79e1:abc:b200::,2a00:79e1:abc:b2ff:ffff:ffff:ffff:ffff,TW -2a00:79e1:abc:b300::,2a00:79e1:abc:ffff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:9200::,2a00:79e1:abc:92ff:ffff:ffff:ffff:ffff,DE +2a00:79e1:abc:9300::,2a00:79e1:abc:93ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:9400::,2a00:79e1:abc:94ff:ffff:ffff:ffff:ffff,CZ +2a00:79e1:abc:9500::,2a00:79e1:abc:95ff:ffff:ffff:ffff:ffff,GB +2a00:79e1:abc:9600::,2a00:79e1:abc:96ff:ffff:ffff:ffff:ffff,IE +2a00:79e1:abc:9700::,2a00:79e1:abc:97ff:ffff:ffff:ffff:ffff,GR +2a00:79e1:abc:9800::,2a00:79e1:abc:98ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:9900::,2a00:79e1:abc:99ff:ffff:ffff:ffff:ffff,PL +2a00:79e1:abc:9a00::,2a00:79e1:abc:9aff:ffff:ffff:ffff:ffff,GB +2a00:79e1:abc:9b00::,2a00:79e1:abc:9bff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:9c00::,2a00:79e1:abc:9cff:ffff:ffff:ffff:ffff,DK +2a00:79e1:abc:9d00::,2a00:79e1:abc:9dff:ffff:ffff:ffff:ffff,KE +2a00:79e1:abc:9e00::,2a00:79e1:abc:9eff:ffff:ffff:ffff:ffff,HU +2a00:79e1:abc:9f00::,2a00:79e1:abc:9fff:ffff:ffff:ffff:ffff,RU +2a00:79e1:abc:a000::,2a00:79e1:abc:a0ff:ffff:ffff:ffff:ffff,IL +2a00:79e1:abc:a100::,2a00:79e1:abc:a1ff:ffff:ffff:ffff:ffff,AU +2a00:79e1:abc:a200::,2a00:79e1:abc:a2ff:ffff:ffff:ffff:ffff,IL +2a00:79e1:abc:a300::,2a00:79e1:abc:a3ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:a400::,2a00:79e1:abc:a4ff:ffff:ffff:ffff:ffff,NG +2a00:79e1:abc:a500::,2a00:79e1:abc:a5ff:ffff:ffff:ffff:ffff,PL +2a00:79e1:abc:a600::,2a00:79e1:abc:a6ff:ffff:ffff:ffff:ffff,PT +2a00:79e1:abc:a700::,2a00:79e1:abc:a7ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:a800::,2a00:79e1:abc:a8ff:ffff:ffff:ffff:ffff,SE +2a00:79e1:abc:a900::,2a00:79e1:abc:a9ff:ffff:ffff:ffff:ffff,UA +2a00:79e1:abc:aa00::,2a00:79e1:abc:aaff:ffff:ffff:ffff:ffff,GB +2a00:79e1:abc:ab00::,2a00:79e1:abc:abff:ffff:ffff:ffff:ffff,CN +2a00:79e1:abc:ac00::,2a00:79e1:abc:acff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:ad00::,2a00:79e1:abc:adff:ffff:ffff:ffff:ffff,KR +2a00:79e1:abc:ae00::,2a00:79e1:abc:afff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:b000::,2a00:79e1:abc:b0ff:ffff:ffff:ffff:ffff,DE +2a00:79e1:abc:b100::,2a00:79e1:abc:b2ff:ffff:ffff:ffff:ffff,TW +2a00:79e1:abc:b300::,2a00:79e1:abc:b3ff:ffff:ffff:ffff:ffff,AE +2a00:79e1:abc:b400::,2a00:79e1:abc:b4ff:ffff:ffff:ffff:ffff,IT +2a00:79e1:abc:b500::,2a00:79e1:abc:b5ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:b600::,2a00:79e1:abc:b6ff:ffff:ffff:ffff:ffff,TR +2a00:79e1:abc:b700::,2a00:79e1:abc:b7ff:ffff:ffff:ffff:ffff,IE +2a00:79e1:abc:b800::,2a00:79e1:abc:b8ff:ffff:ffff:ffff:ffff,TW +2a00:79e1:abc:b900::,2a00:79e1:abc:bbff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:bc00::,2a00:79e1:abc:bdff:ffff:ffff:ffff:ffff,PL +2a00:79e1:abc:be00::,2a00:79e1:abc:beff:ffff:ffff:ffff:ffff,FR +2a00:79e1:abc:bf00::,2a00:79e1:abc:c1ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:c200::,2a00:79e1:abc:c2ff:ffff:ffff:ffff:ffff,DE +2a00:79e1:abc:c300::,2a00:79e1:abc:c4ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:c500::,2a00:79e1:abc:c5ff:ffff:ffff:ffff:ffff,IE +2a00:79e1:abc:c600::,2a00:79e1:abc:c7ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:c800::,2a00:79e1:abc:c8ff:ffff:ffff:ffff:ffff,FI +2a00:79e1:abc:c900::,2a00:79e1:abc:caff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:cb00::,2a00:79e1:abc:cbff:ffff:ffff:ffff:ffff,DE +2a00:79e1:abc:cc00::,2a00:79e1:abc:cdff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:ce00::,2a00:79e1:abc:ceff:ffff:ffff:ffff:ffff,CA +2a00:79e1:abc:cf00::,2a00:79e1:abc:cfff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:d000::,2a00:79e1:abc:d0ff:ffff:ffff:ffff:ffff,TW +2a00:79e1:abc:d100::,2a00:79e1:abc:d4ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:d500::,2a00:79e1:abc:d5ff:ffff:ffff:ffff:ffff,MY +2a00:79e1:abc:d600::,2a00:79e1:abc:d6ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:d700::,2a00:79e1:abc:d7ff:ffff:ffff:ffff:ffff,PT +2a00:79e1:abc:d800::,2a00:79e1:abc:d8ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:d900::,2a00:79e1:abc:d9ff:ffff:ffff:ffff:ffff,GB +2a00:79e1:abc:da00::,2a00:79e1:abc:ddff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:de00::,2a00:79e1:abc:deff:ffff:ffff:ffff:ffff,IE +2a00:79e1:abc:df00::,2a00:79e1:abc:e1ff:ffff:ffff:ffff:ffff,US +2a00:79e1:abc:e200::,2a00:79e1:abc:e2ff:ffff:ffff:ffff:ffff,IN +2a00:79e1:abc:e300::,2a00:79e1:abc:ffff:ffff:ffff:ffff:ffff,US 2a00:79e1:ac0::,2a00:79e1:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a00:7a00::,2a00:7a00:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:7a20::,2a00:7a20:ffff:ffff:ffff:ffff:ffff:ffff,FI @@ -26627,7 +28005,6 @@ 2a00:7f20::,2a00:7f20:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a00:7f40::,2a00:7f40:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:7f60::,2a00:7f60:ffff:ffff:ffff:ffff:ffff:ffff,AE -2a00:7f80::,2a00:7f87:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a00:7fc0::,2a00:7fc0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:7fe0::,2a00:7fe0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:8000::,2a00:8007:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -26661,7 +28038,7 @@ 2a00:83a0::,2a00:83a0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:83c0::,2a00:83c0:ffff:ffff:ffff:ffff:ffff:ffff,LB 2a00:83e0::,2a00:83e0:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a00:8420::,2a00:8420:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a00:8420::,2a00:8427:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:8440::,2a00:8440:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:8460::,2a00:8460:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:8480::,2a00:8480:ffff:ffff:ffff:ffff:ffff:ffff,LV @@ -26708,10 +28085,10 @@ 2a00:89e0::,2a00:89e0:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:8a00::,2a00:8a00:afff:ffff:ffff:ffff:ffff:ffff,BR 2a00:8a00:b000::,2a00:8a00:bfff:ffff:ffff:ffff:ffff:ffff,IN -2a00:8a00:c000::,2a00:8a00:ffff:ffff:ffff:ffff:ffff:ffff,BR +2a00:8a00:c000::,2a00:8a07:ffff:ffff:ffff:ffff:ffff:ffff,BR 2a00:8a20::,2a00:8a20:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a00:8a40::,2a00:8a40:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a00:8a60::,2a00:8a60:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:8a60::,2a00:8a67:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:8a80::,2a00:8a87:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:8aa0::,2a00:8aa0:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a00:8ac0::,2a00:8ac0:ffff:ffff:ffff:ffff:ffff:ffff,IQ @@ -26802,7 +28179,7 @@ 2a00:9560::,2a00:9567:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a00:9580::,2a00:9580:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:95a0::,2a00:95a0:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a00:95c0::,2a00:95c0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:95c0::,2a00:95c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:95e0::,2a00:95e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:9600::,2a00:9600:83ff:ffff:ffff:ffff:ffff:ffff,GB 2a00:9600:8400::,2a00:9600:8400:ffff:ffff:ffff:ffff:ffff,US @@ -26879,7 +28256,7 @@ 2a00:9ea0::,2a00:9ea0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:9ec0::,2a00:9ec0:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a00:9ee0::,2a00:9ee0:ffff:ffff:ffff:ffff:ffff:ffff,SK -2a00:9f00::,2a00:9f00:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a00:9f00::,2a00:9f07:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:9f20::,2a00:9f20:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a00:9f40::,2a00:9f47:ffff:ffff:ffff:ffff:ffff:ffff,AL 2a00:9f60::,2a00:9f60:ffff:ffff:ffff:ffff:ffff:ffff,IL @@ -27025,7 +28402,8 @@ 2a00:b160::,2a00:b160:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:b180::,2a00:b180:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a00:b1a0::,2a00:b1a0:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a00:b1c0::,2a00:b1c0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a00:b1c0::,2a00:b1c0:fffe:ffff:ffff:ffff:ffff:ffff,RU +2a00:b1c0:ffff::,2a00:b1c0:ffff:ffff:ffff:ffff:ffff:ffff,US 2a00:b1e0::,2a00:b1e0:ffff:ffff:ffff:ffff:ffff:ffff,LU 2a00:b200::,2a00:b200:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a00:b220::,2a00:b220:ffff:ffff:ffff:ffff:ffff:ffff,AT @@ -27083,7 +28461,6 @@ 2a00:b960::,2a00:b960:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a00:b980::,2a00:b987:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:b9a0::,2a00:b9a0:ffff:ffff:ffff:ffff:ffff:ffff,FI -2a00:b9c0::,2a00:b9c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:b9e0::,2a00:b9e0:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a00:ba00::,2a00:ba00:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a00:ba20::,2a00:ba20:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -27275,7 +28652,7 @@ 2a00:d0c0::,2a00:d0c0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:d0e0::,2a00:d0e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:d100::,2a00:d107:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a00:d120::,2a00:d120:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:d120::,2a00:d127:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:d140::,2a00:d140:ffff:ffff:ffff:ffff:ffff:ffff,RS 2a00:d160::,2a00:d160:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a00:d180::,2a00:d180:ffff:ffff:ffff:ffff:ffff:ffff,PT @@ -27406,9 +28783,7 @@ 2a00:e120::,2a00:e120:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:e140::,2a00:e140:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:e160::,2a00:e160:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a00:e180::,2a00:e180:123f:ffff:ffff:ffff:ffff:ffff,DE -2a00:e180:1240::,2a00:e180:127f:ffff:ffff:ffff:ffff:ffff,US -2a00:e180:1280::,2a00:e180:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a00:e180::,2a00:e180:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:e1a0::,2a00:e1a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:e1c0::,2a00:e1c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:e1e0::,2a00:e1e0:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -27565,7 +28940,7 @@ 2a00:f5e0::,2a00:f5e0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a00:f600::,2a00:f600:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:f620::,2a00:f620:ffff:ffff:ffff:ffff:ffff:ffff,BE -2a00:f640::,2a00:f640:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a00:f640::,2a00:f647:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a00:f660::,2a00:f660:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:f680::,2a00:f680:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a00:f6a0::,2a00:f6a0:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -27614,7 +28989,7 @@ 2a00:fb80::,2a00:fb80:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a00:fba0::,2a00:fba0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a00:fbc0::,2a00:fbc0:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a00:fbe0::,2a00:fbe0:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a00:fbe0::,2a00:fbe7:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a00:fc00::,2a00:fc00:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a00:fc20::,2a00:fc20:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a00:fc40::,2a00:fc40:ffff:ffff:ffff:ffff:ffff:ffff,BG @@ -27686,14 +29061,12 @@ 2a01:d0::,2a01:d0:3ff:ffff:ffff:ffff:ffff:ffff,UA 2a01:d0:400::,2a01:d0:3fff:ffff:ffff:ffff:ffff:ffff,GI 2a01:d0:4000::,2a01:d0:47ff:ffff:ffff:ffff:ffff:ffff,UA -2a01:d0:4800::,2a01:d0:88ff:ffff:ffff:ffff:ffff:ffff,GI -2a01:d0:8900::,2a01:d0:897f:ffff:ffff:ffff:ffff:ffff,UA -2a01:d0:8980::,2a01:d0:93ff:ffff:ffff:ffff:ffff:ffff,GI +2a01:d0:4800::,2a01:d0:87ff:ffff:ffff:ffff:ffff:ffff,GI +2a01:d0:8800::,2a01:d0:8bff:ffff:ffff:ffff:ffff:ffff,UA +2a01:d0:8c00::,2a01:d0:93ff:ffff:ffff:ffff:ffff:ffff,GI 2a01:d0:9400::,2a01:d0:97ff:ffff:ffff:ffff:ffff:ffff,UA -2a01:d0:9800::,2a01:d0:e3ff:ffff:ffff:ffff:ffff:ffff,GI -2a01:d0:e400::,2a01:d0:e7ff:ffff:ffff:ffff:ffff:ffff,UA -2a01:d0:e800::,2a01:d0:ebff:ffff:ffff:ffff:ffff:ffff,GI -2a01:d0:ec00::,2a01:d0:efff:ffff:ffff:ffff:ffff:ffff,UA +2a01:d0:9800::,2a01:d0:e7ff:ffff:ffff:ffff:ffff:ffff,GI +2a01:d0:e800::,2a01:d0:efff:ffff:ffff:ffff:ffff:ffff,UA 2a01:d0:f000::,2a01:d0:ffff:ffff:ffff:ffff:ffff:ffff,GI 2a01:d8::,2a01:d8:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:e0::,2a01:e0:ffff:ffff:ffff:ffff:ffff:ffff,SK @@ -27809,7 +29182,9 @@ 2a01:111:f330:1793::,2a01:111:f330:1794:ffff:ffff:ffff:ffff,US 2a01:111:f330:1795::,2a01:111:f330:17cf:ffff:ffff:ffff:ffff,GB 2a01:111:f330:17d0::,2a01:111:f330:17d0:ffff:ffff:ffff:ffff,US -2a01:111:f330:17d1::,2a01:111:f3ff:ffff:ffff:ffff:ffff:ffff,GB +2a01:111:f330:17d1::,2a01:111:f335:1791:ffff:ffff:ffff:ffff,GB +2a01:111:f335:1792::,2a01:111:f335:1792:ffff:ffff:ffff:ffff,US +2a01:111:f335:1793::,2a01:111:f3ff:ffff:ffff:ffff:ffff:ffff,GB 2a01:111:f400::,2a01:111:f400:2c:ffff:ffff:ffff:ffff,US 2a01:111:f400:2d::,2a01:111:f400:2d:ffff:ffff:ffff:ffff,GB 2a01:111:f400:2e::,2a01:111:f400:5c:ffff:ffff:ffff:ffff,US @@ -28007,9 +29382,11 @@ 2a01:111:f400:7800::,2a01:111:f400:7c0f:ffff:ffff:ffff:ffff,GB 2a01:111:f400:7c10::,2a01:111:f400:7c17:ffff:ffff:ffff:ffff,US 2a01:111:f400:7c18::,2a01:111:f400:7c18:ffff:ffff:ffff:ffff,HK -2a01:111:f400:7c19::,2a01:111:f400:7d03:ffff:ffff:ffff:ffff,GB -2a01:111:f400:7d04::,2a01:111:f400:7d04:ffff:ffff:ffff:ffff,US -2a01:111:f400:7d05::,2a01:111:f400:7e01:ffff:ffff:ffff:ffff,GB +2a01:111:f400:7c19::,2a01:111:f400:7cff:ffff:ffff:ffff:ffff,GB +2a01:111:f400:7d00::,2a01:111:f400:7d00:ffff:ffff:ffff:ffff,AT +2a01:111:f400:7d01::,2a01:111:f400:7d03:ffff:ffff:ffff:ffff,GB +2a01:111:f400:7d04::,2a01:111:f400:7d05:ffff:ffff:ffff:ffff,US +2a01:111:f400:7d06::,2a01:111:f400:7e01:ffff:ffff:ffff:ffff,GB 2a01:111:f400:7e02::,2a01:111:f400:7e03:ffff:ffff:ffff:ffff,IE 2a01:111:f400:7e04::,2a01:111:f400:7e04:ffff:ffff:ffff:ffff,GB 2a01:111:f400:7e05::,2a01:111:f400:7e05:ffff:ffff:ffff:ffff,FI @@ -28044,15 +29421,15 @@ 2a01:111:f400:7e51::,2a01:111:f400:7e51:ffff:ffff:ffff:ffff,GB 2a01:111:f400:7e52::,2a01:111:f400:7e52:ffff:ffff:ffff:ffff,US 2a01:111:f400:7e53::,2a01:111:f400:7e53:ffff:ffff:ffff:ffff,GB -2a01:111:f400:7e54::,2a01:111:f400:7e57:ffff:ffff:ffff:ffff,US -2a01:111:f400:7e58::,2a01:111:f400:7e5a:ffff:ffff:ffff:ffff,GB +2a01:111:f400:7e54::,2a01:111:f400:7e58:ffff:ffff:ffff:ffff,US +2a01:111:f400:7e59::,2a01:111:f400:7e5a:ffff:ffff:ffff:ffff,GB 2a01:111:f400:7e5b::,2a01:111:f400:7e5b:ffff:ffff:ffff:ffff,US 2a01:111:f400:7e5c::,2a01:111:f400:7e5e:ffff:ffff:ffff:ffff,CA 2a01:111:f400:7e5f::,2a01:111:f400:7e7f:ffff:ffff:ffff:ffff,GB 2a01:111:f400:7e80::,2a01:111:f400:7e80:ffff:ffff:ffff:ffff,US 2a01:111:f400:7e81::,2a01:111:f400:7e82:ffff:ffff:ffff:ffff,GB -2a01:111:f400:7e83::,2a01:111:f400:7e83:ffff:ffff:ffff:ffff,US -2a01:111:f400:7e84::,2a01:111:f400:7e89:ffff:ffff:ffff:ffff,GB +2a01:111:f400:7e83::,2a01:111:f400:7e84:ffff:ffff:ffff:ffff,US +2a01:111:f400:7e85::,2a01:111:f400:7e89:ffff:ffff:ffff:ffff,GB 2a01:111:f400:7e8a::,2a01:111:f400:7e8a:ffff:ffff:ffff:ffff,US 2a01:111:f400:7e8b::,2a01:111:f400:7e8d:ffff:ffff:ffff:ffff,GB 2a01:111:f400:7e8e::,2a01:111:f400:7e8e:ffff:ffff:ffff:ffff,US @@ -28063,11 +29440,15 @@ 2a01:111:f400:7e94::,2a01:111:f400:7e95:ffff:ffff:ffff:ffff,IN 2a01:111:f400:7e96::,2a01:111:f400:7e96:ffff:ffff:ffff:ffff,GB 2a01:111:f400:7e97::,2a01:111:f400:7e97:ffff:ffff:ffff:ffff,SG -2a01:111:f400:7e98::,2a01:111:f400:7e9d:ffff:ffff:ffff:ffff,GB +2a01:111:f400:7e98::,2a01:111:f400:7e99:ffff:ffff:ffff:ffff,GB +2a01:111:f400:7e9a::,2a01:111:f400:7e9a:ffff:ffff:ffff:ffff,US +2a01:111:f400:7e9b::,2a01:111:f400:7e9d:ffff:ffff:ffff:ffff,GB 2a01:111:f400:7e9e::,2a01:111:f400:7e9f:ffff:ffff:ffff:ffff,JP 2a01:111:f400:7ea0::,2a01:111:f400:7ea3:ffff:ffff:ffff:ffff,GB 2a01:111:f400:7ea4::,2a01:111:f400:7ea7:ffff:ffff:ffff:ffff,IN -2a01:111:f400:7ea8::,2a01:111:f400:7eb3:ffff:ffff:ffff:ffff,GB +2a01:111:f400:7ea8::,2a01:111:f400:7ea8:ffff:ffff:ffff:ffff,GB +2a01:111:f400:7ea9::,2a01:111:f400:7ea9:ffff:ffff:ffff:ffff,US +2a01:111:f400:7eaa::,2a01:111:f400:7eb3:ffff:ffff:ffff:ffff,GB 2a01:111:f400:7eb4::,2a01:111:f400:7eb5:ffff:ffff:ffff:ffff,AU 2a01:111:f400:7eb6::,2a01:111:f400:7eb7:ffff:ffff:ffff:ffff,GB 2a01:111:f400:7eb8::,2a01:111:f400:7eb8:ffff:ffff:ffff:ffff,HK @@ -28290,9 +29671,11 @@ 2a01:111:f400:fc14::,2a01:111:f400:fc17:ffff:ffff:ffff:ffff,GB 2a01:111:f400:fc18::,2a01:111:f400:fc1b:ffff:ffff:ffff:ffff,HK 2a01:111:f400:fc1c::,2a01:111:f400:fc1c:ffff:ffff:ffff:ffff,IE -2a01:111:f400:fc1d::,2a01:111:f400:fd03:ffff:ffff:ffff:ffff,GB -2a01:111:f400:fd04::,2a01:111:f400:fd04:ffff:ffff:ffff:ffff,US -2a01:111:f400:fd05::,2a01:111:f400:fe01:ffff:ffff:ffff:ffff,GB +2a01:111:f400:fc1d::,2a01:111:f400:fd01:ffff:ffff:ffff:ffff,GB +2a01:111:f400:fd02::,2a01:111:f400:fd02:ffff:ffff:ffff:ffff,US +2a01:111:f400:fd03::,2a01:111:f400:fd03:ffff:ffff:ffff:ffff,GB +2a01:111:f400:fd04::,2a01:111:f400:fd05:ffff:ffff:ffff:ffff,US +2a01:111:f400:fd06::,2a01:111:f400:fe01:ffff:ffff:ffff:ffff,GB 2a01:111:f400:fe02::,2a01:111:f400:fe02:ffff:ffff:ffff:ffff,IE 2a01:111:f400:fe03::,2a01:111:f400:fe03:ffff:ffff:ffff:ffff,GB 2a01:111:f400:fe04::,2a01:111:f400:fe04:ffff:ffff:ffff:ffff,IE @@ -28475,7 +29858,7 @@ 2a01:188::,2a01:188:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a01:190::,2a01:197:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a01:198::,2a01:198:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a01:1a0::,2a01:1a0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:1a0::,2a01:1a7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a01:1a8::,2a01:1a8:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:1b0::,2a01:1b7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:1b8::,2a01:1b8::ffff:ffff:ffff:ffff:ffff,EE @@ -28485,7 +29868,7 @@ 2a01:1d0::,2a01:1d7:ffff:ffff:ffff:ffff:ffff:ffff,JO 2a01:1d8::,2a01:1df:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:1e0::,2a01:1e0:ffff:ffff:ffff:ffff:ffff:ffff,IE -2a01:1e8::,2a01:1e8:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:1e8::,2a01:1ef:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:1f0::,2a01:1f0:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a01:1f8::,2a01:1f8:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:200::,2a01:200:ffff:ffff:ffff:ffff:ffff:ffff,CH @@ -28542,8 +29925,8 @@ 2a01:378::,2a01:37f:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:380::,2a01:380:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a01:388::,2a01:388:377:ffff:ffff:ffff:ffff:ffff,GB -2a01:388:378::,2a01:388:37b:ffff:ffff:ffff:ffff:ffff,NL -2a01:388:37c::,2a01:38f:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:388:378::,2a01:388:379:ffff:ffff:ffff:ffff:ffff,NL +2a01:388:37a::,2a01:38f:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:390::,2a01:397:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a01:398::,2a01:398:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:3a0::,2a01:3a7:ffff:ffff:ffff:ffff:ffff:ffff,DK @@ -28641,7 +30024,11 @@ 2a01:4f8:151:227::,2a01:4f8:151:227:ffff:ffff:ffff:ffff,AQ 2a01:4f8:151:228::,2a01:4f8:1c0c:4059:ffff:ffff:ffff:ffff,DE 2a01:4f8:1c0c:405a::,2a01:4f8:1c0c:405a:ffff:ffff:ffff:ffff,BV -2a01:4f8:1c0c:405b::,2a01:4ff:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a01:4f8:1c0c:405b::,2a01:4f9:2a:a2e:ffff:ffff:ffff:ffff,DE +2a01:4f9:2a:a2f::,2a01:4f9:2a:a2f:ffff:ffff:ffff:ffff,FI +2a01:4f9:2a:a30::,2a01:4f9:2a:1669:ffff:ffff:ffff:ffff,DE +2a01:4f9:2a:166a::,2a01:4f9:2a:166a:ffff:ffff:ffff:ffff,FI +2a01:4f9:2a:166b::,2a01:4ff:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:500::,2a01:500:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:508::,2a01:508:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:510::,2a01:510:ffff:ffff:ffff:ffff:ffff:ffff,CZ @@ -28776,8 +30163,8 @@ 2a01:7a7:2:1054::,2a01:7a7:2:1059:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:105a::,2a01:7a7:2:105b:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:105c::,2a01:7a7:2:106b:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:106c::,2a01:7a7:2:106e:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:106f::,2a01:7a7:2:1073:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:106c::,2a01:7a7:2:106d:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:106e::,2a01:7a7:2:1073:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1074::,2a01:7a7:2:1076:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1077::,2a01:7a7:2:107a:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:107b::,2a01:7a7:2:107c:ffff:ffff:ffff:ffff,FR @@ -28890,8 +30277,8 @@ 2a01:7a7:2:1157::,2a01:7a7:2:115a:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:115b::,2a01:7a7:2:115c:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:115d::,2a01:7a7:2:1161:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1162::,2a01:7a7:2:1164:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1165::,2a01:7a7:2:1165:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1162::,2a01:7a7:2:1163:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1164::,2a01:7a7:2:1165:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1166::,2a01:7a7:2:116b:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:116c::,2a01:7a7:2:116c:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:116d::,2a01:7a7:2:116f:ffff:ffff:ffff:ffff,FR @@ -28909,9 +30296,7 @@ 2a01:7a7:2:1185::,2a01:7a7:2:1185:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1186::,2a01:7a7:2:118a:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:118b::,2a01:7a7:2:118c:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:118d::,2a01:7a7:2:118e:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:118f::,2a01:7a7:2:118f:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1190::,2a01:7a7:2:1190:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:118d::,2a01:7a7:2:1190:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1191::,2a01:7a7:2:1191:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1192::,2a01:7a7:2:1192:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1193::,2a01:7a7:2:1197:ffff:ffff:ffff:ffff,FR @@ -28924,8 +30309,8 @@ 2a01:7a7:2:11a7::,2a01:7a7:2:11a8:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:11a9::,2a01:7a7:2:11ab:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:11ac::,2a01:7a7:2:11ac:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:11ad::,2a01:7a7:2:11af:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:11b0::,2a01:7a7:2:11b1:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:11ad::,2a01:7a7:2:11ae:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:11af::,2a01:7a7:2:11b1:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:11b2::,2a01:7a7:2:11b3:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:11b4::,2a01:7a7:2:11b4:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:11b5::,2a01:7a7:2:11b7:ffff:ffff:ffff:ffff,FR @@ -29053,8 +30438,8 @@ 2a01:7a7:2:12b4::,2a01:7a7:2:12b9:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:12ba::,2a01:7a7:2:12ba:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:12bb::,2a01:7a7:2:12be:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:12bf::,2a01:7a7:2:12bf:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:12c0::,2a01:7a7:2:12c3:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:12bf::,2a01:7a7:2:12c1:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:12c2::,2a01:7a7:2:12c3:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:12c4::,2a01:7a7:2:12c6:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:12c7::,2a01:7a7:2:12c7:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:12c8::,2a01:7a7:2:12c9:ffff:ffff:ffff:ffff,DE @@ -29138,8 +30523,8 @@ 2a01:7a7:2:13a3::,2a01:7a7:2:13a3:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:13a4::,2a01:7a7:2:13a5:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:13a6::,2a01:7a7:2:13a6:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:13a7::,2a01:7a7:2:13ac:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:13ad::,2a01:7a7:2:13ad:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:13a7::,2a01:7a7:2:13ab:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:13ac::,2a01:7a7:2:13ad:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:13ae::,2a01:7a7:2:13b0:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:13b1::,2a01:7a7:2:13b1:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:13b2::,2a01:7a7:2:13b3:ffff:ffff:ffff:ffff,FR @@ -29178,7 +30563,9 @@ 2a01:7a7:2:140e::,2a01:7a7:2:140f:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1410::,2a01:7a7:2:1411:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1412::,2a01:7a7:2:1412:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1413::,2a01:7a7:2:141a:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1413::,2a01:7a7:2:1413:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1414::,2a01:7a7:2:1414:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1415::,2a01:7a7:2:141a:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:141b::,2a01:7a7:2:141c:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:141d::,2a01:7a7:2:141e:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:141f::,2a01:7a7:2:141f:ffff:ffff:ffff:ffff,DE @@ -29204,21 +30591,27 @@ 2a01:7a7:2:144c::,2a01:7a7:2:144d:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:144e::,2a01:7a7:2:144f:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1450::,2a01:7a7:2:1451:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1452::,2a01:7a7:2:145c:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1452::,2a01:7a7:2:1454:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1455::,2a01:7a7:2:1455:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1456::,2a01:7a7:2:1459:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:145a::,2a01:7a7:2:145a:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:145b::,2a01:7a7:2:145c:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:145d::,2a01:7a7:2:1460:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1461::,2a01:7a7:2:1464:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1465::,2a01:7a7:2:1465:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1466::,2a01:7a7:2:1467:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1468::,2a01:7a7:2:1469:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:146a::,2a01:7a7:2:146a:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:146b::,2a01:7a7:2:146b:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:146c::,2a01:7a7:2:146d:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:146b::,2a01:7a7:2:146c:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:146d::,2a01:7a7:2:146d:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:146e::,2a01:7a7:2:146e:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:146f::,2a01:7a7:2:1476:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1477::,2a01:7a7:2:1478:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1479::,2a01:7a7:2:1481:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1482::,2a01:7a7:2:1482:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1483::,2a01:7a7:2:1492:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1483::,2a01:7a7:2:1488:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1489::,2a01:7a7:2:1489:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:148a::,2a01:7a7:2:1492:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1493::,2a01:7a7:2:1493:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1494::,2a01:7a7:2:1497:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1498::,2a01:7a7:2:1498:ffff:ffff:ffff:ffff,DE @@ -29232,8 +30625,10 @@ 2a01:7a7:2:14ad::,2a01:7a7:2:14ad:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:14ae::,2a01:7a7:2:14b3:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:14b4::,2a01:7a7:2:14b4:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:14b5::,2a01:7a7:2:14b8:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:14b9::,2a01:7a7:2:14b9:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:14b5::,2a01:7a7:2:14b5:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:14b6::,2a01:7a7:2:14b6:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:14b7::,2a01:7a7:2:14b7:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:14b8::,2a01:7a7:2:14b9:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:14ba::,2a01:7a7:2:14c3:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:14c4::,2a01:7a7:2:14c4:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:14c5::,2a01:7a7:2:14ca:ffff:ffff:ffff:ffff,FR @@ -29262,21 +30657,25 @@ 2a01:7a7:2:1514::,2a01:7a7:2:1517:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1518::,2a01:7a7:2:151a:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:151b::,2a01:7a7:2:151b:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:151c::,2a01:7a7:2:1522:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1523::,2a01:7a7:2:1524:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:151c::,2a01:7a7:2:1521:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1522::,2a01:7a7:2:1524:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1525::,2a01:7a7:2:1526:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1527::,2a01:7a7:2:1529:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:152a::,2a01:7a7:2:152c:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:152d::,2a01:7a7:2:152d:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:152e::,2a01:7a7:2:153d:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:153e::,2a01:7a7:2:153e:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:152e::,2a01:7a7:2:153c:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:153d::,2a01:7a7:2:153e:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:153f::,2a01:7a7:2:1544:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1545::,2a01:7a7:2:1545:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1546::,2a01:7a7:2:1550:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1551::,2a01:7a7:2:1551:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1552::,2a01:7a7:2:1554:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1555::,2a01:7a7:2:1555:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1556::,2a01:7a7:2:1561:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1556::,2a01:7a7:2:1556:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1557::,2a01:7a7:2:1558:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1559::,2a01:7a7:2:155e:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:155f::,2a01:7a7:2:1560:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1561::,2a01:7a7:2:1561:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1562::,2a01:7a7:2:1563:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1564::,2a01:7a7:2:1569:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:156a::,2a01:7a7:2:156b:ffff:ffff:ffff:ffff,DE @@ -29288,13 +30687,17 @@ 2a01:7a7:2:1585::,2a01:7a7:2:1585:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1586::,2a01:7a7:2:1586:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1587::,2a01:7a7:2:1587:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1588::,2a01:7a7:2:1596:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1588::,2a01:7a7:2:158c:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:158d::,2a01:7a7:2:158d:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:158e::,2a01:7a7:2:1596:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1597::,2a01:7a7:2:1597:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1598::,2a01:7a7:2:1599:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:159a::,2a01:7a7:2:159a:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1598::,2a01:7a7:2:1598:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1599::,2a01:7a7:2:159a:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:159b::,2a01:7a7:2:15a1:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:15a2::,2a01:7a7:2:15a2:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:15a3::,2a01:7a7:2:15a6:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:15a3::,2a01:7a7:2:15a4:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:15a5::,2a01:7a7:2:15a5:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:15a6::,2a01:7a7:2:15a6:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:15a7::,2a01:7a7:2:15a8:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:15a9::,2a01:7a7:2:15a9:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:15aa::,2a01:7a7:2:15ad:ffff:ffff:ffff:ffff,DE @@ -29318,9 +30721,13 @@ 2a01:7a7:2:15ed::,2a01:7a7:2:15ed:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:15ee::,2a01:7a7:2:15f4:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:15f5::,2a01:7a7:2:15f5:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:15f6::,2a01:7a7:2:1606:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:15f6::,2a01:7a7:2:1601:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1602::,2a01:7a7:2:1602:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1603::,2a01:7a7:2:1606:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1607::,2a01:7a7:2:1607:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1608::,2a01:7a7:2:160a:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1608::,2a01:7a7:2:1608:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1609::,2a01:7a7:2:1609:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:160a::,2a01:7a7:2:160a:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:160b::,2a01:7a7:2:160c:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:160d::,2a01:7a7:2:160d:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:160e::,2a01:7a7:2:160e:ffff:ffff:ffff:ffff,DE @@ -29332,7 +30739,9 @@ 2a01:7a7:2:161d::,2a01:7a7:2:161d:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:161e::,2a01:7a7:2:1624:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1625::,2a01:7a7:2:1625:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1626::,2a01:7a7:2:162e:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1626::,2a01:7a7:2:1629:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:162a::,2a01:7a7:2:162a:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:162b::,2a01:7a7:2:162e:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:162f::,2a01:7a7:2:162f:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1630::,2a01:7a7:2:1636:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1637::,2a01:7a7:2:1637:ffff:ffff:ffff:ffff,DE @@ -29342,21 +30751,27 @@ 2a01:7a7:2:1647::,2a01:7a7:2:1648:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1649::,2a01:7a7:2:1649:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:164a::,2a01:7a7:2:164a:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:164b::,2a01:7a7:2:1651:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:164b::,2a01:7a7:2:164f:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1650::,2a01:7a7:2:1650:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1651::,2a01:7a7:2:1651:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1652::,2a01:7a7:2:1652:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1653::,2a01:7a7:2:1654:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1655::,2a01:7a7:2:1655:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1656::,2a01:7a7:2:1664:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1665::,2a01:7a7:2:1665:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1656::,2a01:7a7:2:1663:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1664::,2a01:7a7:2:1665:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1666::,2a01:7a7:2:1669:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:166a::,2a01:7a7:2:166b:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:166c::,2a01:7a7:2:166d:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:166a::,2a01:7a7:2:166c:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:166d::,2a01:7a7:2:166d:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:166e::,2a01:7a7:2:166f:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1670::,2a01:7a7:2:1670:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1671::,2a01:7a7:2:1672:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1673::,2a01:7a7:2:167d:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1673::,2a01:7a7:2:167b:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:167c::,2a01:7a7:2:167c:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:167d::,2a01:7a7:2:167d:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:167e::,2a01:7a7:2:167f:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1680::,2a01:7a7:2:1684:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1680::,2a01:7a7:2:1682:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1683::,2a01:7a7:2:1683:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1684::,2a01:7a7:2:1684:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1685::,2a01:7a7:2:1686:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1687::,2a01:7a7:2:1688:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1689::,2a01:7a7:2:1689:ffff:ffff:ffff:ffff,DE @@ -29366,11 +30781,17 @@ 2a01:7a7:2:1692::,2a01:7a7:2:1693:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1694::,2a01:7a7:2:1699:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:169a::,2a01:7a7:2:169a:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:169b::,2a01:7a7:2:16a1:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:169b::,2a01:7a7:2:169e:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:169f::,2a01:7a7:2:169f:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:16a0::,2a01:7a7:2:16a1:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:16a2::,2a01:7a7:2:16a2:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:16a3::,2a01:7a7:2:16aa:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:16ab::,2a01:7a7:2:16ab:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:16ac::,2a01:7a7:2:16bd:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:16ac::,2a01:7a7:2:16ac:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:16ad::,2a01:7a7:2:16ad:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:16ae::,2a01:7a7:2:16af:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:16b0::,2a01:7a7:2:16b0:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:16b1::,2a01:7a7:2:16bd:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:16be::,2a01:7a7:2:16bf:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:16c0::,2a01:7a7:2:16c1:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:16c2::,2a01:7a7:2:16c3:ffff:ffff:ffff:ffff,DE @@ -29379,32 +30800,36 @@ 2a01:7a7:2:16c9::,2a01:7a7:2:16ca:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:16cb::,2a01:7a7:2:16cb:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:16cc::,2a01:7a7:2:16d5:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:16d6::,2a01:7a7:2:16d7:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:16d8::,2a01:7a7:2:16d9:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:16da::,2a01:7a7:2:16da:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:16db::,2a01:7a7:2:16df:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:16e0::,2a01:7a7:2:16e0:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:16e1::,2a01:7a7:2:16e9:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:16d6::,2a01:7a7:2:16d8:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:16d9::,2a01:7a7:2:16d9:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:16da::,2a01:7a7:2:16db:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:16dc::,2a01:7a7:2:16de:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:16df::,2a01:7a7:2:16e0:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:16e1::,2a01:7a7:2:16e5:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:16e6::,2a01:7a7:2:16e7:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:16e8::,2a01:7a7:2:16e9:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:16ea::,2a01:7a7:2:16ea:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:16eb::,2a01:7a7:2:16ed:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:16eb::,2a01:7a7:2:16eb:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:16ec::,2a01:7a7:2:16ec:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:16ed::,2a01:7a7:2:16ed:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:16ee::,2a01:7a7:2:16ef:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:16f0::,2a01:7a7:2:16f0:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:16f1::,2a01:7a7:2:16f3:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:16f4::,2a01:7a7:2:16f4:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:16f5::,2a01:7a7:2:16f6:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:16f7::,2a01:7a7:2:16f9:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:16fa::,2a01:7a7:2:16fd:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:16fe::,2a01:7a7:2:16fe:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:16ff::,2a01:7a7:2:1700:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1701::,2a01:7a7:2:1706:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1707::,2a01:7a7:2:170b:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:16f7::,2a01:7a7:2:16f7:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:16f8::,2a01:7a7:2:170b:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:170c::,2a01:7a7:2:1711:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1712::,2a01:7a7:2:1712:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1713::,2a01:7a7:2:171a:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1713::,2a01:7a7:2:1716:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1717::,2a01:7a7:2:1717:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1718::,2a01:7a7:2:171a:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:171b::,2a01:7a7:2:171b:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:171c::,2a01:7a7:2:171c:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:171d::,2a01:7a7:2:171d:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:171e::,2a01:7a7:2:1726:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:171e::,2a01:7a7:2:1723:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1724::,2a01:7a7:2:1725:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1726::,2a01:7a7:2:1726:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1727::,2a01:7a7:2:1727:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1728::,2a01:7a7:2:1735:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1736::,2a01:7a7:2:1736:ffff:ffff:ffff:ffff,DE @@ -29420,10 +30845,12 @@ 2a01:7a7:2:1755::,2a01:7a7:2:1755:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1756::,2a01:7a7:2:175d:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:175e::,2a01:7a7:2:175e:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:175f::,2a01:7a7:2:176b:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:175f::,2a01:7a7:2:1769:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:176a::,2a01:7a7:2:176a:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:176b::,2a01:7a7:2:176b:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:176c::,2a01:7a7:2:176d:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:176e::,2a01:7a7:2:1776:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1777::,2a01:7a7:2:1777:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:176e::,2a01:7a7:2:1775:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1776::,2a01:7a7:2:1777:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1778::,2a01:7a7:2:1778:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1779::,2a01:7a7:2:1779:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:177a::,2a01:7a7:2:177e:ffff:ffff:ffff:ffff,FR @@ -29438,8 +30865,8 @@ 2a01:7a7:2:1798::,2a01:7a7:2:179a:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:179b::,2a01:7a7:2:179c:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:179d::,2a01:7a7:2:179f:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:17a0::,2a01:7a7:2:17ad:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:17ae::,2a01:7a7:2:17ae:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:17a0::,2a01:7a7:2:17ac:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:17ad::,2a01:7a7:2:17ae:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:17af::,2a01:7a7:2:17b2:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:17b3::,2a01:7a7:2:17b3:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:17b4::,2a01:7a7:2:17b6:ffff:ffff:ffff:ffff,FR @@ -29450,8 +30877,8 @@ 2a01:7a7:2:17bc::,2a01:7a7:2:17bd:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:17be::,2a01:7a7:2:17be:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:17bf::,2a01:7a7:2:17c0:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:17c1::,2a01:7a7:2:17c2:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:17c3::,2a01:7a7:2:17c4:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:17c1::,2a01:7a7:2:17c1:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:17c2::,2a01:7a7:2:17c4:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:17c5::,2a01:7a7:2:17c6:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:17c7::,2a01:7a7:2:17c7:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:17c8::,2a01:7a7:2:17d3:ffff:ffff:ffff:ffff,FR @@ -29464,7 +30891,9 @@ 2a01:7a7:2:17e2::,2a01:7a7:2:17e2:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:17e3::,2a01:7a7:2:17e8:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:17e9::,2a01:7a7:2:17e9:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:17ea::,2a01:7a7:2:17f1:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:17ea::,2a01:7a7:2:17eb:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:17ec::,2a01:7a7:2:17ec:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:17ed::,2a01:7a7:2:17f1:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:17f2::,2a01:7a7:2:17f2:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:17f3::,2a01:7a7:2:17fb:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:17fc::,2a01:7a7:2:17fc:ffff:ffff:ffff:ffff,DE @@ -29472,8 +30901,8 @@ 2a01:7a7:2:1806::,2a01:7a7:2:1807:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1808::,2a01:7a7:2:1817:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1818::,2a01:7a7:2:1818:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1819::,2a01:7a7:2:181b:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:181c::,2a01:7a7:2:181d:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1819::,2a01:7a7:2:181a:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:181b::,2a01:7a7:2:181d:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:181e::,2a01:7a7:2:1821:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1822::,2a01:7a7:2:1823:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1824::,2a01:7a7:2:1824:ffff:ffff:ffff:ffff,FR @@ -29493,9 +30922,7 @@ 2a01:7a7:2:184f::,2a01:7a7:2:1858:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1859::,2a01:7a7:2:185a:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:185b::,2a01:7a7:2:1867:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1868::,2a01:7a7:2:1868:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1869::,2a01:7a7:2:1869:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:186a::,2a01:7a7:2:186a:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1868::,2a01:7a7:2:186a:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:186b::,2a01:7a7:2:186e:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:186f::,2a01:7a7:2:186f:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1870::,2a01:7a7:2:1870:ffff:ffff:ffff:ffff,FR @@ -29506,7 +30933,9 @@ 2a01:7a7:2:1876::,2a01:7a7:2:1876:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1877::,2a01:7a7:2:187b:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:187c::,2a01:7a7:2:187c:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:187d::,2a01:7a7:2:1888:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:187d::,2a01:7a7:2:1883:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1884::,2a01:7a7:2:1884:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1885::,2a01:7a7:2:1888:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1889::,2a01:7a7:2:1889:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:188a::,2a01:7a7:2:188c:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:188d::,2a01:7a7:2:188d:ffff:ffff:ffff:ffff,DE @@ -29524,31 +30953,37 @@ 2a01:7a7:2:18b2::,2a01:7a7:2:18b2:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:18b3::,2a01:7a7:2:18b9:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:18ba::,2a01:7a7:2:18ba:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:18bb::,2a01:7a7:2:18bc:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:18bd::,2a01:7a7:2:18be:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:18bf::,2a01:7a7:2:18c4:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:18c5::,2a01:7a7:2:18c5:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:18bb::,2a01:7a7:2:18bb:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:18bc::,2a01:7a7:2:18be:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:18bf::,2a01:7a7:2:18c3:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:18c4::,2a01:7a7:2:18c5:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:18c6::,2a01:7a7:2:18c7:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:18c8::,2a01:7a7:2:18c8:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:18c9::,2a01:7a7:2:18da:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:18db::,2a01:7a7:2:18db:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:18dc::,2a01:7a7:2:18e3:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:18c9::,2a01:7a7:2:18d9:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:18da::,2a01:7a7:2:18db:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:18dc::,2a01:7a7:2:18de:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:18df::,2a01:7a7:2:18df:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:18e0::,2a01:7a7:2:18e3:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:18e4::,2a01:7a7:2:18e4:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:18e5::,2a01:7a7:2:18e7:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:18e8::,2a01:7a7:2:18e8:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:18e9::,2a01:7a7:2:18ed:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:18e8::,2a01:7a7:2:18ea:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:18eb::,2a01:7a7:2:18ed:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:18ee::,2a01:7a7:2:18ee:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:18ef::,2a01:7a7:2:18f7:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:18f8::,2a01:7a7:2:18f8:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:18f9::,2a01:7a7:2:1904:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:18f9::,2a01:7a7:2:18fc:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:18fd::,2a01:7a7:2:18fd:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:18fe::,2a01:7a7:2:1904:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1905::,2a01:7a7:2:1905:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1906::,2a01:7a7:2:1907:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1908::,2a01:7a7:2:1909:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:190a::,2a01:7a7:2:190f:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1910::,2a01:7a7:2:1910:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1911::,2a01:7a7:2:1917:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1918::,2a01:7a7:2:1918:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1919::,2a01:7a7:2:192d:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1911::,2a01:7a7:2:1916:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1917::,2a01:7a7:2:1918:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1919::,2a01:7a7:2:1923:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1924::,2a01:7a7:2:1924:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1925::,2a01:7a7:2:192d:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:192e::,2a01:7a7:2:192f:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1930::,2a01:7a7:2:193e:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:193f::,2a01:7a7:2:193f:ffff:ffff:ffff:ffff,DE @@ -29562,11 +30997,19 @@ 2a01:7a7:2:1966::,2a01:7a7:2:1966:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1967::,2a01:7a7:2:1969:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:196a::,2a01:7a7:2:196a:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:196b::,2a01:7a7:2:1983:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:196b::,2a01:7a7:2:1973:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1974::,2a01:7a7:2:1974:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1975::,2a01:7a7:2:1975:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1976::,2a01:7a7:2:1976:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1977::,2a01:7a7:2:197d:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:197e::,2a01:7a7:2:197e:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:197f::,2a01:7a7:2:1983:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1984::,2a01:7a7:2:1984:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1985::,2a01:7a7:2:1985:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1986::,2a01:7a7:2:1986:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1987::,2a01:7a7:2:1997:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1987::,2a01:7a7:2:198e:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:198f::,2a01:7a7:2:198f:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1990::,2a01:7a7:2:1997:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1998::,2a01:7a7:2:1999:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:199a::,2a01:7a7:2:199c:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:199d::,2a01:7a7:2:199d:ffff:ffff:ffff:ffff,DE @@ -29576,13 +31019,19 @@ 2a01:7a7:2:19a4::,2a01:7a7:2:19a5:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:19a6::,2a01:7a7:2:19a9:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:19aa::,2a01:7a7:2:19aa:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:19ab::,2a01:7a7:2:19ba:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:19ab::,2a01:7a7:2:19ad:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:19ae::,2a01:7a7:2:19b0:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:19b1::,2a01:7a7:2:19b8:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:19b9::,2a01:7a7:2:19b9:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:19ba::,2a01:7a7:2:19ba:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:19bb::,2a01:7a7:2:19bb:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:19bc::,2a01:7a7:2:19cb:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:19cc::,2a01:7a7:2:19cc:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:19cd::,2a01:7a7:2:19d4:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:19d5::,2a01:7a7:2:19d5:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:19d6::,2a01:7a7:2:19dd:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:19d6::,2a01:7a7:2:19d8:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:19d9::,2a01:7a7:2:19d9:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:19da::,2a01:7a7:2:19dd:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:19de::,2a01:7a7:2:19e0:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:19e1::,2a01:7a7:2:19e6:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:19e7::,2a01:7a7:2:19e7:ffff:ffff:ffff:ffff,DE @@ -29592,62 +31041,134 @@ 2a01:7a7:2:19ee::,2a01:7a7:2:19ee:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:19ef::,2a01:7a7:2:19f7:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:19f8::,2a01:7a7:2:19f8:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:19f9::,2a01:7a7:2:1a02:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:19f9::,2a01:7a7:2:19f9:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:19fa::,2a01:7a7:2:19fa:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:19fb::,2a01:7a7:2:1a02:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1a03::,2a01:7a7:2:1a03:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1a04::,2a01:7a7:2:1a0d:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1a0e::,2a01:7a7:2:1a0f:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1a10::,2a01:7a7:2:1a24:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1a10::,2a01:7a7:2:1a1c:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1a1d::,2a01:7a7:2:1a1d:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1a1e::,2a01:7a7:2:1a24:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1a25::,2a01:7a7:2:1a26:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1a27::,2a01:7a7:2:1a27:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1a28::,2a01:7a7:2:1a28:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1a29::,2a01:7a7:2:1a31:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1a32::,2a01:7a7:2:1a36:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1a37::,2a01:7a7:2:1a41:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1a42::,2a01:7a7:2:1a42:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1a43::,2a01:7a7:2:1a4d:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1a32::,2a01:7a7:2:1a37:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1a38::,2a01:7a7:2:1a38:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1a39::,2a01:7a7:2:1a3a:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1a3b::,2a01:7a7:2:1a41:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1a42::,2a01:7a7:2:1a43:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1a44::,2a01:7a7:2:1a4d:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1a4e::,2a01:7a7:2:1a4e:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1a4f::,2a01:7a7:2:1a53:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1a54::,2a01:7a7:2:1a54:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1a55::,2a01:7a7:2:1a55:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1a56::,2a01:7a7:2:1a56:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1a57::,2a01:7a7:2:1a6b:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1a57::,2a01:7a7:2:1a60:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1a61::,2a01:7a7:2:1a61:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1a62::,2a01:7a7:2:1a64:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1a65::,2a01:7a7:2:1a65:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1a66::,2a01:7a7:2:1a6b:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1a6c::,2a01:7a7:2:1a6d:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1a6e::,2a01:7a7:2:1a70:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1a71::,2a01:7a7:2:1a71:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1a72::,2a01:7a7:2:1a8d:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1a72::,2a01:7a7:2:1a84:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1a85::,2a01:7a7:2:1a85:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1a86::,2a01:7a7:2:1a8d:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1a8e::,2a01:7a7:2:1a8e:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1a8f::,2a01:7a7:2:1a97:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1a98::,2a01:7a7:2:1a98:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1a99::,2a01:7a7:2:1a9e:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1a9f::,2a01:7a7:2:1a9f:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1aa0::,2a01:7a7:2:1abb:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1a99::,2a01:7a7:2:1a99:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1a9a::,2a01:7a7:2:1a9a:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1a9b::,2a01:7a7:2:1a9e:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1a9f::,2a01:7a7:2:1aa0:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1aa1::,2a01:7a7:2:1aa3:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1aa4::,2a01:7a7:2:1aa5:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1aa6::,2a01:7a7:2:1abb:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1abc::,2a01:7a7:2:1abc:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1abd::,2a01:7a7:2:1ac4:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1ac5::,2a01:7a7:2:1ac5:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1ac6::,2a01:7a7:2:1ad0:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1ad1::,2a01:7a7:2:1ad1:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1ad2::,2a01:7a7:2:1adb:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1ac5::,2a01:7a7:2:1ac6:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1ac7::,2a01:7a7:2:1acb:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1acc::,2a01:7a7:2:1acd:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1ace::,2a01:7a7:2:1ad0:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1ad1::,2a01:7a7:2:1ad2:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1ad3::,2a01:7a7:2:1adb:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1adc::,2a01:7a7:2:1adc:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1add::,2a01:7a7:2:1ae3:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1ae4::,2a01:7a7:2:1ae5:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1ae6::,2a01:7a7:2:1afb:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1ae6::,2a01:7a7:2:1aee:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1aef::,2a01:7a7:2:1af0:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1af1::,2a01:7a7:2:1af5:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1af6::,2a01:7a7:2:1af6:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1af7::,2a01:7a7:2:1afb:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1afc::,2a01:7a7:2:1afc:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1afd::,2a01:7a7:2:1b0a:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1b0b::,2a01:7a7:2:1b0b:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1b0c::,2a01:7a7:2:1b16:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1b17::,2a01:7a7:2:1b18:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1b0b::,2a01:7a7:2:1b0c:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1b0d::,2a01:7a7:2:1b14:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1b15::,2a01:7a7:2:1b18:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1b19::,2a01:7a7:2:1b2f:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1b30::,2a01:7a7:2:1b30:ffff:ffff:ffff:ffff,DE 2a01:7a7:2:1b31::,2a01:7a7:2:1b44:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1b45::,2a01:7a7:2:1b45:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1b46::,2a01:7a7:2:1b5b:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1b5c::,2a01:7a7:2:1b5c:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1b5d::,2a01:7a7:2:1b7d:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1b46::,2a01:7a7:2:1b4d:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1b4e::,2a01:7a7:2:1b4f:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1b50::,2a01:7a7:2:1b50:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1b51::,2a01:7a7:2:1b52:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1b53::,2a01:7a7:2:1b5a:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1b5b::,2a01:7a7:2:1b5c:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1b5d::,2a01:7a7:2:1b61:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1b62::,2a01:7a7:2:1b64:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1b65::,2a01:7a7:2:1b69:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1b6a::,2a01:7a7:2:1b6b:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1b6c::,2a01:7a7:2:1b7d:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1b7e::,2a01:7a7:2:1b7e:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1b7f::,2a01:7a7:2:1b9a:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1b7f::,2a01:7a7:2:1b8f:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1b90::,2a01:7a7:2:1b90:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1b91::,2a01:7a7:2:1b94:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1b95::,2a01:7a7:2:1b95:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1b96::,2a01:7a7:2:1b9a:ffff:ffff:ffff:ffff,FR 2a01:7a7:2:1b9b::,2a01:7a7:2:1b9b:ffff:ffff:ffff:ffff,DE -2a01:7a7:2:1b9c::,2a01:7a7:2:1c14:ffff:ffff:ffff:ffff,FR -2a01:7a7:2:1c15::,2a01:7a7:2:ffff:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1b9c::,2a01:7a7:2:1ba6:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1ba7::,2a01:7a7:2:1ba9:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1baa::,2a01:7a7:2:1bb3:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1bb4::,2a01:7a7:2:1bb5:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1bb6::,2a01:7a7:2:1bb8:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1bb9::,2a01:7a7:2:1bb9:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1bba::,2a01:7a7:2:1bce:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1bcf::,2a01:7a7:2:1bcf:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1bd0::,2a01:7a7:2:1bd2:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1bd3::,2a01:7a7:2:1bd4:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1bd5::,2a01:7a7:2:1bf6:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1bf7::,2a01:7a7:2:1bf7:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1bf8::,2a01:7a7:2:1c06:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1c07::,2a01:7a7:2:1c07:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1c08::,2a01:7a7:2:1c0f:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1c10::,2a01:7a7:2:1c10:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1c11::,2a01:7a7:2:1c15:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1c16::,2a01:7a7:2:1c16:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1c17::,2a01:7a7:2:1c25:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1c26::,2a01:7a7:2:1c26:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1c27::,2a01:7a7:2:1c2e:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1c2f::,2a01:7a7:2:1c2f:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1c30::,2a01:7a7:2:1c47:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1c48::,2a01:7a7:2:1c48:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1c49::,2a01:7a7:2:1c49:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1c4a::,2a01:7a7:2:1c4a:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1c4b::,2a01:7a7:2:1c4c:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1c4d::,2a01:7a7:2:1c4e:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1c4f::,2a01:7a7:2:1c50:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1c51::,2a01:7a7:2:1c52:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1c53::,2a01:7a7:2:1ca6:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1ca7::,2a01:7a7:2:1ca7:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1ca8::,2a01:7a7:2:1cc5:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1cc6::,2a01:7a7:2:1cc6:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1cc7::,2a01:7a7:2:1cd9:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1cda::,2a01:7a7:2:1cda:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1cdb::,2a01:7a7:2:1cf8:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1cf9::,2a01:7a7:2:1cf9:ffff:ffff:ffff:ffff,DE +2a01:7a7:2:1cfa::,2a01:7a7:2:1d49:ffff:ffff:ffff:ffff,FR +2a01:7a7:2:1d4a::,2a01:7a7:2:ffff:ffff:ffff:ffff:ffff,DE 2a01:7a7:3::,2a01:7a7:4:ff:ffff:ffff:ffff:ffff,FR 2a01:7a7:4:100::,2a01:7a7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:7a8::,2a01:7a8:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -29740,7 +31261,7 @@ 2a01:4700::,2a01:4700:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a01:4720::,2a01:4720:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:4740::,2a01:4740:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a01:4760::,2a01:4760:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:4760::,2a01:4767:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:47a0::,2a01:47a0:ffff:ffff:ffff:ffff:ffff:ffff,GE 2a01:47c0::,2a01:47c7:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a01:47e0::,2a01:47e0:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -29931,7 +31452,9 @@ 2a01:5e60::,2a01:5e60:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a01:5e80::,2a01:5e80:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a01:5ea0::,2a01:5ea0:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a01:5ec0::,2a01:5ec0:6fff:ffff:ffff:ffff:ffff:ffff,IR +2a01:5ec0::,2a01:5ec0:4fff:ffff:ffff:ffff:ffff:ffff,IR +2a01:5ec0:5000::,2a01:5ec0:53ff:ffff:ffff:ffff:ffff:ffff,NL +2a01:5ec0:5400::,2a01:5ec0:6fff:ffff:ffff:ffff:ffff:ffff,IR 2a01:5ec0:7000::,2a01:5ec0:73ff:ffff:ffff:ffff:ffff:ffff,DE 2a01:5ec0:7400::,2a01:5ec0:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a01:5ee0::,2a01:5ee0:ffff:ffff:ffff:ffff:ffff:ffff,PL @@ -29952,7 +31475,6 @@ 2a01:60c0::,2a01:60c0:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a01:60e0::,2a01:60e0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:6100::,2a01:6100:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a01:6120::,2a01:6120:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:6140::,2a01:6147:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a01:6160::,2a01:6160:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:6180::,2a01:6180:ffff:ffff:ffff:ffff:ffff:ffff,FI @@ -29980,7 +31502,7 @@ 2a01:6460::,2a01:6460:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a01:6480::,2a01:6480:ffff:ffff:ffff:ffff:ffff:ffff,AZ 2a01:64c0::,2a01:64c0:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a01:64e0::,2a01:64e0:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a01:64e0::,2a01:64e0:ffff:ffff:ffff:ffff:ffff:ffff,LT 2a01:6500::,2a01:6500:ffff:ffff:ffff:ffff:ffff:ffff,IL 2a01:6520::,2a01:6520:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:6540::,2a01:6540:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -30134,7 +31656,7 @@ 2a01:76e0::,2a01:76e0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:7700::,2a01:7700:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:7720::,2a01:7720:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a01:7740::,2a01:7740:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a01:7740::,2a01:7747:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:7760::,2a01:7760:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:7780::,2a01:7780:ffff:ffff:ffff:ffff:ffff:ffff,KW 2a01:77a0::,2a01:77a0:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -30411,9 +31933,8 @@ 2a01:9840::,2a01:9840:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:9860::,2a01:9860:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:9880::,2a01:9880:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a01:98a0::,2a01:98a0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a01:98c0::,2a01:98c0:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a01:98e0::,2a01:98e0:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a01:98e0::,2a01:98e7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a01:9900::,2a01:9900:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a01:9920::,2a01:9920:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:9940::,2a01:9940:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -30584,7 +32105,6 @@ 2a01:aea0::,2a01:aea0:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a01:aec0::,2a01:aec0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:aee0::,2a01:aee0:ffff:ffff:ffff:ffff:ffff:ffff,AT -2a01:af00::,2a01:af00:ffff:ffff:ffff:ffff:ffff:ffff,KZ 2a01:af20::,2a01:af20:ffff:ffff:ffff:ffff:ffff:ffff,CY 2a01:af40::,2a01:af40:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a01:af60::,2a01:af60:ffff:ffff:ffff:ffff:ffff:ffff,PL @@ -30682,7 +32202,6 @@ 2a01:b9a0::,2a01:b9a0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:b9c0::,2a01:b9c0:ffff:ffff:ffff:ffff:ffff:ffff,IS 2a01:b9e0::,2a01:b9e0:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a01:ba00::,2a01:ba07:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a01:ba20::,2a01:ba20:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a01:ba40::,2a01:ba40:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:ba60::,2a01:ba67:ffff:ffff:ffff:ffff:ffff:ffff,PS @@ -30716,7 +32235,6 @@ 2a01:be60::,2a01:be60:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a01:be80::,2a01:be80:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a01:bea0::,2a01:bea0:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a01:bec0::,2a01:bec0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a01:bee0::,2a01:bee0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a01:bf00::,2a01:bf00:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a01:bf20::,2a01:bf20:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -31037,7 +32555,19 @@ 2a02:6b8:fc0d::,2a02:6b8:fc0d:ffff:ffff:ffff:ffff:ffff,FI 2a02:6b8:fc0e::,2a02:6b8:fc10:ffff:ffff:ffff:ffff:ffff,RU 2a02:6b8:fc11::,2a02:6b8:fc13:ffff:ffff:ffff:ffff:ffff,FI -2a02:6b8:fc14::,2a02:6b8:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:6b8:fc14::,2a02:6bf:fff0:7ff:ffff:ffff:ffff:ffff,RU +2a02:6bf:fff0:800::,2a02:6bf:fff0:80f:ffff:ffff:ffff:ffff,BY +2a02:6bf:fff0:810::,2a02:6bf:fff0:8ff:ffff:ffff:ffff:ffff,RU +2a02:6bf:fff0:900::,2a02:6bf:fff0:90f:ffff:ffff:ffff:ffff,TR +2a02:6bf:fff0:910::,2a02:6bf:fff0:bff:ffff:ffff:ffff:ffff,RU +2a02:6bf:fff0:c00::,2a02:6bf:fff0:c0f:ffff:ffff:ffff:ffff,CH +2a02:6bf:fff0:c10::,2a02:6bf:fff0:eff:ffff:ffff:ffff:ffff,RU +2a02:6bf:fff0:f00::,2a02:6bf:fff0:f0f:ffff:ffff:ffff:ffff,DE +2a02:6bf:fff0:f10::,2a02:6bf:fff0:fff:ffff:ffff:ffff:ffff,RU +2a02:6bf:fff0:1000::,2a02:6bf:fff0:100f:ffff:ffff:ffff:ffff,FI +2a02:6bf:fff0:1010::,2a02:6bf:fff0:10ff:ffff:ffff:ffff:ffff,RU +2a02:6bf:fff0:1100::,2a02:6bf:fff0:110f:ffff:ffff:ffff:ffff,US +2a02:6bf:fff0:1110::,2a02:6bf:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:6c0::,2a02:6c0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a02:6c8::,2a02:6c8:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:6d0::,2a02:6d0:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -31235,7 +32765,6 @@ 2a02:cd8::,2a02:cd8:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:ce0::,2a02:ce0:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a02:ce8::,2a02:ce8:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a02:cf0::,2a02:cf0:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a02:d00::,2a02:d00:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:d08::,2a02:d0f:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a02:d10::,2a02:d17:ffff:ffff:ffff:ffff:ffff:ffff,RO @@ -31330,17 +32859,18 @@ 2a02:fe8::,2a02:fe9:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:ff0::,2a02:ff0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a02:1000::,2a02:11ff:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a02:1200::,2a02:1205:34f9:8fff:ffff:ffff:ffff:ffff,CH -2a02:1205:34f9:9000::,2a02:1205:34f9:9fff:ffff:ffff:ffff:ffff,IT -2a02:1205:34f9:a000::,2a02:1205:5017:ffff:ffff:ffff:ffff:ffff,CH -2a02:1205:5018::,2a02:1205:5018:7fff:ffff:ffff:ffff:ffff,FR -2a02:1205:5018:8000::,2a02:1205:506f:ffff:ffff:ffff:ffff:ffff,CH -2a02:1205:5070::,2a02:1205:5070:1fff:ffff:ffff:ffff:ffff,DE -2a02:1205:5070:2000::,2a02:120b:2c27:ffff:ffff:ffff:ffff:ffff,CH -2a02:120b:2c28::,2a02:120b:2c28:3fff:ffff:ffff:ffff:ffff,FR -2a02:120b:2c28:4000::,2a02:120b:2c43:bfff:ffff:ffff:ffff:ffff,CH -2a02:120b:2c43:c000::,2a02:120b:2c43:ffff:ffff:ffff:ffff:ffff,FR -2a02:120b:2c44::,2a02:121f:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a02:1200::,2a02:1205:34f9:7fff:ffff:ffff:ffff:ffff,CH +2a02:1205:34f9:8000::,2a02:1205:34f9:9fff:ffff:ffff:ffff:ffff,IT +2a02:1205:34f9:a000::,2a02:1205:34f9:b7ff:ffff:ffff:ffff:ffff,DE +2a02:1205:34f9:b800::,2a02:1205:c6af:ffff:ffff:ffff:ffff:ffff,CH +2a02:1205:c6b0::,2a02:1205:c6b0:7fff:ffff:ffff:ffff:ffff,DE +2a02:1205:c6b0:8000::,2a02:120b:2c3c:ffff:ffff:ffff:ffff:ffff,CH +2a02:120b:2c3d::,2a02:120b:2c3d:1fff:ffff:ffff:ffff:ffff,IT +2a02:120b:2c3d:2000::,2a02:120b:c3e5:7fff:ffff:ffff:ffff:ffff,CH +2a02:120b:c3e5:8000::,2a02:120b:c3e5:bfff:ffff:ffff:ffff:ffff,FR +2a02:120b:c3e5:c000::,2a02:120b:c3f4:bfff:ffff:ffff:ffff:ffff,CH +2a02:120b:c3f4:c000::,2a02:120b:c3f4:dfff:ffff:ffff:ffff:ffff,GB +2a02:120b:c3f4:e000::,2a02:121f:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:1300::,2a02:1300:ffff:ffff:ffff:ffff:ffff:ffff,IS 2a02:1308::,2a02:130f:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:1310::,2a02:1310:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -31391,7 +32921,7 @@ 2a02:1670::,2a02:1670:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:1678::,2a02:1678:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a02:1680:1::,2a02:1680:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a02:1688::,2a02:1688:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a02:1688::,2a02:168f:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a02:1698::,2a02:1698:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:16a0::,2a02:16a0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:16a8::,2a02:16a8:dc41:ff:ffff:ffff:ffff:ffff,AT @@ -31435,7 +32965,7 @@ 2a02:17c8::,2a02:17c8:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:17d0::,2a02:17d0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:17d8::,2a02:17d8:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a02:17e0::,2a02:17e0:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:17e0::,2a02:17e0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:17e8::,2a02:17e8:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:17f0::,2a02:17f0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:17f8::,2a02:17f8:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -31488,7 +33018,7 @@ 2a02:2178::,2a02:217f:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:2180::,2a02:2180:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a02:2188::,2a02:2188:ffff:ffff:ffff:ffff:ffff:ffff,NO -2a02:2190::,2a02:2190:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a02:2190::,2a02:2197:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a02:2198::,2a02:219f:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:21a0::,2a02:21a0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:21a8::,2a02:21a8:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -31598,7 +33128,7 @@ 2a02:24f8::,2a02:24f8:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:2500::,2a02:2500:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:2510::,2a02:2510:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a02:2518::,2a02:2518:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a02:2518::,2a02:251f:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:2520::,2a02:2520:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:2528::,2a02:252f:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:2530::,2a02:2530:ffff:ffff:ffff:ffff:ffff:ffff,DK @@ -32002,7 +33532,7 @@ 2a02:5440::,2a02:5440:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a02:5480::,2a02:5480:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:54a0::,2a02:54a0:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a02:54c0::,2a02:54c0:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a02:54c0::,2a02:54c7:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a02:54e0::,2a02:54e7:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:5500::,2a02:5507:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:5520::,2a02:5520:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -32224,7 +33754,7 @@ 2a02:6f20::,2a02:6f20:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:6f40::,2a02:6f40:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a02:6f60::,2a02:6f60:ffff:ffff:ffff:ffff:ffff:ffff,DK -2a02:6f80::,2a02:6f80:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a02:6f80::,2a02:6f87:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:6fa0::,2a02:6fa0:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a02:6fc0::,2a02:6fc0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a02:6fe0::,2a02:6fe0:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -32311,7 +33841,9 @@ 2a02:7a40::,2a02:7a40:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a02:7a60::,2a02:7a60:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:7a80::,2a02:7a80:ffff:ffff:ffff:ffff:ffff:ffff,SE -2a02:7aa0::,2a02:7aa0:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a02:7aa0::,2a02:7aa0:fff:ffff:ffff:ffff:ffff:ffff,SE +2a02:7aa0:1000::,2a02:7aa0:13ff:ffff:ffff:ffff:ffff:ffff,GB +2a02:7aa0:1400::,2a02:7aa0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:7ac0::,2a02:7ac0:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a02:7ae0::,2a02:7ae0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:7b00::,2a02:7b07:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -32364,7 +33896,9 @@ 2a02:80e0::,2a02:80e3:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a02:8100::,2a02:811f:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:8200::,2a02:821f:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a02:8300::,2a02:830f:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a02:8300::,2a02:8308:a041:ffff:ffff:ffff:ffff:ffff,CZ +2a02:8308:a042::,2a02:8308:a043:ffff:ffff:ffff:ffff:ffff,UA +2a02:8308:a044::,2a02:830f:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a02:8380::,2a02:838f:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a02:8400::,2a02:847f:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a02:8800::,2a02:88ff:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -32372,12 +33906,18 @@ 2a02:9940::,2a02:9940:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a02:a000::,2a02:a03f:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a02:a200::,2a02:a21f:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a02:a300::,2a02:a31f:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a02:a300::,2a02:a317:4fff:ffff:ffff:ffff:ffff:ffff,PL +2a02:a317:5000::,2a02:a317:503e:f080:dc32:b96b:b5cb:ec83,NO +2a02:a317:503e:f080:dc32:b96b:b5cb:ec84,2a02:a317:503e:f080:dc32:b96b:b5cb:ec84,PL +2a02:a317:503e:f080:dc32:b96b:b5cb:ec85,2a02:a317:53ff:ffff:ffff:ffff:ffff:ffff,NO +2a02:a317:5400::,2a02:a31f:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a02:a400::,2a02:a47f:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a02:a800::,2a02:a83f:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a02:aa00::,2a02:aa12:83ff:ffff:ffff:ffff:ffff:ffff,CH 2a02:aa12:8400::,2a02:aa12:87ff:ffff:ffff:ffff:ffff:ffff,DE -2a02:aa12:8800::,2a02:aa1f:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a02:aa12:8800::,2a02:aa15:23ff:ffff:ffff:ffff:ffff:ffff,CH +2a02:aa15:2400::,2a02:aa15:27ff:ffff:ffff:ffff:ffff:ffff,DE +2a02:aa15:2800::,2a02:aa1f:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:ab00::,2a02:ab07:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a02:ab40::,2a02:ab47:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a02:ab80::,2a02:ab8f:ffff:ffff:ffff:ffff:ffff:ffff,HU @@ -32863,7 +34403,7 @@ 2a03:1480::,2a03:1480:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:14a0::,2a03:14a0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:14c0::,2a03:14c0:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a03:14e0::,2a03:14e0:ffff:ffff:ffff:ffff:ffff:ffff,US +2a03:14e0::,2a03:14e0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:1500::,2a03:1500:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a03:1520::,2a03:1520:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:1560::,2a03:1560:ffff:ffff:ffff:ffff:ffff:ffff,RS @@ -32932,7 +34472,7 @@ 2a03:1d40::,2a03:1d40:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:1d60::,2a03:1d60:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:1d80::,2a03:1d80:ffff:ffff:ffff:ffff:ffff:ffff,SK -2a03:1da0::,2a03:1da0:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:1da0::,2a03:1da7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:1dc0::,2a03:1dc0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:1de0::,2a03:1de0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:1e00::,2a03:1e03:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -32941,7 +34481,9 @@ 2a03:1e60::,2a03:1e60:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:1e80::,2a03:1e84:33e:ffff:ffff:ffff:ffff:ffff,DE 2a03:1e84:33f::,2a03:1e84:33f:ffff:ffff:ffff:ffff:ffff,RU -2a03:1e84:340::,2a03:1e87:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:1e84:340::,2a03:1e84:abe:ffff:ffff:ffff:ffff:ffff,DE +2a03:1e84:abf::,2a03:1e84:abf:ffff:ffff:ffff:ffff:ffff,NL +2a03:1e84:ac0::,2a03:1e87:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:1ea0::,2a03:1ea0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:1ec0::,2a03:1ec0:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a03:1ee0::,2a03:1ee0:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -33016,18 +34558,14 @@ 2a03:2820::,2a03:2820:ffff:ffff:ffff:ffff:ffff:ffff,GE 2a03:2840::,2a03:2840:ffff:ffff:ffff:ffff:ffff:ffff,US 2a03:2860::,2a03:2860:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a03:2880::,2a03:2880:3f:ffff:ffff:ffff:ffff:ffff,US -2a03:2880:40::,2a03:2880:7f:ffff:ffff:ffff:ffff:ffff,IE -2a03:2880:80::,2a03:2880:ff:ffff:ffff:ffff:ffff:ffff,US -2a03:2880:100::,2a03:2880:fff:ffff:ffff:ffff:ffff:ffff,IE -2a03:2880:1000::,2a03:2880:103f:ffff:ffff:ffff:ffff:ffff,US -2a03:2880:1040::,2a03:2880:10ff:ffff:ffff:ffff:ffff:ffff,IE -2a03:2880:1100::,2a03:2880:11ff:ffff:ffff:ffff:ffff:ffff,US +2a03:2880::,2a03:2880:3ff:ffff:ffff:ffff:ffff:ffff,US +2a03:2880:400::,2a03:2880:fff:ffff:ffff:ffff:ffff:ffff,IE +2a03:2880:1000::,2a03:2880:11ff:ffff:ffff:ffff:ffff:ffff,US 2a03:2880:1200::,2a03:2880:1fff:ffff:ffff:ffff:ffff:ffff,IE -2a03:2880:2000::,2a03:2880:213f:ffff:ffff:ffff:ffff:ffff,US -2a03:2880:2140::,2a03:2880:21bf:ffff:ffff:ffff:ffff:ffff,IE -2a03:2880:21c0::,2a03:2880:21ff:ffff:ffff:ffff:ffff:ffff,US -2a03:2880:2200::,2a03:2887:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a03:2880:2000::,2a03:2880:217f:ffff:ffff:ffff:ffff:ffff,US +2a03:2880:2180::,2a03:2880:2fff:ffff:ffff:ffff:ffff:ffff,IE +2a03:2880:3000::,2a03:2880:33ff:ffff:ffff:ffff:ffff:ffff,US +2a03:2880:3400::,2a03:2887:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a03:28a0::,2a03:28a0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:28c0::,2a03:28c0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:28e0::,2a03:28e0:ffff:ffff:ffff:ffff:ffff:ffff,SE @@ -33040,7 +34578,6 @@ 2a03:29c0::,2a03:29c0:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a03:29e0::,2a03:29e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:2a00::,2a03:2a07:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a03:2a20::,2a03:2a20:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a03:2a40::,2a03:2a40:ffff:ffff:ffff:ffff:ffff:ffff,LB 2a03:2a60::,2a03:2a60:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:2a80::,2a03:2a80:ffff:ffff:ffff:ffff:ffff:ffff,CZ @@ -33099,7 +34636,6 @@ 2a03:3180::,2a03:3180:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a03:31a0::,2a03:31a0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:31c0::,2a03:31c0:ffff:ffff:ffff:ffff:ffff:ffff,BE -2a03:31e0::,2a03:31e0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a03:3200::,2a03:3200:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:3220::,2a03:3220:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a03:3240::,2a03:3240:ffff:ffff:ffff:ffff:ffff:ffff,UZ @@ -33157,7 +34693,7 @@ 2a03:38e0::,2a03:38e0:ffff:ffff:ffff:ffff:ffff:ffff,LU 2a03:3900::,2a03:3900:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:3920::,2a03:3920:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a03:3940::,2a03:3940:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a03:3940::,2a03:3947:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:3960::,2a03:3960:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:3980::,2a03:3980:ffff:ffff:ffff:ffff:ffff:ffff,BY 2a03:39a0::,2a03:39a0:ffff:ffff:ffff:ffff:ffff:ffff,AT @@ -33238,7 +34774,7 @@ 2a03:43e0::,2a03:43e0:ffff:ffff:ffff:ffff:ffff:ffff,LI 2a03:4400::,2a03:4407:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:4420::,2a03:4420:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a03:4440::,2a03:4440:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a03:4440::,2a03:4447:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a03:4460::,2a03:4460:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a03:4480::,2a03:4480:ffff:ffff:ffff:ffff:ffff:ffff,AZ 2a03:44a0::,2a03:44a0:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -33362,7 +34898,7 @@ 2a03:50a0::,2a03:50a0:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a03:50c0::,2a03:50c0:ffff:ffff:ffff:ffff:ffff:ffff,GI 2a03:50e0::,2a03:50e0:ffff:ffff:ffff:ffff:ffff:ffff,MT -2a03:5100::,2a03:5100:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a03:5100::,2a03:5107:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a03:5120::,2a03:5120:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a03:5140::,2a03:5140:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:5160::,2a03:5160:ffff:ffff:ffff:ffff:ffff:ffff,TR @@ -33410,7 +34946,6 @@ 2a03:56c0::,2a03:56c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:5700::,2a03:5700:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:5720::,2a03:5720:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a03:5740::,2a03:5740:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:5760::,2a03:5760:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:5780::,2a03:5780:ffff:ffff:ffff:ffff:ffff:ffff,KW 2a03:57a0::,2a03:57a0:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -34043,7 +35578,7 @@ 2a03:a5a0::,2a03:a5a0:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a03:a5c0::,2a03:a5c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:a5e0::,2a03:a5e0:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a03:a600::,2a03:a600:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a03:a600::,2a03:a607:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a03:a620::,2a03:a620:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:a640::,2a03:a640:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a03:a660::,2a03:a660:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -34218,8 +35753,8 @@ 2a03:b0c0:3:d0::,2a03:b0c0:3:d0:ffff:ffff:ffff:ffff,DE 2a03:b0c0:3:d1::,2a03:b0c0:3:df:ffff:ffff:ffff:ffff,GB 2a03:b0c0:3:e0::,2a03:b0c0:3:e0:ffff:ffff:ffff:ffff,DE -2a03:b0c0:3:e1::,2a03:b0c0:3:ffff:ffff:ffff:ffff:ffff,GB -2a03:b0c0:4::,2a03:b0c0:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a03:b0c0:3:e1::,2a03:b0c0:3ff:ffff:ffff:ffff:ffff:ffff,GB +2a03:b0c0:400::,2a03:b0c0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a03:b0e0::,2a03:b0e0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:b100::,2a03:b100:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a03:b140::,2a03:b140:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -34228,7 +35763,6 @@ 2a03:b200::,2a03:b207:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:b240::,2a03:b247:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a03:b280::,2a03:b280:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2a03:b2c0::,2a03:b2c0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a03:b300::,2a03:b300:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a03:b340::,2a03:b340:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:b380::,2a03:b380:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -34876,7 +36410,7 @@ 2a03:da80::,2a03:da80:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:dac0::,2a03:dac0:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a03:db00::,2a03:db07:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a03:db40::,2a03:db47:ffff:ffff:ffff:ffff:ffff:ffff,CY +2a03:db40::,2a03:db47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:db80::,2a03:db80:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a03:dbc0::,2a03:dbc0:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a03:dc00::,2a03:dc00:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -34921,7 +36455,11 @@ 2a03:e480::,2a03:e480:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a03:e500::,2a03:e500:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a03:e540::,2a03:e540:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a03:e580::,2a03:e587:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a03:e580::,2a03:e581:1:ffff:ffff:ffff:ffff:ffff,FI +2a03:e581:2::,2a03:e581:2:ffff:ffff:ffff:ffff:ffff,SE +2a03:e581:3::,2a03:e581:e:ffff:ffff:ffff:ffff:ffff,FI +2a03:e581:f::,2a03:e581:f:ffff:ffff:ffff:ffff:ffff,GB +2a03:e581:10::,2a03:e587:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a03:e5c0::,2a03:e5c0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a03:e600::,2a03:e600:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a03:e640::,2a03:e640:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -35429,7 +36967,6 @@ 2a04:5ac0::,2a04:5ac7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a04:5b00::,2a04:5b07:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a04:5b40::,2a04:5b47:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a04:5b80::,2a04:5b87:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a04:5bc0::,2a04:5bc7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a04:5c00::,2a04:5c07:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a04:5c40::,2a04:5c47:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -35444,10 +36981,13 @@ 2a04:5e00::,2a04:5e07:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a04:5e40::,2a04:5e47:ffff:ffff:ffff:ffff:ffff:ffff,AZ 2a04:5e80::,2a04:5e87:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a04:5ec0::,2a04:5ec7:ffff:ffff:ffff:ffff:ffff:ffff,VG +2a04:5ec0::,2a04:5ec6:ffff:ffff:ffff:ffff:ffff:ffff,VG +2a04:5ec7::,2a04:5ec7::ffff:ffff:ffff:ffff:ffff,MD +2a04:5ec7:1::,2a04:5ec7:ffff:ffff:ffff:ffff:ffff:ffff,VG 2a04:5f00::,2a04:5f07:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a04:5f40::,2a04:5f47:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a04:5f81::,2a04:5f81::ffff:ffff:ffff:ffff:ffff,US +2a04:5f87::,2a04:5f87:ffff:ffff:ffff:ffff:ffff:ffff,US 2a04:5fc0::,2a04:5fc7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a04:6000::,2a04:6007:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a04:6040::,2a04:6047:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -35477,6 +37017,7 @@ 2a04:6640::,2a04:6647:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a04:6650::,2a04:6651:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a04:6680::,2a04:6687:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a04:66c0::,2a04:66c7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a04:6700::,2a04:6707:ffff:ffff:ffff:ffff:ffff:ffff,MT 2a04:6740::,2a04:6747:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a04:6780::,2a04:6787:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -35712,7 +37253,7 @@ 2a04:9c40::,2a04:9c47:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a04:9c80::,2a04:9c87:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a04:9cc0::,2a04:9cc7:ffff:ffff:ffff:ffff:ffff:ffff,LB -2a04:9d00::,2a04:9d07:ffff:ffff:ffff:ffff:ffff:ffff,US +2a04:9d00::,2a04:9d07:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a04:9d40::,2a04:9d47:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a04:9d80::,2a04:9d87:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a04:9dc0::,2a04:9dc7:ffff:ffff:ffff:ffff:ffff:ffff,RO @@ -35843,7 +37384,7 @@ 2a04:bc00::,2a04:bc07:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a04:bc40::,2a04:bc40:1dc0:ffff:ffff:ffff:ffff:ffff,UA 2a04:bc40:1dc1::,2a04:bc40:1dc1:ffff:ffff:ffff:ffff:ffff,NL -2a04:bc40:1dc2::,2a04:bc40:1dc2:ffff:ffff:ffff:ffff:ffff,RU +2a04:bc40:1dc2::,2a04:bc40:1dc2:ffff:ffff:ffff:ffff:ffff,BE 2a04:bc40:1dc3::,2a04:bc40:1dc3:ffff:ffff:ffff:ffff:ffff,UA 2a04:bc40:1dc4::,2a04:bc40:1dc4:ffff:ffff:ffff:ffff:ffff,RO 2a04:bc40:1dc5::,2a04:bc40:1dc5:ffff:ffff:ffff:ffff:ffff,CZ @@ -36132,7 +37673,7 @@ 2a04:fa40::,2a04:fa47:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a04:fa80::,2a04:fa80::ffff:ffff:ffff:ffff:ffff,DE 2a04:fa80:1::,2a04:fa87:ffff:ffff:ffff:ffff:ffff:ffff,IE -2a04:fac0::,2a04:fac7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a04:fac0::,2a04:fac7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a04:fb00::,2a04:fb07:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a04:fb40::,2a04:fb47:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a04:fb80::,2a04:fb87:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -36145,7 +37686,7 @@ 2a04:fd40::,2a04:fd47:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a04:fd80::,2a04:fd87:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a04:fdc0::,2a04:fdc7:ffff:ffff:ffff:ffff:ffff:ffff,IE -2a04:fe00::,2a04:fe07:ffff:ffff:ffff:ffff:ffff:ffff,US +2a04:fe00::,2a04:fe07:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a04:fe40::,2a04:fe47:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a04:fe80::,2a04:fe87:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a04:fec0::,2a04:fec0:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -36189,7 +37730,6 @@ 2a05:7c0::,2a05:7cf:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a05:800::,2a05:807:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a05:840::,2a05:843:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a05:860::,2a05:863:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a05:880::,2a05:887:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a05:8c0::,2a05:8c7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a05:900::,2a05:907:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -36218,10 +37758,10 @@ 2a05:f00::,2a05:f07:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a05:f40::,2a05:f47:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a05:f80::,2a05:f87:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a05:fc0::,2a05:fc7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a05:fc0::,2a05:fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a05:1000::,2a05:1007:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a05:1040::,2a05:1047:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a05:1080::,2a05:1087:ffff:ffff:ffff:ffff:ffff:ffff,US +2a05:1080::,2a05:1087:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a05:10c0::,2a05:10c7:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a05:1100::,2a05:1107:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a05:1140::,2a05:1147:ffff:ffff:ffff:ffff:ffff:ffff,AT @@ -36234,12 +37774,13 @@ 2a05:12c0::,2a05:12c7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a05:1300::,2a05:1307:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a05:1340::,2a05:1347:ffff:ffff:ffff:ffff:ffff:ffff,IR -2a05:1380::,2a05:1387:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a05:1400::,2a05:1407:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a05:1440::,2a05:1447:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a05:1480::,2a05:1487:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a05:14c0::,2a05:14c7:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a05:1500::,2a05:1507:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a05:1500::,2a05:1500:2ff:ffff:ffff:ffff:ffff:ffff,NL +2a05:1500:300::,2a05:1500:3ff:ffff:ffff:ffff:ffff:ffff,ES +2a05:1500:400::,2a05:1507:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a05:1540::,2a05:1547:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a05:1580::,2a05:1587:ffff:ffff:ffff:ffff:ffff:ffff,LT 2a05:15c0::,2a05:15c7:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -36248,7 +37789,7 @@ 2a05:1680::,2a05:1687:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a05:16c0::,2a05:16c7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a05:1700::,2a05:1707:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a05:1780::,2a05:1787:ffff:ffff:ffff:ffff:ffff:ffff,US +2a05:1780::,2a05:1787:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a05:17c0::,2a05:17c7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a05:1800::,2a05:1807:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a05:1840::,2a05:1847:ffff:ffff:ffff:ffff:ffff:ffff,HR @@ -36308,18 +37849,14 @@ 2a05:2700::,2a05:2707:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a05:2740::,2a05:2747:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a05:2780::,2a05:2787:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a05:27c0::,2a05:27c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a05:27c0::,2a05:27c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a05:2800::,2a05:2807:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a05:2840::,2a05:2847:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a05:2880::,2a05:2887:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a05:28c0::,2a05:28c0::ffff:ffff:ffff:ffff:ffff,DE -2a05:28c0:1::,2a05:28c1:3fff:ffff:ffff:ffff:ffff:ffff,AT -2a05:28c1:8000::,2a05:28c2:3fff:ffff:ffff:ffff:ffff:ffff,AT -2a05:28c2:8000::,2a05:28c4:3fff:ffff:ffff:ffff:ffff:ffff,AT -2a05:28c4:8000::,2a05:28c5:3fff:ffff:ffff:ffff:ffff:ffff,AT -2a05:28c5:8000::,2a05:28c6:3fff:ffff:ffff:ffff:ffff:ffff,AT -2a05:28c6:8000::,2a05:28c7:3fff:ffff:ffff:ffff:ffff:ffff,AT -2a05:28c7:8000::,2a05:28c7:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a05:28c0:1::,2a05:28c6:3fff:ffff:ffff:ffff:ffff:ffff,PT +2a05:28c6:8000::,2a05:28c7:3fff:ffff:ffff:ffff:ffff:ffff,PT +2a05:28c7:8000::,2a05:28c7:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a05:2900::,2a05:2907:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a05:2940::,2a05:2947:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a05:2980::,2a05:2987:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -36346,6 +37883,7 @@ 2a05:2d40::,2a05:2d47:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a05:2d80::,2a05:2d87:ffff:ffff:ffff:ffff:ffff:ffff,US 2a05:2dc0::,2a05:2dc7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a05:2e00::,2a05:2e00:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a05:2e40::,2a05:2e40::ffff:ffff:ffff:ffff:ffff,RU 2a05:2e40:1::,2a05:2e47:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a05:2e80::,2a05:2e87:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -36405,7 +37943,7 @@ 2a05:3c00::,2a05:3c07:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a05:3c40::,2a05:3c47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a05:3c80::,2a05:3c87:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a05:3cc0::,2a05:3cc7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a05:3cc0::,2a05:3cc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a05:3d00::,2a05:3d07:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a05:3d40::,2a05:3d47:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a05:3d80::,2a05:3d87:ffff:ffff:ffff:ffff:ffff:ffff,CH @@ -36474,7 +38012,7 @@ 2a05:4a00::,2a05:4a07:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a05:4a40::,2a05:4a47:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a05:4a80::,2a05:4a87:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a05:4ac0::,2a05:4ac7:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a05:4ac0::,2a05:4ac0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a05:4b00::,2a05:4b07:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a05:4b40::,2a05:4b47:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a05:4b80::,2a05:4b87:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -36535,6 +38073,7 @@ 2a05:5880::,2a05:5887:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a05:58c0::,2a05:58c7:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a05:5900::,2a05:5907:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a05:5940::,2a05:5947:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a05:5980::,2a05:5987:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a05:59c0::,2a05:59c7:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a05:5a00::,2a05:5a07:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -36603,7 +38142,7 @@ 2a05:66c6:c000::,2a05:66c7:4097:ffff:ffff:ffff:ffff:ffff,US 2a05:66c7:40a0::,2a05:66c7:7fff:ffff:ffff:ffff:ffff:ffff,US 2a05:66c7:c000::,2a05:66c7:ffff:ffff:ffff:ffff:ffff:ffff,US -2a05:6700::,2a05:6707:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a05:6700::,2a05:6707:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a05:6740::,2a05:6747:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a05:6780::,2a05:6787:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a05:67c0::,2a05:67c7:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -36706,7 +38245,6 @@ 2a05:7f00::,2a05:7f07:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a05:7f40::,2a05:7f47:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a05:7f80::,2a05:7f87:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a05:7fc0::,2a05:7fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a05:8000::,2a05:8007:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a05:8040::,2a05:8047:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a05:8080::,2a05:8087:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -36790,13 +38328,15 @@ 2a05:9400::,2a05:9400:ffff:ffff:ffff:ffff:ffff:ffff,US 2a05:9401::,2a05:9401:ffff:ffff:ffff:ffff:ffff:ffff,SG 2a05:9402::,2a05:9402:ffff:ffff:ffff:ffff:ffff:ffff,US -2a05:9403::,2a05:9407:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a05:9403::,2a05:9403:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a05:9404::,2a05:9407:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a05:9440::,2a05:9447:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a05:9480::,2a05:9487:ffff:ffff:ffff:ffff:ffff:ffff,IS 2a05:94c0::,2a05:94c7:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a05:9500::,2a05:9507:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a05:9540::,2a05:9547:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a05:9580::,2a05:9587:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a05:95c0::,2a05:95c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a05:9600::,2a05:9607:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a05:9640::,2a05:9647:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a05:9680::,2a05:9687:ffff:ffff:ffff:ffff:ffff:ffff,PL @@ -36833,7 +38373,8 @@ 2a05:9e40::,2a05:9e47:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a05:9e80::,2a05:9e87:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a05:9ec0::,2a05:9ec7:ffff:ffff:ffff:ffff:ffff:ffff,TR -2a05:9f00::,2a05:9f07:ffff:ffff:ffff:ffff:ffff:ffff,PT +2a05:9f00::,2a05:9f05:ffff:ffff:ffff:ffff:ffff:ffff,PT +2a05:9f06::,2a05:9f07:ffff:ffff:ffff:ffff:ffff:ffff,SC 2a05:9f41:1a::,2a05:9f41:1a:ffff:ffff:ffff:ffff:ffff,RO 2a05:9f41:1b::,2a05:9f41:1c:ffff:ffff:ffff:ffff:ffff,SE 2a05:9f80::,2a05:9f87:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -36932,7 +38473,6 @@ 2a05:b380::,2a05:b387:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a05:b3c0::,2a05:b3c7:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a05:b400::,2a05:b400:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a05:b440::,2a05:b447:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a05:b4c0::,2a05:b4c7:ffff:ffff:ffff:ffff:ffff:ffff,IL 2a05:b500::,2a05:b507:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a05:b540::,2a05:b547:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -37296,14 +38836,7 @@ 2a05:f400::,2a05:f407:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a05:f440::,2a05:f447:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a05:f480::,2a05:f487:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a05:f4c0:4000::,2a05:f4c0:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a05:f4c1:4000::,2a05:f4c1:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a05:f4c2:4000::,2a05:f4c2:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a05:f4c3:4000::,2a05:f4c3:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a05:f4c4:4000::,2a05:f4c4:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a05:f4c5:4000::,2a05:f4c5:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a05:f4c6:4000::,2a05:f4c6:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a05:f4c7:4000::,2a05:f4c7:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a05:f4c0::,2a05:f4c7:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a05:f500::,2a05:f507:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a05:f540::,2a05:f547:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a05:f580::,2a05:f587:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -37365,7 +38898,6 @@ 2a06:380::,2a06:387:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a06:3c0::,2a06:3c7:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a06:400::,2a06:407:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2a06:440::,2a06:447:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a06:480::,2a06:487:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a06:4c0::,2a06:4c7:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a06:500::,2a06:507:ffff:ffff:ffff:ffff:ffff:ffff,NO @@ -37394,7 +38926,6 @@ 2a06:b00::,2a06:b07:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a06:b40::,2a06:b47:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a06:b80::,2a06:b87:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a06:bc0::,2a06:bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a06:c00::,2a06:c07:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a06:c40::,2a06:c47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a06:c80::,2a06:c87:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -37435,7 +38966,7 @@ 2a06:1400::,2a06:1407:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a06:1440::,2a06:1447:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a06:1480::,2a06:1487:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a06:14c0::,2a06:14c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a06:14c0::,2a06:14c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a06:1500::,2a06:1507:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a06:1540::,2a06:1547:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a06:15c0::,2a06:15c7:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -37556,22 +39087,7 @@ 2a06:2f80::,2a06:2f87:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a06:2fc0::,2a06:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a06:3000::,2a06:3007:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a06:3040::,2a06:3040:3fff:ffff:ffff:ffff:ffff:ffff,GB -2a06:3040:4000::,2a06:3040:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a06:3041::,2a06:3041:3fff:ffff:ffff:ffff:ffff:ffff,GB -2a06:3041:4000::,2a06:3041:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a06:3042::,2a06:3042:3fff:ffff:ffff:ffff:ffff:ffff,GB -2a06:3042:4000::,2a06:3042:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a06:3043::,2a06:3043:3fff:ffff:ffff:ffff:ffff:ffff,GB -2a06:3043:4000::,2a06:3043:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a06:3044::,2a06:3044:3fff:ffff:ffff:ffff:ffff:ffff,GB -2a06:3044:4000::,2a06:3044:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a06:3045::,2a06:3045:3fff:ffff:ffff:ffff:ffff:ffff,GB -2a06:3045:4000::,2a06:3045:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a06:3046::,2a06:3046:3fff:ffff:ffff:ffff:ffff:ffff,GB -2a06:3046:4000::,2a06:3046:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a06:3047::,2a06:3047:3fff:ffff:ffff:ffff:ffff:ffff,GB -2a06:3047:4000::,2a06:3047:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a06:3040::,2a06:3047:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a06:3080::,2a06:3087:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a06:30c0::,2a06:30c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a06:3100::,2a06:3107:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -37684,7 +39200,7 @@ 2a06:46c6:4000::,2a06:46c6:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a06:46c7::,2a06:46c7:3fff:ffff:ffff:ffff:ffff:ffff,US 2a06:46c7:4000::,2a06:46c7:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a06:4700::,2a06:4707:ffff:ffff:ffff:ffff:ffff:ffff,US +2a06:4700::,2a06:4707:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a06:4740::,2a06:4747:ffff:ffff:ffff:ffff:ffff:ffff,US 2a06:4780::,2a06:4787:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a06:47c0::,2a06:47c7:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -37695,21 +39211,7 @@ 2a06:4900::,2a06:4907:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a06:4940::,2a06:4947:ffff:ffff:ffff:ffff:ffff:ffff,LU 2a06:49c0::,2a06:49c7:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a06:4a00::,2a06:4a01:3fff:ffff:ffff:ffff:ffff:ffff,DE -2a06:4a01:4000::,2a06:4a01:7fff:ffff:ffff:ffff:ffff:ffff,GB -2a06:4a01:8000::,2a06:4a02:3fff:ffff:ffff:ffff:ffff:ffff,DE -2a06:4a02:4000::,2a06:4a02:7fff:ffff:ffff:ffff:ffff:ffff,GB -2a06:4a02:8000::,2a06:4a03:3fff:ffff:ffff:ffff:ffff:ffff,DE -2a06:4a03:4000::,2a06:4a03:7fff:ffff:ffff:ffff:ffff:ffff,GB -2a06:4a03:8000::,2a06:4a04:3fff:ffff:ffff:ffff:ffff:ffff,DE -2a06:4a04:4000::,2a06:4a04:7fff:ffff:ffff:ffff:ffff:ffff,GB -2a06:4a04:8000::,2a06:4a05:3fff:ffff:ffff:ffff:ffff:ffff,DE -2a06:4a05:4000::,2a06:4a05:7fff:ffff:ffff:ffff:ffff:ffff,GB -2a06:4a05:8000::,2a06:4a06:3fff:ffff:ffff:ffff:ffff:ffff,DE -2a06:4a06:4000::,2a06:4a06:7fff:ffff:ffff:ffff:ffff:ffff,GB -2a06:4a06:8000::,2a06:4a07:3fff:ffff:ffff:ffff:ffff:ffff,DE -2a06:4a07:4000::,2a06:4a07:7fff:ffff:ffff:ffff:ffff:ffff,GB -2a06:4a07:8000::,2a06:4a07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a06:4a00::,2a06:4a07:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a06:4a40::,2a06:4a47:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a06:4a80::,2a06:4a87:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a06:4ac0::,2a06:4ac7:ffff:ffff:ffff:ffff:ffff:ffff,CZ @@ -37801,7 +39303,7 @@ 2a06:5dc0::,2a06:5dc7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a06:5e00::,2a06:5e07:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a06:5e40::,2a06:5e47:ffff:ffff:ffff:ffff:ffff:ffff,SE -2a06:5e80::,2a06:5e87:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a06:5e80::,2a06:5e87:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a06:5ec0::,2a06:5ec7:ffff:ffff:ffff:ffff:ffff:ffff,HR 2a06:5f00::,2a06:5f07:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a06:5f40::,2a06:5f40:ffff:ffff:ffff:ffff:ffff:ffff,BE @@ -37869,7 +39371,7 @@ 2a06:6f00::,2a06:6f07:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a06:6f40::,2a06:6f47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a06:6fc0::,2a06:6fc7:ffff:ffff:ffff:ffff:ffff:ffff,SI -2a06:7000::,2a06:7007:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a06:7000::,2a06:7007:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a06:7040::,2a06:7047:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a06:7080::,2a06:7087:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a06:70c0::,2a06:70c7:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -37886,7 +39388,6 @@ 2a06:7244::,2a06:7244:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a06:7245::,2a06:7245::ffff:ffff:ffff:ffff:ffff,DE 2a06:7246::,2a06:7246:1f:ffff:ffff:ffff:ffff:ffff,US -2a06:7247::,2a06:7247:1f:ffff:ffff:ffff:ffff:ffff,NL 2a06:7280::,2a06:7287:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a06:72c0::,2a06:72c7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a06:7300::,2a06:7307:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -37925,7 +39426,6 @@ 2a06:7a06::,2a06:7a06:f:ffff:ffff:ffff:ffff:ffff,NL 2a06:7a07::,2a06:7a07:1f:ffff:ffff:ffff:ffff:ffff,AU 2a06:7a40::,2a06:7a47:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a06:7a80::,2a06:7a87:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a06:7ac0::,2a06:7ac7:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a06:7b00::,2a06:7b07:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a06:7b40::,2a06:7b47:ffff:ffff:ffff:ffff:ffff:ffff,FI @@ -37977,8 +39477,8 @@ 2a06:8186:c300::,2a06:8186:feff:ffff:ffff:ffff:ffff:ffff,GB 2a06:8187::,2a06:8187:bdff:ffff:ffff:ffff:ffff:ffff,GB 2a06:8187:be00::,2a06:8187:be03:ffff:ffff:ffff:ffff:ffff,CH -2a06:8187:be04::,2a06:8187:faff:ffff:ffff:ffff:ffff:ffff,GB -2a06:8187:fb00::,2a06:8187:fcff:ffff:ffff:ffff:ffff:ffff,DE +2a06:8187:be04::,2a06:8187:f7ff:ffff:ffff:ffff:ffff:ffff,GB +2a06:8187:f800::,2a06:8187:fcff:ffff:ffff:ffff:ffff:ffff,DE 2a06:8187:fd00::,2a06:8187:fd02:ffff:ffff:ffff:ffff:ffff,FR 2a06:8187:fd03::,2a06:8187:fd03:ffff:ffff:ffff:ffff:ffff,IE 2a06:8187:fd04::,2a06:8187:fd98:ffff:ffff:ffff:ffff:ffff,FR @@ -38025,7 +39525,7 @@ 2a06:81c0::,2a06:81c7:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a06:8280::,2a06:8280:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a06:8281::,2a06:8281:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a06:8282::,2a06:8286:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a06:8282::,2a06:8287:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a06:82c0::,2a06:82c0::ffff:ffff:ffff:ffff:ffff,FR 2a06:82c1::,2a06:82c1::ffff:ffff:ffff:ffff:ffff,US 2a06:82c2::,2a06:82c2:f:ffff:ffff:ffff:ffff:ffff,GB @@ -38076,6 +39576,7 @@ 2a06:8d40::,2a06:8d47:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a06:8d80::,2a06:8d87:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a06:8dc0::,2a06:8dc0:3f:ffff:ffff:ffff:ffff:ffff,RO +2a06:8dc2::,2a06:8dc2:f:ffff:ffff:ffff:ffff:ffff,DE 2a06:8dc4::,2a06:8dc4:1f:ffff:ffff:ffff:ffff:ffff,GB 2a06:8dc6::,2a06:8dc6:f:ffff:ffff:ffff:ffff:ffff,GB 2a06:8dc7::,2a06:8dc7::ffff:ffff:ffff:ffff:ffff,GB @@ -38170,9 +39671,16 @@ 2a06:9fc0::,2a06:9fc7:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a06:a000::,2a06:a005:ff:ffff:ffff:ffff:ffff:ffff,IS 2a06:a005:100::,2a06:a005:1ff:ffff:ffff:ffff:ffff:ffff,AT -2a06:a005:200::,2a06:a005:ffff:ffff:ffff:ffff:ffff:ffff,IS -2a06:a006::,2a06:a006:3ff:ffff:ffff:ffff:ffff:ffff,US -2a06:a006:400::,2a06:a006:ffff:ffff:ffff:ffff:ffff:ffff,IS +2a06:a005:200::,2a06:a006:c1:ffff:ffff:ffff:ffff:ffff,IS +2a06:a006:c2::,2a06:a006:c2:ffff:ffff:ffff:ffff:ffff,GB +2a06:a006:c3::,2a06:a006:c3:ffff:ffff:ffff:ffff:ffff,NL +2a06:a006:c4::,2a06:a006:c4:ffff:ffff:ffff:ffff:ffff,IM +2a06:a006:c5::,2a06:a006:c5:ffff:ffff:ffff:ffff:ffff,US +2a06:a006:c6::,2a06:a006:ef:ffff:ffff:ffff:ffff:ffff,IS +2a06:a006:f0::,2a06:a006:f2:ffff:ffff:ffff:ffff:ffff,US +2a06:a006:f3::,2a06:a006:f3:ffff:ffff:ffff:ffff:ffff,NL +2a06:a006:f4::,2a06:a006:ff:ffff:ffff:ffff:ffff:ffff,US +2a06:a006:100::,2a06:a006:ffff:ffff:ffff:ffff:ffff:ffff,IS 2a06:a007::,2a06:a007:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a06:a040::,2a06:a047:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a06:a080::,2a06:a087:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -38198,7 +39706,7 @@ 2a06:a580::,2a06:a587:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a06:a5c0::,2a06:a5c7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a06:a600::,2a06:a607:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a06:a640::,2a06:a647:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a06:a640::,2a06:a647:ffff:ffff:ffff:ffff:ffff:ffff,LT 2a06:a680::,2a06:a687:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a06:a6c0::,2a06:a6c7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a06:a700::,2a06:a707:ffff:ffff:ffff:ffff:ffff:ffff,FI @@ -38210,6 +39718,7 @@ 2a06:a880::,2a06:a887:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a06:a900::,2a06:a907:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a06:a940::,2a06:a947:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a06:a980::,2a06:a987:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a06:a9c0::,2a06:a9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a06:aa00::,2a06:aa07:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a06:aa40::,2a06:aa47:ffff:ffff:ffff:ffff:ffff:ffff,PL @@ -38459,7 +39968,6 @@ 2a06:e500::,2a06:e507:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a06:e540::,2a06:e547:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a06:e580::,2a06:e587:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a06:e5c0::,2a06:e5c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a06:e600::,2a06:e607:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a06:e640::,2a06:e647:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a06:e680::,2a06:e687:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -38478,12 +39986,10 @@ 2a06:e881:1100::,2a06:e881:110f:ffff:ffff:ffff:ffff:ffff,FR 2a06:e881:1500::,2a06:e881:150f:ffff:ffff:ffff:ffff:ffff,GB 2a06:e881:1700::,2a06:e881:170f:ffff:ffff:ffff:ffff:ffff,DE -2a06:e881:2000::,2a06:e881:200f:ffff:ffff:ffff:ffff:ffff,DE -2a06:e881:2100::,2a06:e881:210f:ffff:ffff:ffff:ffff:ffff,DE +2a06:e881:2000::,2a06:e881:23ff:ffff:ffff:ffff:ffff:ffff,DE 2a06:e881:3700::,2a06:e881:370f:ffff:ffff:ffff:ffff:ffff,DE 2a06:e881:3800::,2a06:e881:380f:ffff:ffff:ffff:ffff:ffff,CN 2a06:e881:4001::,2a06:e881:4001:ffff:ffff:ffff:ffff:ffff,GB -2a06:e881:f000::,2a06:e881:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a06:e8c0::,2a06:e8c7:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a06:e900::,2a06:e907:ffff:ffff:ffff:ffff:ffff:ffff,US 2a06:e9c0::,2a06:e9c7:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -38590,9 +40096,7 @@ 2a07:380::,2a07:387:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a07:3c0::,2a07:3c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a07:400::,2a07:407:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a07:440::,2a07:440:1fff:ffff:ffff:ffff:ffff:ffff,DE -2a07:440:2000::,2a07:440:2000:7fff:ffff:ffff:ffff:ffff,US -2a07:440:2000:8000::,2a07:447:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a07:440::,2a07:447:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:480::,2a07:487:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a07:4c0::,2a07:4c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a07:500::,2a07:507:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -38631,6 +40135,7 @@ 2a07:d40::,2a07:d47:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a07:d80::,2a07:d87:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a07:dc0::,2a07:dc7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a07:e00::,2a07:e07:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a07:e40::,2a07:e47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:e80::,2a07:e87:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:ec0::,2a07:ec7:ffff:ffff:ffff:ffff:ffff:ffff,DK @@ -38703,7 +40208,8 @@ 2a07:1c44:60a::,2a07:1c44:60a:ffff:ffff:ffff:ffff:ffff,DE 2a07:1c44:60b::,2a07:1c44:619:ffff:ffff:ffff:ffff:ffff,AT 2a07:1c44:61a::,2a07:1c44:61a:ffff:ffff:ffff:ffff:ffff,KR -2a07:1c44:61b::,2a07:1c44:67f:ffff:ffff:ffff:ffff:ffff,AT +2a07:1c44:61b::,2a07:1c44:67e:ffff:ffff:ffff:ffff:ffff,AT +2a07:1c44:67f::,2a07:1c44:67f:ffff:ffff:ffff:ffff:ffff,ES 2a07:1c44:680::,2a07:1c44:6bf:ffff:ffff:ffff:ffff:ffff,KR 2a07:1c44:6c0::,2a07:1c44:6ff:ffff:ffff:ffff:ffff:ffff,DE 2a07:1c44:700::,2a07:1c44:70f:ffff:ffff:ffff:ffff:ffff,US @@ -38723,13 +40229,22 @@ 2a07:1c44:4311::,2a07:1c44:43ff:ffff:ffff:ffff:ffff:ffff,HR 2a07:1c44:4400::,2a07:1c44:4fff:ffff:ffff:ffff:ffff:ffff,AT 2a07:1c44:5000::,2a07:1c44:51ff:ffff:ffff:ffff:ffff:ffff,US -2a07:1c44:5200::,2a07:1c44:61ff:ffff:ffff:ffff:ffff:ffff,AT +2a07:1c44:5200::,2a07:1c44:5fff:ffff:ffff:ffff:ffff:ffff,AT +2a07:1c44:6000::,2a07:1c44:61ff:ffff:ffff:ffff:ffff:ffff,PL 2a07:1c44:6200::,2a07:1c44:62ff:ffff:ffff:ffff:ffff:ffff,DE -2a07:1c44:6300::,2a07:1c44:86ff:ffff:ffff:ffff:ffff:ffff,AT +2a07:1c44:6300::,2a07:1c44:63ff:ffff:ffff:ffff:ffff:ffff,PL +2a07:1c44:6400::,2a07:1c44:86ff:ffff:ffff:ffff:ffff:ffff,AT 2a07:1c44:8700::,2a07:1c44:87fd:ffff:ffff:ffff:ffff:ffff,HK 2a07:1c44:87fe::,2a07:1c44:87fe:ffff:ffff:ffff:ffff:ffff,GB 2a07:1c44:87ff::,2a07:1c44:87ff:ffff:ffff:ffff:ffff:ffff,SG -2a07:1c44:8800::,2a07:1c45:1fff:ffff:ffff:ffff:ffff:ffff,AT +2a07:1c44:8800::,2a07:1c44:9110:ffff:ffff:ffff:ffff:ffff,AT +2a07:1c44:9111::,2a07:1c44:9111:ffff:ffff:ffff:ffff:ffff,DE +2a07:1c44:9112::,2a07:1c44:9198:ffff:ffff:ffff:ffff:ffff,AT +2a07:1c44:9199::,2a07:1c44:9199:ffff:ffff:ffff:ffff:ffff,JP +2a07:1c44:919a::,2a07:1c44:9600:ffff:ffff:ffff:ffff:ffff,AT +2a07:1c44:9601::,2a07:1c44:9601:ffff:ffff:ffff:ffff:ffff,US +2a07:1c44:9602::,2a07:1c44:9602:ffff:ffff:ffff:ffff:ffff,DE +2a07:1c44:9603::,2a07:1c45:1fff:ffff:ffff:ffff:ffff:ffff,AT 2a07:1c45:2000::,2a07:1c45:20ff:ffff:ffff:ffff:ffff:ffff,CZ 2a07:1c45:2100::,2a07:1c45:2fff:ffff:ffff:ffff:ffff:ffff,AT 2a07:1c45:3000::,2a07:1c45:30ff:ffff:ffff:ffff:ffff:ffff,GB @@ -38820,7 +40335,7 @@ 2a07:3040::,2a07:3047:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a07:3080::,2a07:3087:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:30c0::,2a07:30c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2a07:3100::,2a07:3107:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a07:3100::,2a07:3107:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a07:3140::,2a07:3147:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a07:3180::,2a07:3180:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a07:3181::,2a07:3181:ffff:ffff:ffff:ffff:ffff:ffff,CH @@ -38845,7 +40360,9 @@ 2a07:3500::,2a07:3507:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a07:3540::,2a07:3547:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a07:3580::,2a07:3587:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a07:35c0::,2a07:35c7:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a07:35c0::,2a07:35c1:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a07:35c2::,2a07:35c2:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a07:35c3::,2a07:35c7:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a07:3600::,2a07:3607:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a07:3640::,2a07:3647:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a07:3680::,2a07:3687:ffff:ffff:ffff:ffff:ffff:ffff,LB @@ -38860,13 +40377,11 @@ 2a07:38c0::,2a07:38c7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a07:3900::,2a07:3907:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a07:3940::,2a07:3947:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a07:3980::,2a07:3987:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a07:3980::,2a07:3987:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a07:39c0::,2a07:39c7:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a07:3a00::,2a07:3a07:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a07:3a40::,2a07:3a47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:3a80::,2a07:3a87:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a07:3ac0::,2a07:3ac7:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a07:3b00::,2a07:3b07:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a07:3b40::,2a07:3b47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:3b80::,2a07:3b87:ffff:ffff:ffff:ffff:ffff:ffff,US 2a07:3bc0::,2a07:3bc7:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -38874,7 +40389,6 @@ 2a07:3c40::,2a07:3c47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:3cc0::,2a07:3cc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:3d00::,2a07:3d07:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a07:3d40::,2a07:3d47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:3d80::,2a07:3d87:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a07:3dc0::,2a07:3dc7:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a07:3e00::,2a07:3e07:ffff:ffff:ffff:ffff:ffff:ffff,CH @@ -38913,8 +40427,8 @@ 2a07:4640::,2a07:4647:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a07:4680::,2a07:4687:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a07:4700::,2a07:4707:ffff:ffff:ffff:ffff:ffff:ffff,NO -2a07:4740::,2a07:4747:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a07:4780::,2a07:4787:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a07:4740::,2a07:4747:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a07:4780::,2a07:4787:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:47c0::,2a07:47c7:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a07:4800::,2a07:4807:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a07:4840::,2a07:4847:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -38929,8 +40443,6 @@ 2a07:4a80::,2a07:4a87:ffff:ffff:ffff:ffff:ffff:ffff,LT 2a07:4ac0::,2a07:4ac7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:4b00::,2a07:4b07:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a07:4b40::,2a07:4b40::ffff:ffff:ffff:ffff:ffff,NL -2a07:4b40:1::,2a07:4b47:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a07:4b80::,2a07:4b87:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a07:4bc0::,2a07:4bc7:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a07:4c00::,2a07:4c07:ffff:ffff:ffff:ffff:ffff:ffff,IR @@ -38987,7 +40499,20 @@ 2a07:5980::,2a07:5987:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a07:59c0::,2a07:59c1:1fff:ffff:ffff:ffff:ffff:ffff,IT 2a07:59c1:2000::,2a07:59c1:20ff:ffff:ffff:ffff:ffff:ffff,PL -2a07:59c1:2100::,2a07:59c1:3fff:ffff:ffff:ffff:ffff:ffff,IT +2a07:59c1:2100::,2a07:59c1:2fff:ffff:ffff:ffff:ffff:ffff,IT +2a07:59c1:3000::,2a07:59c1:3010:ffff:ffff:ffff:ffff:ffff,CN +2a07:59c1:3011::,2a07:59c1:3011:ffff:ffff:ffff:ffff:ffff,DE +2a07:59c1:3012::,2a07:59c1:3016:ffff:ffff:ffff:ffff:ffff,CN +2a07:59c1:3017::,2a07:59c1:3017:ffff:ffff:ffff:ffff:ffff,HK +2a07:59c1:3018::,2a07:59c1:3060:ffff:ffff:ffff:ffff:ffff,CN +2a07:59c1:3061::,2a07:59c1:3061:ffff:ffff:ffff:ffff:ffff,HK +2a07:59c1:3062::,2a07:59c1:3062:ffff:ffff:ffff:ffff:ffff,SG +2a07:59c1:3063::,2a07:59c1:3070:ffff:ffff:ffff:ffff:ffff,CN +2a07:59c1:3071::,2a07:59c1:3071:ffff:ffff:ffff:ffff:ffff,US +2a07:59c1:3072::,2a07:59c1:309f:ffff:ffff:ffff:ffff:ffff,CN +2a07:59c1:30a0::,2a07:59c1:30a0:ffff:ffff:ffff:ffff:ffff,JP +2a07:59c1:30a1::,2a07:59c1:30ff:ffff:ffff:ffff:ffff:ffff,CN +2a07:59c1:3100::,2a07:59c1:3fff:ffff:ffff:ffff:ffff:ffff,IT 2a07:59c1:4000::,2a07:59c1:40ff:ffff:ffff:ffff:ffff:ffff,PL 2a07:59c1:4100::,2a07:59c6:7fff:ffff:ffff:ffff:ffff:ffff,IT 2a07:59c6:8000::,2a07:59c6:8fff:ffff:ffff:ffff:ffff:ffff,DE @@ -39177,10 +40702,13 @@ 2a07:8080::,2a07:8087:ffff:ffff:ffff:ffff:ffff:ffff,US 2a07:80c0::,2a07:80c7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a07:8100::,2a07:8107:ffff:ffff:ffff:ffff:ffff:ffff,VA -2a07:8140::,2a07:8147:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a07:8140::,2a07:8141:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a07:8142::,2a07:8142:fff:ffff:ffff:ffff:ffff:ffff,US +2a07:8142:1000::,2a07:8143:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a07:8144::,2a07:8144:fff:ffff:ffff:ffff:ffff:ffff,HK +2a07:8144:1000::,2a07:8147:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a07:8180::,2a07:8187:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:81c0::,2a07:81c7:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a07:8200::,2a07:8207:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a07:8240::,2a07:8247:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a07:8280::,2a07:8287:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a07:82c0::,2a07:82c7:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -39224,7 +40752,6 @@ 2a07:8b40::,2a07:8b47:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a07:8b80::,2a07:8b83:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a07:8bc0::,2a07:8bc7:ffff:ffff:ffff:ffff:ffff:ffff,BE -2a07:8c00::,2a07:8c07:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a07:8c40::,2a07:8c47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:8c80::,2a07:8c87:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:8cc0::,2a07:8cc7:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -39295,7 +40822,6 @@ 2a07:9a00::,2a07:9a07:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a07:9a40::,2a07:9a47:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a07:9a80::,2a07:9a87:ffff:ffff:ffff:ffff:ffff:ffff,IR -2a07:9ac0::,2a07:9ac7:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a07:9b00::,2a07:9b07:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a07:9b40::,2a07:9b47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:9b80::,2a07:9b87:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -39350,7 +40876,7 @@ 2a07:a343:f220::,2a07:a347:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a07:a380::,2a07:a387:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a07:a3c0::,2a07:a3c7:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a07:a400::,2a07:a407:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a07:a400::,2a07:a407:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a07:a440::,2a07:a443:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a07:a444::,2a07:a447:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:a480::,2a07:a487:ffff:ffff:ffff:ffff:ffff:ffff,NO @@ -39416,9 +40942,7 @@ 2a07:a906:f191::,2a07:a906:f1ff:ffff:ffff:ffff:ffff:ffff,GB 2a07:a906:f200::,2a07:a906:f200:ffff:ffff:ffff:ffff:ffff,DE 2a07:a906:f201::,2a07:a906:fffe:ffff:ffff:ffff:ffff:ffff,GB -2a07:a907::,2a07:a907:509:ffff:ffff:ffff:ffff:ffff,GB -2a07:a907:50a::,2a07:a907:50a:ffff:ffff:ffff:ffff:ffff,NL -2a07:a907:50b::,2a07:a907:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a07:a907::,2a07:a907:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a07:a940::,2a07:a947:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:a980::,2a07:a987:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a07:a9c0::,2a07:a9c7:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -39493,7 +41017,6 @@ 2a07:ba40::,2a07:ba47:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a07:ba80::,2a07:ba87:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a07:bac0::,2a07:bac7:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a07:bb00::,2a07:bb07:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a07:bb40::,2a07:bb47:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a07:bb80::,2a07:bb87:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:bbc0::,2a07:bbc7:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -39502,7 +41025,7 @@ 2a07:bc80::,2a07:bc87:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a07:bcc0::,2a07:bcc7:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a07:bd00::,2a07:bd07:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a07:bd40::,2a07:bd47:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a07:bd40::,2a07:bd47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:bd80::,2a07:bd87:ffff:ffff:ffff:ffff:ffff:ffff,US 2a07:bdc0::,2a07:bdc7:ffff:ffff:ffff:ffff:ffff:ffff,US 2a07:be00::,2a07:be07:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -39514,7 +41037,6 @@ 2a07:bf80::,2a07:bf87:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a07:bfc0::,2a07:bfc7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:c000::,2a07:c007:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2a07:c040::,2a07:c047:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a07:c080::,2a07:c087:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:c0c0::,2a07:c0c7:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a07:c100::,2a07:c107:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -39548,7 +41070,7 @@ 2a07:c800::,2a07:c807:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a07:c840::,2a07:c847:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a07:c880::,2a07:c887:ffff:ffff:ffff:ffff:ffff:ffff,LU -2a07:c8c0::,2a07:c8c7:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a07:c8c0::,2a07:c8c7:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a07:c900::,2a07:c907:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a07:c940::,2a07:c947:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:c9c0::,2a07:c9c7:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -39564,6 +41086,14 @@ 2a07:cb40::,2a07:cb47:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a07:cb80::,2a07:cb87:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a07:cbc0::,2a07:cbc7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a07:cc00::,2a07:cc07:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a07:cc40::,2a07:cc47:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a07:cc80::,2a07:cc87:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a07:ccc0::,2a07:ccc7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a07:cd00::,2a07:cd07:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a07:cd40::,2a07:cd47:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a07:cd80::,2a07:cd87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a07:cdc0::,2a07:cdc7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:ce00::,2a07:ce07:ffff:ffff:ffff:ffff:ffff:ffff,US 2a07:ce40::,2a07:ce47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:ce80::,2a07:ce87:ffff:ffff:ffff:ffff:ffff:ffff,IQ @@ -39604,7 +41134,6 @@ 2a07:dec0::,2a07:dec7:ffff:ffff:ffff:ffff:ffff:ffff,US 2a07:df00::,2a07:df07:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a07:df40::,2a07:df47:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a07:df80::,2a07:df87:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:dfc0::,2a07:dfc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:e000::,2a07:e007:ffff:ffff:ffff:ffff:ffff:ffff,US 2a07:e040::,2a07:e047:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -39619,7 +41148,6 @@ 2a07:e280::,2a07:e287:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a07:e2c0::,2a07:e2c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:e300::,2a07:e307:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a07:e340::,2a07:e347:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:e380::,2a07:e387:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:e3c0::,2a07:e3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:e400::,2a07:e407:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -39646,7 +41174,7 @@ 2a07:e940::,2a07:e947:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:e980::,2a07:e987:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a07:e9c0::,2a07:e9c7:ffff:ffff:ffff:ffff:ffff:ffff,IR -2a07:ea00::,2a07:ea07:ffff:ffff:ffff:ffff:ffff:ffff,US +2a07:ea00::,2a07:ea07:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:ea40::,2a07:ea47:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a07:ea80::,2a07:ea87:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:eac0::,2a07:eac7:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -39669,8 +41197,7 @@ 2a07:ef00::,2a07:ef07:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a07:ef40::,2a07:ef47:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a07:efc0::,2a07:efc0:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a07:f000::,2a07:f007:ffff:ffff:ffff:ffff:ffff:ffff,US -2a07:f040::,2a07:f047:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a07:f000::,2a07:f007:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:f080::,2a07:f087:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a07:f0c0::,2a07:f0c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:f100::,2a07:f107:ffff:ffff:ffff:ffff:ffff:ffff,LB @@ -39680,7 +41207,7 @@ 2a07:f200::,2a07:f207:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a07:f240::,2a07:f247:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:f280::,2a07:f287:ffff:ffff:ffff:ffff:ffff:ffff,TR -2a07:f2c0::,2a07:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a07:f2c0::,2a07:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a07:f300::,2a07:f307:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a07:f340::,2a07:f340:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:f380::,2a07:f387:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -39693,7 +41220,7 @@ 2a07:f540::,2a07:f547:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:f580::,2a07:f587:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a07:f5c0::,2a07:f5c7:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a07:f600::,2a07:f607:ffff:ffff:ffff:ffff:ffff:ffff,US +2a07:f600::,2a07:f607:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a07:f640::,2a07:f647:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a07:f680::,2a07:f687:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a07:f6c0::,2a07:f6c7:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -39734,6 +41261,299 @@ 2a07:ff80::,2a07:ff80:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a07:ffc0::,2a07:ffc7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a08::,2a08:1fff:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a09::,2a09:7:ffff:ffff:ffff:ffff:ffff:ffff,MD +2a09:80::,2a09:87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:100::,2a09:100:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a09:180::,2a09:180:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:200::,2a09:207:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:280::,2a09:287:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:300::,2a09:307:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a09:380::,2a09:387:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a09:400::,2a09:407:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:480::,2a09:487:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a09:500::,2a09:507:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a09:580::,2a09:587:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:600::,2a09:607:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:680::,2a09:687:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:700::,2a09:707:ffff:ffff:ffff:ffff:ffff:ffff,MD +2a09:780::,2a09:787:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:800::,2a09:807:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a09:880::,2a09:887:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a09:900::,2a09:907:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a09:980::,2a09:987:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:a00::,2a09:a07:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a09:a80::,2a09:a87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:b00::,2a09:b07:ffff:ffff:ffff:ffff:ffff:ffff,LV +2a09:b80::,2a09:b87:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a09:c00::,2a09:c07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:c80::,2a09:c87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:d00::,2a09:d07:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a09:d80::,2a09:d87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:e00::,2a09:e07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:e80::,2a09:e87:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a09:f00::,2a09:f07:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a09:f80::,2a09:f87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:1000::,2a09:1007:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:1080::,2a09:1087:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:1100::,2a09:1107:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:1180::,2a09:1187:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a09:1200::,2a09:1207:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:1280::,2a09:1287:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:1300::,2a09:1307:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a09:1380::,2a09:1387:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a09:1400::,2a09:1407:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a09:1480::,2a09:1487:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:1500::,2a09:1507:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:1580::,2a09:1587:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a09:1600::,2a09:1607:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:1680::,2a09:1687:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a09:1700::,2a09:1707:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a09:1780::,2a09:1787:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a09:1800::,2a09:1807:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:1880::,2a09:1887:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a09:1900::,2a09:1907:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:1980::,2a09:1987:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a09:1a00::,2a09:1a07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:1a80::,2a09:1a87:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:1b00::,2a09:1b07:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a09:1b80::,2a09:1b87:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a09:1c00::,2a09:1c07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:1c80::,2a09:1c87:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a09:1d00::,2a09:1d07:ffff:ffff:ffff:ffff:ffff:ffff,MD +2a09:1d80::,2a09:1d87:ffff:ffff:ffff:ffff:ffff:ffff,LT +2a09:1e00::,2a09:1e07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:1e80::,2a09:1e87:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:1f00::,2a09:1f07:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a09:1f80::,2a09:1f87:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:2000::,2a09:2007:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:2080::,2a09:2087:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a09:2100::,2a09:2107:ffff:ffff:ffff:ffff:ffff:ffff,SM +2a09:2180::,2a09:2187:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a09:2200::,2a09:2207:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a09:2280::,2a09:2287:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:2300::,2a09:2307:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a09:2380::,2a09:2387:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:2400::,2a09:2407:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:2480::,2a09:2487:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:2500::,2a09:2507:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a09:2600::,2a09:2607:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a09:2700::,2a09:2707:ffff:ffff:ffff:ffff:ffff:ffff,AU +2a09:2800::,2a09:2807:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:2900::,2a09:2907:ffff:ffff:ffff:ffff:ffff:ffff,US +2a09:2a00::,2a09:2a07:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a09:2b00::,2a09:2b07:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a09:2c00::,2a09:2c07:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a09:2d00::,2a09:2d07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:2e00::,2a09:2e07:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a09:2f00::,2a09:2f07:ffff:ffff:ffff:ffff:ffff:ffff,LU +2a09:3000::,2a09:3000:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a09:3100::,2a09:3107:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a09:3200::,2a09:3207:ffff:ffff:ffff:ffff:ffff:ffff,KZ +2a09:3300::,2a09:3307:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:3400::,2a09:3407:ffff:ffff:ffff:ffff:ffff:ffff,LV +2a09:3500::,2a09:3507:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:3600::,2a09:3607:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a09:3700::,2a09:3707:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:3800::,2a09:3807:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a09:3900::,2a09:3907:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:3a00::,2a09:3a07:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:3b00::,2a09:3b07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:3c00::,2a09:3c07:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:3d00::,2a09:3d07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:3e00::,2a09:3e07:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a09:3f00::,2a09:3f07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:4000::,2a09:4007:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:4100::,2a09:4107:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:4200::,2a09:4207:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a09:4300::,2a09:4307:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:4400::,2a09:4407:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:4500::,2a09:4507:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:4600::,2a09:4607:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a09:4700::,2a09:4707:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:4800::,2a09:4807:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:4900::,2a09:4907:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:4a00::,2a09:4a07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:4b00::,2a09:4b00:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:4c00::,2a09:4c07:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:4d00::,2a09:4d07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:4e00::,2a09:4e07:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a09:4f00::,2a09:4f07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:5000::,2a09:5007:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a09:5100::,2a09:5100:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a09:5200::,2a09:5207:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:5300::,2a09:5307:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:5400::,2a09:5407:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:5500::,2a09:5507:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a09:5600::,2a09:5600:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a09:5700::,2a09:5707:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:5800::,2a09:5807:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:5900::,2a09:5907:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:5a00::,2a09:5a07:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a09:5b00::,2a09:5b07:ffff:ffff:ffff:ffff:ffff:ffff,PT +2a09:5c00::,2a09:5c07:ffff:ffff:ffff:ffff:ffff:ffff,UZ +2a09:5d00::,2a09:5d07:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a09:5e00::,2a09:5e07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:5f00::,2a09:5f07:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a09:6000::,2a09:6007:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:6100::,2a09:6107:ffff:ffff:ffff:ffff:ffff:ffff,SK +2a09:6200::,2a09:6207:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a09:6300::,2a09:6307:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:6400::,2a09:6407:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:6500::,2a09:6507:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:6600::,2a09:6607:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:6700::,2a09:6707:ffff:ffff:ffff:ffff:ffff:ffff,UZ +2a09:6800::,2a09:6807:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:6900::,2a09:6907:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:6a00::,2a09:6a07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:6b00::,2a09:6b07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:6c00::,2a09:6c07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:6d00::,2a09:6d07:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:6e00::,2a09:6e07:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a09:6f00::,2a09:6f00:ffff:ffff:ffff:ffff:ffff:ffff,CY +2a09:7000::,2a09:7007:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a09:7100::,2a09:7107:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:7200::,2a09:7207:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:7300::,2a09:7307:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:7400::,2a09:7400:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:7500::,2a09:7507:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:7600::,2a09:7607:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a09:7700::,2a09:7707:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a09:7800::,2a09:7807:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:7900::,2a09:7907:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:7a00::,2a09:7a07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:7b00::,2a09:7b07:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:7c00::,2a09:7c07:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:7d00::,2a09:7d07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:7e00::,2a09:7e07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:7f00::,2a09:7f07:ffff:ffff:ffff:ffff:ffff:ffff,MD +2a09:8000::,2a09:8007:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:8100::,2a09:8107:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:8200::,2a09:8207:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:8300::,2a09:8307:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:8400::,2a09:8407:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:8500::,2a09:8507:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:8600::,2a09:8607:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:8700::,2a09:8707:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:8800::,2a09:8807:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:8900::,2a09:8907:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:8a00::,2a09:8a07:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:8b00::,2a09:8b07:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:8c00::,2a09:8c07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:8d00::,2a09:8d07:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a09:8e00::,2a09:8e07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:8f00::,2a09:8f07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:9000::,2a09:9007:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a09:9100::,2a09:9107:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:9200::,2a09:9207:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:9300::,2a09:9307:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:9400::,2a09:9407:ffff:ffff:ffff:ffff:ffff:ffff,HU +2a09:9500::,2a09:9507:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:9600::,2a09:9607:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:9700::,2a09:9707:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:9800::,2a09:9807:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:9900::,2a09:9900:ffff:ffff:ffff:ffff:ffff:ffff,PS +2a09:9a00::,2a09:9a07:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a09:9b00::,2a09:9b07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:9c00::,2a09:9c07:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a09:9d00::,2a09:9d07:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:9e00::,2a09:9e00:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a09:9f00::,2a09:9f07:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a09:a000::,2a09:a007:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:a100::,2a09:a107:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:a200::,2a09:a207:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:a300::,2a09:a300:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a09:a400::,2a09:a407:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a09:a500::,2a09:a507:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:a600::,2a09:a607:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:a700::,2a09:a707:ffff:ffff:ffff:ffff:ffff:ffff,VG +2a09:a800::,2a09:a807:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:a900::,2a09:a907:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a09:aa00::,2a09:aa07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:ab00::,2a09:ab07:ffff:ffff:ffff:ffff:ffff:ffff,RS +2a09:ac00::,2a09:ac07:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a09:ad00::,2a09:ad07:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a09:ae00::,2a09:ae07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:af00::,2a09:af07:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:b000::,2a09:b007:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:b100::,2a09:b107:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:b200::,2a09:b207:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a09:b300::,2a09:b307:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:b400::,2a09:b407:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:b500::,2a09:b507:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a09:b600::,2a09:b607:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a09:b700::,2a09:b707:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:b800::,2a09:b807:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a09:b900::,2a09:b907:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:ba00::,2a09:ba07:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a09:bb00::,2a09:bb07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:bc00::,2a09:bc07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:bd00::,2a09:bd00:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:be00::,2a09:be00:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a09:bf00::,2a09:bf07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:c000::,2a09:c007:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:c100::,2a09:c100:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a09:c200::,2a09:c207:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a09:c300::,2a09:c307:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:c400::,2a09:c407:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a09:c500::,2a09:c507:ffff:ffff:ffff:ffff:ffff:ffff,EE +2a09:c600::,2a09:c607:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:c700::,2a09:c707:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:c800::,2a09:c807:ffff:ffff:ffff:ffff:ffff:ffff,MD +2a09:c900::,2a09:c900:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a09:ca00::,2a09:ca07:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a09:cb00::,2a09:cb07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:cc00::,2a09:cc07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:cd00::,2a09:cd07:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a09:ce00::,2a09:ce07:ffff:ffff:ffff:ffff:ffff:ffff,LT +2a09:cf00::,2a09:cf07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:d000::,2a09:d007:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:d100::,2a09:d107:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:d200::,2a09:d207:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a09:d300::,2a09:d307:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:d400::,2a09:d407:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a09:d500::,2a09:d507:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:d600::,2a09:d607:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:d700::,2a09:d707:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:d800::,2a09:d807:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a09:d900::,2a09:d907:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:da00::,2a09:da07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:db00::,2a09:db07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:dc00::,2a09:dc07:ffff:ffff:ffff:ffff:ffff:ffff,US +2a09:dd00::,2a09:dd07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:de00::,2a09:de07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:df00::,2a09:df07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:e000::,2a09:e007:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:e100::,2a09:e107:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a09:e200::,2a09:e207:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a09:e300::,2a09:e307:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:e400::,2a09:e407:ffff:ffff:ffff:ffff:ffff:ffff,MD +2a09:e500::,2a09:e507:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a09:e600::,2a09:e607:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:e700::,2a09:e707:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:e800::,2a09:e807:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a09:e900::,2a09:e907:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:ea00::,2a09:ea00:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:eb00::,2a09:eb07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:ec00::,2a09:ec07:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a09:ed00::,2a09:ed07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:ee00::,2a09:ee07:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a09:ef00::,2a09:ef07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:f000::,2a09:f007:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:f100::,2a09:f107:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:f200::,2a09:f207:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a09:f300::,2a09:f307:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:f400::,2a09:f407:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a09:f500::,2a09:f507:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:f600::,2a09:f607:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:f700::,2a09:f707:ffff:ffff:ffff:ffff:ffff:ffff,US +2a09:f800::,2a09:f807:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:f900::,2a09:f907:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:fa00::,2a09:fa07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a09:fb00::,2a09:fb07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:fc00::,2a09:fc07:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a09:fd00::,2a09:fd07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a09:fe00::,2a09:fe07:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a09:ff00::,2a09:ff07:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0a::,2a0a:7:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0a:40::,2a0a:40:ff:ffff:ffff:ffff:ffff:ffff,TR 2a0a:40:100::,2a0a:47:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -39741,7 +41561,8 @@ 2a0a:c0::,2a0a:c7:ffff:ffff:ffff:ffff:ffff:ffff,LB 2a0a:100::,2a0a:107:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0a:140::,2a0a:147:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0a:180::,2a0a:187:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0a:180::,2a0a:180::ff,ES +2a0a:180::100,2a0a:187:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0a:1c0::,2a0a:1c7:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0a:240::,2a0a:247:ffff:ffff:ffff:ffff:ffff:ffff,LB 2a0a:280::,2a0a:287:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -39916,13 +41737,16 @@ 2a0a:2842:5100::,2a0a:2842:aeff:ffff:ffff:ffff:ffff:ffff,AQ 2a0a:2842:af00::,2a0a:2842:af0f:ffff:ffff:ffff:ffff:ffff,HK 2a0a:2842:af10::,2a0a:2843:ffff:ffff:ffff:ffff:ffff:ffff,AQ -2a0a:2844::,2a0a:2845:1ff:ffff:ffff:ffff:ffff:ffff,LU +2a0a:2844::,2a0a:2844::ffff:ffff:ffff:ffff:ffff,JP +2a0a:2844:1::,2a0a:2844:ffff:ffff:ffff:ffff:ffff:ffff,CN +2a0a:2845::,2a0a:2845:1ff:ffff:ffff:ffff:ffff:ffff,AQ 2a0a:2845:200::,2a0a:2845:3ff:ffff:ffff:ffff:ffff:ffff,GB -2a0a:2845:400::,2a0a:2845:a9ff:ffff:ffff:ffff:ffff:ffff,LU +2a0a:2845:400::,2a0a:2845:a9ff:ffff:ffff:ffff:ffff:ffff,AQ 2a0a:2845:aa00::,2a0a:2845:aaff:ffff:ffff:ffff:ffff:ffff,DE -2a0a:2845:ab00::,2a0a:2845:ffff:ffff:ffff:ffff:ffff:ffff,LU +2a0a:2845:ab00::,2a0a:2845:ffff:ffff:ffff:ffff:ffff:ffff,AQ 2a0a:2846::,2a0a:2846:fff:ffff:ffff:ffff:ffff:ffff,AU -2a0a:2846:1000::,2a0a:2847:ffff:ffff:ffff:ffff:ffff:ffff,LU +2a0a:2846:1000::,2a0a:2846:ffff:ffff:ffff:ffff:ffff:ffff,AQ +2a0a:2847::,2a0a:2847:ffff:ffff:ffff:ffff:ffff:ffff,LU 2a0a:2880::,2a0a:2887:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0a:28c0::,2a0a:28c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0a:2900::,2a0a:2907:ffff:ffff:ffff:ffff:ffff:ffff,GE @@ -39947,7 +41771,6 @@ 2a0a:2dc0::,2a0a:2dc7:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0a:2e00::,2a0a:2e07:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a0a:2e40::,2a0a:2e47:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0a:2e80::,2a0a:2e87:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a0a:2ec0::,2a0a:2ec7:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a0a:2f00::,2a0a:2f07:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0a:2f40::,2a0a:2f40:ffff:ffff:ffff:ffff:ffff:ffff,AT @@ -39966,7 +41789,7 @@ 2a0a:3240::,2a0a:3240:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a0a:3280::,2a0a:3287:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0a:32c0::,2a0a:32c7:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a0a:3300::,2a0a:3307:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a0a:3300::,2a0a:3307:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0a:3340::,2a0a:3347:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0a:3380::,2a0a:3387:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0a:33c0::,2a0a:33c7:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -40135,7 +41958,8 @@ 2a0a:5b40::,2a0a:5b47:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0a:5b80::,2a0a:5b87:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0a:5bc0::,2a0a:5bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0a:5c00::,2a0a:5c07:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0a:5c00::,2a0a:5c00::ff,ES +2a0a:5c00::100,2a0a:5c07:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0a:5c40::,2a0a:5c47:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a0a:5c80::,2a0a:5c87:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0a:5cc0::,2a0a:5cc7:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -40155,14 +41979,14 @@ 2a0a:6040::,2a0a:6047:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0a:6080::,2a0a:6087:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0a:60c0::,2a0a:60c0:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a0a:6100::,2a0a:6107:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a0a:6100::,2a0a:6107:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0a:6140::,2a0a:6147:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0a:6180::,2a0a:6187:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0a:61c0::,2a0a:61c7:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0a:6200::,2a0a:6200:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0a:6280::,2a0a:6287:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0a:62c0::,2a0a:62c0:ffff:ffff:ffff:ffff:ffff:ffff,FI -2a0a:6300::,2a0a:6307:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a0a:6300::,2a0a:6307:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0a:6340::,2a0a:6347:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a0a:6380::,2a0a:6387:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a0a:63c0::,2a0a:63c7:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -40221,7 +42045,7 @@ 2a0a:7140::,2a0a:7147:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0a:7180::,2a0a:7187:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0a:71c0::,2a0a:71c0:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a0a:7200::,2a0a:7207:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0a:7200::,2a0a:7207:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0a:7240::,2a0a:7240:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0a:7280::,2a0a:7287:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0a:72c0::,2a0a:72c0:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -40372,7 +42196,7 @@ 2a0a:9240::,2a0a:9247:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0a:9280::,2a0a:9287:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0a:92c0::,2a0a:92c7:ffff:ffff:ffff:ffff:ffff:ffff,CY -2a0a:9300::,2a0a:9307:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a0a:9300::,2a0a:9307:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0a:9340::,2a0a:9340:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a0a:9380::,2a0a:9387:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0a:93c0::,2a0a:93c7:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -40469,8 +42293,7 @@ 2a0a:aa40::,2a0a:aa47:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0a:aa80::,2a0a:aa80:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0a:aa81::,2a0a:aa87:ffff:ffff:ffff:ffff:ffff:ffff,IM -2a0a:aac0::,2a0a:aac0:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a0a:ab00::,2a0a:ab07:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a0a:aac0::,2a0a:aac7:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0a:ab40::,2a0a:ab47:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a0a:ab80::,2a0a:ab80:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0a:abc0::,2a0a:abc7:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -40489,7 +42312,9 @@ 2a0a:af00::,2a0a:af07:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0a:af40::,2a0a:af47:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0a:af80::,2a0a:af87:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0a:afc0::,2a0a:afc7:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a0a:afc0::,2a0a:afc6:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a0a:afc7::,2a0a:afc7::ffff:ffff:ffff:ffff:ffff,VG +2a0a:afc7:1::,2a0a:afc7:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0a:b000::,2a0a:b000:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0a:b040::,2a0a:b047:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0a:b080::,2a0a:b087:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -40504,8 +42329,7 @@ 2a0a:b2c0::,2a0a:b2c7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0a:b300::,2a0a:b307:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0a:b340::,2a0a:b347:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a0a:b380::,2a0a:b380:ffff:ffff:ffff:ffff:ffff:ffff,US -2a0a:b381::,2a0a:b381:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0a:b380::,2a0a:b381:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0a:b382::,2a0a:b384:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0a:b385::,2a0a:b387:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0a:b400::,2a0a:b407:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -40522,7 +42346,6 @@ 2a0a:b640:2::,2a0a:b647:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0a:b680::,2a0a:b687:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a0a:b6c0::,2a0a:b6c0:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2a0a:b700::,2a0a:b705:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0a:b706::,2a0a:b707::ffff:ffff:ffff:ffff:ffff,GB 2a0a:b707:1::,2a0a:b707:bd:ffff:ffff:ffff:ffff:ffff,NL 2a0a:b707:be::,2a0a:b707:be:ffff:ffff:ffff:ffff:ffff,BE @@ -40573,7 +42396,6 @@ 2a0a:c100::,2a0a:c107:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0a:c140::,2a0a:c140:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0a:c180::,2a0a:c187:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a0a:c1c0::,2a0a:c1c7:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0a:c200::,2a0a:c207:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0a:c240::,2a0a:c240:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0a:c2c0::,2a0a:c2c7:ffff:ffff:ffff:ffff:ffff:ffff,PL @@ -40653,7 +42475,6 @@ 2a0a:d500::,2a0a:d507:ffff:ffff:ffff:ffff:ffff:ffff,FO 2a0a:d540::,2a0a:d547:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0a:d580::,2a0a:d587:ffff:ffff:ffff:ffff:ffff:ffff,MD -2a0a:d5c0::,2a0a:d5c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0a:d600::,2a0a:d607:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0a:d640::,2a0a:d647:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0a:d680::,2a0a:d687:ffff:ffff:ffff:ffff:ffff:ffff,BG @@ -40711,7 +42532,7 @@ 2a0a:e340::,2a0a:e347:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0a:e380::,2a0a:e387:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0a:e3c0::,2a0a:e3c7:ffff:ffff:ffff:ffff:ffff:ffff,IE -2a0a:e400::,2a0a:e407:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a0a:e400::,2a0a:e407:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a0a:e440::,2a0a:e447:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a0a:e480::,2a0a:e487:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0a:e4c0::,2a0a:e4c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ @@ -40798,9 +42619,9 @@ 2a0a:f900::,2a0a:f907:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a0a:f940::,2a0a:f940:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0a:f980::,2a0a:f987:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a0a:f9c0::,2a0a:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0a:f9c5::,2a0a:f9c6:ffff:ffff:ffff:ffff:ffff:ffff,US -2a0a:f9c7::,2a0a:f9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0a:f9c0::,2a0a:f9c4:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0a:f9c5::,2a0a:f9c5:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0a:f9c6::,2a0a:f9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0a:fa00::,2a0a:fa07:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0a:fa40::,2a0a:fa47:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0a:fa80::,2a0a:fa87:ffff:ffff:ffff:ffff:ffff:ffff,PL @@ -40881,17 +42702,18 @@ 2a0b:b87:ffd4::,2a0b:b87:ffd5:ffff:ffff:ffff:ffff:ffff,GB 2a0b:b87:ffd6::,2a0b:b87:ffd6:ffff:ffff:ffff:ffff:ffff,PL 2a0b:b87:ffd7::,2a0b:b87:ffd7:ffff:ffff:ffff:ffff:ffff,FI -2a0b:b87:ffd8::,2a0b:b87:ffd9:ffff:ffff:ffff:ffff:ffff,DE -2a0b:b87:ffda::,2a0b:b87:ffdf:ffff:ffff:ffff:ffff:ffff,GB +2a0b:b87:ffd8::,2a0b:b87:ffdf:ffff:ffff:ffff:ffff:ffff,GB 2a0b:b87:ffe0::,2a0b:b87:ffe0:ffff:ffff:ffff:ffff:ffff,RO 2a0b:b87:ffe1::,2a0b:b87:ffe1:ffff:ffff:ffff:ffff:ffff,IE 2a0b:b87:ffe2::,2a0b:b87:ffe2:ffff:ffff:ffff:ffff:ffff,PL 2a0b:b87:ffe3::,2a0b:b87:ffe3:ffff:ffff:ffff:ffff:ffff,DE 2a0b:b87:ffe4::,2a0b:b87:ffe4:ffff:ffff:ffff:ffff:ffff,NL -2a0b:b87:ffe8::,2a0b:b87:ffe8:ffff:ffff:ffff:ffff:ffff,GB +2a0b:b87:ffe5::,2a0b:b87:ffe8:ffff:ffff:ffff:ffff:ffff,GB 2a0b:b87:ffe9::,2a0b:b87:ffe9:ffff:ffff:ffff:ffff:ffff,PL 2a0b:b87:ffea::,2a0b:b87:ffea:ffff:ffff:ffff:ffff:ffff,IE -2a0b:b87:ffeb::,2a0b:b87:ffeb:ffff:ffff:ffff:ffff:ffff,GB +2a0b:b87:ffeb::,2a0b:b87:ffed:ffff:ffff:ffff:ffff:ffff,GB +2a0b:b87:ffee::,2a0b:b87:ffee:ffff:ffff:ffff:ffff:ffff,RO +2a0b:b87:ffef::,2a0b:b87:ffef:ffff:ffff:ffff:ffff:ffff,DE 2a0b:b87:fff0::,2a0b:b87:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0b:bc0::,2a0b:bc7:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a0b:c00::,2a0b:c00:ffff:ffff:ffff:ffff:ffff:ffff,LT @@ -40950,10 +42772,14 @@ 2a0b:1840::,2a0b:1847:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0b:1880::,2a0b:1887:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a0b:18c0::,2a0b:18c0:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0b:1900::,2a0b:1900:ffff:ffff:ffff:ffff:ffff:ffff,US -2a0b:1901::,2a0b:1901:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a0b:1902::,2a0b:1904:ffff:ffff:ffff:ffff:ffff:ffff,US -2a0b:1905::,2a0b:1907:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0b:1900::,2a0b:1900:f:ffff:ffff:ffff:ffff:ffff,US +2a0b:1900:10::,2a0b:1901:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0b:1902::,2a0b:1902:1f:ffff:ffff:ffff:ffff:ffff,US +2a0b:1902:20::,2a0b:1902:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0b:1903::,2a0b:1903:1f:ffff:ffff:ffff:ffff:ffff,US +2a0b:1903:20::,2a0b:1903:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0b:1904::,2a0b:1904::ffff:ffff:ffff:ffff:ffff,US +2a0b:1904:1::,2a0b:1907:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0b:1940::,2a0b:1940:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a0b:1980::,2a0b:1987:ffff:ffff:ffff:ffff:ffff:ffff,GR 2a0b:19c0::,2a0b:19c7:ffff:ffff:ffff:ffff:ffff:ffff,IL @@ -41009,7 +42835,6 @@ 2a0b:2580::,2a0b:2587:ffff:ffff:ffff:ffff:ffff:ffff,IL 2a0b:25c0::,2a0b:25c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0b:2600::,2a0b:2607:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a0b:2640::,2a0b:2647:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0b:2680::,2a0b:2687:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0b:26c0::,2a0b:26c7:ffff:ffff:ffff:ffff:ffff:ffff,SK 2a0b:2700::,2a0b:2707:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -41039,8 +42864,8 @@ 2a0b:2cc0::,2a0b:2cc7:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a0b:2d00::,2a0b:2d07:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0b:2d80::,2a0b:2d84:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0b:2d85::,2a0b:2d86:ffff:ffff:ffff:ffff:ffff:ffff,US -2a0b:2d87::,2a0b:2d87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0b:2d85::,2a0b:2d85:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0b:2d86::,2a0b:2d87:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0b:2dc0::,2a0b:2dc7:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0b:2e00::,2a0b:2e07:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a0b:2e40::,2a0b:2e47:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -41144,7 +42969,9 @@ 2a0b:4300::,2a0b:4307:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0b:4340::,2a0b:4340:5f:ffff:ffff:ffff:ffff:ffff,DE 2a0b:4340:60::,2a0b:4340:6f:ffff:ffff:ffff:ffff:ffff,JP -2a0b:4340:70::,2a0b:4340:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0b:4340:70::,2a0b:4340:3ff:ffff:ffff:ffff:ffff:ffff,DE +2a0b:4340:400::,2a0b:4340:7ff:ffff:ffff:ffff:ffff:ffff,CN +2a0b:4340:800::,2a0b:4340:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0b:4342:1000::,2a0b:4342:4fff:ffff:ffff:ffff:ffff:ffff,DE 2a0b:4342:5000::,2a0b:4342:5fff:ffff:ffff:ffff:ffff:ffff,KR 2a0b:4342:6000::,2a0b:4342:fffe:ffff:ffff:ffff:ffff:ffff,DE @@ -41326,10 +43153,14 @@ 2a0b:6b86:400::,2a0b:6b86:400:ffff:ffff:ffff:ffff:ffff,GB 2a0b:6b86:401::,2a0b:6b86:401:ffff:ffff:ffff:ffff:ffff,DE 2a0b:6b86:402::,2a0b:6b86:402:ffff:ffff:ffff:ffff:ffff,US -2a0b:6b86:403::,2a0b:6b86:6ff:ffff:ffff:ffff:ffff:ffff,GB -2a0b:6b86:700::,2a0b:6b86:8ff:ffff:ffff:ffff:ffff:ffff,NL +2a0b:6b86:403::,2a0b:6b86:403:ffff:ffff:ffff:ffff:ffff,GB +2a0b:6b86:404::,2a0b:6b86:404:ffff:ffff:ffff:ffff:ffff,NL +2a0b:6b86:405::,2a0b:6b86:6ff:ffff:ffff:ffff:ffff:ffff,GB +2a0b:6b86:700::,2a0b:6b86:7ff:ffff:ffff:ffff:ffff:ffff,NL +2a0b:6b86:800::,2a0b:6b86:8ff:ffff:ffff:ffff:ffff:ffff,US 2a0b:6b86:900::,2a0b:6b86:aff:ffff:ffff:ffff:ffff:ffff,GB -2a0b:6b86:b00::,2a0b:6b87:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0b:6b86:b00::,2a0b:6b86:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0b:6b87::,2a0b:6b87:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0b:6bc0::,2a0b:6bc7:ffff:ffff:ffff:ffff:ffff:ffff,TJ 2a0b:6c00::,2a0b:6c07:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a0b:6c40::,2a0b:6c47:ffff:ffff:ffff:ffff:ffff:ffff,AT @@ -41438,7 +43269,7 @@ 2a0b:8540::,2a0b:8547:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0b:8580::,2a0b:8587:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0b:85c0::,2a0b:85c7:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a0b:8600::,2a0b:8607:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a0b:8600::,2a0b:8607:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0b:8640::,2a0b:8647:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0b:8680::,2a0b:8687:ffff:ffff:ffff:ffff:ffff:ffff,BY 2a0b:86c0::,2a0b:86c7:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -41478,7 +43309,6 @@ 2a0b:8f40::,2a0b:8f47:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0b:8f80::,2a0b:8f87:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0b:8fc0::,2a0b:8fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0b:9000::,2a0b:9007:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0b:9040::,2a0b:9047:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0b:9080::,2a0b:9087:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0b:90c0::,2a0b:90c7:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -41490,7 +43320,7 @@ 2a0b:9240::,2a0b:9247:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0b:9280::,2a0b:9287:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0b:92c0::,2a0b:92c7:ffff:ffff:ffff:ffff:ffff:ffff,IR -2a0b:9300::,2a0b:9307:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a0b:9300::,2a0b:9307:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0b:9340::,2a0b:9347:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0b:9380::,2a0b:9380:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0b:93c0::,2a0b:93c7:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -41510,7 +43340,7 @@ 2a0b:9740::,2a0b:9747:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0b:9780::,2a0b:9787:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0b:97c0::,2a0b:97c7:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0b:9800::,2a0b:9807:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a0b:9800::,2a0b:9807:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0b:9840::,2a0b:9847:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0b:9880::,2a0b:9887:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a0b:98c0::,2a0b:98c7:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -41553,7 +43383,6 @@ 2a0b:a140::,2a0b:a147:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0b:a180::,2a0b:a187:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0b:a1c0::,2a0b:a1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0b:a200::,2a0b:a207:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0b:a240::,2a0b:a247:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0b:a280::,2a0b:a280:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0b:a2c0::,2a0b:a2c7:ffff:ffff:ffff:ffff:ffff:ffff,AT @@ -41667,8 +43496,8 @@ 2a0b:bc40::,2a0b:bc47:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a0b:bc80::,2a0b:bc87:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0b:bcc0::,2a0b:bcc7:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0b:bd00::,2a0b:bd00:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a0b:bd01::,2a0b:bd07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0b:bd00::,2a0b:bd01:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a0b:bd02::,2a0b:bd07:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0b:bd40::,2a0b:bd47:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0b:bd80::,2a0b:bd87:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0b:bdc0::,2a0b:bdc7:ffff:ffff:ffff:ffff:ffff:ffff,CZ @@ -41728,6 +43557,7 @@ 2a0b:cb80::,2a0b:cb80:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a0b:cbc0::,2a0b:cbc7:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0b:cc00::,2a0b:cc00:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a0b:cc40::,2a0b:cc47:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a0b:cc80::,2a0b:cc87:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0b:ccc0::,2a0b:ccc7:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a0b:cd00::,2a0b:cd07:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -41738,7 +43568,6 @@ 2a0b:ce40::,2a0b:ce40:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a0b:ce80::,2a0b:ce87:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0b:cec0::,2a0b:cec7:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a0b:cf00::,2a0b:cf07:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0b:cf40::,2a0b:cf47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0b:cf80::,2a0b:cf87:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0b:cfc0::,2a0b:cfc7:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -41752,7 +43581,8 @@ 2a0b:d1c0::,2a0b:d1c0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0b:d200::,2a0b:d207:ffff:ffff:ffff:ffff:ffff:ffff,IL 2a0b:d240::,2a0b:d240:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a0b:d280::,2a0b:d287:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a0b:d280::,2a0b:d283:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0b:d284::,2a0b:d287:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0b:d2c0::,2a0b:d2c7:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a0b:d300::,2a0b:d307:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0b:d340::,2a0b:d347:ffff:ffff:ffff:ffff:ffff:ffff,CH @@ -41989,9 +43819,8 @@ 2a0c:880::,2a0c:887:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0c:8c0::,2a0c:8c0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0c:900::,2a0c:907:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a0c:940::,2a0c:947:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:980::,2a0c:987:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0c:9c0::,2a0c:9c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:9c0::,2a0c:9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:a00::,2a0c:a07:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0c:a40::,2a0c:a47:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a0c:a80::,2a0c:a87:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -42025,14 +43854,13 @@ 2a0c:11c0::,2a0c:11c7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0c:1200::,2a0c:1207:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a0c:1240::,2a0c:1247:ffff:ffff:ffff:ffff:ffff:ffff,UA -2a0c:1280::,2a0c:1287:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:12c0::,2a0c:12c7:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0c:1300::,2a0c:1307:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0c:1340::,2a0c:1347:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0c:1380::,2a0c:1387:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0c:13c0::,2a0c:13c7:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0c:1400::,2a0c:1407:ffff:ffff:ffff:ffff:ffff:ffff,NO -2a0c:1440::,2a0c:1447:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:1440::,2a0c:1447:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:1480::,2a0c:1487:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0c:14c0::,2a0c:14c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:1500::,2a0c:1507:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -42042,7 +43870,7 @@ 2a0c:1600::,2a0c:1600:ffff:ffff:ffff:ffff:ffff:ffff,BA 2a0c:1640::,2a0c:1647:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0c:1680::,2a0c:1687:ffff:ffff:ffff:ffff:ffff:ffff,PL -2a0c:16c0::,2a0c:16c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:16c0::,2a0c:16c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:1700::,2a0c:1707:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:1740::,2a0c:1747:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a0c:1780::,2a0c:1787:ffff:ffff:ffff:ffff:ffff:ffff,PL @@ -42060,17 +43888,17 @@ 2a0c:1a80::,2a0c:1a87:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0c:1ac0::,2a0c:1ac7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:1b00::,2a0c:1b07:ffff:ffff:ffff:ffff:ffff:ffff,NO -2a0c:1b40::,2a0c:1b47:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:1b40::,2a0c:1b47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:1b80::,2a0c:1b87:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a0c:1bc0::,2a0c:1bc7:ffff:ffff:ffff:ffff:ffff:ffff,US -2a0c:1c00::,2a0c:1c07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0c:1bc0::,2a0c:1bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0c:1c00::,2a0c:1c07:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0c:1c40::,2a0c:1c47:ffff:ffff:ffff:ffff:ffff:ffff,LB 2a0c:1c80::,2a0c:1c87:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a0c:1cc0::,2a0c:1cc7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0c:1d00::,2a0c:1d03:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:1d40::,2a0c:1d47:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0c:1d80::,2a0c:1d87:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0c:1dc0::,2a0c:1dc7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:1dc0::,2a0c:1dc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:1e00::,2a0c:1e07:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0c:1e40::,2a0c:1e47:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0c:1e80::,2a0c:1e87:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -42087,7 +43915,7 @@ 2a0c:2140::,2a0c:2147:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0c:2180::,2a0c:2187:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:21c0::,2a0c:21c7:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a0c:2200::,2a0c:2207:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:2200::,2a0c:2207:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:2240::,2a0c:2247:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a0c:2280::,2a0c:2287:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a0c:22c0::,2a0c:22c7:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -42097,7 +43925,7 @@ 2a0c:23c0::,2a0c:23c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:2400::,2a0c:2407:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a0c:2440::,2a0c:2447:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2a0c:2480::,2a0c:2487:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:2480::,2a0c:2487:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:24c0::,2a0c:24c7:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0c:2500::,2a0c:2507:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:2540::,2a0c:2547:ffff:ffff:ffff:ffff:ffff:ffff,SK @@ -42111,23 +43939,20 @@ 2a0c:2740::,2a0c:2747:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0c:27c0::,2a0c:27c7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0c:2800::,2a0c:2800:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a0c:2840::,2a0c:2847:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:2880::,2a0c:2887:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:28c0::,2a0c:28c0:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0c:2900::,2a0c:2907:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a0c:2940::,2a0c:2947:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:2980::,2a0c:2980:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0c:29c0::,2a0c:29c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:29c0::,2a0c:29c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:2a00::,2a0c:2a07:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a0c:2a40::,2a0c:2a47:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:2a40::,2a0c:2a47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:2a80::,2a0c:2a87:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0c:2ac0::,2a0c:2ac7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:2ac0::,2a0c:2ac7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:2b00::,2a0c:2b07:ffff:ffff:ffff:ffff:ffff:ffff,DK -2a0c:2b40::,2a0c:2b47:ffff:ffff:ffff:ffff:ffff:ffff,US -2a0c:2b80::,2a0c:2b87:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0c:2bc0::,2a0c:2bc7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:2b40::,2a0c:2b47:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0c:2bc0::,2a0c:2bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:2c00::,2a0c:2c07:ffff:ffff:ffff:ffff:ffff:ffff,UA -2a0c:2c40::,2a0c:2c47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:2c80::,2a0c:2c87:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0c:2cc0::,2a0c:2cc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:2d00::,2a0c:2d07:ffff:ffff:ffff:ffff:ffff:ffff,AT @@ -42137,13 +43962,15 @@ 2a0c:2e00::,2a0c:2e07:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0c:2e40::,2a0c:2e43:ffff:ffff:ffff:ffff:ffff:ffff,LI 2a0c:2e80::,2a0c:2e87:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a0c:2ec0::,2a0c:2ec7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:2ec0::,2a0c:2ec7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:2f00::,2a0c:2f07:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0c:2f40::,2a0c:2f42:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:2f43::,2a0c:2f43:ffff:ffff:ffff:ffff:ffff:ffff,SI -2a0c:2f44::,2a0c:2f47:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:2f44::,2a0c:2f44:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:2f45::,2a0c:2f46:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0c:2f47::,2a0c:2f47:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0c:2f80::,2a0c:2f87:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a0c:2fc0::,2a0c:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:2fc0::,2a0c:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:3000::,2a0c:3000:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:3040::,2a0c:3047:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:3080::,2a0c:3080:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -42159,7 +43986,7 @@ 2a0c:3300::,2a0c:3300::ffff:ffff:ffff:ffff,LB 2a0c:3300:0:1::,2a0c:3300:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0c:3301::,2a0c:3307:ffff:ffff:ffff:ffff:ffff:ffff,LB -2a0c:3340::,2a0c:3347:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:3340::,2a0c:3347:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:3380::,2a0c:3387:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:33c0::,2a0c:33c7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0c:3400::,2a0c:3407:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -42176,19 +44003,18 @@ 2a0c:36c0::,2a0c:36c0::ffff:ffff:ffff:ffff:ffff,US 2a0c:36c0:1::,2a0c:36c0:7:ffff:ffff:ffff:ffff:ffff,EE 2a0c:36c0:8::,2a0c:36c0:8:ffff:ffff:ffff:ffff:ffff,LT -2a0c:36c0:9::,2a0c:36c0:ffff:ffff:ffff:ffff:ffff:ffff,EE -2a0c:36c1::,2a0c:36c3:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:36c0:9::,2a0c:36c1:ffff:ffff:ffff:ffff:ffff:ffff,EE +2a0c:36c2::,2a0c:36c3:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0c:36c4::,2a0c:36c5:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a0c:36c6::,2a0c:36c6:ffff:ffff:ffff:ffff:ffff:ffff,US -2a0c:36c7::,2a0c:36c7:ffff:ffff:ffff:ffff:ffff:ffff,EE +2a0c:36c7::,2a0c:36c7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0c:3700::,2a0c:3700:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0c:3740::,2a0c:3747:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0c:3780::,2a0c:3787:ffff:ffff:ffff:ffff:ffff:ffff,US -2a0c:37c0::,2a0c:37c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:3800::,2a0c:3800:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a0c:3840::,2a0c:3847:ffff:ffff:ffff:ffff:ffff:ffff,LB 2a0c:3880::,2a0c:3887:ffff:ffff:ffff:ffff:ffff:ffff,IR -2a0c:38c0::,2a0c:38c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:38c0::,2a0c:38c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:3900::,2a0c:3907:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0c:3940::,2a0c:3947:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0c:3980::,2a0c:3987:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -42199,6 +44025,7 @@ 2a0c:3ac0::,2a0c:3ac7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:3b00::,2a0c:3b07:ffff:ffff:ffff:ffff:ffff:ffff,MD 2a0c:3b40::,2a0c:3b47:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0c:3b80:4348::,2a0c:3b80:4348:ffff:ffff:ffff:ffff:ffff,CH 2a0c:3b80:4c49::,2a0c:3b80:4c49:ffff:ffff:ffff:ffff:ffff,LI 2a0c:3b86::,2a0c:3b86::ffff:ffff:ffff:ffff:ffff,CH 2a0c:3b87::,2a0c:3b87::ffff:ffff:ffff:ffff:ffff,FI @@ -42272,7 +44099,6 @@ 2a0c:4cc0::,2a0c:4cc0:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0c:4d00::,2a0c:4d07:ffff:ffff:ffff:ffff:ffff:ffff,SC 2a0c:4d40::,2a0c:4d47:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a0c:4d80::,2a0c:4d87:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:4dc0::,2a0c:4dc7:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0c:4e00::,2a0c:4e00:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0c:4e40::,2a0c:4e47:ffff:ffff:ffff:ffff:ffff:ffff,AT @@ -42302,7 +44128,8 @@ 2a0c:5380::,2a0c:5387:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a0c:53c0::,2a0c:53c7:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a0c:5400::,2a0c:5407:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a0c:5440::,2a0c:5447:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0c:5440::,2a0c:5443:ffff:ffff:ffff:ffff:ffff:ffff,JP +2a0c:5444::,2a0c:5447:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0c:5480::,2a0c:5487:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0c:54c0::,2a0c:54c0:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:5500::,2a0c:5500:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -42371,8 +44198,7 @@ 2a0c:6500::,2a0c:6507:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0c:6540::,2a0c:6540:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a0c:6580::,2a0c:6587:ffff:ffff:ffff:ffff:ffff:ffff,UA -2a0c:65c0::,2a0c:65c7:ffff:ffff:ffff:ffff:ffff:ffff,US -2a0c:6600::,2a0c:6607:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:65c0::,2a0c:65c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:6640::,2a0c:6647:ffff:ffff:ffff:ffff:ffff:ffff,OM 2a0c:6680::,2a0c:6687:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:66c0::,2a0c:66c0:ffff:ffff:ffff:ffff:ffff:ffff,CZ @@ -42391,17 +44217,16 @@ 2a0c:6a00::,2a0c:6a07:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0c:6a40::,2a0c:6a47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:6a80::,2a0c:6a87:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a0c:6ac0::,2a0c:6ac7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:6ac0::,2a0c:6ac7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:6b00::,2a0c:6b07:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0c:6b40::,2a0c:6b47:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0c:6b80::,2a0c:6b87:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a0c:6bc0::,2a0c:6bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:6c00::,2a0c:6c00:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a0c:6c40::,2a0c:6c47:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:6c40::,2a0c:6c47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:6c80::,2a0c:6c87:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0c:6cc0::,2a0c:6cc7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0c:6d00::,2a0c:6d00:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0c:6d40::,2a0c:6d47:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:6d40::,2a0c:6d47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:6d80::,2a0c:6d87:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0c:6dc0::,2a0c:6dc7:ffff:ffff:ffff:ffff:ffff:ffff,AM 2a0c:6e00::,2a0c:6e07:ffff:ffff:ffff:ffff:ffff:ffff,TR @@ -42428,11 +44253,11 @@ 2a0c:7380::,2a0c:7387:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a0c:73c0::,2a0c:73c7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0c:7400::,2a0c:7407:ffff:ffff:ffff:ffff:ffff:ffff,BE -2a0c:7440::,2a0c:7447:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:7440::,2a0c:7447:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:7480::,2a0c:7487:ffff:ffff:ffff:ffff:ffff:ffff,RO -2a0c:74c0::,2a0c:74c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:74c0::,2a0c:74c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:7500::,2a0c:7507:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a0c:7540::,2a0c:7547:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:7540::,2a0c:7547:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:7580::,2a0c:7587:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:75c0::,2a0c:75c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:7600::,2a0c:7607:ffff:ffff:ffff:ffff:ffff:ffff,NO @@ -42466,11 +44291,11 @@ 2a0c:7a40::,2a0c:7a47:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a0c:7a80::,2a0c:7a87:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0c:7ac0::,2a0c:7ac7:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a0c:7b00::,2a0c:7b07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0c:7b00::,2a0c:7b07:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a0c:7b40::,2a0c:7b47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:7b80::,2a0c:7b87:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0c:7bc0::,2a0c:7bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0c:7c00::,2a0c:7c07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0c:7c00::,2a0c:7c07:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0c:7c40::,2a0c:7c47:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0c:7c80::,2a0c:7c87:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:7cc0::,2a0c:7cc7:ffff:ffff:ffff:ffff:ffff:ffff,BG @@ -42491,9 +44316,9 @@ 2a0c:8080::,2a0c:8080:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0c:80c0::,2a0c:80c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:8100::,2a0c:8107:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a0c:8140::,2a0c:8147:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:8140::,2a0c:8147:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:8180::,2a0c:8187:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a0c:81c0::,2a0c:81c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:81c0::,2a0c:81c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:8200::,2a0c:8207:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a0c:8240::,2a0c:8247:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:8280::,2a0c:8287:ffff:ffff:ffff:ffff:ffff:ffff,CY @@ -42510,14 +44335,14 @@ 2a0c:8540::,2a0c:8547:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0c:8580::,2a0c:8587:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:85c0::,2a0c:85c7:ffff:ffff:ffff:ffff:ffff:ffff,US -2a0c:8600::,2a0c:8607:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0c:8600::,2a0c:8607:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0c:8640::,2a0c:8647:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0c:8680::,2a0c:8687:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0c:86c0::,2a0c:86c7:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0c:8700::,2a0c:8707:ffff:ffff:ffff:ffff:ffff:ffff,EE -2a0c:8740::,2a0c:8747:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:8740::,2a0c:8747:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:8780::,2a0c:8787:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a0c:87c0::,2a0c:87c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:87c0::,2a0c:87c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:8800::,2a0c:8807:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0c:8840::,2a0c:8847:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0c:8880::,2a0c:8887:ffff:ffff:ffff:ffff:ffff:ffff,BG @@ -42534,12 +44359,12 @@ 2a0c:8b80::,2a0c:8b87:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0c:8bc0::,2a0c:8bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:8c00::,2a0c:8c07:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a0c:8c40::,2a0c:8c47:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:8c40::,2a0c:8c47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:8c80::,2a0c:8c80:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0c:8cc0::,2a0c:8cc7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0c:8d00::,2a0c:8d07:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a0c:8d40::,2a0c:8d47:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a0c:8d80::,2a0c:8d87:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:8d80::,2a0c:8d87:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:8dc0::,2a0c:8dc7:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0c:8e00::,2a0c:8e07:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0c:8e40::,2a0c:8e47:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -42556,11 +44381,11 @@ 2a0c:9100::,2a0c:9107:ffff:ffff:ffff:ffff:ffff:ffff,SA 2a0c:9140::,2a0c:9147:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0c:9180::,2a0c:9187:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a0c:91c0::,2a0c:91c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:91c0::,2a0c:91c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:9200::,2a0c:9200:ff:ffff:ffff:ffff:ffff:ffff,BD 2a0c:9200:100::,2a0c:9207:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:9240::,2a0c:9247:ffff:ffff:ffff:ffff:ffff:ffff,TR -2a0c:9280::,2a0c:9287:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:9280::,2a0c:9287:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:92c0::,2a0c:92c0:ffff:ffff:ffff:ffff:ffff:ffff,MD 2a0c:9300::,2a0c:9307:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:9340::,2a0c:9347:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -42603,7 +44428,6 @@ 2a0c:9447:40::,2a0c:9447:bf:ffff:ffff:ffff:ffff:ffff,GB 2a0c:9447:c8::,2a0c:9447:d7:ffff:ffff:ffff:ffff:ffff,GB 2a0c:9447:e0::,2a0c:9447:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0c:9480::,2a0c:9487:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:94c0::,2a0c:94c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:9500::,2a0c:9500:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0c:9540::,2a0c:9540:ffff:ffff:ffff:ffff:ffff:ffff,AT @@ -42653,7 +44477,10 @@ 2a0c:a0c0::,2a0c:a0c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:a100::,2a0c:a107:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:a140::,2a0c:a147:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0c:a180::,2a0c:a186:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:a180::,2a0c:a183:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0c:a184::,2a0c:a184:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:a185::,2a0c:a185:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0c:a186::,2a0c:a186:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0c:a187::,2a0c:a187:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0c:a1c0::,2a0c:a1c7:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a0c:a200::,2a0c:a207:ffff:ffff:ffff:ffff:ffff:ffff,SE @@ -42682,19 +44509,19 @@ 2a0c:a800::,2a0c:a807:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a0c:a840::,2a0c:a847:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:a880::,2a0c:a887:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a0c:a8c0::,2a0c:a8c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:a8c0::,2a0c:a8c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:a900::,2a0c:a900:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a0c:a940::,2a0c:a947:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:a940::,2a0c:a947:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:a980::,2a0c:a987:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a0c:a9c0::,2a0c:a9c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:a9c0::,2a0c:a9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:aa00::,2a0c:aa07:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a0c:aa40::,2a0c:aa47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:aa80::,2a0c:aa87:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0c:aac0::,2a0c:aac7:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0c:ab00::,2a0c:ab07:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:ab00::,2a0c:ab07:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:ab40::,2a0c:ab47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:ab80::,2a0c:ab87:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a0c:abc0::,2a0c:abc7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:abc0::,2a0c:abc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:ac00::,2a0c:ac07:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0c:ac40::,2a0c:ac47:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0c:ac80::,2a0c:ac87:ffff:ffff:ffff:ffff:ffff:ffff,NL @@ -42728,11 +44555,10 @@ 2a0c:b400::,2a0c:b407:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a0c:b440::,2a0c:b447:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0c:b480::,2a0c:b487:ffff:ffff:ffff:ffff:ffff:ffff,BG -2a0c:b4c0::,2a0c:b4c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:b4c0::,2a0c:b4c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:b500::,2a0c:b507:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0c:b540::,2a0c:b547:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:b540::,2a0c:b547:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:b580::,2a0c:b587:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0c:b5c0::,2a0c:b5c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:b640::,2a0c:b640:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a0c:b641:10::,2a0c:b641:10:ffff:ffff:ffff:ffff:ffff,FR 2a0c:b641:11::,2a0c:b641:11:ffff:ffff:ffff:ffff:ffff,GB @@ -42745,27 +44571,32 @@ 2a0c:b641:18::,2a0c:b641:18:ffff:ffff:ffff:ffff:ffff,BR 2a0c:b641:19::,2a0c:b641:1f:ffff:ffff:ffff:ffff:ffff,BE 2a0c:b641:20::,2a0c:b641:20:ffff:ffff:ffff:ffff:ffff,FR -2a0c:b641:21::,2a0c:b641:3f:ffff:ffff:ffff:ffff:ffff,BE +2a0c:b641:21::,2a0c:b641:2f:ffff:ffff:ffff:ffff:ffff,BE +2a0c:b641:30::,2a0c:b641:30:ffff:ffff:ffff:ffff:ffff,FR +2a0c:b641:31::,2a0c:b641:3f:ffff:ffff:ffff:ffff:ffff,BE 2a0c:b641:40::,2a0c:b641:4f:ffff:ffff:ffff:ffff:ffff,PL 2a0c:b641:50::,2a0c:b641:5f:ffff:ffff:ffff:ffff:ffff,DE 2a0c:b641:60::,2a0c:b641:6f:ffff:ffff:ffff:ffff:ffff,PL -2a0c:b641:70::,2a0c:b641:ff:ffff:ffff:ffff:ffff:ffff,BE +2a0c:b641:70::,2a0c:b641:7f:ffff:ffff:ffff:ffff:ffff,DE +2a0c:b641:80::,2a0c:b641:8f:ffff:ffff:ffff:ffff:ffff,NO +2a0c:b641:90::,2a0c:b641:ff:ffff:ffff:ffff:ffff:ffff,BE 2a0c:b641:100::,2a0c:b641:1ff:ffff:ffff:ffff:ffff:ffff,PL 2a0c:b641:200::,2a0c:b641:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a0c:b642::,2a0c:b642:fff:ffff:ffff:ffff:ffff:ffff,PL -2a0c:b642:1000::,2a0c:b642:1009:ffff:ffff:ffff:ffff:ffff,DE +2a0c:b642:1000::,2a0c:b642:1002:ffff:ffff:ffff:ffff:ffff,DE +2a0c:b642:1003::,2a0c:b642:1003:ffff:ffff:ffff:ffff:ffff,US +2a0c:b642:1004::,2a0c:b642:1009:ffff:ffff:ffff:ffff:ffff,DE 2a0c:b642:100b::,2a0c:b642:1fff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:b642:2000::,2a0c:b647:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a0c:b680::,2a0c:b687:ffff:ffff:ffff:ffff:ffff:ffff,NO -2a0c:b6c0::,2a0c:b6c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:b700::,2a0c:b707:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:b740::,2a0c:b747:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:b780::,2a0c:b780:ffff:ffff:ffff:ffff:ffff:ffff,SE -2a0c:b7c0::,2a0c:b7c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:b7c0::,2a0c:b7c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:b800::,2a0c:b806:7fff:ffff:ffff:ffff:ffff:ffff,UA 2a0c:b806:8000::,2a0c:b806:bfff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:b806:c000::,2a0c:b807:ffff:ffff:ffff:ffff:ffff:ffff,UA -2a0c:b840::,2a0c:b847:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:b840::,2a0c:b847:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:b880::,2a0c:b887:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0c:b8c0::,2a0c:b8c7:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0c:b900::,2a0c:b907:ffff:ffff:ffff:ffff:ffff:ffff,IR @@ -42808,7 +44639,7 @@ 2a0c:c186::,2a0c:c187:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0c:c1c0::,2a0c:c1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:c200::,2a0c:c200:ffff:ffff:ffff:ffff:ffff:ffff,SK -2a0c:c240::,2a0c:c247:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:c240::,2a0c:c247:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:c280::,2a0c:c287:ffff:ffff:ffff:ffff:ffff:ffff,MT 2a0c:c2c0::,2a0c:c2c7:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a0c:c300::,2a0c:c307:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -42852,9 +44683,9 @@ 2a0c:cc80::,2a0c:cc87:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0c:ccc0::,2a0c:ccc7:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a0c:cd00::,2a0c:cd00:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a0c:cd40::,2a0c:cd47:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:cd40::,2a0c:cd47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:cd80::,2a0c:cd80:ffff:ffff:ffff:ffff:ffff:ffff,FI -2a0c:cdc0::,2a0c:cdc7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:cdc0::,2a0c:cdc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:ce00::,2a0c:ce07:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a0c:ce40::,2a0c:ce40:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0c:ce80::,2a0c:ce87:ffff:ffff:ffff:ffff:ffff:ffff,PL @@ -42881,7 +44712,7 @@ 2a0c:d3c0::,2a0c:d3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:d400::,2a0c:d407:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:d440::,2a0c:d447:ffff:ffff:ffff:ffff:ffff:ffff,UA -2a0c:d480::,2a0c:d487:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:d480::,2a0c:d487:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:d4c0::,2a0c:d4c7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0c:d500::,2a0c:d507:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a0c:d540::,2a0c:d540:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -42898,7 +44729,7 @@ 2a0c:d800::,2a0c:d807:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0c:d840::,2a0c:d847:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:d880::,2a0c:d880:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a0c:d8c0::,2a0c:d8c7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0c:d8c0::,2a0c:d8c7:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a0c:d900::,2a0c:d907:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0c:d940::,2a0c:d947:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:d980::,2a0c:d987:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -42932,7 +44763,7 @@ 2a0c:df00::,2a0c:df07:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a0c:df40::,2a0c:df47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:df80::,2a0c:df87:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0c:dfc0::,2a0c:dfc7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0c:dfc0::,2a0c:dfc7:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a0c:e000::,2a0c:e007:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:e040::,2a0c:e047:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a0c:e080::,2a0c:e087:ffff:ffff:ffff:ffff:ffff:ffff,US @@ -42980,9 +44811,9 @@ 2a0c:eb00::,2a0c:eb00:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0c:eb40::,2a0c:eb47:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a0c:eb80::,2a0c:eb87:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0c:ebc0::,2a0c:ebc7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0c:ebc0::,2a0c:ebc7:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a0c:ec00::,2a0c:ec07:ffff:ffff:ffff:ffff:ffff:ffff,UA -2a0c:ec40::,2a0c:ec47:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0c:ec40::,2a0c:ec47:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a0c:ec80::,2a0c:ec80:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a0c:ecc0::,2a0c:ecc7:ffff:ffff:ffff:ffff:ffff:ffff,IE 2a0c:ed00::,2a0c:ed07:ffff:ffff:ffff:ffff:ffff:ffff,AZ @@ -43011,9 +44842,7 @@ 2a0c:f200::,2a0c:f207:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0c:f240::,2a0c:f247:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:f280::,2a0c:f287:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0c:f2c0::,2a0c:f2c0:ffff:ffff:ffff:ffff:ffff:ffff,US -2a0c:f2c1::,2a0c:f2c1:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a0c:f2c2::,2a0c:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0c:f2c0::,2a0c:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:f300::,2a0c:f307:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0c:f340::,2a0c:f340:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0c:f380::,2a0c:f387:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -43044,7 +44873,7 @@ 2a0c:f9c0::,2a0c:f9c7:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0c:fa00::,2a0c:fa00:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0c:fa40::,2a0c:fa47:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a0c:fa80::,2a0c:fa87:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0c:fa80::,2a0c:fa87:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:fac0::,2a0c:fac7:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a0c:fb00::,2a0c:fb07:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0c:fb40::,2a0c:fb47:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -43073,7 +44902,6 @@ 2a0d:100::,2a0d:107:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0d:140::,2a0d:147:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:180::,2a0d:187:ffff:ffff:ffff:ffff:ffff:ffff,CZ -2a0d:1c0::,2a0d:1c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:200::,2a0d:207:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0d:240::,2a0d:247:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:280::,2a0d:287:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -43083,7 +44911,7 @@ 2a0d:380::,2a0d:387:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:3c0::,2a0d:3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:400::,2a0d:407:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a0d:440::,2a0d:447:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:440::,2a0d:447:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a0d:480::,2a0d:487:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:4c0::,2a0d:4c7:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0d:500::,2a0d:507:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -43132,7 +44960,7 @@ 2a0d:fc0::,2a0d:fc7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0d:1000::,2a0d:1007:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:1040::,2a0d:1047:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0d:1080::,2a0d:1087:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0d:1080::,2a0d:1087:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:10c0::,2a0d:10c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:1100::,2a0d:1107:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0d:1140::,2a0d:1147:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -43149,20 +44977,18 @@ 2a0d:1400::,2a0d:1403:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:1440::,2a0d:1447:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:1480::,2a0d:1487:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0d:14c0::,2a0d:14c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:14c0::,2a0d:14c7:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:1500::,2a0d:1500:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:1540::,2a0d:1547:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a0d:1580::,2a0d:1580:ffff:ffff:ffff:ffff:ffff:ffff,LT 2a0d:15c0::,2a0d:15c0:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a0d:1600::,2a0d:1600:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:1640::,2a0d:1647:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a0d:1680::,2a0d:1687:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:16c0::,2a0d:16c0:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:1700::,2a0d:1707:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:1740::,2a0d:1740:ffff:ffff:ffff:ffff:ffff:ffff,LV 2a0d:1780::,2a0d:1787:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0d:17c0::,2a0d:17c7:ffff:ffff:ffff:ffff:ffff:ffff,DK -2a0d:1800::,2a0d:1807:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:1840::,2a0d:1847:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:1880::,2a0d:1887:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0d:18c0::,2a0d:18c7:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -43176,12 +45002,13 @@ 2a0d:1a40:1337::,2a0d:1a40:1337:ffff:ffff:ffff:ffff:ffff,BE 2a0d:1a40:6542::,2a0d:1a40:6542:ffff:ffff:ffff:ffff:ffff,BE 2a0d:1a40:6969::,2a0d:1a40:6969:ffff:ffff:ffff:ffff:ffff,BE -2a0d:1a40:dead::,2a0d:1a40:dead:ffff:ffff:ffff:ffff:ffff,GB -2a0d:1a41::,2a0d:1a41:6968:ffff:ffff:ffff:ffff:ffff,DE +2a0d:1a40:9300::,2a0d:1a40:930f:ffff:ffff:ffff:ffff:ffff,BE +2a0d:1a40:9410::,2a0d:1a40:941f:ffff:ffff:ffff:ffff:ffff,GB +2a0d:1a40:babe::,2a0d:1a40:babe:ffff:ffff:ffff:ffff:ffff,SG +2a0d:1a40:beef::,2a0d:1a40:beef:ffff:ffff:ffff:ffff:ffff,GB 2a0d:1a41:6969::,2a0d:1a41:6969:ffff:ffff:ffff:ffff:ffff,GB -2a0d:1a41:696a::,2a0d:1a44:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:1a45:beef::,2a0d:1a45:beef:ffff:ffff:ffff:ffff:ffff,SE -2a0d:1a46::,2a0d:1a47:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:1a45:dead::,2a0d:1a45:dead:ffff:ffff:ffff:ffff:ffff,SE 2a0d:1a80::,2a0d:1a87:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a0d:1ac0::,2a0d:1ac7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:1b00::,2a0d:1b07:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -43201,7 +45028,7 @@ 2a0d:1e80::,2a0d:1e87:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a0d:1ec0::,2a0d:1ec7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:1f00::,2a0d:1f07:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0d:1f40::,2a0d:1f47:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:1f40::,2a0d:1f47:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a0d:1f80::,2a0d:1f80:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:1fc0::,2a0d:1fc7:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0d:2000::,2a0d:2007:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -43209,12 +45036,7 @@ 2a0d:2080::,2a0d:2087:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:20c0::,2a0d:20c7:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0d:2100::,2a0d:2107:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a0d:2140::,2a0d:2144::ffff:ffff:ffff:ffff:ffff,DE -2a0d:2144:1::,2a0d:2144:1:ffff:ffff:ffff:ffff:ffff,RO -2a0d:2144:2::,2a0d:2144:4:ffff:ffff:ffff:ffff:ffff,DE -2a0d:2144:5::,2a0d:2144:5:ffff:ffff:ffff:ffff:ffff,GB -2a0d:2144:6::,2a0d:2144:6:ffff:ffff:ffff:ffff:ffff,US -2a0d:2144:7::,2a0d:2144:a0:ffff:ffff:ffff:ffff:ffff,DE +2a0d:2140::,2a0d:2144:a0:ffff:ffff:ffff:ffff:ffff,DE 2a0d:2144:a1::,2a0d:2144:a1:ffff:ffff:ffff:ffff:ffff,RO 2a0d:2144:a2::,2a0d:2144:a4:ffff:ffff:ffff:ffff:ffff,DE 2a0d:2144:a5::,2a0d:2144:a5:ffff:ffff:ffff:ffff:ffff,GB @@ -43222,11 +45044,12 @@ 2a0d:2144:a7::,2a0d:2146:800f:ffff:ffff:ffff:ffff:ffff,DE 2a0d:2146:8010::,2a0d:2146:8010:ffff:ffff:ffff:ffff:ffff,RO 2a0d:2146:8011::,2a0d:2146:8011:ffff:ffff:ffff:ffff:ffff,NL -2a0d:2146:8012::,2a0d:2147:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a0d:2180::,2a0d:2187:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:2146:8012::,2a0d:2146:803f:ffff:ffff:ffff:ffff:ffff,DE +2a0d:2146:8040::,2a0d:2146:8040:ffff:ffff:ffff:ffff:ffff,US +2a0d:2146:8041::,2a0d:2147:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:21c0::,2a0d:21c7:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:2200::,2a0d:2207:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a0d:2240::,2a0d:2247:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:2240::,2a0d:2247:ffff:ffff:ffff:ffff:ffff:ffff,AE 2a0d:2280::,2a0d:2287:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a0d:22c0::,2a0d:22c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:2300::,2a0d:2307:ffff:ffff:ffff:ffff:ffff:ffff,HU @@ -43255,7 +45078,9 @@ 2a0d:2406:e1d::,2a0d:2406:e1d:ffff:ffff:ffff:ffff:ffff,BM 2a0d:2406:e1e::,2a0d:2406:e1e:ffff:ffff:ffff:ffff:ffff,AQ 2a0d:2406:e1f::,2a0d:2406:e1f:ffff:ffff:ffff:ffff:ffff,DE -2a0d:2406:e20::,2a0d:2407:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a0d:2406:e20::,2a0d:2406:eff:ffff:ffff:ffff:ffff:ffff,NL +2a0d:2406:f00::,2a0d:2406:f0f:ffff:ffff:ffff:ffff:ffff,GB +2a0d:2406:f10::,2a0d:2407:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:2440::,2a0d:2447:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0d:2480::,2a0d:2487:ffff:ffff:ffff:ffff:ffff:ffff,CN 2a0d:24c0::,2a0d:24c7:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -43306,7 +45131,8 @@ 2a0d:2d00::,2a0d:2d00:ffff:ffff:ffff:ffff:ffff:ffff,BY 2a0d:2d40::,2a0d:2d40:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:2d41::,2a0d:2d41:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0d:2d42::,2a0d:2d47:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:2d42::,2a0d:2d42:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:2d44::,2a0d:2d47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:2d80::,2a0d:2d87:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:2dc0::,2a0d:2dc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:2e00::,2a0d:2e07:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -43316,7 +45142,7 @@ 2a0d:2f00::,2a0d:2f07:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0d:2f40::,2a0d:2f47:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0d:2f80::,2a0d:2f87:ffff:ffff:ffff:ffff:ffff:ffff,RO -2a0d:2fc0::,2a0d:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:2fc0::,2a0d:2fc7:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:3000::,2a0d:3007:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:3040::,2a0d:3047:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:3080::,2a0d:3087:ffff:ffff:ffff:ffff:ffff:ffff,FR @@ -43365,7 +45191,7 @@ 2a0d:3b80::,2a0d:3b87:ffff:ffff:ffff:ffff:ffff:ffff,PT 2a0d:3bc0::,2a0d:3bc7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:3c00::,2a0d:3c07:ffff:ffff:ffff:ffff:ffff:ffff,AT -2a0d:3c40::,2a0d:3c47:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:3c40::,2a0d:3c47:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:3c80::,2a0d:3c80:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0d:3cc0::,2a0d:3cc7:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a0d:3d00::,2a0d:3d07:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -43377,7 +45203,7 @@ 2a0d:3e80::,2a0d:3e87:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a0d:3ec0::,2a0d:3ec0:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:3f00::,2a0d:3f00:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0d:3f40::,2a0d:3f47:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:3f40::,2a0d:3f47:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:3f80::,2a0d:3f87:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0d:3fc0::,2a0d:3fc7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:4000::,2a0d:4007:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -43395,15 +45221,15 @@ 2a0d:4300::,2a0d:4307:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a0d:4340::,2a0d:4347:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a0d:4380::,2a0d:4387:ffff:ffff:ffff:ffff:ffff:ffff,IT -2a0d:43c0::,2a0d:43c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:43c0::,2a0d:43c7:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:4400::,2a0d:4407:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0d:4440::,2a0d:4447:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:4440::,2a0d:4447:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:4480::,2a0d:4487:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0d:44c0::,2a0d:44c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:44c0::,2a0d:44c7:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:4500::,2a0d:4507:ffff:ffff:ffff:ffff:ffff:ffff,MK -2a0d:4540::,2a0d:4547:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:4540::,2a0d:4547:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:4580::,2a0d:4587:ffff:ffff:ffff:ffff:ffff:ffff,TR -2a0d:45c0::,2a0d:45c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:45c0::,2a0d:45c7:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:4600::,2a0d:4607:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:4640::,2a0d:4647:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0d:4680::,2a0d:4687:ffff:ffff:ffff:ffff:ffff:ffff,IR @@ -43413,10 +45239,11 @@ 2a0d:4780::,2a0d:4787:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a0d:47c0::,2a0d:47c7:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0d:4800::,2a0d:4807:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0d:4840::,2a0d:4847:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:4840::,2a0d:4847:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:4880::,2a0d:4887:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0d:48c0::,2a0d:48c7:ffff:ffff:ffff:ffff:ffff:ffff,RU -2a0d:4900::,2a0d:4900:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:48c0::,2a0d:48c7:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0d:4900::,2a0d:4900::ffff:ffff:ffff:ffff:ffff,PT +2a0d:4900:1::,2a0d:4900:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:4940::,2a0d:4947:ffff:ffff:ffff:ffff:ffff:ffff,AL 2a0d:4980::,2a0d:4980:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0d:49c0::,2a0d:49c7:ffff:ffff:ffff:ffff:ffff:ffff,IT @@ -43440,7 +45267,7 @@ 2a0d:4e40::,2a0d:4e47:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0d:4e80::,2a0d:4e87:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0d:4ec0::,2a0d:4ec7:ffff:ffff:ffff:ffff:ffff:ffff,EE -2a0d:4f00::,2a0d:4f07:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0d:4f00::,2a0d:4f07:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:4f40::,2a0d:4f40:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0d:4f80::,2a0d:4f87:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:4fc0::,2a0d:4fc7:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -43468,7 +45295,9 @@ 2a0d:5540::,2a0d:5547:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:5580::,2a0d:5587:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0d:55c0::,2a0d:55c7:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a0d:5600::,2a0d:5600:c:ffff:ffff:ffff:ffff:ffff,US +2a0d:5600::,2a0d:5600:8:ffff:ffff:ffff:ffff:ffff,US +2a0d:5600:9::,2a0d:5600:9:ffff:ffff:ffff:ffff:ffff,CA +2a0d:5600:a::,2a0d:5600:c:ffff:ffff:ffff:ffff:ffff,US 2a0d:5600:d::,2a0d:5600:d:ffff:ffff:ffff:ffff:ffff,SG 2a0d:5600:e::,2a0d:5600:f:ffff:ffff:ffff:ffff:ffff,JP 2a0d:5600:10::,2a0d:5600:10:ffff:ffff:ffff:ffff:ffff,US @@ -43476,7 +45305,9 @@ 2a0d:5600:13::,2a0d:5600:13:ffff:ffff:ffff:ffff:ffff,PL 2a0d:5600:14::,2a0d:5600:15:ffff:ffff:ffff:ffff:ffff,US 2a0d:5600:16::,2a0d:5600:16:ffff:ffff:ffff:ffff:ffff,PL -2a0d:5600:17::,2a0d:5607:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0d:5600:17::,2a0d:5600:a31:ffff:ffff:ffff:ffff:ffff,US +2a0d:5600:a32::,2a0d:5600:a32:ffff:ffff:ffff:ffff:ffff,IT +2a0d:5600:a33::,2a0d:5607:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:5680::,2a0d:5687:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a0d:56c0::,2a0d:56c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:5700::,2a0d:5707:ffff:ffff:ffff:ffff:ffff:ffff,ES @@ -43499,9 +45330,7 @@ 2a0d:5b40::,2a0d:5b47:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0d:5b80::,2a0d:5b87:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0d:5bc0::,2a0d:5bc0:ffff:ffff:ffff:ffff:ffff:ffff,FI -2a0d:5c00::,2a0d:5c03:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:5c04::,2a0d:5c04:ffff:ffff:ffff:ffff:ffff:ffff,US -2a0d:5c05::,2a0d:5c07:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:5c40::,2a0d:5c40:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a0d:5c80::,2a0d:5c87:ffff:ffff:ffff:ffff:ffff:ffff,MK 2a0d:5cc0::,2a0d:5cc7:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -43536,7 +45365,7 @@ 2a0d:6400::,2a0d:6400:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:6440::,2a0d:6447:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0d:6480::,2a0d:6480:ffff:ffff:ffff:ffff:ffff:ffff,FR -2a0d:64c0::,2a0d:64c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:64c0::,2a0d:64c7:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:6500::,2a0d:6507:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0d:6540::,2a0d:6547:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0d:6580::,2a0d:6587:ffff:ffff:ffff:ffff:ffff:ffff,CH @@ -43544,7 +45373,7 @@ 2a0d:6600::,2a0d:6607:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a0d:6640::,2a0d:6647:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a0d:6680::,2a0d:6687:ffff:ffff:ffff:ffff:ffff:ffff,AT -2a0d:66c0::,2a0d:66c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:66c0::,2a0d:66c7:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:6700::,2a0d:6707:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:6740::,2a0d:6747:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0d:6780::,2a0d:6787:ffff:ffff:ffff:ffff:ffff:ffff,MK @@ -43562,7 +45391,7 @@ 2a0d:6a80::,2a0d:6a87:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a0d:6ac0::,2a0d:6ac7:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0d:6b00::,2a0d:6b07:ffff:ffff:ffff:ffff:ffff:ffff,EE -2a0d:6b40::,2a0d:6b47:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:6b40::,2a0d:6b47:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:6b80::,2a0d:6b87:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0d:6bc0::,2a0d:6bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:6c00::,2a0d:6c01:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -43654,8 +45483,11 @@ 2a0d:7e80::,2a0d:7e87:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0d:7ec0::,2a0d:7ec7:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0d:7f00::,2a0d:7f07:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a0d:7f40::,2a0d:7f40::ffff:ffff:ffff:ffff:ffff,GB -2a0d:7f41::,2a0d:7f47:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:7f40::,2a0d:7f40::ffff:ffff:ffff:ffff:ffff,CZ +2a0d:7f41::,2a0d:7f45:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:7f46:1::,2a0d:7f46:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:7f47::,2a0d:7f47::ffff:ffff:ffff:ffff:ffff,AU +2a0d:7f47:1::,2a0d:7f47:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:7f80::,2a0d:7f87:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0d:7fc0::,2a0d:7fc7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:8000::,2a0d:8007:ffff:ffff:ffff:ffff:ffff:ffff,DE @@ -43706,7 +45538,7 @@ 2a0d:8b00::,2a0d:8b07:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:8b40::,2a0d:8b47:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:8b80::,2a0d:8b87:ffff:ffff:ffff:ffff:ffff:ffff,SY -2a0d:8bc0::,2a0d:8bc7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:8bc0::,2a0d:8bc7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:8c00::,2a0d:8c07:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0d:8c40::,2a0d:8c47:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:8c80::,2a0d:8c87:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -43740,21 +45572,21 @@ 2a0d:9380::,2a0d:9387:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:93c0::,2a0d:93c7:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0d:9400::,2a0d:9407:ffff:ffff:ffff:ffff:ffff:ffff,NL -2a0d:9440::,2a0d:9447:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:9440::,2a0d:9447:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:9480::,2a0d:9487:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:94c0::,2a0d:94c7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:9500::,2a0d:9507:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a0d:9540::,2a0d:9547:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0d:9580::,2a0d:9587:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a0d:95c0::,2a0d:95c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:95c0::,2a0d:95c7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:9600::,2a0d:9600:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a0d:9640::,2a0d:9647:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0d:9680::,2a0d:9687:ffff:ffff:ffff:ffff:ffff:ffff,IR 2a0d:96c0::,2a0d:96c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:9700::,2a0d:9700:ffff:ffff:ffff:ffff:ffff:ffff,DE -2a0d:9740::,2a0d:9747:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:9740::,2a0d:9747:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:9780::,2a0d:9787:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0d:97c0::,2a0d:97c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:97c0::,2a0d:97c7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:9800::,2a0d:9807:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a0d:9840::,2a0d:9847:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a0d:9880::,2a0d:9887:ffff:ffff:ffff:ffff:ffff:ffff,UA @@ -43806,7 +45638,8 @@ 2a0d:a400::,2a0d:a407:ffff:ffff:ffff:ffff:ffff:ffff,HU 2a0d:a440::,2a0d:a447:ffff:ffff:ffff:ffff:ffff:ffff,US 2a0d:a480::,2a0d:a487:ffff:ffff:ffff:ffff:ffff:ffff,CH -2a0d:a4c0::,2a0d:a4c7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:a4c0:3a00::,2a0d:a4c0:3a0f:ffff:ffff:ffff:ffff:ffff,AT +2a0d:a4c2::,2a0d:a4c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:a500::,2a0d:a507:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a0d:a540::,2a0d:a547:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0d:a580::,2a0d:a587:ffff:ffff:ffff:ffff:ffff:ffff,GB @@ -43831,7 +45664,7 @@ 2a0d:aa40::,2a0d:aa47:ffff:ffff:ffff:ffff:ffff:ffff,KZ 2a0d:aa80::,2a0d:aa87:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:aac0::,2a0d:aac7:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0d:ab00::,2a0d:ab07:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0d:ab00::,2a0d:ab07:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:ab40::,2a0d:ab40:ffff:ffff:ffff:ffff:ffff:ffff,AL 2a0d:ab80::,2a0d:ab80:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:abc0::,2a0d:abc7:ffff:ffff:ffff:ffff:ffff:ffff,RU @@ -43847,174 +45680,344 @@ 2a0d:ae40::,2a0d:ae47:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0d:ae80::,2a0d:ae80:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:aec0::,2a0d:aec7:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a0d:af00::,2a0d:af07:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0d:af00::,2a0d:af07:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:af40::,2a0d:af47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:af80::,2a0d:af87:ffff:ffff:ffff:ffff:ffff:ffff,SE 2a0d:afc0::,2a0d:afc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:b000::,2a0d:b007:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0d:b040::,2a0d:b047:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:b080::,2a0d:b080:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a0d:b0c0::,2a0d:b0c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0d:b100::,2a0d:b107:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a0d:b140::,2a0d:b147:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:b180::,2a0d:b187:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:b1c0::,2a0d:b1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:b200::,2a0d:b207:ffff:ffff:ffff:ffff:ffff:ffff,KZ +2a0d:b240::,2a0d:b247:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0d:b280::,2a0d:b287:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a0d:b2c0::,2a0d:b2c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:b300::,2a0d:b307:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a0d:b340::,2a0d:b347:ffff:ffff:ffff:ffff:ffff:ffff,LB 2a0d:b380::,2a0d:b387:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a0d:b3c0::,2a0d:b3c7:ffff:ffff:ffff:ffff:ffff:ffff,LB 2a0d:b400::,2a0d:b407:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a0d:b440::,2a0d:b447:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0d:b480::,2a0d:b480:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a0d:b4c0::,2a0d:b4c7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:b500::,2a0d:b507:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:b540::,2a0d:b547:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:b580::,2a0d:b580:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a0d:b5c0::,2a0d:b5c7:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0d:b600::,2a0d:b607:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:b640::,2a0d:b647:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0d:b680::,2a0d:b687:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a0d:b6c0::,2a0d:b6c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:b700::,2a0d:b707:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a0d:b740::,2a0d:b747:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0d:b780::,2a0d:b787:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a0d:b7c0::,2a0d:b7c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:b800::,2a0d:b807:ffff:ffff:ffff:ffff:ffff:ffff,AM +2a0d:b840::,2a0d:b847:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:b880::,2a0d:b887:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a0d:b8c0::,2a0d:b8c7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:b900::,2a0d:b907:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:b940::,2a0d:b947:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:b980::,2a0d:b987:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a0d:b9c0::,2a0d:b9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:ba00::,2a0d:ba07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:ba40::,2a0d:ba47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:ba80::,2a0d:ba87:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a0d:bac0::,2a0d:bac7:ffff:ffff:ffff:ffff:ffff:ffff,DK 2a0d:bb00::,2a0d:bb07:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a0d:bb40::,2a0d:bb40:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:bb80::,2a0d:bb87:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a0d:bbc0::,2a0d:bbc7:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0d:bc00::,2a0d:bc07:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a0d:bc40::,2a0d:bc43:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:bc80::,2a0d:bc87:ffff:ffff:ffff:ffff:ffff:ffff,GE +2a0d:bcc0::,2a0d:bcc7:ffff:ffff:ffff:ffff:ffff:ffff,KZ 2a0d:bd00::,2a0d:bd07:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a0d:bd40::,2a0d:bd47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:bd80::,2a0d:bd87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:bdc0::,2a0d:bdc7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:be00::,2a0d:be07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:be40::,2a0d:be47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:be80::,2a0d:be87:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a0d:bec0::,2a0d:bec7:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a0d:bf00::,2a0d:bf07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:bf40::,2a0d:bf47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:bf80::,2a0d:bf87:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:bfc0::,2a0d:bfc0:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0d:c000::,2a0d:c007:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a0d:c040::,2a0d:c047:ffff:ffff:ffff:ffff:ffff:ffff,PL 2a0d:c080::,2a0d:c087:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0d:c0c0::,2a0d:c0c7:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:c140::,2a0d:c147:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:c180::,2a0d:c187:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a0d:c1c0::,2a0d:c1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:c200::,2a0d:c207:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:c240::,2a0d:c247:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0d:c280::,2a0d:c287:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a0d:c2c0::,2a0d:c2c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:c300::,2a0d:c307:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a0d:c340::,2a0d:c347:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a0d:c380::,2a0d:c387:ffff:ffff:ffff:ffff:ffff:ffff,NO +2a0d:c3c0::,2a0d:c3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:c400::,2a0d:c407:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:c440::,2a0d:c447:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0d:c480::,2a0d:c487:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a0d:c4c0::,2a0d:c4c7:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a0d:c500::,2a0d:c507:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a0d:c540::,2a0d:c547:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0d:c580::,2a0d:c587:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:c5c0::,2a0d:c5c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0d:c600::,2a0d:c607:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0d:c680::,2a0d:c687:ffff:ffff:ffff:ffff:ffff:ffff,MD -2a0d:c700::,2a0d:c707:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:c640::,2a0d:c647:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a0d:c680::,2a0d:c687:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:c6c0::,2a0d:c6c7:ffff:ffff:ffff:ffff:ffff:ffff,KZ +2a0d:c700::,2a0d:c707:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:c780::,2a0d:c787:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a0d:c7c0::,2a0d:c7c7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:c800::,2a0d:c807:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a0d:c840::,2a0d:c847:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a0d:c880::,2a0d:c887:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a0d:c8c0::,2a0d:c8c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:c900::,2a0d:c907:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a0d:c940::,2a0d:c947:ffff:ffff:ffff:ffff:ffff:ffff,LT 2a0d:c980::,2a0d:c987:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a0d:c9c0::,2a0d:c9c0:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a0d:ca00::,2a0d:ca07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:ca40::,2a0d:ca47:ffff:ffff:ffff:ffff:ffff:ffff,RO 2a0d:ca80::,2a0d:ca87:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a0d:cac0::,2a0d:cac7:ffff:ffff:ffff:ffff:ffff:ffff,NO 2a0d:cb00::,2a0d:cb07:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a0d:cb40::,2a0d:cb47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:cb80::,2a0d:cb87:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a0d:cbc0::,2a0d:cbc7:ffff:ffff:ffff:ffff:ffff:ffff,ES 2a0d:cc00::,2a0d:cc07:ffff:ffff:ffff:ffff:ffff:ffff,AL +2a0d:cc40::,2a0d:cc47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:cc80::,2a0d:cc87:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:ccc0::,2a0d:ccc7:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a0d:cd00::,2a0d:cd07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:cd40::,2a0d:cd47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:cd80::,2a0d:cd87:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a0d:cdc0::,2a0d:cdc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:ce00::,2a0d:ce07:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a0d:ce40::,2a0d:ce47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:ce80::,2a0d:ce87:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a0d:cec0::,2a0d:cec7:ffff:ffff:ffff:ffff:ffff:ffff,SI 2a0d:cf00::,2a0d:cf07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:cf40::,2a0d:cf47:ffff:ffff:ffff:ffff:ffff:ffff,LT 2a0d:cf80::,2a0d:cf87:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a0d:cfc0::,2a0d:cfc7:ffff:ffff:ffff:ffff:ffff:ffff,EE 2a0d:d000::,2a0d:d007:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a0d:d040::,2a0d:d047:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0d:d080::,2a0d:d087:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a0d:d0c0::,2a0d:d0c7:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0d:d100::,2a0d:d107:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a0d:d140::,2a0d:d147:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:d180::,2a0d:d187:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:d1c0::,2a0d:d1c0:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a0d:d200::,2a0d:d207:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a0d:d240::,2a0d:d247:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:d280::,2a0d:d280:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a0d:d2c0::,2a0d:d2c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:d300::,2a0d:d300:ffff:ffff:ffff:ffff:ffff:ffff,LI +2a0d:d340::,2a0d:d347:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:d380::,2a0d:d387:ffff:ffff:ffff:ffff:ffff:ffff,IE +2a0d:d3c0::,2a0d:d3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:d400::,2a0d:d407:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:d440::,2a0d:d440:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0d:d480::,2a0d:d487:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0d:d4c0::,2a0d:d4c0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:d500::,2a0d:d507:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:d540::,2a0d:d547:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0d:d580::,2a0d:d580:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a0d:d5c0::,2a0d:d5c7:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:d600::,2a0d:d607:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a0d:d640::,2a0d:d647:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:d680::,2a0d:d687:ffff:ffff:ffff:ffff:ffff:ffff,IQ -2a0d:d700::,2a0d:d707:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:d6c0::,2a0d:d6c7:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:d740::,2a0d:d747:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a0d:d780::,2a0d:d787:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a0d:d7c0::,2a0d:d7c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:d800::,2a0d:d807:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a0d:d840::,2a0d:d847:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:d880::,2a0d:d887:ffff:ffff:ffff:ffff:ffff:ffff,TR +2a0d:d8c0::,2a0d:d8c7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:d900::,2a0d:d907:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a0d:d940::,2a0d:d947:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0d:d980::,2a0d:d987:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a0d:d9c0::,2a0d:d9c7:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a0d:da00::,2a0d:da07:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:da40::,2a0d:da47:ffff:ffff:ffff:ffff:ffff:ffff,IQ 2a0d:da80::,2a0d:da80:ffff:ffff:ffff:ffff:ffff:ffff,ES -2a0d:db00::,2a0d:db07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:dac0::,2a0d:dac7:ffff:ffff:ffff:ffff:ffff:ffff,MD +2a0d:db00::,2a0d:db07:ffff:ffff:ffff:ffff:ffff:ffff,LT +2a0d:db40::,2a0d:db47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:db80::,2a0d:db87:ffff:ffff:ffff:ffff:ffff:ffff,SE +2a0d:dbc0::,2a0d:dbc7:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0d:dc00::,2a0d:dc07:ffff:ffff:ffff:ffff:ffff:ffff,LU +2a0d:dc40::,2a0d:dc47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:dc80::,2a0d:dc87:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:dcc0::,2a0d:dcc7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:dd00::,2a0d:dd07:ffff:ffff:ffff:ffff:ffff:ffff,KG +2a0d:dd40::,2a0d:dd47:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:dd80::,2a0d:dd87:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a0d:ddc0::,2a0d:ddc7:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a0d:de00::,2a0d:de07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:de40::,2a0d:de47:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:de80::,2a0d:de87:ffff:ffff:ffff:ffff:ffff:ffff,GB -2a0d:df00::,2a0d:df07:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0d:dec0::,2a0d:dec7:ffff:ffff:ffff:ffff:ffff:ffff,MD +2a0d:df00::,2a0d:df07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:df40::,2a0d:df47:ffff:ffff:ffff:ffff:ffff:ffff,LT 2a0d:df80::,2a0d:df87:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:dfc0::,2a0d:dfc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:e000::,2a0d:e007:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a0d:e040::,2a0d:e047:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:e080::,2a0d:e087:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:e0c0::,2a0d:e0c7:ffff:ffff:ffff:ffff:ffff:ffff,LT 2a0d:e100::,2a0d:e107:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:e140::,2a0d:e147:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:e180::,2a0d:e180:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:e1c0::,2a0d:e1c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:e200::,2a0d:e207:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a0d:e240::,2a0d:e247:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:e280::,2a0d:e287:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:e2c0::,2a0d:e2c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:e300::,2a0d:e307:ffff:ffff:ffff:ffff:ffff:ffff,PT +2a0d:e340::,2a0d:e347:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:e380::,2a0d:e387:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a0d:e3c0::,2a0d:e3c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:e400::,2a0d:e400:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:e440::,2a0d:e447:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:e480::,2a0d:e487:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a0d:e4c0::,2a0d:e4c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:e500::,2a0d:e507:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:e540::,2a0d:e547:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0d:e580::,2a0d:e587:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a0d:e5c0::,2a0d:e5c7:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:e600::,2a0d:e607:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a0d:e640::,2a0d:e647:ffff:ffff:ffff:ffff:ffff:ffff,BE 2a0d:e680::,2a0d:e687:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:e6c0::,2a0d:e6c0:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0d:e700::,2a0d:e707:ffff:ffff:ffff:ffff:ffff:ffff,BG +2a0d:e740::,2a0d:e747:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0d:e780::,2a0d:e787:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a0d:e7c0::,2a0d:e7c7:ffff:ffff:ffff:ffff:ffff:ffff,CZ 2a0d:e800::,2a0d:e807:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a0d:e840::,2a0d:e847:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:e880::,2a0d:e887:ffff:ffff:ffff:ffff:ffff:ffff,SA -2a0d:e900::,2a0d:e907:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:e8c0::,2a0d:e8c7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:e940::,2a0d:e940:ffff:ffff:ffff:ffff:ffff:ffff,CH 2a0d:e980::,2a0d:e980:ffff:ffff:ffff:ffff:ffff:ffff,DK +2a0d:e9c0::,2a0d:e9c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:ea00::,2a0d:ea07:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:ea40::,2a0d:ea47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:ea80::,2a0d:ea87:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a0d:eac0::,2a0d:eac7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:eb00::,2a0d:eb07:ffff:ffff:ffff:ffff:ffff:ffff,PL +2a0d:eb40::,2a0d:eb47:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:eb80::,2a0d:eb87:ffff:ffff:ffff:ffff:ffff:ffff,SE -2a0d:ec00::,2a0d:ec07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:ebc0::,2a0d:ebc7:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a0d:ec00::,2a0d:ec07:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0d:ec40::,2a0d:ec47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:ec80::,2a0d:ec87:ffff:ffff:ffff:ffff:ffff:ffff,LB +2a0d:ecc0::,2a0d:ecc7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:ed00::,2a0d:ed07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:ed40::,2a0d:ed40:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:ed80::,2a0d:ed80:ffff:ffff:ffff:ffff:ffff:ffff,CH +2a0d:edc0::,2a0d:edc7:ffff:ffff:ffff:ffff:ffff:ffff,FR 2a0d:ee00::,2a0d:ee00:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a0d:ee40::,2a0d:ee47:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0d:ee80::,2a0d:ee80:ffff:ffff:ffff:ffff:ffff:ffff,AT -2a0d:ef00::,2a0d:ef07:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:eec0::,2a0d:eec7:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:ef40::,2a0d:ef47:ffff:ffff:ffff:ffff:ffff:ffff,BG 2a0d:ef80::,2a0d:ef80:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a0d:efc0::,2a0d:efc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:f000::,2a0d:f007:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a0d:f040::,2a0d:f047:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:f080::,2a0d:f087:ffff:ffff:ffff:ffff:ffff:ffff,RO -2a0d:f100::,2a0d:f107:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:f0c0::,2a0d:f0c7:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a0d:f140::,2a0d:f147:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:f180::,2a0d:f187:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a0d:f1c0::,2a0d:f1c7:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0d:f200::,2a0d:f207:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a0d:f240::,2a0d:f240:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:f280::,2a0d:f287:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:f2c0::,2a0d:f2c7:ffff:ffff:ffff:ffff:ffff:ffff,FI 2a0d:f300::,2a0d:f307:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:f340::,2a0d:f347:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0d:f380::,2a0d:f387:ffff:ffff:ffff:ffff:ffff:ffff,ES +2a0d:f3c0::,2a0d:f3c7:ffff:ffff:ffff:ffff:ffff:ffff,UA 2a0d:f404::,2a0d:f404:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a0d:f440::,2a0d:f447:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:f480::,2a0d:f487:ffff:ffff:ffff:ffff:ffff:ffff,BE +2a0d:f4c0::,2a0d:f4c7:ffff:ffff:ffff:ffff:ffff:ffff,TR 2a0d:f500::,2a0d:f500:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:f540::,2a0d:f547:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0d:f580::,2a0d:f587:ffff:ffff:ffff:ffff:ffff:ffff,US +2a0d:f5c0::,2a0d:f5c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:f600::,2a0d:f607:ffff:ffff:ffff:ffff:ffff:ffff,PT -2a0d:f680::,2a0d:f687:ffff:ffff:ffff:ffff:ffff:ffff,RO +2a0d:f640::,2a0d:f647:ffff:ffff:ffff:ffff:ffff:ffff,RU +2a0d:f680::,2a0d:f687:ffff:ffff:ffff:ffff:ffff:ffff,PT +2a0d:f6c0::,2a0d:f6c7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:f700::,2a0d:f707:ffff:ffff:ffff:ffff:ffff:ffff,GE +2a0d:f740::,2a0d:f747:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:f780::,2a0d:f787:ffff:ffff:ffff:ffff:ffff:ffff,CZ +2a0d:f7c0::,2a0d:f7c0:ffff:ffff:ffff:ffff:ffff:ffff,IT 2a0d:f800::,2a0d:f807:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:f840::,2a0d:f847:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:f880::,2a0d:f887:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a0d:f8c0::,2a0d:f8c7:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:f900::,2a0d:f907:ffff:ffff:ffff:ffff:ffff:ffff,GE +2a0d:f940::,2a0d:f947:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:f980::,2a0d:f987:ffff:ffff:ffff:ffff:ffff:ffff,IT +2a0d:f9c0::,2a0d:f9c0:ffff:ffff:ffff:ffff:ffff:ffff,AT +2a0d:f9c1::,2a0d:f9c1:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:f9c2::,2a0d:f9c7:ffff:ffff:ffff:ffff:ffff:ffff,AT 2a0d:fa00::,2a0d:fa07:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:fa40::,2a0d:fa47:ffff:ffff:ffff:ffff:ffff:ffff,NL 2a0d:fa80::,2a0d:fa87:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a0d:fac0::,2a0d:fac7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:fb00::,2a0d:fb07:ffff:ffff:ffff:ffff:ffff:ffff,GE +2a0d:fb40::,2a0d:fb47:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:fb80::,2a0d:fb87:ffff:ffff:ffff:ffff:ffff:ffff,FR +2a0d:fbc0::,2a0d:fbc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:fc00::,2a0d:fc07:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a0d:fc40::,2a0d:fc47:ffff:ffff:ffff:ffff:ffff:ffff,DE 2a0d:fc80::,2a0d:fc87:ffff:ffff:ffff:ffff:ffff:ffff,FI +2a0d:fcc0::,2a0d:fcc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:fd00::,2a0d:fd07:ffff:ffff:ffff:ffff:ffff:ffff,GE +2a0d:fd40::,2a0d:fd47:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:fd80::,2a0d:fd87:ffff:ffff:ffff:ffff:ffff:ffff,IR +2a0d:fdc0::,2a0d:fdc7:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:fe00::,2a0d:fe07:ffff:ffff:ffff:ffff:ffff:ffff,GB +2a0d:fe40::,2a0d:fe40:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:fe80::,2a0d:fe80:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:fec0::,2a0d:fec0:ffff:ffff:ffff:ffff:ffff:ffff,RU 2a0d:ff00::,2a0d:ff07:ffff:ffff:ffff:ffff:ffff:ffff,DE +2a0d:ff40::,2a0d:ff47:ffff:ffff:ffff:ffff:ffff:ffff,GB 2a0d:ff80::,2a0d:ff80:ffff:ffff:ffff:ffff:ffff:ffff,NL +2a0d:ffc0::,2a0d:ffc7:ffff:ffff:ffff:ffff:ffff:ffff,UA +2a0e::,2a0e:3f:ffff:ffff:ffff:ffff:ffff:ffff,IR 2c0e::,2c0e:fff:ffff:ffff:ffff:ffff:ffff:ffff,EG 2c0e:2000::,2c0e:2fff:ffff:ffff:ffff:ffff:ffff:ffff,ZA 2c0e:4000::,2c0e:40ff:ffff:ffff:ffff:ffff:ffff:ffff,ZA 2c0e:7f80::,2c0e:7f9f:ffff:ffff:ffff:ffff:ffff:ffff,CI +2c0f:ec00::,2c0f:ec00:ffff:ffff:ffff:ffff:ffff:ffff,SC +2c0f:ec08::,2c0f:ec08:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:ec10::,2c0f:ec10:ffff:ffff:ffff:ffff:ffff:ffff,NG +2c0f:ec18::,2c0f:ec18:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:ec20::,2c0f:ec20:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:ec28::,2c0f:ec28:ffff:ffff:ffff:ffff:ffff:ffff,CI +2c0f:ec30::,2c0f:ec30:ffff:ffff:ffff:ffff:ffff:ffff,MU +2c0f:ec38::,2c0f:ec38:ffff:ffff:ffff:ffff:ffff:ffff,NG +2c0f:ec40::,2c0f:ec40:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:ec48::,2c0f:ec48:ffff:ffff:ffff:ffff:ffff:ffff,ZA +2c0f:ec50::,2c0f:ec50:ffff:ffff:ffff:ffff:ffff:ffff,GW +2c0f:ec58::,2c0f:ec58:ffff:ffff:ffff:ffff:ffff:ffff,BF +2c0f:ec60::,2c0f:ec60:ffff:ffff:ffff:ffff:ffff:ffff,CI 2c0f:ee00::,2c0f:ee00:ffff:ffff:ffff:ffff:ffff:ffff,BF 2c0f:ee08::,2c0f:ee08:ffff:ffff:ffff:ffff:ffff:ffff,CD 2c0f:ee10::,2c0f:ee10:ffff:ffff:ffff:ffff:ffff:ffff,GH diff --git a/src/core/include.am b/src/core/include.am index 1b8ef2ac58..3cd6e83ed5 100644 --- a/src/core/include.am +++ b/src/core/include.am @@ -11,6 +11,8 @@ LIBTOR_APP_A_SOURCES = \ src/app/config/confparse.c \ src/app/config/statefile.c \ src/app/main/main.c \ + src/app/main/subsystem_list.c \ + src/app/main/subsysmgr.c \ src/core/crypto/hs_ntor.c \ src/core/crypto/onion_crypto.c \ src/core/crypto/onion_fast.c \ @@ -60,6 +62,7 @@ LIBTOR_APP_A_SOURCES = \ src/feature/client/entrynodes.c \ src/feature/client/transports.c \ src/feature/control/control.c \ + src/feature/control/control_bootstrap.c \ src/feature/control/fmt_serverstatus.c \ src/feature/control/getinfo_geoip.c \ src/feature/dirauth/keypin.c \ @@ -106,6 +109,7 @@ LIBTOR_APP_A_SOURCES = \ src/feature/nodelist/microdesc.c \ src/feature/nodelist/networkstatus.c \ src/feature/nodelist/nickname.c \ + src/feature/nodelist/nodefamily.c \ src/feature/nodelist/nodelist.c \ src/feature/nodelist/node_select.c \ src/feature/nodelist/routerinfo.c \ @@ -191,6 +195,7 @@ noinst_HEADERS += \ src/app/config/statefile.h \ src/app/main/main.h \ src/app/main/ntmain.h \ + src/app/main/subsysmgr.h \ src/core/crypto/hs_ntor.h \ src/core/crypto/onion_crypto.h \ src/core/crypto/onion_fast.h \ @@ -340,6 +345,8 @@ noinst_HEADERS += \ src/feature/nodelist/networkstatus_voter_info_st.h \ src/feature/nodelist/nickname.h \ src/feature/nodelist/node_st.h \ + src/feature/nodelist/nodefamily.h \ + src/feature/nodelist/nodefamily_st.h \ src/feature/nodelist/nodelist.h \ src/feature/nodelist/node_select.h \ src/feature/nodelist/routerinfo.h \ diff --git a/src/core/mainloop/connection.c b/src/core/mainloop/connection.c index 1198a01ad9..601c872c98 100644 --- a/src/core/mainloop/connection.c +++ b/src/core/mainloop/connection.c @@ -57,7 +57,7 @@ #define CONNECTION_PRIVATE #include "core/or/or.h" #include "feature/client/bridges.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "lib/tls/buffers_tls.h" #include "lib/err/backtrace.h" @@ -1460,6 +1460,20 @@ connection_listener_new(const struct sockaddr *listensockaddr, tor_socket_strerror(tor_socket_errno(s))); goto err; } + +#ifndef __APPLE__ + /* This code was introduced to help debug #28229. */ + int value; + socklen_t len = sizeof(value); + + if (!getsockopt(s, SOL_SOCKET, SO_ACCEPTCONN, &value, &len)) { + if (value == 0) { + log_err(LD_NET, "Could not listen on %s - " + "getsockopt(.,SO_ACCEPTCONN,.) yields 0.", address); + goto err; + } + } +#endif /* __APPLE__ */ #endif /* defined(HAVE_SYS_UN_H) */ } else { log_err(LD_BUG, "Got unexpected address family %d.", @@ -1874,6 +1888,9 @@ connection_init_accepted_conn(connection_t *conn, TO_ENTRY_CONN(conn)->nym_epoch = get_signewnym_epoch(); TO_ENTRY_CONN(conn)->socks_request->listener_type = listener->base_.type; + /* Any incoming connection on an entry port counts as user activity. */ + note_user_activity(approx_time()); + switch (TO_CONN(listener)->type) { case CONN_TYPE_AP_LISTENER: conn->state = AP_CONN_STATE_SOCKS_WAIT; @@ -2073,6 +2090,11 @@ connection_connect_log_client_use_ip_version(const connection_t *conn) return; } + if (fascist_firewall_use_ipv6(options)) { + log_info(LD_NET, "Our outgoing connection is using IPv%d.", + tor_addr_family(&real_addr) == AF_INET6 ? 6 : 4); + } + /* Check if we couldn't satisfy an address family preference */ if ((!pref_ipv6 && tor_addr_family(&real_addr) == AF_INET6) || (pref_ipv6 && tor_addr_family(&real_addr) == AF_INET)) { @@ -2886,6 +2908,10 @@ retry_all_listeners(smartlist_t *new_conns, int close_all_noncontrol) retval = -1; #ifdef ENABLE_LISTENER_REBIND + if (smartlist_len(replacements)) + log_debug(LD_NET, "%d replacements - starting rebinding loop.", + smartlist_len(replacements)); + SMARTLIST_FOREACH_BEGIN(replacements, listener_replacement_t *, r) { int addr_in_use = 0; int skip = 0; @@ -2897,8 +2923,11 @@ retry_all_listeners(smartlist_t *new_conns, int close_all_noncontrol) connection_listener_new_for_port(r->new_port, &skip, &addr_in_use); connection_t *old_conn = r->old_conn; - if (skip) + if (skip) { + log_debug(LD_NET, "Skipping creating new listener for %s:%d", + old_conn->address, old_conn->port); continue; + } connection_close_immediate(old_conn); connection_mark_for_close(old_conn); @@ -4426,6 +4455,16 @@ connection_get_by_type_state(int type, int state) CONN_GET_TEMPLATE(conn, conn->type == type && conn->state == state); } +/** + * Return a connection of type <b>type</b> that is not an internally linked + * connection, and is not marked for close. + **/ +MOCK_IMPL(connection_t *, +connection_get_by_type_nonlinked,(int type)) +{ + CONN_GET_TEMPLATE(conn, conn->type == type && !conn->linked); +} + /** Return a connection of type <b>type</b> that has rendquery equal * to <b>rendquery</b>, and that is not marked for close. If state * is non-zero, conn must be of that state too. diff --git a/src/core/mainloop/connection.h b/src/core/mainloop/connection.h index b569bb038e..07b8df4138 100644 --- a/src/core/mainloop/connection.h +++ b/src/core/mainloop/connection.h @@ -240,6 +240,7 @@ size_t connection_get_outbuf_len(connection_t *conn); connection_t *connection_get_by_global_id(uint64_t id); connection_t *connection_get_by_type(int type); +MOCK_DECL(connection_t *,connection_get_by_type_nonlinked,(int type)); MOCK_DECL(connection_t *,connection_get_by_type_addr_port_purpose,(int type, const tor_addr_t *addr, uint16_t port, int purpose)); diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c index a24b343756..834587bb71 100644 --- a/src/core/mainloop/mainloop.c +++ b/src/core/mainloop/mainloop.c @@ -95,7 +95,7 @@ #include "feature/stats/geoip_stats.h" #include "feature/stats/predict_ports.h" #include "feature/stats/rephist.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "lib/crypt_ops/crypto_rand.h" #include "lib/err/backtrace.h" #include "lib/tls/buffers_tls.h" @@ -200,12 +200,10 @@ static int can_complete_circuits = 0; #define LAZY_DESCRIPTOR_RETRY_INTERVAL (60) static int conn_close_if_marked(int i); -static int run_main_loop_until_done(void); static void connection_start_reading_from_linked_conn(connection_t *conn); static int connection_should_read_from_linked_conn(connection_t *conn); static void conn_read_callback(evutil_socket_t fd, short event, void *_conn); static void conn_write_callback(evutil_socket_t fd, short event, void *_conn); -static void second_elapsed_callback(periodic_timer_t *timer, void *args); static void shutdown_did_not_work_callback(evutil_socket_t fd, short event, void *arg) ATTR_NORETURN; @@ -1011,23 +1009,18 @@ conn_close_if_marked(int i) * busy Libevent loops where we keep ending up here and returning * 0 until we are no longer blocked on bandwidth. */ - connection_consider_empty_read_buckets(conn); connection_consider_empty_write_buckets(conn); - /* Make sure that consider_empty_buckets really disabled the * connection: */ if (BUG(connection_is_writing(conn))) { connection_write_bw_exhausted(conn, true); } - if (BUG(connection_is_reading(conn))) { - /* XXXX+ We should make this code unreachable; if a connection is - * marked for close and flushing, there is no point in reading to it - * at all. Further, checking at this point is a bit of a hack: it - * would make much more sense to react in - * connection_handle_read_impl, or to just stop reading in - * mark_and_flush */ - connection_read_bw_exhausted(conn, true/* kludge. */); - } + + /* The connection is being held due to write rate limit and thus will + * flush its data later. We need to stop reading because this + * connection is about to be closed once flushed. It should not + * process anything more coming in at this stage. */ + connection_stop_reading(conn); } return 0; } @@ -1359,6 +1352,7 @@ CALLBACK(heartbeat); CALLBACK(hs_service); CALLBACK(launch_descriptor_fetches); CALLBACK(launch_reachability_tests); +CALLBACK(prune_old_routers); CALLBACK(reachability_warnings); CALLBACK(record_bridge_stats); CALLBACK(rend_cache_failure_clean); @@ -1371,78 +1365,93 @@ CALLBACK(save_stability); CALLBACK(save_state); CALLBACK(write_bridge_ns); CALLBACK(write_stats_file); +CALLBACK(control_per_second_events); +CALLBACK(second_elapsed); #undef CALLBACK /* Now we declare an array of periodic_event_item_t for each periodic event */ -#define CALLBACK(name, r, f) PERIODIC_EVENT(name, r, f) +#define CALLBACK(name, r, f) \ + PERIODIC_EVENT(name, PERIODIC_EVENT_ROLE_ ## r, f) +#define FL(name) (PERIODIC_EVENT_FLAG_ ## name) STATIC periodic_event_item_t periodic_events[] = { - /* Everyone needs to run those. */ - CALLBACK(add_entropy, PERIODIC_EVENT_ROLE_ALL, 0), - CALLBACK(check_expired_networkstatus, PERIODIC_EVENT_ROLE_ALL, 0), - CALLBACK(clean_caches, PERIODIC_EVENT_ROLE_ALL, 0), - CALLBACK(fetch_networkstatus, PERIODIC_EVENT_ROLE_ALL, - PERIODIC_EVENT_FLAG_NEED_NET), - CALLBACK(heartbeat, PERIODIC_EVENT_ROLE_ALL, 0), - CALLBACK(launch_descriptor_fetches, PERIODIC_EVENT_ROLE_ALL, - PERIODIC_EVENT_FLAG_NEED_NET), - CALLBACK(reset_padding_counts, PERIODIC_EVENT_ROLE_ALL, 0), - CALLBACK(retry_listeners, PERIODIC_EVENT_ROLE_ALL, - PERIODIC_EVENT_FLAG_NEED_NET), - CALLBACK(save_state, PERIODIC_EVENT_ROLE_ALL, 0), - CALLBACK(rotate_x509_certificate, PERIODIC_EVENT_ROLE_ALL, 0), - CALLBACK(write_stats_file, PERIODIC_EVENT_ROLE_ALL, 0), + + /* Everyone needs to run these. They need to have very long timeouts for + * that to be safe. */ + CALLBACK(add_entropy, ALL, 0), + CALLBACK(heartbeat, ALL, 0), + CALLBACK(reset_padding_counts, ALL, 0), + + /* This is a legacy catch-all callback that runs once per second if + * we are online and active. */ + CALLBACK(second_elapsed, NET_PARTICIPANT, + FL(NEED_NET)|FL(RUN_ON_DISABLE)), + + /* XXXX Do we have a reason to do this on a callback? Does it do any good at + * all? For now, if we're dormant, we can let our listeners decay. */ + CALLBACK(retry_listeners, NET_PARTICIPANT, FL(NEED_NET)), + + /* We need to do these if we're participating in the Tor network. */ + CALLBACK(check_expired_networkstatus, NET_PARTICIPANT, 0), + CALLBACK(fetch_networkstatus, NET_PARTICIPANT, 0), + CALLBACK(launch_descriptor_fetches, NET_PARTICIPANT, FL(NEED_NET)), + CALLBACK(rotate_x509_certificate, NET_PARTICIPANT, 0), + CALLBACK(check_network_participation, NET_PARTICIPANT, 0), + + /* We need to do these if we're participating in the Tor network, and + * immediately before we stop. */ + CALLBACK(clean_caches, NET_PARTICIPANT, FL(RUN_ON_DISABLE)), + CALLBACK(save_state, NET_PARTICIPANT, FL(RUN_ON_DISABLE)), + CALLBACK(write_stats_file, NET_PARTICIPANT, FL(RUN_ON_DISABLE)), + CALLBACK(prune_old_routers, NET_PARTICIPANT, FL(RUN_ON_DISABLE)), /* Routers (bridge and relay) only. */ - CALLBACK(check_descriptor, PERIODIC_EVENT_ROLE_ROUTER, - PERIODIC_EVENT_FLAG_NEED_NET), - CALLBACK(check_ed_keys, PERIODIC_EVENT_ROLE_ROUTER, 0), - CALLBACK(check_for_reachability_bw, PERIODIC_EVENT_ROLE_ROUTER, - PERIODIC_EVENT_FLAG_NEED_NET), - CALLBACK(check_onion_keys_expiry_time, PERIODIC_EVENT_ROLE_ROUTER, 0), - CALLBACK(expire_old_ciruits_serverside, PERIODIC_EVENT_ROLE_ROUTER, - PERIODIC_EVENT_FLAG_NEED_NET), - CALLBACK(reachability_warnings, PERIODIC_EVENT_ROLE_ROUTER, - PERIODIC_EVENT_FLAG_NEED_NET), - CALLBACK(retry_dns, PERIODIC_EVENT_ROLE_ROUTER, 0), - CALLBACK(rotate_onion_key, PERIODIC_EVENT_ROLE_ROUTER, 0), + CALLBACK(check_descriptor, ROUTER, FL(NEED_NET)), + CALLBACK(check_ed_keys, ROUTER, 0), + CALLBACK(check_for_reachability_bw, ROUTER, FL(NEED_NET)), + CALLBACK(check_onion_keys_expiry_time, ROUTER, 0), + CALLBACK(expire_old_ciruits_serverside, ROUTER, FL(NEED_NET)), + CALLBACK(reachability_warnings, ROUTER, FL(NEED_NET)), + CALLBACK(retry_dns, ROUTER, 0), + CALLBACK(rotate_onion_key, ROUTER, 0), /* Authorities (bridge and directory) only. */ - CALLBACK(downrate_stability, PERIODIC_EVENT_ROLE_AUTHORITIES, 0), - CALLBACK(launch_reachability_tests, PERIODIC_EVENT_ROLE_AUTHORITIES, - PERIODIC_EVENT_FLAG_NEED_NET), - CALLBACK(save_stability, PERIODIC_EVENT_ROLE_AUTHORITIES, 0), + CALLBACK(downrate_stability, AUTHORITIES, 0), + CALLBACK(launch_reachability_tests, AUTHORITIES, FL(NEED_NET)), + CALLBACK(save_stability, AUTHORITIES, 0), /* Directory authority only. */ - CALLBACK(check_authority_cert, PERIODIC_EVENT_ROLE_DIRAUTH, 0), - CALLBACK(dirvote, PERIODIC_EVENT_ROLE_DIRAUTH, PERIODIC_EVENT_FLAG_NEED_NET), + CALLBACK(check_authority_cert, DIRAUTH, 0), + CALLBACK(dirvote, DIRAUTH, FL(NEED_NET)), /* Relay only. */ - CALLBACK(check_canonical_channels, PERIODIC_EVENT_ROLE_RELAY, - PERIODIC_EVENT_FLAG_NEED_NET), - CALLBACK(check_dns_honesty, PERIODIC_EVENT_ROLE_RELAY, - PERIODIC_EVENT_FLAG_NEED_NET), + CALLBACK(check_canonical_channels, RELAY, FL(NEED_NET)), + CALLBACK(check_dns_honesty, RELAY, FL(NEED_NET)), /* Hidden Service service only. */ - CALLBACK(hs_service, PERIODIC_EVENT_ROLE_HS_SERVICE, - PERIODIC_EVENT_FLAG_NEED_NET), + CALLBACK(hs_service, HS_SERVICE, FL(NEED_NET)), // XXXX break this down more /* Bridge only. */ - CALLBACK(record_bridge_stats, PERIODIC_EVENT_ROLE_BRIDGE, 0), + CALLBACK(record_bridge_stats, BRIDGE, 0), /* Client only. */ - CALLBACK(rend_cache_failure_clean, PERIODIC_EVENT_ROLE_CLIENT, 0), + /* XXXX this could be restricted to CLIENT+NET_PARTICIPANT */ + CALLBACK(rend_cache_failure_clean, NET_PARTICIPANT, FL(RUN_ON_DISABLE)), /* Bridge Authority only. */ - CALLBACK(write_bridge_ns, PERIODIC_EVENT_ROLE_BRIDGEAUTH, 0), + CALLBACK(write_bridge_ns, BRIDGEAUTH, 0), /* Directory server only. */ - CALLBACK(clean_consdiffmgr, PERIODIC_EVENT_ROLE_DIRSERVER, 0), + CALLBACK(clean_consdiffmgr, DIRSERVER, 0), + + /* Controller with per-second events only. */ + CALLBACK(control_per_second_events, CONTROLEV, 0), END_OF_PERIODIC_EVENTS }; #undef CALLBACK +#undef FL /* These are pointers to members of periodic_events[] that are used to * implement particular callbacks. We keep them separate here so that we @@ -1454,6 +1463,7 @@ static periodic_event_item_t *fetch_networkstatus_event=NULL; static periodic_event_item_t *launch_descriptor_fetches_event=NULL; static periodic_event_item_t *check_dns_honesty_event=NULL; static periodic_event_item_t *save_state_event=NULL; +static periodic_event_item_t *prune_old_routers_event=NULL; /** Reset all the periodic events so we'll do all our actions again as if we * just started up. @@ -1490,7 +1500,7 @@ get_my_roles(const or_options_t *options) { tor_assert(options); - int roles = 0; + int roles = PERIODIC_EVENT_ROLE_ALL; int is_bridge = options->BridgeRelay; int is_relay = server_mode(options); int is_dirauth = authdir_mode_v3(options); @@ -1498,6 +1508,8 @@ get_my_roles(const or_options_t *options) int is_hidden_service = !!hs_service_get_num_services() || !!rend_num_services(); int is_dirserver = dir_server_mode(options); + int sending_control_events = control_any_per_second_event_enabled(); + /* We also consider tor to have the role of a client if the ControlPort is * set because a lot of things can be done over the control port which * requires tor to have basic functionnalities. */ @@ -1505,6 +1517,9 @@ get_my_roles(const or_options_t *options) options->ControlPort_set || options->OwningControllerFD != UINT64_MAX; + int is_net_participant = is_participating_on_network() || + is_relay || is_hidden_service; + if (is_bridge) roles |= PERIODIC_EVENT_ROLE_BRIDGE; if (is_client) roles |= PERIODIC_EVENT_ROLE_CLIENT; if (is_relay) roles |= PERIODIC_EVENT_ROLE_RELAY; @@ -1512,6 +1527,8 @@ get_my_roles(const or_options_t *options) if (is_bridgeauth) roles |= PERIODIC_EVENT_ROLE_BRIDGEAUTH; if (is_hidden_service) roles |= PERIODIC_EVENT_ROLE_HS_SERVICE; if (is_dirserver) roles |= PERIODIC_EVENT_ROLE_DIRSERVER; + if (is_net_participant) roles |= PERIODIC_EVENT_ROLE_NET_PARTICIPANT; + if (sending_control_events) roles |= PERIODIC_EVENT_ROLE_CONTROLEV; return roles; } @@ -1556,6 +1573,7 @@ initialize_periodic_events(void) STMT_BEGIN name ## _event = find_periodic_event( #name ); STMT_END NAMED_CALLBACK(check_descriptor); + NAMED_CALLBACK(prune_old_routers); NAMED_CALLBACK(dirvote); NAMED_CALLBACK(fetch_networkstatus); NAMED_CALLBACK(launch_descriptor_fetches); @@ -1579,6 +1597,30 @@ teardown_periodic_events(void) periodic_events_initialized = 0; } +static mainloop_event_t *rescan_periodic_events_ev = NULL; + +/** Callback: rescan the periodic event list. */ +static void +rescan_periodic_events_cb(mainloop_event_t *event, void *arg) +{ + (void)event; + (void)arg; + rescan_periodic_events(get_options()); +} + +/** + * Schedule an event that will rescan which periodic events should run. + **/ +MOCK_IMPL(void, +schedule_rescan_periodic_events,(void)) +{ + if (!rescan_periodic_events_ev) { + rescan_periodic_events_ev = + mainloop_event_new(rescan_periodic_events_cb, NULL); + } + mainloop_event_activate(rescan_periodic_events_ev); +} + /** Do a pass at all our periodic events, disable those we don't need anymore * and enable those we need now using the given options. */ void @@ -1598,20 +1640,26 @@ rescan_periodic_events(const or_options_t *options) for (int i = 0; periodic_events[i].name; ++i) { periodic_event_item_t *item = &periodic_events[i]; + int enable = !!(item->roles & roles); + /* Handle the event flags. */ if (net_is_disabled() && (item->flags & PERIODIC_EVENT_FLAG_NEED_NET)) { - continue; + enable = 0; } /* Enable the event if needed. It is safe to enable an event that was * already enabled. Same goes for disabling it. */ - if (item->roles & roles) { + if (enable) { log_debug(LD_GENERAL, "Launching periodic event %s", item->name); periodic_event_enable(item); } else { log_debug(LD_GENERAL, "Disabling periodic event %s", item->name); - periodic_event_disable(item); + if (item->flags & PERIODIC_EVENT_FLAG_RUN_ON_DISABLE) { + periodic_event_schedule_and_disable(item); + } else { + periodic_event_disable(item); + } } } } @@ -1686,6 +1734,30 @@ mainloop_schedule_postloop_cleanup(void) mainloop_event_activate(postloop_cleanup_ev); } +/** Event to run 'scheduled_shutdown_cb' */ +static mainloop_event_t *scheduled_shutdown_ev=NULL; + +/** Callback: run a scheduled shutdown */ +static void +scheduled_shutdown_cb(mainloop_event_t *ev, void *arg) +{ + (void)ev; + (void)arg; + log_notice(LD_GENERAL, "Clean shutdown finished. Exiting."); + tor_shutdown_event_loop_and_exit(0); +} + +/** Schedule the mainloop to exit after <b>delay_sec</b> seconds. */ +void +mainloop_schedule_shutdown(int delay_sec) +{ + const struct timeval delay_tv = { delay_sec, 0 }; + if (! scheduled_shutdown_ev) { + scheduled_shutdown_ev = mainloop_event_new(scheduled_shutdown_cb, NULL); + } + mainloop_event_schedule(scheduled_shutdown_ev, &delay_tv); +} + #define LONGEST_TIMER_PERIOD (30 * 86400) /** Helper: Return the number of seconds between <b>now</b> and <b>next</b>, * clipped to the range [1 second, LONGEST_TIMER_PERIOD]. */ @@ -1710,16 +1782,16 @@ safe_timer_diff(time_t now, time_t next) } /** Perform regular maintenance tasks. This function gets run once per - * second by second_elapsed_callback(). + * second. */ -static void -run_scheduled_events(time_t now) +static int +second_elapsed_callback(time_t now, const or_options_t *options) { - const or_options_t *options = get_options(); - - /* 0. See if we've been asked to shut down and our timeout has - * expired; or if our bandwidth limits are exhausted and we - * should hibernate; or if it's time to wake up from hibernation. + /* 0. See if our bandwidth limits are exhausted and we should hibernate + * + * Note: we have redundant mechanisms to handle the case where it's + * time to wake up from hibernation; or where we have a scheduled + * shutdown and it's time to run it, but this will also handle those. */ consider_hibernation(now); @@ -1729,10 +1801,13 @@ run_scheduled_events(time_t now) if (options->UseBridges && !net_is_disabled()) { /* Note: this check uses net_is_disabled(), not should_delay_dir_fetches() * -- the latter is only for fetching consensus-derived directory info. */ + // TODO: client + // Also, schedule this rather than probing 1x / sec fetch_bridge_descriptors(options, now); } if (accounting_is_enabled(options)) { + // TODO: refactor or rewrite? accounting_run_housekeeping(now); } @@ -1743,6 +1818,7 @@ run_scheduled_events(time_t now) */ /* (If our circuit build timeout can ever become lower than a second (which * it can't, currently), we should do this more often.) */ + // TODO: All expire stuff can become NET_PARTICIPANT, RUN_ON_DISABLE circuit_expire_building(); circuit_expire_waiting_for_better_guard(); @@ -1776,9 +1852,8 @@ run_scheduled_events(time_t now) run_connection_housekeeping(i, now); } - /* 11b. check pending unconfigured managed proxies */ - if (!net_is_disabled() && pt_proxies_configuration_pending()) - pt_configure_remaining_proxies(); + /* Run again in a second. */ + return 1; } /* Periodic callback: rotate the onion keys after the period defined by the @@ -1925,6 +2000,55 @@ add_entropy_callback(time_t now, const or_options_t *options) return ENTROPY_INTERVAL; } +/** Periodic callback: if there has been no network usage in a while, + * enter a dormant state. */ +STATIC int +check_network_participation_callback(time_t now, const or_options_t *options) +{ + /* If we're a server, we can't become dormant. */ + if (server_mode(options)) { + goto found_activity; + } + + /* If we're running an onion service, we can't become dormant. */ + /* XXXX this would be nice to change, so that we can be dormant with a + * service. */ + if (hs_service_get_num_services() || rend_num_services()) { + goto found_activity; + } + + /* If we have any currently open entry streams other than "linked" + * connections used for directory requests, those count as user activity. + */ + if (options->DormantTimeoutDisabledByIdleStreams) { + if (connection_get_by_type_nonlinked(CONN_TYPE_AP) != NULL) { + goto found_activity; + } + } + + /* XXXX Make this configurable? */ +/** How often do we check whether we have had network activity? */ +#define CHECK_PARTICIPATION_INTERVAL (5*60) + + /* Become dormant if there has been no user activity in a long time. + * (The funny checks below are in order to prevent overflow.) */ + time_t time_since_last_activity = 0; + if (get_last_user_activity_time() < now) + time_since_last_activity = now - get_last_user_activity_time(); + if (time_since_last_activity >= options->DormantClientTimeout) { + log_notice(LD_GENERAL, "No user activity in a long time: becoming" + " dormant."); + set_network_participation(false); + rescan_periodic_events(options); + } + + return CHECK_PARTICIPATION_INTERVAL; + + found_activity: + note_user_activity(now); + return CHECK_PARTICIPATION_INTERVAL; +} + /** * Periodic callback: if we're an authority, make sure we test * the routers on the network for reachability. @@ -2218,6 +2342,27 @@ retry_dns_callback(time_t now, const or_options_t *options) return RETRY_DNS_INTERVAL; } +/** + * Periodic callback: prune routerlist of old information about Tor network. + */ +static int +prune_old_routers_callback(time_t now, const or_options_t *options) +{ +#define ROUTERLIST_PRUNING_INTERVAL (60*60) // 1 hour. + (void)now; + (void)options; + + if (!net_is_disabled()) { + /* If any networkstatus documents are no longer recent, we need to + * update all the descriptors' running status. */ + /* Remove dead routers. */ + log_debug(LD_GENERAL, "Pruning routerlist..."); + routerlist_remove_old_routers(); + } + + return ROUTERLIST_PRUNING_INTERVAL; +} + /** Periodic callback: consider rebuilding or and re-uploading our descriptor * (if we've passed our internal checks). */ static int @@ -2237,12 +2382,6 @@ check_descriptor_callback(time_t now, const or_options_t *options) check_descriptor_ipaddress_changed(now); mark_my_descriptor_dirty_if_too_old(now); consider_publishable_server(0); - /* If any networkstatus documents are no longer recent, we need to - * update all the descriptors' running status. */ - /* Remove dead routers. */ - /* XXXX This doesn't belong here, but it was here in the pre- - * XXXX refactoring code. */ - routerlist_remove_old_routers(); } return CHECK_DESCRIPTOR_INTERVAL; @@ -2500,36 +2639,19 @@ hs_service_callback(time_t now, const or_options_t *options) return 1; } -/** Timer: used to invoke second_elapsed_callback() once per second. */ -static periodic_timer_t *second_timer = NULL; - -/** - * Enable or disable the per-second timer as appropriate, creating it if - * necessary. +/* + * Periodic callback: Send once-per-second events to the controller(s). + * This is called every second. */ -void -reschedule_per_second_timer(void) +static int +control_per_second_events_callback(time_t now, const or_options_t *options) { - struct timeval one_second; - one_second.tv_sec = 1; - one_second.tv_usec = 0; - - if (! second_timer) { - second_timer = periodic_timer_new(tor_libevent_get_base(), - &one_second, - second_elapsed_callback, - NULL); - tor_assert(second_timer); - } + (void) options; + (void) now; - const bool run_per_second_events = - control_any_per_second_event_enabled() || ! net_is_completely_disabled(); + control_per_second_events(); - if (run_per_second_events) { - periodic_timer_launch(second_timer, &one_second); - } else { - periodic_timer_disable(second_timer); - } + return 1; } /** Last time that update_current_time was called. */ @@ -2559,6 +2681,17 @@ update_current_time(time_t now) memcpy(&last_updated, ¤t_second_last_changed, sizeof(last_updated)); monotime_coarse_get(¤t_second_last_changed); + /** How much clock jumping means that we should adjust our idea of when + * to go dormant? */ +#define NUM_JUMPED_SECONDS_BEFORE_NETSTATUS_UPDATE 20 + + /* Don't go dormant early or late just because we jumped in time. */ + if (ABS(seconds_elapsed) >= NUM_JUMPED_SECONDS_BEFORE_NETSTATUS_UPDATE) { + if (is_participating_on_network()) { + netstatus_note_clock_jumped(seconds_elapsed); + } + } + /** How much clock jumping do we tolerate? */ #define NUM_JUMPED_SECONDS_BEFORE_WARN 100 @@ -2568,6 +2701,7 @@ update_current_time(time_t now) if (seconds_elapsed < -NUM_JUMPED_SECONDS_BEFORE_WARN) { // moving back in time is always a bad sign. circuit_note_clock_jumped(seconds_elapsed, false); + } else if (seconds_elapsed >= NUM_JUMPED_SECONDS_BEFORE_WARN) { /* Compare the monotonic clock to the result of time(). */ const int32_t monotime_msec_passed = @@ -2597,31 +2731,6 @@ update_current_time(time_t now) current_second = now; } -/** Libevent callback: invoked once every second. */ -static void -second_elapsed_callback(periodic_timer_t *timer, void *arg) -{ - /* XXXX This could be sensibly refactored into multiple callbacks, and we - * could use Libevent's timers for this rather than checking the current - * time against a bunch of timeouts every second. */ - time_t now; - (void)timer; - (void)arg; - - now = time(NULL); - - /* We don't need to do this once-per-second any more: time-updating is - * only in this callback _because it is a callback_. It should be fine - * to disable this callback, and the time will still get updated. - */ - update_current_time(now); - - /* Maybe some controller events are ready to fire */ - control_per_second_events(); - - run_scheduled_events(now); -} - #ifdef HAVE_SYSTEMD_209 static periodic_timer_t *systemd_watchdog_timer = NULL; @@ -2712,9 +2821,6 @@ do_main_loop(void) initialize_periodic_events(); initialize_mainloop_events(); - /* set up once-a-second callback. */ - reschedule_per_second_timer(); - #ifdef HAVE_SYSTEMD_209 uint64_t watchdog_delay; /* set up systemd watchdog notification. */ @@ -2736,10 +2842,6 @@ do_main_loop(void) } } #endif /* defined(HAVE_SYSTEMD_209) */ - - main_loop_should_exit = 0; - main_loop_exit_value = 0; - #ifdef ENABLE_RESTART_DEBUGGING { static int first_time = 1; @@ -2865,10 +2967,14 @@ run_main_loop_once(void) * * Shadow won't invoke this function, so don't fill it up with things. */ -static int +STATIC int run_main_loop_until_done(void) { int loop_result = 1; + + main_loop_should_exit = 0; + main_loop_exit_value = 0; + do { loop_result = run_main_loop_once(); } while (loop_result == 1); @@ -2899,7 +3005,6 @@ tor_mainloop_free_all(void) smartlist_free(connection_array); smartlist_free(closeable_connection_lst); smartlist_free(active_linked_connection_lst); - periodic_timer_free(second_timer); teardown_periodic_events(); tor_event_free(shutdown_did_not_work_event); tor_event_free(initialize_periodic_events_event); @@ -2907,6 +3012,8 @@ tor_mainloop_free_all(void) mainloop_event_free(schedule_active_linked_connections_event); mainloop_event_free(postloop_cleanup_ev); mainloop_event_free(handle_deferred_signewnym_ev); + mainloop_event_free(scheduled_shutdown_ev); + mainloop_event_free(rescan_periodic_events_ev); #ifdef HAVE_SYSTEMD_209 periodic_timer_free(systemd_watchdog_timer); diff --git a/src/core/mainloop/mainloop.h b/src/core/mainloop/mainloop.h index 632733d9a6..730234857d 100644 --- a/src/core/mainloop/mainloop.h +++ b/src/core/mainloop/mainloop.h @@ -65,6 +65,7 @@ void reschedule_or_state_save(void); void reschedule_dirvote(const or_options_t *options); void mainloop_schedule_postloop_cleanup(void); void rescan_periodic_events(const or_options_t *options); +MOCK_DECL(void, schedule_rescan_periodic_events,(void)); void update_current_time(time_t now); @@ -81,11 +82,12 @@ uint64_t get_main_loop_error_count(void); uint64_t get_main_loop_idle_count(void); void periodic_events_on_new_options(const or_options_t *options); -void reschedule_per_second_timer(void); void do_signewnym(time_t); time_t get_last_signewnym_time(void); +void mainloop_schedule_shutdown(int delay_sec); + void tor_init_connection_lists(void); void initialize_mainloop_events(void); void tor_mainloop_free_all(void); @@ -98,10 +100,14 @@ extern struct token_bucket_rw_t global_bucket; extern struct token_bucket_rw_t global_relayed_bucket; #ifdef MAINLOOP_PRIVATE +STATIC int run_main_loop_until_done(void); STATIC void close_closeable_connections(void); STATIC void initialize_periodic_events(void); STATIC void teardown_periodic_events(void); STATIC int get_my_roles(const or_options_t *); +STATIC int check_network_participation_callback(time_t now, + const or_options_t *options); + #ifdef TOR_UNIT_TESTS extern smartlist_t *connection_array; diff --git a/src/core/mainloop/netstatus.c b/src/core/mainloop/netstatus.c index f026474494..d1989cb839 100644 --- a/src/core/mainloop/netstatus.c +++ b/src/core/mainloop/netstatus.c @@ -6,9 +6,12 @@ #include "core/or/or.h" #include "core/mainloop/netstatus.h" +#include "core/mainloop/mainloop.h" #include "app/config/config.h" #include "feature/hibernate/hibernate.h" +#include "app/config/or_state_st.h" + /** Return true iff our network is in some sense disabled or shutting down: * either we're hibernating, entering hibernation, or the network is turned * off with DisableNetwork. */ @@ -26,3 +29,132 @@ net_is_completely_disabled(void) { return get_options()->DisableNetwork || we_are_fully_hibernating(); } + +/** + * The time at which we've last seen "user activity" -- that is, any activity + * that should keep us as a participant on the network. + * + * This is not actually the true time. We will adjust this forward if + * our clock jumps, or if Tor is shut down for a while, so that the time + * since our last activity remains as it was before the jump or shutdown. + */ +static time_t last_user_activity_seen = 0; + +/** + * True iff we are currently a "network participant" -- that is, we + * are building circuits, fetching directory information, and so on. + **/ +static bool participating_on_network = false; + +/** + * Record the fact that we have seen "user activity" at the time now. Move + * "last activity seen" time forwards, but never backwards. + * + * If we were previously not participating on the network, set our + * participation status to true, and launch periodic events as appropriate. + **/ +void +note_user_activity(time_t now) +{ + last_user_activity_seen = MAX(now, last_user_activity_seen); + + if (! participating_on_network) { + log_notice(LD_GENERAL, "Tor is no longer dormant."); + set_network_participation(true); + schedule_rescan_periodic_events(); + } +} + +/** + * Change the time at which "user activitiy" was last seen to <b>now</b>. + * + * Unlike note_user_actity, this function sets the time without checking + * whether it is in the past, and without causing any rescan of periodic events + * or change in participation status. + */ +void +reset_user_activity(time_t now) +{ + last_user_activity_seen = now; +} + +/** + * Return the most recent time at which we recorded "user activity". + **/ +time_t +get_last_user_activity_time(void) +{ + return last_user_activity_seen; +} + +/** + * Set the field that remembers whether we are currently participating on the + * network. Does not schedule or un-schedule periodic events. + **/ +void +set_network_participation(bool participation) +{ + participating_on_network = participation; +} + +/** + * Return true iff we are currently participating on the network. + **/ +bool +is_participating_on_network(void) +{ + return participating_on_network; +} + +/** + * Update 'state' with the last time at which we were active on the network. + **/ +void +netstatus_flush_to_state(or_state_t *state, time_t now) +{ + state->Dormant = ! participating_on_network; + if (participating_on_network) { + time_t sec_since_activity = MAX(0, now - last_user_activity_seen); + state->MinutesSinceUserActivity = (int)(sec_since_activity / 60); + } else { + state->MinutesSinceUserActivity = 0; + } +} + +/** + * Update our current view of network participation from an or_state_t object. + **/ +void +netstatus_load_from_state(const or_state_t *state, time_t now) +{ + time_t last_activity; + if (state->Dormant == -1) { // Initial setup. + if (get_options()->DormantOnFirstStartup) { + last_activity = 0; + participating_on_network = false; + } else { + // Start up as active, treat activity as happening now. + last_activity = now; + participating_on_network = true; + } + } else if (state->Dormant) { + last_activity = 0; + participating_on_network = false; + } else { + last_activity = now - 60 * state->MinutesSinceUserActivity; + participating_on_network = true; + } + reset_user_activity(last_activity); +} + +/** + * Adjust the time at which the user was last active by <b>seconds_diff</b> + * in response to a clock jump. + */ +void +netstatus_note_clock_jumped(time_t seconds_diff) +{ + time_t last_active = get_last_user_activity_time(); + if (last_active) + reset_user_activity(last_active + seconds_diff); +} diff --git a/src/core/mainloop/netstatus.h b/src/core/mainloop/netstatus.h index e9310c2929..9a0fa410fd 100644 --- a/src/core/mainloop/netstatus.h +++ b/src/core/mainloop/netstatus.h @@ -10,4 +10,15 @@ int net_is_disabled(void); int net_is_completely_disabled(void); +void note_user_activity(time_t now); +void reset_user_activity(time_t now); +time_t get_last_user_activity_time(void); + +void set_network_participation(bool participation); +bool is_participating_on_network(void); + +void netstatus_flush_to_state(or_state_t *state, time_t now); +void netstatus_load_from_state(const or_state_t *state, time_t now); +void netstatus_note_clock_jumped(time_t seconds_diff); + #endif diff --git a/src/core/mainloop/periodic.c b/src/core/mainloop/periodic.c index c1785eb38f..9f9b178e43 100644 --- a/src/core/mainloop/periodic.c +++ b/src/core/mainloop/periodic.c @@ -45,10 +45,6 @@ periodic_event_dispatch(mainloop_event_t *ev, void *data) periodic_event_item_t *event = data; tor_assert(ev == event->ev); - if (BUG(!periodic_event_is_enabled(event))) { - return; - } - time_t now = time(NULL); update_current_time(now); const or_options_t *options = get_options(); @@ -57,7 +53,7 @@ periodic_event_dispatch(mainloop_event_t *ev, void *data) int next_interval = 0; if (!periodic_event_is_enabled(event)) { - /* The event got disabled from inside its callback; no need to + /* The event got disabled from inside its callback, or before: no need to * reschedule. */ return; } @@ -172,3 +168,19 @@ periodic_event_disable(periodic_event_item_t *event) mainloop_event_cancel(event->ev); event->enabled = 0; } + +/** + * Disable an event, then schedule it to run once. + * Do nothing if the event was already disabled. + */ +void +periodic_event_schedule_and_disable(periodic_event_item_t *event) +{ + tor_assert(event); + if (!periodic_event_is_enabled(event)) + return; + + periodic_event_disable(event); + + mainloop_event_activate(event->ev); +} diff --git a/src/core/mainloop/periodic.h b/src/core/mainloop/periodic.h index 4c8c3c96cc..05ba4297f3 100644 --- a/src/core/mainloop/periodic.h +++ b/src/core/mainloop/periodic.h @@ -15,6 +15,10 @@ #define PERIODIC_EVENT_ROLE_BRIDGEAUTH (1U << 4) #define PERIODIC_EVENT_ROLE_HS_SERVICE (1U << 5) #define PERIODIC_EVENT_ROLE_DIRSERVER (1U << 6) +#define PERIODIC_EVENT_ROLE_CONTROLEV (1U << 7) + +#define PERIODIC_EVENT_ROLE_NET_PARTICIPANT (1U << 8) +#define PERIODIC_EVENT_ROLE_ALL (1U << 9) /* Helper macro to make it a bit less annoying to defined groups of roles that * are often used. */ @@ -25,10 +29,6 @@ /* Authorities that is both bridge and directory. */ #define PERIODIC_EVENT_ROLE_AUTHORITIES \ (PERIODIC_EVENT_ROLE_BRIDGEAUTH | PERIODIC_EVENT_ROLE_DIRAUTH) -/* All roles. */ -#define PERIODIC_EVENT_ROLE_ALL \ - (PERIODIC_EVENT_ROLE_AUTHORITIES | PERIODIC_EVENT_ROLE_CLIENT | \ - PERIODIC_EVENT_ROLE_HS_SERVICE | PERIODIC_EVENT_ROLE_ROUTER) /* * Event flags which can change the behavior of an event. @@ -39,6 +39,11 @@ * the net_is_disabled() check. */ #define PERIODIC_EVENT_FLAG_NEED_NET (1U << 0) +/* Indicate that if the event is enabled, it needs to be run once before + * it becomes disabled. + */ +#define PERIODIC_EVENT_FLAG_RUN_ON_DISABLE (1U << 1) + /** Callback function for a periodic event to take action. The return value * influences the next time the function will get called. Return * PERIODIC_EVENT_NO_UPDATE to not update <b>last_action_time</b> and be polled @@ -83,6 +88,6 @@ void periodic_event_destroy(periodic_event_item_t *event); void periodic_event_reschedule(periodic_event_item_t *event); void periodic_event_enable(periodic_event_item_t *event); void periodic_event_disable(periodic_event_item_t *event); +void periodic_event_schedule_and_disable(periodic_event_item_t *event); #endif /* !defined(TOR_PERIODIC_H) */ - diff --git a/src/core/or/circuitbuild.c b/src/core/or/circuitbuild.c index a69457571e..d3744dc1c1 100644 --- a/src/core/or/circuitbuild.c +++ b/src/core/or/circuitbuild.c @@ -255,9 +255,8 @@ get_unique_circ_id_by_chan(channel_t *chan) /** If <b>verbose</b> is false, allocate and return a comma-separated list of * the currently built elements of <b>circ</b>. If <b>verbose</b> is true, also * list information about link status in a more verbose format using spaces. - * If <b>verbose_names</b> is false, give nicknames for Named routers and hex - * digests for others; if <b>verbose_names</b> is true, use $DIGEST=Name style - * names. + * If <b>verbose_names</b> is false, give hex digests; if <b>verbose_names</b> + * is true, use $DIGEST=Name style names. */ static char * circuit_list_path_impl(origin_circuit_t *circ, int verbose, int verbose_names) @@ -1658,22 +1657,25 @@ route_len_for_purpose(uint8_t purpose, extend_info_t *exit_ei) STATIC int new_route_len(uint8_t purpose, extend_info_t *exit_ei, smartlist_t *nodes) { - int num_acceptable_routers; int routelen; tor_assert(nodes); routelen = route_len_for_purpose(purpose, exit_ei); - num_acceptable_routers = count_acceptable_nodes(nodes); + int num_acceptable_direct = count_acceptable_nodes(nodes, 1); + int num_acceptable_indirect = count_acceptable_nodes(nodes, 0); - log_debug(LD_CIRC,"Chosen route length %d (%d/%d routers suitable).", - routelen, num_acceptable_routers, smartlist_len(nodes)); + log_debug(LD_CIRC,"Chosen route length %d (%d direct and %d indirect " + "routers suitable).", routelen, num_acceptable_direct, + num_acceptable_indirect); - if (num_acceptable_routers < routelen) { + if (num_acceptable_direct < 1 || num_acceptable_indirect < routelen - 1) { log_info(LD_CIRC, - "Not enough acceptable routers (%d/%d). Discarding this circuit.", - num_acceptable_routers, routelen); + "Not enough acceptable routers (%d/%d direct and %d/%d " + "indirect routers suitable). Discarding this circuit.", + num_acceptable_direct, routelen, + num_acceptable_indirect, routelen); return -1; } @@ -2315,7 +2317,7 @@ circuit_extend_to_new_exit(origin_circuit_t *circ, extend_info_t *exit_ei) * particular router. See bug #25885.) */ MOCK_IMPL(STATIC int, -count_acceptable_nodes, (smartlist_t *nodes)) +count_acceptable_nodes, (smartlist_t *nodes, int direct)) { int num=0; @@ -2329,7 +2331,7 @@ count_acceptable_nodes, (smartlist_t *nodes)) if (! node->is_valid) // log_debug(LD_CIRC,"Nope, the directory says %d is not valid.",i); continue; - if (! node_has_any_descriptor(node)) + if (! node_has_preferred_descriptor(node, direct)) continue; /* The node has a descriptor, so we can just check the ntor key directly */ if (!node_has_curve25519_onion_key(node)) diff --git a/src/core/or/circuitbuild.h b/src/core/or/circuitbuild.h index cee71b297b..93f903f060 100644 --- a/src/core/or/circuitbuild.h +++ b/src/core/or/circuitbuild.h @@ -84,7 +84,8 @@ void circuit_upgrade_circuits_from_guard_wait(void); STATIC circid_t get_unique_circ_id_by_chan(channel_t *chan); STATIC int new_route_len(uint8_t purpose, extend_info_t *exit_ei, smartlist_t *nodes); -MOCK_DECL(STATIC int, count_acceptable_nodes, (smartlist_t *nodes)); +MOCK_DECL(STATIC int, count_acceptable_nodes, (smartlist_t *nodes, + int direct)); STATIC int onion_extend_cpath(origin_circuit_t *circ); diff --git a/src/core/or/circuitlist.c b/src/core/or/circuitlist.c index 35efc6541f..0aa21000a1 100644 --- a/src/core/or/circuitlist.c +++ b/src/core/or/circuitlist.c @@ -94,7 +94,7 @@ #include "lib/compress/compress_lzma.h" #include "lib/compress/compress_zlib.h" #include "lib/compress/compress_zstd.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "ht.h" diff --git a/src/core/or/connection_edge.c b/src/core/or/connection_edge.c index 58aefcf8f2..9f76929e53 100644 --- a/src/core/or/connection_edge.c +++ b/src/core/or/connection_edge.c @@ -62,6 +62,7 @@ #include "app/config/config.h" #include "core/mainloop/connection.h" #include "core/mainloop/mainloop.h" +#include "core/mainloop/netstatus.h" #include "core/or/channel.h" #include "core/or/circuitbuild.h" #include "core/or/circuitlist.h" @@ -97,7 +98,7 @@ #include "feature/rend/rendservice.h" #include "feature/stats/predict_ports.h" #include "feature/stats/rephist.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "lib/crypt_ops/crypto_util.h" #include "core/or/cell_st.h" @@ -297,6 +298,11 @@ connection_edge_process_inbuf(edge_connection_t *conn, int package_partial) } return 0; case AP_CONN_STATE_OPEN: + if (! conn->base_.linked) { + note_user_activity(approx_time()); + } + + /* falls through. */ case EXIT_CONN_STATE_OPEN: if (connection_edge_package_raw_inbuf(conn, package_partial, NULL) < 0) { /* (We already sent an end cell if possible) */ @@ -751,6 +757,11 @@ connection_edge_flushed_some(edge_connection_t *conn) { switch (conn->base_.state) { case AP_CONN_STATE_OPEN: + if (! conn->base_.linked) { + note_user_activity(approx_time()); + } + + /* falls through. */ case EXIT_CONN_STATE_OPEN: connection_edge_consider_sending_sendme(conn); break; diff --git a/src/core/or/connection_or.c b/src/core/or/connection_or.c index 274cf85904..962ec51c36 100644 --- a/src/core/or/connection_or.c +++ b/src/core/or/connection_or.c @@ -22,7 +22,7 @@ **/ #include "core/or/or.h" #include "feature/client/bridges.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" /* * Define this so we get channel internal functions, since we're implementing * part of a subclass (channel_tls_t). diff --git a/src/core/or/or.h b/src/core/or/or.h index acf092c8dc..ca373d8ed5 100644 --- a/src/core/or/or.h +++ b/src/core/or/or.h @@ -26,7 +26,7 @@ #include "lib/cc/compat_compiler.h" #include "lib/cc/torint.h" #include "lib/container/map.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "lib/container/smartlist.h" #include "lib/crypt_ops/crypto_cipher.h" #include "lib/crypt_ops/crypto_rsa.h" @@ -97,6 +97,8 @@ struct curve25519_public_key_t; #define SIGNEWNYM 129 #define SIGCLEARDNSCACHE 130 #define SIGHEARTBEAT 131 +#define SIGACTIVE 132 +#define SIGDORMANT 133 #if (SIZEOF_CELL_T != 0) /* On Irix, stdlib.h defines a cell_t type, so we need to make sure diff --git a/src/core/or/policies.c b/src/core/or/policies.c index 0eda93c5f3..bffdb1fddd 100644 --- a/src/core/or/policies.c +++ b/src/core/or/policies.c @@ -29,6 +29,7 @@ #include "feature/relay/routermode.h" #include "lib/geoip/geoip.h" #include "ht.h" +#include "lib/crypt_ops/crypto_rand.h" #include "lib/encoding/confline.h" #include "core/or/addr_policy_st.h" @@ -461,7 +462,8 @@ fascist_firewall_use_ipv6(const or_options_t *options) * ClientPreferIPv6DirPort is deprecated, but check it anyway. */ return (options->ClientUseIPv6 == 1 || options->ClientUseIPv4 == 0 || options->ClientPreferIPv6ORPort == 1 || - options->ClientPreferIPv6DirPort == 1 || options->UseBridges == 1); + options->ClientPreferIPv6DirPort == 1 || options->UseBridges == 1 || + options->ClientAutoIPv6ORPort == 1); } /** Do we prefer to connect to IPv6, ignoring ClientPreferIPv6ORPort and @@ -488,6 +490,15 @@ fascist_firewall_prefer_ipv6_impl(const or_options_t *options) return -1; } +/* Choose whether we prefer IPv4 or IPv6 by randomly choosing an address + * family. Return 0 for IPv4, and 1 for IPv6. */ +MOCK_IMPL(int, +fascist_firewall_rand_prefer_ipv6_addr, (void)) +{ + /* TODO: Check for failures, and infer our preference based on this. */ + return crypto_rand_int(2); +} + /** Do we prefer to connect to IPv6 ORPorts? * Use node_ipv6_or_preferred() whenever possible: it supports bridge client * per-node IPv6 preferences. @@ -502,7 +513,10 @@ fascist_firewall_prefer_ipv6_orport(const or_options_t *options) } /* We can use both IPv4 and IPv6 - which do we prefer? */ - if (options->ClientPreferIPv6ORPort == 1) { + if (options->ClientAutoIPv6ORPort == 1) { + /* If ClientAutoIPv6ORPort is 1, we prefer IPv4 or IPv6 at random. */ + return fascist_firewall_rand_prefer_ipv6_addr(); + } else if (options->ClientPreferIPv6ORPort == 1) { return 1; } @@ -2706,7 +2720,7 @@ parse_short_policy(const char *summary) int is_accept; int n_entries; short_policy_entry_t entries[MAX_EXITPOLICY_SUMMARY_LEN]; /* overkill */ - const char *next; + char *next; if (!strcmpstart(summary, "accept ")) { is_accept = 1; @@ -2721,57 +2735,56 @@ parse_short_policy(const char *summary) n_entries = 0; for ( ; *summary; summary = next) { - const char *comma = strchr(summary, ','); - unsigned low, high; - char dummy; - char ent_buf[32]; - size_t len; - - next = comma ? comma+1 : strchr(summary, '\0'); - len = comma ? (size_t)(comma - summary) : strlen(summary); - if (n_entries == MAX_EXITPOLICY_SUMMARY_LEN) { log_fn(LOG_PROTOCOL_WARN, LD_DIR, "Impossibly long policy summary %s", escaped(orig_summary)); return NULL; } - if (! TOR_ISDIGIT(*summary) || len > (sizeof(ent_buf)-1)) { - /* unrecognized entry format. skip it. */ - continue; - } - if (len < 1) { - /* empty; skip it. */ - /* XXX This happens to be unreachable, since if len==0, then *summary is - * ',' or '\0', and the TOR_ISDIGIT test above would have failed. */ - continue; + unsigned low, high; + int ok; + low = (unsigned) tor_parse_ulong(summary, 10, 1, 65535, &ok, &next); + if (!ok) { + if (! TOR_ISDIGIT(*summary) || *summary == ',') { + /* Unrecognized format: skip it. */ + goto skip_ent; + } else { + goto bad_ent; + } } - memcpy(ent_buf, summary, len); - ent_buf[len] = '\0'; + switch (*next) { + case ',': + ++next; + /* fall through */ + case '\0': + high = low; + break; + case '-': + high = (unsigned) tor_parse_ulong(next+1, 10, low, 65535, &ok, &next); + if (!ok) + goto bad_ent; - if (tor_sscanf(ent_buf, "%u-%u%c", &low, &high, &dummy) == 2) { - if (low<1 || low>65535 || high<1 || high>65535 || low>high) { - log_fn(LOG_PROTOCOL_WARN, LD_DIR, - "Found bad entry in policy summary %s", escaped(orig_summary)); - return NULL; - } - } else if (tor_sscanf(ent_buf, "%u%c", &low, &dummy) == 1) { - if (low<1 || low>65535) { - log_fn(LOG_PROTOCOL_WARN, LD_DIR, - "Found bad entry in policy summary %s", escaped(orig_summary)); - return NULL; - } - high = low; - } else { - log_fn(LOG_PROTOCOL_WARN, LD_DIR,"Found bad entry in policy summary %s", - escaped(orig_summary)); - return NULL; + if (*next == ',') + ++next; + else if (*next != '\0') + goto bad_ent; + + break; + default: + goto bad_ent; } entries[n_entries].min_port = low; entries[n_entries].max_port = high; n_entries++; + + continue; + skip_ent: + next = strchr(next, ','); + if (!next) + break; + ++next; } if (n_entries == 0) { @@ -2792,6 +2805,11 @@ parse_short_policy(const char *summary) result->n_entries = n_entries; memcpy(result->entries, entries, sizeof(short_policy_entry_t)*n_entries); return result; + + bad_ent: + log_fn(LOG_PROTOCOL_WARN, LD_DIR,"Found bad entry in policy summary %s", + escaped(orig_summary)); + return NULL; } /** Write <b>policy</b> back out into a string. */ diff --git a/src/core/or/policies.h b/src/core/or/policies.h index 7da3ba031f..0c64ecf378 100644 --- a/src/core/or/policies.h +++ b/src/core/or/policies.h @@ -70,6 +70,7 @@ typedef struct short_policy_t { int firewall_is_fascist_or(void); int firewall_is_fascist_dir(void); int fascist_firewall_use_ipv6(const or_options_t *options); +MOCK_DECL(int, fascist_firewall_rand_prefer_ipv6_addr, (void)); int fascist_firewall_prefer_ipv6_orport(const or_options_t *options); int fascist_firewall_prefer_ipv6_dirport(const or_options_t *options); diff --git a/src/core/or/relay.c b/src/core/or/relay.c index 510d96c648..2e92f2a55d 100644 --- a/src/core/or/relay.c +++ b/src/core/or/relay.c @@ -49,7 +49,7 @@ #include "core/or/or.h" #include "feature/client/addressmap.h" #include "lib/err/backtrace.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "core/or/channel.h" #include "feature/client/circpathbias.h" #include "core/or/circuitbuild.h" diff --git a/src/core/or/scheduler.c b/src/core/or/scheduler.c index 326e0d65d9..937e7e45db 100644 --- a/src/core/or/scheduler.c +++ b/src/core/or/scheduler.c @@ -9,7 +9,7 @@ #define SCHEDULER_KIST_PRIVATE #include "core/or/scheduler.h" #include "core/mainloop/mainloop.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #define TOR_CHANNEL_INTERNAL_ #include "core/or/channeltls.h" #include "lib/evloop/compat_libevent.h" diff --git a/src/core/or/scheduler_kist.c b/src/core/or/scheduler_kist.c index f112ea6357..3ed0f1a5e2 100644 --- a/src/core/or/scheduler_kist.c +++ b/src/core/or/scheduler_kist.c @@ -4,7 +4,7 @@ #define SCHEDULER_KIST_PRIVATE #include "core/or/or.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "app/config/config.h" #include "core/mainloop/connection.h" #include "feature/nodelist/networkstatus.h" diff --git a/src/core/or/versions.c b/src/core/or/versions.c index 06274996a7..7bd1f5899f 100644 --- a/src/core/or/versions.c +++ b/src/core/or/versions.c @@ -16,6 +16,25 @@ #include "core/or/tor_version_st.h" +/** + * Return the approximate date when this release came out, or was + * scheduled to come out, according to the APPROX_RELEASE_DATE set in + * configure.ac + **/ +time_t +tor_get_approx_release_date(void) +{ + char tbuf[ISO_TIME_LEN+1]; + tor_snprintf(tbuf, sizeof(tbuf), + "%s 00:00:00", APPROX_RELEASE_DATE); + time_t result = 0; + int r = parse_iso_time(tbuf, &result); + if (BUG(r < 0)) { + result = 0; + } + return result; +} + /** Return VS_RECOMMENDED if <b>myversion</b> is contained in * <b>versionlist</b>. Else, return VS_EMPTY if versionlist has no * entries. Else, return VS_OLD if every member of @@ -377,6 +396,64 @@ sort_version_list(smartlist_t *versions, int remove_duplicates) smartlist_uniq(versions, compare_tor_version_str_ptr_, tor_free_); } +/** If there are more than this many entries, we're probably under + * some kind of weird DoS. */ +static const int MAX_PROTOVER_SUMMARY_MAP_LEN = 1024; + +/** + * Map from protover string to protover_summary_flags_t. + */ +static strmap_t *protover_summary_map = NULL; + +/** + * Helper. Given a non-NULL protover string <b>protocols</b>, set <b>out</b> + * to its summary, and memoize the result in <b>protover_summary_map</b>. + */ +static void +memoize_protover_summary(protover_summary_flags_t *out, + const char *protocols) +{ + if (!protover_summary_map) + protover_summary_map = strmap_new(); + + if (strmap_size(protover_summary_map) >= MAX_PROTOVER_SUMMARY_MAP_LEN) { + protover_summary_cache_free_all(); + tor_assert(protover_summary_map == NULL); + protover_summary_map = strmap_new(); + } + + const protover_summary_flags_t *cached = + strmap_get(protover_summary_map, protocols); + + if (cached != NULL) { + /* We found a cached entry; no need to parse this one. */ + memcpy(out, cached, sizeof(protover_summary_flags_t)); + tor_assert(out->protocols_known); + return; + } + + memset(out, 0, sizeof(*out)); + out->protocols_known = 1; + out->supports_extend2_cells = + protocol_list_supports_protocol(protocols, PRT_RELAY, 2); + out->supports_ed25519_link_handshake_compat = + protocol_list_supports_protocol(protocols, PRT_LINKAUTH, 3); + out->supports_ed25519_link_handshake_any = + protocol_list_supports_protocol_or_later(protocols, PRT_LINKAUTH, 3); + out->supports_ed25519_hs_intro = + protocol_list_supports_protocol(protocols, PRT_HSINTRO, 4); + out->supports_v3_hsdir = + protocol_list_supports_protocol(protocols, PRT_HSDIR, + PROTOVER_HSDIR_V3); + out->supports_v3_rendezvous_point = + protocol_list_supports_protocol(protocols, PRT_HSREND, + PROTOVER_HS_RENDEZVOUS_POINT_V3); + + protover_summary_flags_t *new_cached = tor_memdup(out, sizeof(*out)); + cached = strmap_set(protover_summary_map, protocols, new_cached); + tor_assert(!cached); +} + /** Summarize the protocols listed in <b>protocols</b> into <b>out</b>, * falling back or correcting them based on <b>version</b> as appropriate. */ @@ -388,21 +465,7 @@ summarize_protover_flags(protover_summary_flags_t *out, tor_assert(out); memset(out, 0, sizeof(*out)); if (protocols) { - out->protocols_known = 1; - out->supports_extend2_cells = - protocol_list_supports_protocol(protocols, PRT_RELAY, 2); - out->supports_ed25519_link_handshake_compat = - protocol_list_supports_protocol(protocols, PRT_LINKAUTH, 3); - out->supports_ed25519_link_handshake_any = - protocol_list_supports_protocol_or_later(protocols, PRT_LINKAUTH, 3); - out->supports_ed25519_hs_intro = - protocol_list_supports_protocol(protocols, PRT_HSINTRO, 4); - out->supports_v3_hsdir = - protocol_list_supports_protocol(protocols, PRT_HSDIR, - PROTOVER_HSDIR_V3); - out->supports_v3_rendezvous_point = - protocol_list_supports_protocol(protocols, PRT_HSREND, - PROTOVER_HS_RENDEZVOUS_POINT_V3); + memoize_protover_summary(out, protocols); } if (version && !strcmpstart(version, "Tor ")) { if (!out->protocols_known) { @@ -420,3 +483,13 @@ summarize_protover_flags(protover_summary_flags_t *out, } } } + +/** + * Free all space held in the protover_summary_map. + */ +void +protover_summary_cache_free_all(void) +{ + strmap_free(protover_summary_map, tor_free_); + protover_summary_map = NULL; +} diff --git a/src/core/or/versions.h b/src/core/or/versions.h index 0c773f3f4c..acd8998918 100644 --- a/src/core/or/versions.h +++ b/src/core/or/versions.h @@ -26,6 +26,8 @@ typedef enum version_status_t { VS_UNKNOWN, /**< We have no idea. */ } version_status_t; +time_t tor_get_approx_release_date(void); + version_status_t tor_version_is_obsolete(const char *myversion, const char *versionlist); int tor_version_parse_platform(const char *platform, @@ -41,4 +43,6 @@ void summarize_protover_flags(protover_summary_flags_t *out, const char *protocols, const char *version); +void protover_summary_cache_free_all(void); + #endif /* !defined(TOR_VERSIONS_H) */ diff --git a/src/core/proto/proto_cell.c b/src/core/proto/proto_cell.c index 49b07663d7..70278cd488 100644 --- a/src/core/proto/proto_cell.c +++ b/src/core/proto/proto_cell.c @@ -5,7 +5,7 @@ /* See LICENSE for licensing information */ #include "core/or/or.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "core/proto/proto_cell.h" #include "core/or/connection_or.h" diff --git a/src/core/proto/proto_control0.c b/src/core/proto/proto_control0.c index d26c69753a..a770a061a7 100644 --- a/src/core/proto/proto_control0.c +++ b/src/core/proto/proto_control0.c @@ -5,7 +5,7 @@ /* See LICENSE for licensing information */ #include "core/or/or.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "core/proto/proto_control0.h" /** Return 1 iff buf looks more like it has an (obsolete) v0 controller diff --git a/src/core/proto/proto_ext_or.c b/src/core/proto/proto_ext_or.c index 04bec4e6b9..fe36f6b396 100644 --- a/src/core/proto/proto_ext_or.c +++ b/src/core/proto/proto_ext_or.c @@ -5,7 +5,7 @@ /* See LICENSE for licensing information */ #include "core/or/or.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "feature/relay/ext_orport.h" #include "core/proto/proto_ext_or.h" diff --git a/src/core/proto/proto_http.c b/src/core/proto/proto_http.c index 37298d1284..4ce9ba02f5 100644 --- a/src/core/proto/proto_http.c +++ b/src/core/proto/proto_http.c @@ -6,7 +6,7 @@ #define PROTO_HTTP_PRIVATE #include "core/or/or.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "core/proto/proto_http.h" /** Return true if <b>cmd</b> looks like a HTTP (proxy) request. */ diff --git a/src/core/proto/proto_socks.c b/src/core/proto/proto_socks.c index e23da7730b..4071f34f0d 100644 --- a/src/core/proto/proto_socks.c +++ b/src/core/proto/proto_socks.c @@ -6,7 +6,7 @@ #include "core/or/or.h" #include "feature/client/addressmap.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "core/mainloop/connection.h" #include "feature/control/control.h" #include "app/config/config.h" diff --git a/src/ext/.may_include b/src/ext/.may_include new file mode 100644 index 0000000000..1eafff2eeb --- /dev/null +++ b/src/ext/.may_include @@ -0,0 +1,10 @@ + +orconfig.h + +lib/err/*.h +lib/cc/*.h + +tinytest*.h +ext/siphash.h +ext/byteorder.h +ext/tor_readpassphrase.h
\ No newline at end of file diff --git a/src/ext/csiphash.c b/src/ext/csiphash.c index a6a9846db4..af8559a476 100644 --- a/src/ext/csiphash.c +++ b/src/ext/csiphash.c @@ -30,12 +30,12 @@ */ #include "lib/cc/torint.h" -#include "lib/log/util_bug.h" +#include "lib/err/torerr.h" -#include "siphash.h" +#include "ext/siphash.h" #include <string.h> #include <stdlib.h> -#include "byteorder.h" +#include "ext/byteorder.h" #define ROTATE(x, b) (uint64_t)( ((x) << (b)) | ( (x) >> (64 - (b))) ) @@ -112,13 +112,13 @@ static int the_siphash_key_is_set = 0; static struct sipkey the_siphash_key; uint64_t siphash24g(const void *src, unsigned long src_sz) { - tor_assert(the_siphash_key_is_set); + raw_assert(the_siphash_key_is_set); return siphash24(src, src_sz, &the_siphash_key); } void siphash_set_global_key(const struct sipkey *key) { - tor_assert(! the_siphash_key_is_set); + raw_assert(! the_siphash_key_is_set); the_siphash_key.k0 = key->k0; the_siphash_key.k1 = key->k1; the_siphash_key_is_set = 1; diff --git a/src/ext/readpassphrase.c b/src/ext/readpassphrase.c index e0df05d7b7..16611af1e2 100644 --- a/src/ext/readpassphrase.c +++ b/src/ext/readpassphrase.c @@ -30,7 +30,7 @@ #include <signal.h> #include <ctype.h> #include <fcntl.h> -#include "tor_readpassphrase.h" +#include "ext/tor_readpassphrase.h" #include <errno.h> #include <string.h> #include <unistd.h> diff --git a/src/ext/timeouts/.may_include b/src/ext/timeouts/.may_include new file mode 100644 index 0000000000..42f44befd4 --- /dev/null +++ b/src/ext/timeouts/.may_include @@ -0,0 +1,6 @@ +orconfig.h + +ext/tor_queue.h +timeout-bitops.c +timeout-debug.h +timeout.h diff --git a/src/ext/timeouts/timeout.c b/src/ext/timeouts/timeout.c index d4b514d2c5..07d06772c5 100644 --- a/src/ext/timeouts/timeout.c +++ b/src/ext/timeouts/timeout.c @@ -38,7 +38,7 @@ #include <errno.h> /* errno */ -#include "tor_queue.h" /* TAILQ(3) */ +#include "ext/tor_queue.h" /* TAILQ(3) */ #include "timeout.h" @@ -531,7 +531,7 @@ static timeout_t timeouts_int(struct timeouts *T) { timeout = MIN(_timeout, timeout); } - relmask <<= WHEEL_BIT; + relmask <<= WHEEL_BIT; relmask |= WHEEL_MASK; } @@ -751,4 +751,3 @@ TIMEOUT_PUBLIC int timeout_v_abi(void) { TIMEOUT_PUBLIC int timeout_v_api(void) { return TIMEOUT_V_API; } /* timeout_version() */ - diff --git a/src/ext/timeouts/timeout.h b/src/ext/timeouts/timeout.h index b35874e153..1ed309fd08 100644 --- a/src/ext/timeouts/timeout.h +++ b/src/ext/timeouts/timeout.h @@ -31,7 +31,7 @@ #include <inttypes.h> /* PRIu64 PRIx64 PRIX64 uint64_t */ -#include "tor_queue.h" /* TAILQ(3) */ +#include "ext/tor_queue.h" /* TAILQ(3) */ /* @@ -147,7 +147,7 @@ TIMEOUT_PUBLIC struct timeout *timeout_init(struct timeout *, int); #ifndef TIMEOUT_DISABLE_RELATIVE_ACCESS TIMEOUT_PUBLIC bool timeout_pending(struct timeout *); /* true if on timing wheel, false otherwise */ - + TIMEOUT_PUBLIC bool timeout_expired(struct timeout *); /* true if on expired queue, false otherwise */ diff --git a/src/feature/client/bridges.c b/src/feature/client/bridges.c index 47a4249556..5b537eb16b 100644 --- a/src/feature/client/bridges.c +++ b/src/feature/client/bridges.c @@ -844,7 +844,8 @@ rewrite_node_address_for_bridge(const bridge_info_t *bridge, node_t *node) } } - if (options->ClientPreferIPv6ORPort == -1) { + if (options->ClientPreferIPv6ORPort == -1 || + options->ClientAutoIPv6ORPort == 0) { /* Mark which address to use based on which bridge_t we got. */ node->ipv6_preferred = (tor_addr_family(&bridge->addr) == AF_INET6 && !tor_addr_is_null(&node->ri->ipv6_addr)); diff --git a/src/feature/client/dnsserv.c b/src/feature/client/dnsserv.c index ea4951f915..e5abe5c6aa 100644 --- a/src/feature/client/dnsserv.c +++ b/src/feature/client/dnsserv.c @@ -28,6 +28,7 @@ #include "core/or/connection_edge.h" #include "feature/control/control.h" #include "core/mainloop/mainloop.h" +#include "core/mainloop/netstatus.h" #include "core/or/policies.h" #include "feature/control/control_connection_st.h" @@ -213,6 +214,9 @@ dnsserv_launch_request(const char *name, int reverse, edge_connection_t *conn; char *q_name; + /* Launching a request for a user counts as user activity. */ + note_user_activity(approx_time()); + /* Make a new dummy AP connection, and attach the request to it. */ entry_conn = entry_connection_new(CONN_TYPE_AP, AF_INET); entry_conn->entry_cfg.dns_request = 1; diff --git a/src/feature/client/entrynodes.c b/src/feature/client/entrynodes.c index 20208ef613..e0fe1b9a58 100644 --- a/src/feature/client/entrynodes.c +++ b/src/feature/client/entrynodes.c @@ -287,7 +287,9 @@ create_initial_guard_context(void) guard_selection_type_t type = GS_TYPE_INFER; const char *name = choose_guard_selection( get_options(), - networkstatus_get_live_consensus(approx_time()), + networkstatus_get_reasonably_live_consensus( + approx_time(), + usable_consensus_flavor()), NULL, &type); tor_assert(name); // "name" can only be NULL if we had an old name. @@ -726,7 +728,9 @@ update_guard_selection_choice(const or_options_t *options) guard_selection_type_t type = GS_TYPE_INFER; const char *new_name = choose_guard_selection( options, - networkstatus_get_live_consensus(approx_time()), + networkstatus_get_reasonably_live_consensus( + approx_time(), + usable_consensus_flavor()), curr_guard_context, &type); tor_assert(new_name); @@ -1125,14 +1129,16 @@ select_and_add_guard_item_for_sample(guard_selection_t *gs, * or if we don't need a consensus because we're using bridges.) */ static int -live_consensus_is_missing(const guard_selection_t *gs) +reasonably_live_consensus_is_missing(const guard_selection_t *gs) { tor_assert(gs); if (gs->type == GS_TYPE_BRIDGE) { /* We don't update bridges from the consensus; they aren't there. */ return 0; } - return networkstatus_get_live_consensus(approx_time()) == NULL; + return networkstatus_get_reasonably_live_consensus( + approx_time(), + usable_consensus_flavor()) == NULL; } /** @@ -1147,9 +1153,9 @@ entry_guards_expand_sample(guard_selection_t *gs) tor_assert(gs); const or_options_t *options = get_options(); - if (live_consensus_is_missing(gs)) { + if (reasonably_live_consensus_is_missing(gs)) { log_info(LD_GUARD, "Not expanding the sample guard set; we have " - "no live consensus."); + "no reasonably live consensus."); return NULL; } @@ -1395,11 +1401,12 @@ sampled_guards_update_from_consensus(guard_selection_t *gs) { tor_assert(gs); - // It's important to use only a live consensus here; we don't want to - // make changes based on anything expired or old. - if (live_consensus_is_missing(gs)) { + // It's important to use a reasonably live consensus here; we want clients + // to bootstrap even if their clock is skewed by more than 2-3 hours. + // But we don't want to make changes based on anything that's really old. + if (reasonably_live_consensus_is_missing(gs)) { log_info(LD_GUARD, "Not updating the sample guard set; we have " - "no live consensus."); + "no reasonably live consensus."); return; } log_info(LD_GUARD, "Updating sampled guard status based on received " diff --git a/src/feature/client/transports.c b/src/feature/client/transports.c index 85d4d2e080..de53fe3469 100644 --- a/src/feature/client/transports.c +++ b/src/feature/client/transports.c @@ -102,10 +102,10 @@ #include "feature/relay/ext_orport.h" #include "feature/control/control.h" +#include "lib/process/process.h" #include "lib/process/env.h" -#include "lib/process/subprocess.h" -static process_environment_t * +static smartlist_t * create_managed_proxy_environment(const managed_proxy_t *mp); static inline int proxy_configuration_finished(const managed_proxy_t *mp); @@ -127,6 +127,7 @@ static void parse_method_error(const char *line, int is_server_method); #define PROTO_SMETHODS_DONE "SMETHODS DONE" #define PROTO_PROXY_DONE "PROXY DONE" #define PROTO_PROXY_ERROR "PROXY-ERROR" +#define PROTO_LOG "LOG" /** The first and only supported - at the moment - configuration protocol version. */ @@ -490,8 +491,8 @@ proxy_prepare_for_restart(managed_proxy_t *mp) tor_assert(mp->conf_state == PT_PROTO_COMPLETED); /* destroy the process handle and terminate the process. */ - tor_process_handle_destroy(mp->process_handle, 1); - mp->process_handle = NULL; + process_set_data(mp->process, NULL); + process_terminate(mp->process); /* destroy all its registered transports, since we will no longer use them. */ @@ -520,34 +521,35 @@ proxy_prepare_for_restart(managed_proxy_t *mp) static int launch_managed_proxy(managed_proxy_t *mp) { - int retval; - - process_environment_t *env = create_managed_proxy_environment(mp); - -#ifdef _WIN32 - /* Passing NULL as lpApplicationName makes Windows search for the .exe */ - retval = tor_spawn_background(NULL, - (const char **)mp->argv, - env, - &mp->process_handle); -#else /* !(defined(_WIN32)) */ - retval = tor_spawn_background(mp->argv[0], - (const char **)mp->argv, - env, - &mp->process_handle); -#endif /* defined(_WIN32) */ - - process_environment_free(env); - - if (retval == PROCESS_STATUS_ERROR) { - log_warn(LD_GENERAL, "Managed proxy at '%s' failed at launch.", + tor_assert(mp); + + smartlist_t *env = create_managed_proxy_environment(mp); + + /* Configure our process. */ + process_set_data(mp->process, mp); + process_set_stdout_read_callback(mp->process, managed_proxy_stdout_callback); + process_set_stderr_read_callback(mp->process, managed_proxy_stderr_callback); + process_set_exit_callback(mp->process, managed_proxy_exit_callback); + process_set_protocol(mp->process, PROCESS_PROTOCOL_LINE); + process_reset_environment(mp->process, env); + + /* Cleanup our env. */ + SMARTLIST_FOREACH(env, char *, x, tor_free(x)); + smartlist_free(env); + + /* Skip the argv[0] as we get that from process_new(argv[0]). */ + for (int i = 1; mp->argv[i] != NULL; ++i) + process_append_argument(mp->process, mp->argv[i]); + + if (process_exec(mp->process) != PROCESS_STATUS_RUNNING) { + log_warn(LD_CONFIG, "Managed proxy at '%s' failed at launch.", mp->argv[0]); return -1; } - log_info(LD_CONFIG, "Managed proxy at '%s' has spawned with PID '%d'.", - mp->argv[0], tor_process_get_pid(mp->process_handle)); - + log_info(LD_CONFIG, + "Managed proxy at '%s' has spawned with PID '%" PRIu64 "'.", + mp->argv[0], process_get_pid(mp->process)); mp->conf_state = PT_PROTO_LAUNCHED; return 0; @@ -615,10 +617,6 @@ pt_configure_remaining_proxies(void) STATIC int configure_proxy(managed_proxy_t *mp) { - int configuration_finished = 0; - smartlist_t *proxy_output = NULL; - enum stream_status stream_status = 0; - /* if we haven't launched the proxy yet, do it now */ if (mp->conf_state == PT_PROTO_INFANT) { if (launch_managed_proxy(mp) < 0) { /* launch fail */ @@ -629,45 +627,8 @@ configure_proxy(managed_proxy_t *mp) } tor_assert(mp->conf_state != PT_PROTO_INFANT); - tor_assert(mp->process_handle); - - proxy_output = - tor_get_lines_from_handle(tor_process_get_stdout_pipe(mp->process_handle), - &stream_status); - if (!proxy_output) { /* failed to get input from proxy */ - if (stream_status != IO_STREAM_EAGAIN) { /* bad stream status! */ - mp->conf_state = PT_PROTO_BROKEN; - log_warn(LD_GENERAL, "The communication stream of managed proxy '%s' " - "is '%s'. Most probably the managed proxy stopped running. " - "This might be a bug of the managed proxy, a bug of Tor, or " - "a misconfiguration. Please enable logging on your managed " - "proxy and check the logs for errors.", - mp->argv[0], stream_status_to_string(stream_status)); - } - - goto done; - } - - /* Handle lines. */ - SMARTLIST_FOREACH_BEGIN(proxy_output, const char *, line) { - handle_proxy_line(line, mp); - if (proxy_configuration_finished(mp)) - goto done; - } SMARTLIST_FOREACH_END(line); - - done: - /* if the proxy finished configuring, exit the loop. */ - if (proxy_configuration_finished(mp)) { - handle_finished_proxy(mp); - configuration_finished = 1; - } - - if (proxy_output) { - SMARTLIST_FOREACH(proxy_output, char *, cp, tor_free(cp)); - smartlist_free(proxy_output); - } - - return configuration_finished; + tor_assert(mp->process); + return mp->conf_state == PT_PROTO_COMPLETED; } /** Register server managed proxy <b>mp</b> transports to state */ @@ -748,8 +709,11 @@ managed_proxy_destroy(managed_proxy_t *mp, /* free the outgoing proxy URI */ tor_free(mp->proxy_uri); - tor_process_handle_destroy(mp->process_handle, also_terminate_process); - mp->process_handle = NULL; + /* do we want to terminate our process if it's still running? */ + if (also_terminate_process && mp->process) + process_terminate(mp->process); + + process_free(mp->process); tor_free(mp); } @@ -945,21 +909,12 @@ handle_proxy_line(const char *line, managed_proxy_t *mp) parse_proxy_error(line); goto err; - } else if (!strcmpstart(line, SPAWN_ERROR_MESSAGE)) { - /* managed proxy launch failed: parse error message to learn why. */ - int retval, child_state, saved_errno; - retval = tor_sscanf(line, SPAWN_ERROR_MESSAGE "%x/%x", - &child_state, &saved_errno); - if (retval == 2) { - log_warn(LD_GENERAL, - "Could not launch managed proxy executable at '%s' ('%s').", - mp->argv[0], strerror(saved_errno)); - } else { /* failed to parse error message */ - log_warn(LD_GENERAL,"Could not launch managed proxy executable at '%s'.", - mp->argv[0]); - } - mp->conf_state = PT_PROTO_FAILED_LAUNCH; + /* We check for the additional " " after the PROTO_LOG string to make sure + * we can later extend this big if/else-if table with something that begins + * with "LOG" without having to get the order right. */ + } else if (!strcmpstart(line, PROTO_LOG " ")) { + parse_log_line(line, mp); return; } @@ -1182,6 +1137,31 @@ parse_proxy_error(const char *line) line+strlen(PROTO_PROXY_ERROR)+1); } +/** Parses a LOG <b>line</b> and emit log events accordingly. */ +STATIC void +parse_log_line(const char *line, managed_proxy_t *mp) +{ + tor_assert(line); + tor_assert(mp); + + if (strlen(line) < (strlen(PROTO_LOG) + 1)) { + log_warn(LD_PT, "Managed proxy sent us a %s line " + "with missing argument.", PROTO_LOG); + goto done; + } + + const char *message = line + strlen(PROTO_LOG) + 1; + + log_info(LD_PT, "Managed proxy \"%s\" says: %s", + mp->argv[0], message); + + /* Emit control port event. */ + control_event_pt_log(mp->argv[0], message); + + done: + return; +} + /** Return a newly allocated string that tor should place in * TOR_PT_SERVER_TRANSPORT_OPTIONS while configuring the server * manged proxy in <b>mp</b>. Return NULL if no such options are found. */ @@ -1257,7 +1237,7 @@ get_bindaddr_for_server_proxy(const managed_proxy_t *mp) /** Return a newly allocated process_environment_t * for <b>mp</b>'s * process. */ -static process_environment_t * +static smartlist_t * create_managed_proxy_environment(const managed_proxy_t *mp) { const or_options_t *options = get_options(); @@ -1272,8 +1252,6 @@ create_managed_proxy_environment(const managed_proxy_t *mp) /* The final environment to be passed to mp. */ smartlist_t *merged_env_vars = get_current_process_environment_variables(); - process_environment_t *env; - { char *state_tmp = get_datadir_fname("pt_state/"); /* XXX temp */ smartlist_add_asprintf(envs, "TOR_PT_STATE_LOCATION=%s", state_tmp); @@ -1366,14 +1344,9 @@ create_managed_proxy_environment(const managed_proxy_t *mp) tor_free_, 1); } SMARTLIST_FOREACH_END(env_var); - env = process_environment_make(merged_env_vars); - smartlist_free(envs); - SMARTLIST_FOREACH(merged_env_vars, void *, x, tor_free(x)); - smartlist_free(merged_env_vars); - - return env; + return merged_env_vars; } /** Create and return a new managed proxy for <b>transport</b> using @@ -1392,6 +1365,7 @@ managed_proxy_create(const smartlist_t *with_transport_list, mp->argv = proxy_argv; mp->transports = smartlist_new(); mp->proxy_uri = get_pt_proxy_uri(); + mp->process = process_new(proxy_argv[0]); mp->transports_to_launch = smartlist_new(); SMARTLIST_FOREACH(with_transport_list, const char *, transport, @@ -1736,3 +1710,72 @@ tor_escape_str_for_pt_args(const char *string, const char *chars_to_escape) return new_string; } + +/** Callback function that is called when our PT process have data on its + * stdout. Our process can be found in <b>process</b>, the data can be found in + * <b>line</b> and the length of our line is given in <b>size</b>. */ +STATIC void +managed_proxy_stdout_callback(process_t *process, + const char *line, + size_t size) +{ + tor_assert(process); + tor_assert(line); + + (void)size; + + managed_proxy_t *mp = process_get_data(process); + + handle_proxy_line(line, mp); + + if (proxy_configuration_finished(mp)) { + handle_finished_proxy(mp); + tor_assert(mp->conf_state == PT_PROTO_COMPLETED); + } +} + +/** Callback function that is called when our PT process have data on its + * stderr. Our process can be found in <b>process</b>, the data can be found in + * <b>line</b> and the length of our line is given in <b>size</b>. */ +STATIC void +managed_proxy_stderr_callback(process_t *process, + const char *line, + size_t size) +{ + tor_assert(process); + tor_assert(line); + + (void)size; + + managed_proxy_t *mp = process_get_data(process); + + log_warn(LD_PT, "Managed proxy at '%s' reported: %s", mp->argv[0], line); +} + +/** Callback function that is called when our PT process terminates. The + * process exit code can be found in <b>exit_code</b> and our process can be + * found in <b>process</b>. Returns true iff we want the process subsystem to + * free our process_t handle for us. */ +STATIC bool +managed_proxy_exit_callback(process_t *process, process_exit_code_t exit_code) +{ + tor_assert(process); + + log_warn(LD_PT, + "Pluggable Transport process terminated with status code %" PRIu64, + exit_code); + + /* We detach ourself from the MP (if we are attached) and free ourself. */ + managed_proxy_t *mp = process_get_data(process); + + /* If we are still attached to the process, it is probably because our PT + * process crashed before we got to call process_set_data(p, NULL); */ + if (BUG(mp != NULL)) { + /* FIXME(ahf): Our process stopped without us having told it to stop + * (crashed). Should we restart it here? */ + mp->process = NULL; + process_set_data(process, NULL); + } + + return true; +} diff --git a/src/feature/client/transports.h b/src/feature/client/transports.h index d304dcd485..a3994a0099 100644 --- a/src/feature/client/transports.h +++ b/src/feature/client/transports.h @@ -11,6 +11,8 @@ #ifndef TOR_TRANSPORTS_H #define TOR_TRANSPORTS_H +#include "lib/process/process.h" + /** Represents a pluggable transport used by a bridge. */ typedef struct transport_t { /** SOCKS version: One of PROXY_SOCKS4, PROXY_SOCKS5. */ @@ -81,7 +83,7 @@ enum pt_proto_state { PT_PROTO_FAILED_LAUNCH /* failed while launching */ }; -struct process_handle_t; +struct process_t; /** Structure containing information of a managed proxy. */ typedef struct { @@ -94,10 +96,8 @@ typedef struct { int is_server; /* is it a server proxy? */ - /* A pointer to the process handle of this managed proxy. */ - struct process_handle_t *process_handle; - - int pid; /* The Process ID this managed proxy is using. */ + /* A pointer to the process of this managed proxy. */ + struct process_t *process; /** Boolean: We are re-parsing our config, and we are going to * remove this managed proxy if we don't find it any transport @@ -128,6 +128,7 @@ STATIC int parse_version(const char *line, managed_proxy_t *mp); STATIC void parse_env_error(const char *line); STATIC void parse_proxy_error(const char *line); STATIC void handle_proxy_line(const char *line, managed_proxy_t *mp); +STATIC void parse_log_line(const char *line, managed_proxy_t *mp); STATIC char *get_transport_options_for_server_proxy(const managed_proxy_t *mp); STATIC void managed_proxy_destroy(managed_proxy_t *mp, @@ -142,6 +143,10 @@ STATIC char* get_pt_proxy_uri(void); STATIC void free_execve_args(char **arg); +STATIC void managed_proxy_stdout_callback(process_t *, const char *, size_t); +STATIC void managed_proxy_stderr_callback(process_t *, const char *, size_t); +STATIC bool managed_proxy_exit_callback(process_t *, process_exit_code_t); + #endif /* defined(PT_PRIVATE) */ #endif /* !defined(TOR_TRANSPORTS_H) */ diff --git a/src/feature/control/control.c b/src/feature/control/control.c index f0db97dc89..7fae3b7a1b 100644 --- a/src/feature/control/control.c +++ b/src/feature/control/control.c @@ -87,11 +87,12 @@ #include "feature/rend/rendservice.h" #include "feature/stats/geoip_stats.h" #include "feature/stats/predict_ports.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "lib/crypt_ops/crypto_rand.h" #include "lib/crypt_ops/crypto_util.h" #include "lib/encoding/confline.h" #include "lib/evloop/compat_libevent.h" +#include "lib/version/torversion.h" #include "feature/dircache/cached_dir_st.h" #include "feature/control/control_connection_st.h" @@ -178,13 +179,6 @@ static uint8_t *authentication_cookie = NULL; */ static smartlist_t *detached_onion_services = NULL; -/** A sufficiently large size to record the last bootstrap phase string. */ -#define BOOTSTRAP_MSG_LEN 1024 - -/** What was the last bootstrap phase message we sent? We keep track - * of this so we can respond to getinfo status/bootstrap-phase queries. */ -static char last_sent_bootstrap_message[BOOTSTRAP_MSG_LEN]; - static void connection_printf_to_buf(control_connection_t *conn, const char *format, ...) CHECK_PRINTF(2,3); @@ -367,7 +361,7 @@ control_update_global_event_mask(void) control_get_bytes_rw_last_sec(&r, &w); } if (any_old_per_sec_events != control_any_per_second_event_enabled()) { - reschedule_per_second_timer(); + rescan_periodic_events(get_options()); } #undef NEWLY_ENABLED @@ -1680,6 +1674,8 @@ static const struct signal_t signal_table[] = { { SIGNEWNYM, "NEWNYM" }, { SIGCLEARDNSCACHE, "CLEARDNSCACHE"}, { SIGHEARTBEAT, "HEARTBEAT"}, + { SIGACTIVE, "ACTIVE" }, + { SIGDORMANT, "DORMANT" }, { 0, NULL }, }; @@ -2352,7 +2348,11 @@ getinfo_helper_dir(control_connection_t *control_conn, *answer = tor_strdup(consensus->dir); } if (!*answer) { /* try loading it from disk */ - *answer = networkstatus_read_cached_consensus("ns"); + tor_mmap_t *mapped = networkstatus_map_cached_consensus("ns"); + if (mapped) { + *answer = tor_memdup_nulterm(mapped->data, mapped->size); + tor_munmap_file(mapped); + } if (!*answer) { /* generate an error */ *errmsg = "Could not open cached consensus. " "Make sure FetchUselessDescriptors is set to 1."; @@ -3037,7 +3037,7 @@ getinfo_helper_events(control_connection_t *control_conn, check_whether_orport_reachable(options) ? 1 : 0, check_whether_dirport_reachable(options) ? 1 : 0); } else if (!strcmp(question, "status/bootstrap-phase")) { - *answer = tor_strdup(last_sent_bootstrap_message); + *answer = control_event_boot_last_msg(); } else if (!strcmpstart(question, "status/version/")) { int is_server = server_mode(options); networkstatus_t *c = networkstatus_get_latest_consensus(); @@ -7008,361 +7008,6 @@ monitor_owning_controller_process(const char *process_spec) } } -/** Convert the name of a bootstrapping phase <b>s</b> into strings - * <b>tag</b> and <b>summary</b> suitable for display by the controller. */ -static int -bootstrap_status_to_string(bootstrap_status_t s, const char **tag, - const char **summary) -{ - switch (s) { - case BOOTSTRAP_STATUS_UNDEF: - *tag = "undef"; - *summary = "Undefined"; - break; - case BOOTSTRAP_STATUS_STARTING: - *tag = "starting"; - *summary = "Starting"; - break; - case BOOTSTRAP_STATUS_CONN_DIR: - *tag = "conn_dir"; - *summary = "Connecting to directory server"; - break; - case BOOTSTRAP_STATUS_HANDSHAKE: - *tag = "status_handshake"; - *summary = "Finishing handshake"; - break; - case BOOTSTRAP_STATUS_HANDSHAKE_DIR: - *tag = "handshake_dir"; - *summary = "Finishing handshake with directory server"; - break; - case BOOTSTRAP_STATUS_ONEHOP_CREATE: - *tag = "onehop_create"; - *summary = "Establishing an encrypted directory connection"; - break; - case BOOTSTRAP_STATUS_REQUESTING_STATUS: - *tag = "requesting_status"; - *summary = "Asking for networkstatus consensus"; - break; - case BOOTSTRAP_STATUS_LOADING_STATUS: - *tag = "loading_status"; - *summary = "Loading networkstatus consensus"; - break; - case BOOTSTRAP_STATUS_LOADING_KEYS: - *tag = "loading_keys"; - *summary = "Loading authority key certs"; - break; - case BOOTSTRAP_STATUS_REQUESTING_DESCRIPTORS: - *tag = "requesting_descriptors"; - /* XXXX this appears to incorrectly report internal on most loads */ - *summary = router_have_consensus_path() == CONSENSUS_PATH_INTERNAL ? - "Asking for relay descriptors for internal paths" : - "Asking for relay descriptors"; - break; - /* If we're sure there are no exits in the consensus, - * inform the controller by adding "internal" - * to the status summaries. - * (We only check this while loading descriptors, - * so we may not know in the earlier stages.) - * But if there are exits, we can't be sure whether - * we're creating internal or exit paths/circuits. - * XXXX Or should be use different tags or statuses - * for internal and exit/all? */ - case BOOTSTRAP_STATUS_LOADING_DESCRIPTORS: - *tag = "loading_descriptors"; - *summary = router_have_consensus_path() == CONSENSUS_PATH_INTERNAL ? - "Loading relay descriptors for internal paths" : - "Loading relay descriptors"; - break; - case BOOTSTRAP_STATUS_CONN_OR: - *tag = "conn_or"; - *summary = router_have_consensus_path() == CONSENSUS_PATH_INTERNAL ? - "Connecting to the Tor network internally" : - "Connecting to the Tor network"; - break; - case BOOTSTRAP_STATUS_HANDSHAKE_OR: - *tag = "handshake_or"; - *summary = router_have_consensus_path() == CONSENSUS_PATH_INTERNAL ? - "Finishing handshake with first hop of internal circuit" : - "Finishing handshake with first hop"; - break; - case BOOTSTRAP_STATUS_CIRCUIT_CREATE: - *tag = "circuit_create"; - *summary = router_have_consensus_path() == CONSENSUS_PATH_INTERNAL ? - "Establishing an internal Tor circuit" : - "Establishing a Tor circuit"; - break; - case BOOTSTRAP_STATUS_DONE: - *tag = "done"; - *summary = "Done"; - break; - default: -// log_warn(LD_BUG, "Unrecognized bootstrap status code %d", s); - *tag = *summary = "unknown"; - return -1; - } - return 0; -} - -/** What percentage through the bootstrap process are we? We remember - * this so we can avoid sending redundant bootstrap status events, and - * so we can guess context for the bootstrap messages which are - * ambiguous. It starts at 'undef', but gets set to 'starting' while - * Tor initializes. */ -static int bootstrap_percent = BOOTSTRAP_STATUS_UNDEF; - -/** Like bootstrap_percent, but only takes on the enumerated values in - * bootstrap_status_t. - */ -static int bootstrap_phase = BOOTSTRAP_STATUS_UNDEF; - -/** As bootstrap_percent, but holds the bootstrapping level at which we last - * logged a NOTICE-level message. We use this, plus BOOTSTRAP_PCT_INCREMENT, - * to avoid flooding the log with a new message every time we get a few more - * microdescriptors */ -static int notice_bootstrap_percent = 0; - -/** How many problems have we had getting to the next bootstrapping phase? - * These include failure to establish a connection to a Tor relay, - * failures to finish the TLS handshake, failures to validate the - * consensus document, etc. */ -static int bootstrap_problems = 0; - -/** We only tell the controller once we've hit a threshold of problems - * for the current phase. */ -#define BOOTSTRAP_PROBLEM_THRESHOLD 10 - -/** When our bootstrapping progress level changes, but our bootstrapping - * status has not advanced, we only log at NOTICE when we have made at least - * this much progress. - */ -#define BOOTSTRAP_PCT_INCREMENT 5 - -/** Do the actual logging and notifications for - * control_event_bootstrap(). Doesn't change any state beyond that. - */ -static void -control_event_bootstrap_core(int loglevel, bootstrap_status_t status, - int progress) -{ - char buf[BOOTSTRAP_MSG_LEN]; - const char *tag, *summary; - - bootstrap_status_to_string(status, &tag, &summary); - /* Locally reset status if there's incremental progress */ - if (progress) - status = progress; - - tor_log(loglevel, LD_CONTROL, - "Bootstrapped %d%%: %s", status, summary); - tor_snprintf(buf, sizeof(buf), - "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\"", - status, tag, summary); - tor_snprintf(last_sent_bootstrap_message, - sizeof(last_sent_bootstrap_message), - "NOTICE %s", buf); - control_event_client_status(LOG_NOTICE, "%s", buf); -} - -/** Called when Tor has made progress at bootstrapping its directory - * information and initial circuits. - * - * <b>status</b> is the new status, that is, what task we will be doing - * next. <b>progress</b> is zero if we just started this task, else it - * represents progress on the task. - */ -void -control_event_bootstrap(bootstrap_status_t status, int progress) -{ - int loglevel = LOG_NOTICE; - - if (bootstrap_percent == BOOTSTRAP_STATUS_DONE) - return; /* already bootstrapped; nothing to be done here. */ - - /* special case for handshaking status, since our TLS handshaking code - * can't distinguish what the connection is going to be for. */ - if (status == BOOTSTRAP_STATUS_HANDSHAKE) { - if (bootstrap_percent < BOOTSTRAP_STATUS_CONN_OR) { - status = BOOTSTRAP_STATUS_HANDSHAKE_DIR; - } else { - status = BOOTSTRAP_STATUS_HANDSHAKE_OR; - } - } - - if (status <= bootstrap_percent) { - /* If there's no new progress, return early. */ - if (!progress || progress <= bootstrap_percent) - return; - /* Log at INFO if not enough progress happened. */ - if (progress < notice_bootstrap_percent + BOOTSTRAP_PCT_INCREMENT) - loglevel = LOG_INFO; - } - - control_event_bootstrap_core(loglevel, status, progress); - - if (status > bootstrap_percent) { - bootstrap_phase = status; /* new milestone reached */ - bootstrap_percent = status; - } - if (progress > bootstrap_percent) { - /* incremental progress within a milestone */ - bootstrap_percent = progress; - bootstrap_problems = 0; /* Progress! Reset our problem counter. */ - } - if (loglevel == LOG_NOTICE && - bootstrap_percent > notice_bootstrap_percent) { - /* Remember that we gave a notice at this level. */ - notice_bootstrap_percent = bootstrap_percent; - } -} - -/** Flag whether we've opened an OR_CONN yet */ -static int bootstrap_first_orconn = 0; - -/** Like bootstrap_phase, but for (possibly deferred) directory progress */ -static int bootstrap_dir_phase = BOOTSTRAP_STATUS_UNDEF; - -/** Like bootstrap_problems, but for (possibly deferred) directory progress */ -static int bootstrap_dir_progress = BOOTSTRAP_STATUS_UNDEF; - -/** Defer directory info bootstrap events until we have successfully - * completed our first connection to a router. */ -void -control_event_boot_dir(bootstrap_status_t status, int progress) -{ - if (status > bootstrap_dir_progress) { - bootstrap_dir_progress = status; - bootstrap_dir_phase = status; - } - if (progress && progress >= bootstrap_dir_progress) { - bootstrap_dir_progress = progress; - } - - /* Don't report unless we have successfully opened at least one OR_CONN */ - if (!bootstrap_first_orconn) - return; - - control_event_bootstrap(status, progress); -} - -/** Set a flag to allow reporting of directory bootstrap progress. - * (Code that reports completion of an OR_CONN calls this.) Also, - * report directory progress so far. */ -void -control_event_boot_first_orconn(void) -{ - bootstrap_first_orconn = 1; - control_event_bootstrap(bootstrap_dir_phase, bootstrap_dir_progress); -} - -/** Called when Tor has failed to make bootstrapping progress in a way - * that indicates a problem. <b>warn</b> gives a human-readable hint - * as to why, and <b>reason</b> provides a controller-facing short - * tag. <b>conn</b> is the connection that caused this problem and - * can be NULL if a connection cannot be easily identified. - */ -void -control_event_bootstrap_problem(const char *warn, const char *reason, - const connection_t *conn, int dowarn) -{ - int status = bootstrap_percent; - const char *tag = "", *summary = ""; - char buf[BOOTSTRAP_MSG_LEN]; - const char *recommendation = "ignore"; - int severity; - char *or_id = NULL, *hostaddr = NULL; - or_connection_t *or_conn = NULL; - - /* bootstrap_percent must not be in "undefined" state here. */ - tor_assert(status >= 0); - - if (bootstrap_percent == 100) - return; /* already bootstrapped; nothing to be done here. */ - - bootstrap_problems++; - - if (bootstrap_problems >= BOOTSTRAP_PROBLEM_THRESHOLD) - dowarn = 1; - - /* Don't warn about our bootstrapping status if we are hibernating or - * shutting down. */ - if (we_are_hibernating()) - dowarn = 0; - - tor_assert(bootstrap_status_to_string(bootstrap_phase, &tag, &summary) == 0); - - severity = dowarn ? LOG_WARN : LOG_INFO; - - if (dowarn) - recommendation = "warn"; - - if (conn && conn->type == CONN_TYPE_OR) { - /* XXX TO_OR_CONN can't deal with const */ - or_conn = TO_OR_CONN((connection_t *)conn); - or_id = tor_strdup(hex_str(or_conn->identity_digest, DIGEST_LEN)); - } else { - or_id = tor_strdup("?"); - } - - if (conn) - tor_asprintf(&hostaddr, "%s:%d", conn->address, (int)conn->port); - else - hostaddr = tor_strdup("?"); - - log_fn(severity, - LD_CONTROL, "Problem bootstrapping. Stuck at %d%%: %s. (%s; %s; " - "count %d; recommendation %s; host %s at %s)", - status, summary, warn, reason, - bootstrap_problems, recommendation, - or_id, hostaddr); - - connection_or_report_broken_states(severity, LD_HANDSHAKE); - - tor_snprintf(buf, sizeof(buf), - "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\" WARNING=\"%s\" REASON=%s " - "COUNT=%d RECOMMENDATION=%s HOSTID=\"%s\" HOSTADDR=\"%s\"", - bootstrap_percent, tag, summary, warn, reason, bootstrap_problems, - recommendation, - or_id, hostaddr); - - tor_snprintf(last_sent_bootstrap_message, - sizeof(last_sent_bootstrap_message), - "WARN %s", buf); - control_event_client_status(LOG_WARN, "%s", buf); - - tor_free(hostaddr); - tor_free(or_id); -} - -/** Called when Tor has failed to make bootstrapping progress in a way - * that indicates a problem. <b>warn</b> gives a hint as to why, and - * <b>reason</b> provides an "or_conn_end_reason" tag. <b>or_conn</b> - * is the connection that caused this problem. - */ -MOCK_IMPL(void, -control_event_bootstrap_prob_or, (const char *warn, int reason, - or_connection_t *or_conn)) -{ - int dowarn = 0; - - if (or_conn->have_noted_bootstrap_problem) - return; - - or_conn->have_noted_bootstrap_problem = 1; - - if (reason == END_OR_CONN_REASON_NO_ROUTE) - dowarn = 1; - - /* If we are using bridges and all our OR connections are now - closed, it means that we totally failed to connect to our - bridges. Throw a warning. */ - if (get_options()->UseBridges && !any_other_active_or_conns(or_conn)) - dowarn = 1; - - control_event_bootstrap_problem(warn, - orconn_end_reason_to_control_string(reason), - TO_CONN(or_conn), dowarn); -} - /** We just generated a new summary of which countries we've seen clients * from recently. Send a copy to the controller in case it wants to * display it for the user. */ @@ -7388,6 +7033,17 @@ control_event_transport_launched(const char *mode, const char *transport_name, mode, transport_name, fmt_addr(addr), port); } +/** A pluggable transport called <b>pt_name</b> has emitted a log + * message found in <b>message</b>. */ +void +control_event_pt_log(const char *pt_name, const char *message) +{ + send_control_event(EVENT_PT_LOG, + "650 PT_LOG %s %s\r\n", + pt_name, + message); +} + /** Convert rendezvous auth type to string for HS_DESC control events */ const char * @@ -7879,13 +7535,10 @@ control_free_all(void) mainloop_event_free(flush_queued_events_event); flush_queued_events_event = NULL; } - bootstrap_percent = BOOTSTRAP_STATUS_UNDEF; - notice_bootstrap_percent = 0; - bootstrap_problems = 0; + control_event_bootstrap_reset(); authentication_cookie_is_set = 0; global_event_mask = 0; disable_log_messages = 0; - memset(last_sent_bootstrap_message, 0, sizeof(last_sent_bootstrap_message)); } #ifdef TOR_UNIT_TESTS diff --git a/src/feature/control/control.h b/src/feature/control/control.h index cd5402d455..a1609b0f06 100644 --- a/src/feature/control/control.h +++ b/src/feature/control/control.h @@ -200,11 +200,14 @@ void control_event_boot_dir(bootstrap_status_t status, int progress); void control_event_boot_first_orconn(void); void control_event_bootstrap_problem(const char *warn, const char *reason, const connection_t *conn, int dowarn); +char *control_event_boot_last_msg(void); +void control_event_bootstrap_reset(void); void control_event_clients_seen(const char *controller_str); void control_event_transport_launched(const char *mode, const char *transport_name, tor_addr_t *addr, uint16_t port); +void control_event_pt_log(const char *pt_name, const char *message); const char *rend_auth_type_to_string(rend_auth_type_t auth_type); MOCK_DECL(const char *, node_describe_longname_by_id,(const char *id_digest)); void control_event_hs_descriptor_requested(const char *onion_address, @@ -293,7 +296,8 @@ void control_free_all(void); #define EVENT_HS_DESC 0x0021 #define EVENT_HS_DESC_CONTENT 0x0022 #define EVENT_NETWORK_LIVENESS 0x0023 -#define EVENT_MAX_ 0x0023 +#define EVENT_PT_LOG 0x0024 +#define EVENT_MAX_ 0x0024 /* sizeof(control_connection_t.event_mask) in bits, currently a uint64_t */ #define EVENT_CAPACITY_ 0x0040 diff --git a/src/feature/control/control_bootstrap.c b/src/feature/control/control_bootstrap.c new file mode 100644 index 0000000000..0756e208e0 --- /dev/null +++ b/src/feature/control/control_bootstrap.c @@ -0,0 +1,358 @@ +/* Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file control_bootstrap.c + * \brief Provide bootstrap progress events for the control port. + */ +#include "core/or/or.h" + +#include "app/config/config.h" +#include "core/mainloop/connection.h" +#include "core/or/connection_or.h" +#include "core/or/connection_st.h" +#include "core/or/or_connection_st.h" +#include "core/or/reasons.h" +#include "feature/control/control.h" +#include "feature/hibernate/hibernate.h" +#include "lib/malloc/malloc.h" + +/** A sufficiently large size to record the last bootstrap phase string. */ +#define BOOTSTRAP_MSG_LEN 1024 + +/** What was the last bootstrap phase message we sent? We keep track + * of this so we can respond to getinfo status/bootstrap-phase queries. */ +static char last_sent_bootstrap_message[BOOTSTRAP_MSG_LEN]; + +/** Table to convert bootstrap statuses to strings. */ +static const struct { + bootstrap_status_t status; + const char *tag; + const char *summary; +} boot_to_str_tab[] = { + { BOOTSTRAP_STATUS_UNDEF, "undef", "Undefined" }, + { BOOTSTRAP_STATUS_STARTING, "starting", "Starting" }, + { BOOTSTRAP_STATUS_CONN_DIR, "conn_dir", "Connecting to directory server" }, + { BOOTSTRAP_STATUS_HANDSHAKE, "status_handshake", "Finishing handshake" }, + { BOOTSTRAP_STATUS_HANDSHAKE_DIR, "handshake_dir", + "Finishing handshake with directory server" }, + { BOOTSTRAP_STATUS_ONEHOP_CREATE, "onehop_create", + "Establishing an encrypted directory connection" }, + { BOOTSTRAP_STATUS_REQUESTING_STATUS, "requesting_status", + "Asking for networkstatus consensus" }, + { BOOTSTRAP_STATUS_LOADING_STATUS, "loading_status", + "Loading networkstatus consensus" }, + { BOOTSTRAP_STATUS_LOADING_KEYS, "loading_keys", + "Loading authority key certs" }, + { BOOTSTRAP_STATUS_REQUESTING_DESCRIPTORS, "requesting_descriptors", + "Asking for relay descriptors" }, + { BOOTSTRAP_STATUS_LOADING_DESCRIPTORS, "loading_descriptors", + "Loading relay descriptors" }, + { BOOTSTRAP_STATUS_CONN_OR, "conn_or", "Connecting to the Tor network" }, + { BOOTSTRAP_STATUS_HANDSHAKE_OR, "handshake_or", + "Finishing handshake with first hop" }, + { BOOTSTRAP_STATUS_CIRCUIT_CREATE, "circuit_create", + "Establishing a Tor circuit" }, + { BOOTSTRAP_STATUS_DONE, "done", "Done" }, +}; +#define N_BOOT_TO_STR (sizeof(boot_to_str_tab)/sizeof(boot_to_str_tab[0])) + +/** Convert the name of a bootstrapping phase <b>s</b> into strings + * <b>tag</b> and <b>summary</b> suitable for display by the controller. */ +static int +bootstrap_status_to_string(bootstrap_status_t s, const char **tag, + const char **summary) +{ + for (size_t i = 0; i < N_BOOT_TO_STR; i++) { + if (s == boot_to_str_tab[i].status) { + *tag = boot_to_str_tab[i].tag; + *summary = boot_to_str_tab[i].summary; + return 0; + } + } + + *tag = *summary = "unknown"; + return -1; +} + +/** What percentage through the bootstrap process are we? We remember + * this so we can avoid sending redundant bootstrap status events, and + * so we can guess context for the bootstrap messages which are + * ambiguous. It starts at 'undef', but gets set to 'starting' while + * Tor initializes. */ +static int bootstrap_percent = BOOTSTRAP_STATUS_UNDEF; + +/** Like bootstrap_percent, but only takes on the enumerated values in + * bootstrap_status_t. + */ +static int bootstrap_phase = BOOTSTRAP_STATUS_UNDEF; + +/** As bootstrap_percent, but holds the bootstrapping level at which we last + * logged a NOTICE-level message. We use this, plus BOOTSTRAP_PCT_INCREMENT, + * to avoid flooding the log with a new message every time we get a few more + * microdescriptors */ +static int notice_bootstrap_percent = 0; + +/** How many problems have we had getting to the next bootstrapping phase? + * These include failure to establish a connection to a Tor relay, + * failures to finish the TLS handshake, failures to validate the + * consensus document, etc. */ +static int bootstrap_problems = 0; + +/** We only tell the controller once we've hit a threshold of problems + * for the current phase. */ +#define BOOTSTRAP_PROBLEM_THRESHOLD 10 + +/** When our bootstrapping progress level changes, but our bootstrapping + * status has not advanced, we only log at NOTICE when we have made at least + * this much progress. + */ +#define BOOTSTRAP_PCT_INCREMENT 5 + +/** Do the actual logging and notifications for + * control_event_bootstrap(). Doesn't change any state beyond that. + */ +static void +control_event_bootstrap_core(int loglevel, bootstrap_status_t status, + int progress) +{ + char buf[BOOTSTRAP_MSG_LEN]; + const char *tag, *summary; + + bootstrap_status_to_string(status, &tag, &summary); + /* Locally reset status if there's incremental progress */ + if (progress) + status = progress; + + tor_log(loglevel, LD_CONTROL, + "Bootstrapped %d%% (%s): %s", status, tag, summary); + tor_snprintf(buf, sizeof(buf), + "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\"", + status, tag, summary); + tor_snprintf(last_sent_bootstrap_message, + sizeof(last_sent_bootstrap_message), + "NOTICE %s", buf); + control_event_client_status(LOG_NOTICE, "%s", buf); +} + +/** Called when Tor has made progress at bootstrapping its directory + * information and initial circuits. + * + * <b>status</b> is the new status, that is, what task we will be doing + * next. <b>progress</b> is zero if we just started this task, else it + * represents progress on the task. + */ +void +control_event_bootstrap(bootstrap_status_t status, int progress) +{ + int loglevel = LOG_NOTICE; + + if (bootstrap_percent == BOOTSTRAP_STATUS_DONE) + return; /* already bootstrapped; nothing to be done here. */ + + /* special case for handshaking status, since our TLS handshaking code + * can't distinguish what the connection is going to be for. */ + if (status == BOOTSTRAP_STATUS_HANDSHAKE) { + if (bootstrap_percent < BOOTSTRAP_STATUS_CONN_OR) { + status = BOOTSTRAP_STATUS_HANDSHAKE_DIR; + } else { + status = BOOTSTRAP_STATUS_HANDSHAKE_OR; + } + } + + if (status <= bootstrap_percent) { + /* If there's no new progress, return early. */ + if (!progress || progress <= bootstrap_percent) + return; + /* Log at INFO if not enough progress happened. */ + if (progress < notice_bootstrap_percent + BOOTSTRAP_PCT_INCREMENT) + loglevel = LOG_INFO; + } + + control_event_bootstrap_core(loglevel, status, progress); + + if (status > bootstrap_percent) { + bootstrap_phase = status; /* new milestone reached */ + bootstrap_percent = status; + } + if (progress > bootstrap_percent) { + /* incremental progress within a milestone */ + bootstrap_percent = progress; + bootstrap_problems = 0; /* Progress! Reset our problem counter. */ + } + if (loglevel == LOG_NOTICE && + bootstrap_percent > notice_bootstrap_percent) { + /* Remember that we gave a notice at this level. */ + notice_bootstrap_percent = bootstrap_percent; + } +} + +/** Flag whether we've opened an OR_CONN yet */ +static int bootstrap_first_orconn = 0; + +/** Like bootstrap_phase, but for (possibly deferred) directory progress */ +static int bootstrap_dir_phase = BOOTSTRAP_STATUS_UNDEF; + +/** Like bootstrap_problems, but for (possibly deferred) directory progress */ +static int bootstrap_dir_progress = BOOTSTRAP_STATUS_UNDEF; + +/** Defer directory info bootstrap events until we have successfully + * completed our first connection to a router. */ +void +control_event_boot_dir(bootstrap_status_t status, int progress) +{ + if (status > bootstrap_dir_progress) { + bootstrap_dir_progress = status; + bootstrap_dir_phase = status; + } + if (progress && progress >= bootstrap_dir_progress) { + bootstrap_dir_progress = progress; + } + + /* Don't report unless we have successfully opened at least one OR_CONN */ + if (!bootstrap_first_orconn) + return; + + control_event_bootstrap(status, progress); +} + +/** Set a flag to allow reporting of directory bootstrap progress. + * (Code that reports completion of an OR_CONN calls this.) Also, + * report directory progress so far. */ +void +control_event_boot_first_orconn(void) +{ + bootstrap_first_orconn = 1; + control_event_bootstrap(bootstrap_dir_phase, bootstrap_dir_progress); +} + +/** Called when Tor has failed to make bootstrapping progress in a way + * that indicates a problem. <b>warn</b> gives a human-readable hint + * as to why, and <b>reason</b> provides a controller-facing short + * tag. <b>conn</b> is the connection that caused this problem and + * can be NULL if a connection cannot be easily identified. + */ +void +control_event_bootstrap_problem(const char *warn, const char *reason, + const connection_t *conn, int dowarn) +{ + int status = bootstrap_percent; + const char *tag = "", *summary = ""; + char buf[BOOTSTRAP_MSG_LEN]; + const char *recommendation = "ignore"; + int severity; + char *or_id = NULL, *hostaddr = NULL; + or_connection_t *or_conn = NULL; + + /* bootstrap_percent must not be in "undefined" state here. */ + tor_assert(status >= 0); + + if (bootstrap_percent == 100) + return; /* already bootstrapped; nothing to be done here. */ + + bootstrap_problems++; + + if (bootstrap_problems >= BOOTSTRAP_PROBLEM_THRESHOLD) + dowarn = 1; + + /* Don't warn about our bootstrapping status if we are hibernating or + * shutting down. */ + if (we_are_hibernating()) + dowarn = 0; + + tor_assert(bootstrap_status_to_string(bootstrap_phase, &tag, &summary) == 0); + + severity = dowarn ? LOG_WARN : LOG_INFO; + + if (dowarn) + recommendation = "warn"; + + if (conn && conn->type == CONN_TYPE_OR) { + /* XXX TO_OR_CONN can't deal with const */ + or_conn = TO_OR_CONN((connection_t *)conn); + or_id = tor_strdup(hex_str(or_conn->identity_digest, DIGEST_LEN)); + } else { + or_id = tor_strdup("?"); + } + + if (conn) + tor_asprintf(&hostaddr, "%s:%d", conn->address, (int)conn->port); + else + hostaddr = tor_strdup("?"); + + log_fn(severity, + LD_CONTROL, "Problem bootstrapping. Stuck at %d%% (%s): %s. (%s; %s; " + "count %d; recommendation %s; host %s at %s)", + status, tag, summary, warn, reason, + bootstrap_problems, recommendation, + or_id, hostaddr); + + connection_or_report_broken_states(severity, LD_HANDSHAKE); + + tor_snprintf(buf, sizeof(buf), + "BOOTSTRAP PROGRESS=%d TAG=%s SUMMARY=\"%s\" WARNING=\"%s\" REASON=%s " + "COUNT=%d RECOMMENDATION=%s HOSTID=\"%s\" HOSTADDR=\"%s\"", + bootstrap_percent, tag, summary, warn, reason, bootstrap_problems, + recommendation, + or_id, hostaddr); + + tor_snprintf(last_sent_bootstrap_message, + sizeof(last_sent_bootstrap_message), + "WARN %s", buf); + control_event_client_status(LOG_WARN, "%s", buf); + + tor_free(hostaddr); + tor_free(or_id); +} + +/** Called when Tor has failed to make bootstrapping progress in a way + * that indicates a problem. <b>warn</b> gives a hint as to why, and + * <b>reason</b> provides an "or_conn_end_reason" tag. <b>or_conn</b> + * is the connection that caused this problem. + */ +MOCK_IMPL(void, +control_event_bootstrap_prob_or, (const char *warn, int reason, + or_connection_t *or_conn)) +{ + int dowarn = 0; + + if (or_conn->have_noted_bootstrap_problem) + return; + + or_conn->have_noted_bootstrap_problem = 1; + + if (reason == END_OR_CONN_REASON_NO_ROUTE) + dowarn = 1; + + /* If we are using bridges and all our OR connections are now + closed, it means that we totally failed to connect to our + bridges. Throw a warning. */ + if (get_options()->UseBridges && !any_other_active_or_conns(or_conn)) + dowarn = 1; + + control_event_bootstrap_problem(warn, + orconn_end_reason_to_control_string(reason), + TO_CONN(or_conn), dowarn); +} + +/** Return a copy of the last sent bootstrap message. */ +char * +control_event_boot_last_msg(void) +{ + return tor_strdup(last_sent_bootstrap_message); +} + +/** Reset bootstrap tracking state. */ +void +control_event_bootstrap_reset(void) +{ + bootstrap_percent = BOOTSTRAP_STATUS_UNDEF; + bootstrap_phase = BOOTSTRAP_STATUS_UNDEF; + notice_bootstrap_percent = 0; + bootstrap_problems = 0; + bootstrap_first_orconn = 0; + bootstrap_dir_progress = BOOTSTRAP_STATUS_UNDEF; + bootstrap_dir_phase = BOOTSTRAP_STATUS_UNDEF; + memset(last_sent_bootstrap_message, 0, sizeof(last_sent_bootstrap_message)); +} diff --git a/src/feature/dirauth/dirvote.c b/src/feature/dirauth/dirvote.c index 80a5b54737..d8a18835f2 100644 --- a/src/feature/dirauth/dirvote.c +++ b/src/feature/dirauth/dirvote.c @@ -28,6 +28,7 @@ #include "feature/nodelist/fmt_routerstatus.h" #include "feature/nodelist/microdesc.h" #include "feature/nodelist/networkstatus.h" +#include "feature/nodelist/nodefamily.h" #include "feature/nodelist/nodelist.h" #include "feature/nodelist/routerlist.h" #include "feature/relay/router.h" @@ -413,7 +414,8 @@ format_networkstatus_vote(crypto_pk_t *private_signing_key, { networkstatus_t *v; - if (!(v = networkstatus_parse_vote_from_string(status, NULL, + if (!(v = networkstatus_parse_vote_from_string(status, strlen(status), + NULL, v3_ns->type))) { log_err(LD_BUG,"Generated a networkstatus %s we couldn't parse: " "<<%s>>", @@ -2410,7 +2412,8 @@ networkstatus_compute_consensus(smartlist_t *votes, { networkstatus_t *c; - if (!(c = networkstatus_parse_vote_from_string(result, NULL, + if (!(c = networkstatus_parse_vote_from_string(result, strlen(result), + NULL, NS_TYPE_CONSENSUS))) { log_err(LD_BUG, "Generated a networkstatus consensus we couldn't " "parse."); @@ -3133,7 +3136,8 @@ dirvote_add_vote(const char *vote_body, const char **msg_out, int *status_out) *msg_out = NULL; again: - vote = networkstatus_parse_vote_from_string(vote_body, &end_of_vote, + vote = networkstatus_parse_vote_from_string(vote_body, strlen(vote_body), + &end_of_vote, NS_TYPE_VOTE); if (!end_of_vote) end_of_vote = vote_body + strlen(vote_body); @@ -3391,7 +3395,9 @@ dirvote_compute_consensuses(void) flavor_name); continue; } - consensus = networkstatus_parse_vote_from_string(consensus_body, NULL, + consensus = networkstatus_parse_vote_from_string(consensus_body, + strlen(consensus_body), + NULL, NS_TYPE_CONSENSUS); if (!consensus) { log_warn(LD_DIR, "Couldn't parse %s consensus we generated!", @@ -3530,7 +3536,7 @@ dirvote_add_signatures_to_pending_consensus( * just in case we break detached signature processing at some point. */ { networkstatus_t *v = networkstatus_parse_vote_from_string( - pc->body, NULL, + pc->body, strlen(pc->body), NULL, NS_TYPE_CONSENSUS); tor_assert(v); networkstatus_vote_free(v); @@ -3655,7 +3661,9 @@ dirvote_publish_consensus(void) continue; } - if (networkstatus_set_current_consensus(pending->body, name, 0, NULL)) + if (networkstatus_set_current_consensus(pending->body, + strlen(pending->body), + name, 0, NULL)) log_warn(LD_DIR, "Error publishing %s consensus", name); else log_notice(LD_DIR, "Published %s consensus", name); @@ -3792,8 +3800,16 @@ dirvote_create_microdescriptor(const routerinfo_t *ri, int consensus_method) smartlist_add_asprintf(chunks, "a %s\n", fmt_addrport(&ri->ipv6_addr, ri->ipv6_orport)); - if (family) - smartlist_add_asprintf(chunks, "family %s\n", family); + if (family) { + if (consensus_method < MIN_METHOD_FOR_CANONICAL_FAMILIES_IN_MICRODESCS) { + smartlist_add_asprintf(chunks, "family %s\n", family); + } else { + const uint8_t *id = (const uint8_t *)ri->cache_info.identity_digest; + char *canonical_family = nodefamily_canonicalize(family, id, 0); + smartlist_add_asprintf(chunks, "family %s\n", canonical_family); + tor_free(canonical_family); + } + } if (summary && strcmp(summary, "reject 1-65535")) smartlist_add_asprintf(chunks, "p %s\n", summary); @@ -3891,7 +3907,10 @@ static const struct consensus_method_range_t { int high; } microdesc_consensus_methods[] = { {MIN_SUPPORTED_CONSENSUS_METHOD, MIN_METHOD_FOR_NO_A_LINES_IN_MICRODESC - 1}, - {MIN_METHOD_FOR_NO_A_LINES_IN_MICRODESC, MAX_SUPPORTED_CONSENSUS_METHOD}, + {MIN_METHOD_FOR_NO_A_LINES_IN_MICRODESC, + MIN_METHOD_FOR_CANONICAL_FAMILIES_IN_MICRODESCS - 1}, + {MIN_METHOD_FOR_CANONICAL_FAMILIES_IN_MICRODESCS, + MAX_SUPPORTED_CONSENSUS_METHOD}, {-1, -1} }; @@ -4365,6 +4384,23 @@ clear_status_flags_on_sybil(routerstatus_t *rs) * forget to add it to this clause. */ } +/** Space-separated list of all the flags that we will always vote on. */ +const char DIRVOTE_UNIVERSAL_FLAGS[] = + "Authority " + "Exit " + "Fast " + "Guard " + "HSDir " + "Stable " + "StaleDesc " + "V2Dir " + "Valid"; +/** Space-separated list of all flags that we may or may not vote on, + * depending on our configuration. */ +const char DIRVOTE_OPTIONAL_FLAGS[] = + "BadExit " + "Running"; + /** Return a new networkstatus_t* containing our current opinion. (For v3 * authorities) */ networkstatus_t * @@ -4613,7 +4649,7 @@ dirserv_generate_networkstatus_vote_obj(crypto_pk_t *private_key, v3_out->known_flags = smartlist_new(); smartlist_split_string(v3_out->known_flags, - "Authority Exit Fast Guard Stable V2Dir Valid HSDir", + DIRVOTE_UNIVERSAL_FLAGS, 0, SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0); if (vote_on_reachability) smartlist_add_strdup(v3_out->known_flags, "Running"); diff --git a/src/feature/dirauth/dirvote.h b/src/feature/dirauth/dirvote.h index a21e9f3455..85f4800700 100644 --- a/src/feature/dirauth/dirvote.h +++ b/src/feature/dirauth/dirvote.h @@ -57,7 +57,7 @@ #define MIN_SUPPORTED_CONSENSUS_METHOD 25 /** The highest consensus method that we currently support. */ -#define MAX_SUPPORTED_CONSENSUS_METHOD 28 +#define MAX_SUPPORTED_CONSENSUS_METHOD 29 /** Lowest consensus method where authorities vote on required/recommended * protocols. */ @@ -79,6 +79,12 @@ * addresses. See #23828 and #20916. */ #define MIN_METHOD_FOR_NO_A_LINES_IN_MICRODESC 28 +/** + * Lowest consensus method where microdescriptor lines are put in canonical + * form for improved compressibility and ease of storage. See proposal 298. + **/ +#define MIN_METHOD_FOR_CANONICAL_FAMILIES_IN_MICRODESCS 29 + /** Default bandwidth to clip unmeasured bandwidths to using method >= * MIN_METHOD_TO_CLIP_UNMEASURED_BW. (This is not a consensus method; do not * get confused with the above macros.) */ @@ -92,6 +98,9 @@ /** Maximum size of a line in a vote. */ #define MAX_BW_FILE_HEADERS_LINE_LEN 1024 +extern const char DIRVOTE_UNIVERSAL_FLAGS[]; +extern const char DIRVOTE_OPTIONAL_FLAGS[]; + /* * Public API. Used outside of the dirauth subsystem. * diff --git a/src/feature/dirauth/process_descs.c b/src/feature/dirauth/process_descs.c index c379f25bdd..dca87b3eaf 100644 --- a/src/feature/dirauth/process_descs.c +++ b/src/feature/dirauth/process_descs.c @@ -519,7 +519,8 @@ WRA_MORE_SEVERE(was_router_added_t a, was_router_added_t b) /** As for dirserv_add_descriptor(), but accepts multiple documents, and * returns the most severe error that occurred for any one of them. */ was_router_added_t -dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose, +dirserv_add_multiple_descriptors(const char *desc, size_t desclen, + uint8_t purpose, const char *source, const char **msg) { @@ -536,6 +537,11 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose, r=ROUTER_ADDED_SUCCESSFULLY; /*Least severe return value. */ + if (!string_is_utf8_no_bom(desc, desclen)) { + *msg = "descriptor(s) or extrainfo(s) not valid UTF-8 or had BOM."; + return ROUTER_AUTHDIR_REJECTS; + } + format_iso_time(time_buf, now); if (tor_snprintf(annotation_buf, sizeof(annotation_buf), "@uploaded-at %s\n" @@ -552,7 +558,7 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose, s = desc; list = smartlist_new(); - if (!router_parse_list_from_string(&s, NULL, list, SAVED_NOWHERE, 0, 0, + if (!router_parse_list_from_string(&s, s+desclen, list, SAVED_NOWHERE, 0, 0, annotation_buf, NULL)) { SMARTLIST_FOREACH(list, routerinfo_t *, ri, { msg_out = NULL; @@ -568,7 +574,7 @@ dirserv_add_multiple_descriptors(const char *desc, uint8_t purpose, smartlist_clear(list); s = desc; - if (!router_parse_list_from_string(&s, NULL, list, SAVED_NOWHERE, 1, 0, + if (!router_parse_list_from_string(&s, s+desclen, list, SAVED_NOWHERE, 1, 0, NULL, NULL)) { SMARTLIST_FOREACH(list, extrainfo_t *, ei, { msg_out = NULL; diff --git a/src/feature/dirauth/process_descs.h b/src/feature/dirauth/process_descs.h index ad9d5c3d4c..5a0914acd8 100644 --- a/src/feature/dirauth/process_descs.h +++ b/src/feature/dirauth/process_descs.h @@ -17,7 +17,8 @@ void dirserv_free_fingerprint_list(void); int dirserv_add_own_fingerprint(crypto_pk_t *pk); enum was_router_added_t dirserv_add_multiple_descriptors( - const char *desc, uint8_t purpose, + const char *desc, size_t desclen, + uint8_t purpose, const char *source, const char **msg); enum was_router_added_t dirserv_add_descriptor(routerinfo_t *ri, diff --git a/src/feature/dirauth/shared_random.c b/src/feature/dirauth/shared_random.c index db4f9d328c..b027d9e375 100644 --- a/src/feature/dirauth/shared_random.c +++ b/src/feature/dirauth/shared_random.c @@ -949,7 +949,8 @@ sr_compute_srv(void) /* Computing a shared random value in the commit phase is very wrong. This * should only happen at the very end of the reveal phase when a new * protocol run is about to start. */ - tor_assert(sr_state_get_phase() == SR_PHASE_REVEAL); + if (BUG(sr_state_get_phase() != SR_PHASE_REVEAL)) + return; state_commits = sr_state_get_commits(); commits = smartlist_new(); diff --git a/src/feature/dirauth/shared_random_state.c b/src/feature/dirauth/shared_random_state.c index 38c7fd76d0..8c5b28b7cd 100644 --- a/src/feature/dirauth/shared_random_state.c +++ b/src/feature/dirauth/shared_random_state.c @@ -22,6 +22,7 @@ #include "feature/dirauth/shared_random_state.h" #include "feature/dircommon/voting_schedule.h" #include "lib/encoding/confline.h" +#include "lib/version/torversion.h" #include "app/config/or_state_st.h" @@ -594,8 +595,10 @@ disk_state_update(void) { config_line_t **next, *line; - tor_assert(sr_disk_state); - tor_assert(sr_state); + if (BUG(!sr_disk_state)) + return; + if (BUG(!sr_state)) + return; /* Reset current disk state. */ disk_state_reset(); @@ -759,7 +762,8 @@ disk_state_save_to_disk(void) STATIC void reset_state_for_new_protocol_run(time_t valid_after) { - tor_assert(sr_state); + if (BUG(!sr_state)) + return; /* Keep counters in track */ sr_state->n_reveal_rounds = 0; @@ -1091,7 +1095,8 @@ sr_state_update(time_t valid_after) { sr_phase_t next_phase; - tor_assert(sr_state); + if (BUG(!sr_state)) + return; /* Don't call this function twice in the same voting period. */ if (valid_after <= sr_state->valid_after) { @@ -1130,7 +1135,8 @@ sr_state_update(time_t valid_after) /* Count the current round */ if (sr_state->phase == SR_PHASE_COMMIT) { /* invariant check: we've not entered reveal phase yet */ - tor_assert(sr_state->n_reveal_rounds == 0); + if (BUG(sr_state->n_reveal_rounds != 0)) + return; sr_state->n_commit_rounds++; } else { sr_state->n_reveal_rounds++; @@ -1320,7 +1326,8 @@ sr_state_init(int save_to_disk, int read_from_disk) void set_sr_phase(sr_phase_t phase) { - tor_assert(sr_state); + if (BUG(!sr_state)) + return; sr_state->phase = phase; } diff --git a/src/feature/dirauth/voteflags.c b/src/feature/dirauth/voteflags.c index 4a24dcb50d..aab322d96f 100644 --- a/src/feature/dirauth/voteflags.c +++ b/src/feature/dirauth/voteflags.c @@ -95,7 +95,7 @@ real_uptime(const routerinfo_t *router, time_t now) */ static int dirserv_thinks_router_is_unreliable(time_t now, - routerinfo_t *router, + const routerinfo_t *router, int need_uptime, int need_capacity) { if (need_uptime) { @@ -541,7 +541,7 @@ dirserv_set_router_is_running(routerinfo_t *router, time_t now) void set_routerstatus_from_routerinfo(routerstatus_t *rs, node_t *node, - routerinfo_t *ri, + const routerinfo_t *ri, time_t now, int listbadexits) { @@ -593,6 +593,10 @@ set_routerstatus_from_routerinfo(routerstatus_t *rs, rs->or_port = ri->or_port; rs->dir_port = ri->dir_port; rs->is_v2_dir = ri->supports_tunnelled_dir_requests; + + rs->is_staledesc = + (ri->cache_info.published_on + DESC_IS_STALE_INTERVAL) < now; + if (options->AuthDirHasIPv6Connectivity == 1 && !tor_addr_is_null(&ri->ipv6_addr) && node->last_reachable6 >= now - REACHABLE_TIMEOUT) { diff --git a/src/feature/dirauth/voteflags.h b/src/feature/dirauth/voteflags.h index 2f0e061ea4..8dce9fbb04 100644 --- a/src/feature/dirauth/voteflags.h +++ b/src/feature/dirauth/voteflags.h @@ -19,12 +19,16 @@ int running_long_enough_to_decide_unreachable(void); void set_routerstatus_from_routerinfo(routerstatus_t *rs, node_t *node, - routerinfo_t *ri, time_t now, + const routerinfo_t *ri, + time_t now, int listbadexits); void dirserv_compute_performance_thresholds(digestmap_t *omit_as_sybil); #ifdef VOTEFLAGS_PRIVATE +/** Any descriptor older than this age causes the authorities to set the + * StaleDesc flag. */ +#define DESC_IS_STALE_INTERVAL (18*60*60) STATIC void dirserv_set_routerstatus_testing(routerstatus_t *rs); #endif diff --git a/src/feature/dircache/consdiffmgr.c b/src/feature/dircache/consdiffmgr.c index e79aad6efb..8ecab5ca69 100644 --- a/src/feature/dircache/consdiffmgr.c +++ b/src/feature/dircache/consdiffmgr.c @@ -189,6 +189,7 @@ static consdiff_cfg_t consdiff_cfg = { static int consdiffmgr_ensure_space_for_files(int n); static int consensus_queue_compression_work(const char *consensus, + size_t consensus_len, const networkstatus_t *as_parsed); static int consensus_diff_queue_diff_work(consensus_cache_entry_t *diff_from, consensus_cache_entry_t *diff_to); @@ -509,8 +510,25 @@ get_max_age_to_cache(void) MAX_MAX_AGE_TO_CACHE); } +#ifdef TOR_UNIT_TESTS +/** As consdiffmgr_add_consensus, but requires a nul-terminated input. For + * testing. */ +int +consdiffmgr_add_consensus_nulterm(const char *consensus, + const networkstatus_t *as_parsed) +{ + size_t len = strlen(consensus); + /* make a non-nul-terminated copy so that we can have a better chance + * of catching errors. */ + char *ctmp = tor_memdup(consensus, len); + int r = consdiffmgr_add_consensus(ctmp, len, as_parsed); + tor_free(ctmp); + return r; +} +#endif + /** - * Given a string containing a networkstatus consensus, and the results of + * Given a buffer containing a networkstatus consensus, and the results of * having parsed that consensus, add that consensus to the cache if it is not * already present and not too old. Create new consensus diffs from or to * that consensus as appropriate. @@ -519,6 +537,7 @@ get_max_age_to_cache(void) */ int consdiffmgr_add_consensus(const char *consensus, + size_t consensus_len, const networkstatus_t *as_parsed) { if (BUG(consensus == NULL) || BUG(as_parsed == NULL)) @@ -544,7 +563,7 @@ consdiffmgr_add_consensus(const char *consensus, } /* We don't have it. Add it to the cache. */ - return consensus_queue_compression_work(consensus, as_parsed); + return consensus_queue_compression_work(consensus, consensus_len, as_parsed); } /** @@ -1387,19 +1406,21 @@ typedef struct consensus_diff_worker_job_t { } consensus_diff_worker_job_t; /** Given a consensus_cache_entry_t, check whether it has a label claiming - * that it was compressed. If so, uncompress its contents into <b>out</b> and - * set <b>outlen</b> to hold their size. If not, just copy the body into - * <b>out</b> and set <b>outlen</b> to its length. Return 0 on success, - * -1 on failure. - * - * In all cases, the output is nul-terminated. */ + * that it was compressed. If so, uncompress its contents into *<b>out</b> and + * set <b>outlen</b> to hold their size, and set *<b>owned_out</b> to a pointer + * that the caller will need to free. If not, just set *<b>out</b> and + * <b>outlen</b> to its extent in memory. Return 0 on success, -1 on failure. + **/ STATIC int -uncompress_or_copy(char **out, size_t *outlen, - consensus_cache_entry_t *ent) +uncompress_or_set_ptr(const char **out, size_t *outlen, + char **owned_out, + consensus_cache_entry_t *ent) { const uint8_t *body; size_t bodylen; + *owned_out = NULL; + if (consensus_cache_entry_get_body(ent, &body, &bodylen) < 0) return -1; @@ -1410,8 +1431,17 @@ uncompress_or_copy(char **out, size_t *outlen, if (lv_compression) method = compression_method_get_by_name(lv_compression); - return tor_uncompress(out, outlen, (const char *)body, bodylen, + int rv; + if (method == NO_METHOD) { + *out = (const char *)body; + *outlen = bodylen; + rv = 0; + } else { + rv = tor_uncompress(owned_out, outlen, (const char *)body, bodylen, method, 1, LOG_WARN); + *out = *owned_out; + } + return rv; } /** @@ -1478,16 +1508,17 @@ consensus_diff_worker_threadfn(void *state_, void *work_) char *consensus_diff; { - char *diff_from_nt = NULL, *diff_to_nt = NULL; + const char *diff_from_nt = NULL, *diff_to_nt = NULL; + char *owned1 = NULL, *owned2 = NULL; size_t diff_from_nt_len, diff_to_nt_len; - if (uncompress_or_copy(&diff_from_nt, &diff_from_nt_len, - job->diff_from) < 0) { + if (uncompress_or_set_ptr(&diff_from_nt, &diff_from_nt_len, &owned1, + job->diff_from) < 0) { return WQ_RPL_REPLY; } - if (uncompress_or_copy(&diff_to_nt, &diff_to_nt_len, - job->diff_to) < 0) { - tor_free(diff_from_nt); + if (uncompress_or_set_ptr(&diff_to_nt, &diff_to_nt_len, &owned2, + job->diff_to) < 0) { + tor_free(owned1); return WQ_RPL_REPLY; } tor_assert(diff_from_nt); @@ -1496,9 +1527,12 @@ consensus_diff_worker_threadfn(void *state_, void *work_) // XXXX ugh; this is going to calculate the SHA3 of both its // XXXX inputs again, even though we already have that. Maybe it's time // XXXX to change the API here? - consensus_diff = consensus_diff_generate(diff_from_nt, diff_to_nt); - tor_free(diff_from_nt); - tor_free(diff_to_nt); + consensus_diff = consensus_diff_generate(diff_from_nt, + diff_from_nt_len, + diff_to_nt, + diff_to_nt_len); + tor_free(owned1); + tor_free(owned2); } if (!consensus_diff) { /* Couldn't generate consensus; we'll leave the reply blank. */ @@ -1746,8 +1780,8 @@ consensus_compress_worker_threadfn(void *state_, void *work_) (const uint8_t *)consensus, bodylen); { const char *start, *end; - if (router_get_networkstatus_v3_signed_boundaries(consensus, - &start, &end) < 0) { + if (router_get_networkstatus_v3_signed_boundaries(consensus, bodylen, + &start, &end) < 0) { start = consensus; end = consensus+bodylen; } @@ -1811,14 +1845,15 @@ static int background_compression = 0; */ static int consensus_queue_compression_work(const char *consensus, + size_t consensus_len, const networkstatus_t *as_parsed) { tor_assert(consensus); tor_assert(as_parsed); consensus_compress_worker_job_t *job = tor_malloc_zero(sizeof(*job)); - job->consensus = tor_strdup(consensus); - job->consensus_len = strlen(consensus); + job->consensus = tor_memdup_nulterm(consensus, consensus_len); + job->consensus_len = strlen(job->consensus); job->flavor = as_parsed->flavor; char va_str[ISO_TIME_LEN+1]; diff --git a/src/feature/dircache/consdiffmgr.h b/src/feature/dircache/consdiffmgr.h index 66c3d65002..011c8799d6 100644 --- a/src/feature/dircache/consdiffmgr.h +++ b/src/feature/dircache/consdiffmgr.h @@ -22,6 +22,7 @@ typedef struct consdiff_cfg_t { struct consensus_cache_entry_t; // from conscache.h int consdiffmgr_add_consensus(const char *consensus, + size_t consensus_len, const networkstatus_t *as_parsed); consdiff_status_t consdiffmgr_find_consensus( @@ -68,8 +69,14 @@ STATIC consensus_cache_entry_t *cdm_cache_lookup_consensus( STATIC int cdm_entry_get_sha3_value(uint8_t *digest_out, consensus_cache_entry_t *ent, const char *label); -STATIC int uncompress_or_copy(char **out, size_t *outlen, - consensus_cache_entry_t *ent); +STATIC int uncompress_or_set_ptr(const char **out, size_t *outlen, + char **owned_out, + consensus_cache_entry_t *ent); #endif /* defined(CONSDIFFMGR_PRIVATE) */ +#ifdef TOR_UNIT_TESTS +int consdiffmgr_add_consensus_nulterm(const char *consensus, + const networkstatus_t *as_parsed); +#endif + #endif /* !defined(TOR_CONSDIFFMGR_H) */ diff --git a/src/feature/dircache/dircache.c b/src/feature/dircache/dircache.c index 872a88018f..4032223db4 100644 --- a/src/feature/dircache/dircache.c +++ b/src/feature/dircache/dircache.c @@ -166,22 +166,16 @@ write_http_response_header_impl(dir_connection_t *conn, ssize_t length, buf_free(buf); } -/** As write_http_response_header_impl, but sets encoding and content-typed - * based on whether the response will be <b>compressed</b> or not. */ +/** As write_http_response_header_impl, but translates method into + * encoding */ static void write_http_response_headers(dir_connection_t *conn, ssize_t length, compress_method_t method, const char *extra_headers, long cache_lifetime) { - const char *methodname = compression_method_get_name(method); - const char *doctype; - if (method == NO_METHOD) - doctype = "text/plain"; - else - doctype = "application/octet-stream"; write_http_response_header_impl(conn, length, - doctype, - methodname, + "text/plain", + compression_method_get_name(method), extra_headers, cache_lifetime); } @@ -1608,8 +1602,8 @@ directory_handle_command_post,(dir_connection_t *conn, const char *headers, const char *msg = "[None]"; uint8_t purpose = authdir_mode_bridge(options) ? ROUTER_PURPOSE_BRIDGE : ROUTER_PURPOSE_GENERAL; - was_router_added_t r = dirserv_add_multiple_descriptors(body, purpose, - conn->base_.address, &msg); + was_router_added_t r = dirserv_add_multiple_descriptors(body, body_len, + purpose, conn->base_.address, &msg); tor_assert(msg); if (r == ROUTER_ADDED_SUCCESSFULLY) { diff --git a/src/feature/dircache/dirserv.c b/src/feature/dircache/dirserv.c index 57178cd506..4366000e2e 100644 --- a/src/feature/dircache/dirserv.c +++ b/src/feature/dircache/dirserv.c @@ -234,6 +234,7 @@ free_cached_dir_(void *_d) * validation is performed. */ void dirserv_set_cached_consensus_networkstatus(const char *networkstatus, + size_t networkstatus_len, const char *flavor_name, const common_digests_t *digests, const uint8_t *sha3_as_signed, @@ -244,7 +245,9 @@ dirserv_set_cached_consensus_networkstatus(const char *networkstatus, if (!cached_consensuses) cached_consensuses = strmap_new(); - new_networkstatus = new_cached_dir(tor_strdup(networkstatus), published); + new_networkstatus = + new_cached_dir(tor_memdup_nulterm(networkstatus, networkstatus_len), + published); memcpy(&new_networkstatus->digests, digests, sizeof(common_digests_t)); memcpy(&new_networkstatus->digest_sha3_as_signed, sha3_as_signed, DIGEST256_LEN); diff --git a/src/feature/dircache/dirserv.h b/src/feature/dircache/dirserv.h index 41e1376688..aa1e2494ca 100644 --- a/src/feature/dircache/dirserv.h +++ b/src/feature/dircache/dirserv.h @@ -84,6 +84,7 @@ int directory_too_idle_to_fetch_descriptors(const or_options_t *options, cached_dir_t *dirserv_get_consensus(const char *flavor_name); void dirserv_set_cached_consensus_networkstatus(const char *consensus, + size_t consensus_len, const char *flavor_name, const common_digests_t *digests, const uint8_t *sha3_as_signed, diff --git a/src/feature/dirclient/dirclient.c b/src/feature/dirclient/dirclient.c index f6a712e429..cd88fa5ebf 100644 --- a/src/feature/dirclient/dirclient.c +++ b/src/feature/dirclient/dirclient.c @@ -2205,24 +2205,31 @@ handle_response_fetch_consensus(dir_connection_t *conn, if (looks_like_a_consensus_diff(body, body_len)) { /* First find our previous consensus. Maybe it's in ram, maybe not. */ cached_dir_t *cd = dirserv_get_consensus(flavname); - const char *consensus_body; - char *owned_consensus = NULL; + const char *consensus_body = NULL; + size_t consensus_body_len; + tor_mmap_t *mapped_consensus = NULL; if (cd) { consensus_body = cd->dir; + consensus_body_len = cd->dir_len; } else { - owned_consensus = networkstatus_read_cached_consensus(flavname); - consensus_body = owned_consensus; + mapped_consensus = networkstatus_map_cached_consensus(flavname); + if (mapped_consensus) { + consensus_body = mapped_consensus->data; + consensus_body_len = mapped_consensus->size; + } } if (!consensus_body) { log_warn(LD_DIR, "Received a consensus diff, but we can't find " "any %s-flavored consensus in our current cache.",flavname); + tor_munmap_file(mapped_consensus); networkstatus_consensus_download_failed(0, flavname); // XXXX if this happens too much, see below return -1; } - new_consensus = consensus_diff_apply(consensus_body, body); - tor_free(owned_consensus); + new_consensus = consensus_diff_apply(consensus_body, consensus_body_len, + body, body_len); + tor_munmap_file(mapped_consensus); if (new_consensus == NULL) { log_warn(LD_DIR, "Could not apply consensus diff received from server " "'%s:%d'", conn->base_.address, conn->base_.port); @@ -2244,7 +2251,9 @@ handle_response_fetch_consensus(dir_connection_t *conn, sourcename = "downloaded"; } - if ((r=networkstatus_set_current_consensus(consensus, flavname, 0, + if ((r=networkstatus_set_current_consensus(consensus, + strlen(consensus), + flavname, 0, conn->identity_digest))<0) { log_fn(r<-1?LOG_WARN:LOG_INFO, LD_DIR, "Unable to load %s consensus directory %s from " diff --git a/src/feature/dircommon/consdiff.c b/src/feature/dircommon/consdiff.c index f8ced8503f..15266f77bf 100644 --- a/src/feature/dircommon/consdiff.c +++ b/src/feature/dircommon/consdiff.c @@ -101,11 +101,11 @@ smartlist_add_linecpy(smartlist_t *lst, memarea_t *area, const char *s) /* This is a separate, mockable function so that we can override it when * fuzzing. */ MOCK_IMPL(STATIC int, -consensus_compute_digest,(const char *cons, +consensus_compute_digest,(const char *cons, size_t len, consensus_digest_t *digest_out)) { int r = crypto_digest256((char*)digest_out->sha3_256, - cons, strlen(cons), DIGEST_SHA3_256); + cons, len, DIGEST_SHA3_256); return r; } @@ -114,11 +114,11 @@ consensus_compute_digest,(const char *cons, /* This is a separate, mockable function so that we can override it when * fuzzing. */ MOCK_IMPL(STATIC int, -consensus_compute_digest_as_signed,(const char *cons, +consensus_compute_digest_as_signed,(const char *cons, size_t len, consensus_digest_t *digest_out)) { return router_get_networkstatus_v3_sha3_as_signed(digest_out->sha3_256, - cons); + cons, len); } /** Return true iff <b>d1</b> and <b>d2</b> contain the same digest */ @@ -1229,7 +1229,8 @@ consdiff_apply_diff(const smartlist_t *cons1, cons2_str = consensus_join_lines(cons2); consensus_digest_t cons2_digests; - if (consensus_compute_digest(cons2_str, &cons2_digests) < 0) { + if (consensus_compute_digest(cons2_str, strlen(cons2_str), + &cons2_digests) < 0) { /* LCOV_EXCL_START -- digest can't fail */ log_warn(LD_CONSDIFF, "Could not compute digests of the consensus " "resulting from applying a consensus diff."); @@ -1283,12 +1284,13 @@ consdiff_apply_diff(const smartlist_t *cons1, * generated cdlines will become invalid. */ STATIC int -consensus_split_lines(smartlist_t *out, const char *s, memarea_t *area) +consensus_split_lines(smartlist_t *out, + const char *s, size_t len, + memarea_t *area) { - const char *end_of_str = s + strlen(s); - tor_assert(*end_of_str == '\0'); + const char *end_of_str = s + len; - while (*s) { + while (s < end_of_str) { const char *eol = memchr(s, '\n', end_of_str - s); if (!eol) { /* File doesn't end with newline. */ @@ -1334,25 +1336,25 @@ consensus_join_lines(const smartlist_t *inp) * success, retun a newly allocated string containing that diff. On failure, * return NULL. */ char * -consensus_diff_generate(const char *cons1, - const char *cons2) +consensus_diff_generate(const char *cons1, size_t cons1len, + const char *cons2, size_t cons2len) { consensus_digest_t d1, d2; smartlist_t *lines1 = NULL, *lines2 = NULL, *result_lines = NULL; int r1, r2; char *result = NULL; - r1 = consensus_compute_digest_as_signed(cons1, &d1); - r2 = consensus_compute_digest(cons2, &d2); + r1 = consensus_compute_digest_as_signed(cons1, cons1len, &d1); + r2 = consensus_compute_digest(cons2, cons2len, &d2); if (BUG(r1 < 0 || r2 < 0)) return NULL; // LCOV_EXCL_LINE memarea_t *area = memarea_new(); lines1 = smartlist_new(); lines2 = smartlist_new(); - if (consensus_split_lines(lines1, cons1, area) < 0) + if (consensus_split_lines(lines1, cons1, cons1len, area) < 0) goto done; - if (consensus_split_lines(lines2, cons2, area) < 0) + if (consensus_split_lines(lines2, cons2, cons2len, area) < 0) goto done; result_lines = consdiff_gen_diff(lines1, lines2, &d1, &d2, area); @@ -1375,7 +1377,9 @@ consensus_diff_generate(const char *cons1, * consensus. On failure, return NULL. */ char * consensus_diff_apply(const char *consensus, - const char *diff) + size_t consensus_len, + const char *diff, + size_t diff_len) { consensus_digest_t d1; smartlist_t *lines1 = NULL, *lines2 = NULL; @@ -1383,15 +1387,15 @@ consensus_diff_apply(const char *consensus, char *result = NULL; memarea_t *area = memarea_new(); - r1 = consensus_compute_digest_as_signed(consensus, &d1); + r1 = consensus_compute_digest_as_signed(consensus, consensus_len, &d1); if (BUG(r1 < 0)) return NULL; // LCOV_EXCL_LINE lines1 = smartlist_new(); lines2 = smartlist_new(); - if (consensus_split_lines(lines1, consensus, area) < 0) + if (consensus_split_lines(lines1, consensus, consensus_len, area) < 0) goto done; - if (consensus_split_lines(lines2, diff, area) < 0) + if (consensus_split_lines(lines2, diff, diff_len, area) < 0) goto done; result = consdiff_apply_diff(lines1, lines2, &d1); diff --git a/src/feature/dircommon/consdiff.h b/src/feature/dircommon/consdiff.h index a5e4ba5cbf..eb7c9f9fe0 100644 --- a/src/feature/dircommon/consdiff.h +++ b/src/feature/dircommon/consdiff.h @@ -7,10 +7,10 @@ #include "core/or/or.h" -char *consensus_diff_generate(const char *cons1, - const char *cons2); -char *consensus_diff_apply(const char *consensus, - const char *diff); +char *consensus_diff_generate(const char *cons1, size_t cons1len, + const char *cons2, size_t cons2len); +char *consensus_diff_apply(const char *consensus, size_t consensus_len, + const char *diff, size_t diff_len); int looks_like_a_consensus_diff(const char *document, size_t len); @@ -78,7 +78,8 @@ STATIC int smartlist_slice_string_pos(const smartlist_slice_t *slice, STATIC void set_changed(bitarray_t *changed1, bitarray_t *changed2, const smartlist_slice_t *slice1, const smartlist_slice_t *slice2); -STATIC int consensus_split_lines(smartlist_t *out, const char *s, +STATIC int consensus_split_lines(smartlist_t *out, + const char *s, size_t len, struct memarea_t *area); STATIC void smartlist_add_linecpy(smartlist_t *lst, struct memarea_t *area, const char *s); @@ -86,10 +87,10 @@ STATIC int lines_eq(const cdline_t *a, const cdline_t *b); STATIC int line_str_eq(const cdline_t *a, const char *b); MOCK_DECL(STATIC int, - consensus_compute_digest,(const char *cons, + consensus_compute_digest,(const char *cons, size_t len, consensus_digest_t *digest_out)); MOCK_DECL(STATIC int, - consensus_compute_digest_as_signed,(const char *cons, + consensus_compute_digest_as_signed,(const char *cons, size_t len, consensus_digest_t *digest_out)); MOCK_DECL(STATIC int, consensus_digest_eq,(const uint8_t *d1, diff --git a/src/feature/dirparse/authcert_parse.c b/src/feature/dirparse/authcert_parse.c index 2ba46bb8fa..334baf8b1a 100644 --- a/src/feature/dirparse/authcert_parse.c +++ b/src/feature/dirparse/authcert_parse.c @@ -24,7 +24,8 @@ static token_rule_t dir_key_certificate_table[] = { /** Parse a key certificate from <b>s</b>; point <b>end-of-string</b> to * the first character after the certificate. */ authority_cert_t * -authority_cert_parse_from_string(const char *s, const char **end_of_string) +authority_cert_parse_from_string(const char *s, size_t maxlen, + const char **end_of_string) { /** Reject any certificate at least this big; it is probably an overflow, an * attack, a bug, or some other nonsense. */ @@ -35,24 +36,25 @@ authority_cert_parse_from_string(const char *s, const char **end_of_string) char digest[DIGEST_LEN]; directory_token_t *tok; char fp_declared[DIGEST_LEN]; - char *eos; + const char *eos; size_t len; int found; memarea_t *area = NULL; + const char *end_of_s = s + maxlen; const char *s_dup = s; - s = eat_whitespace(s); - eos = strstr(s, "\ndir-key-certification"); + s = eat_whitespace_eos(s, end_of_s); + eos = tor_memstr(s, end_of_s - s, "\ndir-key-certification"); if (! eos) { log_warn(LD_DIR, "No signature found on key certificate"); return NULL; } - eos = strstr(eos, "\n-----END SIGNATURE-----\n"); + eos = tor_memstr(eos, end_of_s - eos, "\n-----END SIGNATURE-----\n"); if (! eos) { log_warn(LD_DIR, "No end-of-signature found on key certificate"); return NULL; } - eos = strchr(eos+2, '\n'); + eos = memchr(eos+2, '\n', end_of_s - (eos+2)); tor_assert(eos); ++eos; len = eos - s; @@ -69,7 +71,7 @@ authority_cert_parse_from_string(const char *s, const char **end_of_string) log_warn(LD_DIR, "Error tokenizing key certificate"); goto err; } - if (router_get_hash_impl(s, strlen(s), digest, "dir-key-certificate-version", + if (router_get_hash_impl(s, eos - s, digest, "dir-key-certificate-version", "\ndir-key-certification", '\n', DIGEST_SHA1) < 0) goto err; tok = smartlist_get(tokens, 0); diff --git a/src/feature/dirparse/authcert_parse.h b/src/feature/dirparse/authcert_parse.h index f63525e04d..e4e9fec993 100644 --- a/src/feature/dirparse/authcert_parse.h +++ b/src/feature/dirparse/authcert_parse.h @@ -13,6 +13,7 @@ #define TOR_AUTHCERT_PARSE_H authority_cert_t *authority_cert_parse_from_string(const char *s, + size_t maxlen, const char **end_of_string); #endif /* !defined(TOR_AUTHCERT_PARSE_H) */ diff --git a/src/feature/dirparse/microdesc_parse.c b/src/feature/dirparse/microdesc_parse.c index 005d2c53d0..165945e392 100644 --- a/src/feature/dirparse/microdesc_parse.c +++ b/src/feature/dirparse/microdesc_parse.c @@ -18,6 +18,7 @@ #include "feature/dirparse/routerparse.h" #include "feature/nodelist/microdesc.h" #include "feature/nodelist/nickname.h" +#include "feature/nodelist/nodefamily.h" #include "feature/relay/router.h" #include "lib/crypt_ops/crypto_curve25519.h" #include "lib/crypt_ops/crypto_ed25519.h" @@ -32,7 +33,7 @@ static token_rule_t microdesc_token_table[] = { T01("ntor-onion-key", K_ONION_KEY_NTOR, GE(1), NO_OBJ ), T0N("id", K_ID, GE(2), NO_OBJ ), T0N("a", K_A, GE(1), NO_OBJ ), - T01("family", K_FAMILY, ARGS, NO_OBJ ), + T01("family", K_FAMILY, CONCAT_ARGS, NO_OBJ ), T01("p", K_P, CONCAT_ARGS, NO_OBJ ), T01("p6", K_P6, CONCAT_ARGS, NO_OBJ ), A01("@last-listed", A_LAST_LISTED, CONCAT_ARGS, NO_OBJ ), @@ -50,13 +51,13 @@ find_start_of_next_microdesc(const char *s, const char *eos) return NULL; #define CHECK_LENGTH() STMT_BEGIN \ - if (s+32 > eos) \ + if (eos - s < 32) \ return NULL; \ STMT_END #define NEXT_LINE() STMT_BEGIN \ s = memchr(s, '\n', eos-s); \ - if (!s || s+1 >= eos) \ + if (!s || eos - s <= 1) \ return NULL; \ s++; \ STMT_END @@ -80,7 +81,7 @@ find_start_of_next_microdesc(const char *s, const char *eos) /* Okay, now we're pointed at the first line of the microdescriptor which is not an annotation or onion-key. The next line that _is_ an annotation or onion-key is the start of the next microdescriptor. */ - while (s+32 < eos) { + while (eos - s > 32) { if (*s == '@' || !strcmpstart(s, "onion-key")) return s; NEXT_LINE(); @@ -176,8 +177,8 @@ microdescs_parse_from_string(const char *s, const char *eos, "Relay's onion key had invalid exponent."); goto next; } - router_set_rsa_onion_pkey(tok->key, &md->onion_pkey, - &md->onion_pkey_len); + md->onion_pkey = tor_memdup(tok->object_body, tok->object_size); + md->onion_pkey_len = tok->object_size; crypto_pk_free(tok->key); if ((tok = find_opt_by_keyword(tokens, K_ONION_KEY_NTOR))) { @@ -222,16 +223,9 @@ microdescs_parse_from_string(const char *s, const char *eos, } if ((tok = find_opt_by_keyword(tokens, K_FAMILY))) { - int i; - md->family = smartlist_new(); - for (i=0;i<tok->n_args;++i) { - if (!is_legal_nickname_or_hexdigest(tok->args[i])) { - log_warn(LD_DIR, "Illegal nickname %s in family line", - escaped(tok->args[i])); - goto next; - } - smartlist_add_strdup(md->family, tok->args[i]); - } + md->family = nodefamily_parse(tok->args[0], + NULL, + NF_WARN_MALFORMED); } if ((tok = find_opt_by_keyword(tokens, K_P))) { diff --git a/src/feature/dirparse/ns_parse.c b/src/feature/dirparse/ns_parse.c index 72299e8071..e0cdb2d46d 100644 --- a/src/feature/dirparse/ns_parse.c +++ b/src/feature/dirparse/ns_parse.c @@ -151,10 +151,11 @@ static token_rule_t networkstatus_vote_footer_token_table[] = { * -1. */ int router_get_networkstatus_v3_signed_boundaries(const char *s, + size_t len, const char **start_out, const char **end_out) { - return router_get_hash_impl_helper(s, strlen(s), + return router_get_hash_impl_helper(s, len, "network-status-version", "\ndirectory-signature", ' ', LOG_INFO, @@ -166,12 +167,13 @@ router_get_networkstatus_v3_signed_boundaries(const char *s, * signed portion can be identified. Return 0 on success, -1 on failure. */ int router_get_networkstatus_v3_sha3_as_signed(uint8_t *digest_out, - const char *s) + const char *s, size_t len) { const char *start, *end; - if (router_get_networkstatus_v3_signed_boundaries(s, &start, &end) < 0) { + if (router_get_networkstatus_v3_signed_boundaries(s, len, + &start, &end) < 0) { start = s; - end = s + strlen(s); + end = s + len; } tor_assert(start); tor_assert(end); @@ -182,9 +184,10 @@ router_get_networkstatus_v3_sha3_as_signed(uint8_t *digest_out, /** Set <b>digests</b> to all the digests of the consensus document in * <b>s</b> */ int -router_get_networkstatus_v3_hashes(const char *s, common_digests_t *digests) +router_get_networkstatus_v3_hashes(const char *s, size_t len, + common_digests_t *digests) { - return router_get_hashes_impl(s,strlen(s),digests, + return router_get_hashes_impl(s, len, digests, "network-status-version", "\ndirectory-signature", ' '); @@ -195,13 +198,13 @@ router_get_networkstatus_v3_hashes(const char *s, common_digests_t *digests) * return the start of the directory footer, or the next directory signature. * If none is found, return the end of the string. */ static inline const char * -find_start_of_next_routerstatus(const char *s) +find_start_of_next_routerstatus(const char *s, const char *s_eos) { const char *eos, *footer, *sig; - if ((eos = strstr(s, "\nr "))) + if ((eos = tor_memstr(s, s_eos - s, "\nr "))) ++eos; else - eos = s + strlen(s); + eos = s_eos; footer = tor_memstr(s, eos-s, "\ndirectory-footer"); sig = tor_memstr(s, eos-s, "\ndirectory-signature"); @@ -289,7 +292,8 @@ routerstatus_parse_guardfraction(const char *guardfraction_str, **/ STATIC routerstatus_t * routerstatus_parse_entry_from_string(memarea_t *area, - const char **s, smartlist_t *tokens, + const char **s, const char *s_eos, + smartlist_t *tokens, networkstatus_t *vote, vote_routerstatus_t *vote_rs, int consensus_method, @@ -308,7 +312,7 @@ routerstatus_parse_entry_from_string(memarea_t *area, flav = FLAV_NS; tor_assert(flav == FLAV_NS || flav == FLAV_MICRODESC); - eos = find_start_of_next_routerstatus(*s); + eos = find_start_of_next_routerstatus(*s, s_eos); if (tokenize_string(area,*s, eos, tokens, rtrstatus_token_table,0)) { log_warn(LD_DIR, "Error tokenizing router status"); @@ -430,6 +434,8 @@ routerstatus_parse_entry_from_string(memarea_t *area, rs->is_hs_dir = 1; } else if (!strcmp(tok->args[i], "V2Dir")) { rs->is_v2_dir = 1; + } else if (!strcmp(tok->args[i], "StaleDesc")) { + rs->is_staledesc = 1; } } /* These are implied true by having been included in a consensus made @@ -1051,7 +1057,9 @@ extract_shared_random_srvs(networkstatus_t *ns, smartlist_t *tokens) /** Parse a v3 networkstatus vote, opinion, or consensus (depending on * ns_type), from <b>s</b>, and return the result. Return NULL on failure. */ networkstatus_t * -networkstatus_parse_vote_from_string(const char *s, const char **eos_out, +networkstatus_parse_vote_from_string(const char *s, + size_t s_len, + const char **eos_out, networkstatus_type_t ns_type) { smartlist_t *tokens = smartlist_new(); @@ -1067,20 +1075,22 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out, memarea_t *area = NULL, *rs_area = NULL; consensus_flavor_t flav = FLAV_NS; char *last_kwd=NULL; + const char *eos = s + s_len; tor_assert(s); if (eos_out) *eos_out = NULL; - if (router_get_networkstatus_v3_hashes(s, &ns_digests) || - router_get_networkstatus_v3_sha3_as_signed(sha3_as_signed, s)<0) { + if (router_get_networkstatus_v3_hashes(s, s_len, &ns_digests) || + router_get_networkstatus_v3_sha3_as_signed(sha3_as_signed, + s, s_len)<0) { log_warn(LD_DIR, "Unable to compute digest of network-status"); goto err; } area = memarea_new(); - end_of_header = find_start_of_next_routerstatus(s); + end_of_header = find_start_of_next_routerstatus(s, eos); if (tokenize_string(area, s, end_of_header, tokens, (ns_type == NS_TYPE_CONSENSUS) ? networkstatus_consensus_token_table : @@ -1111,10 +1121,12 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out, if (ns_type != NS_TYPE_CONSENSUS) { const char *end_of_cert = NULL; - if (!(cert = strstr(s, "\ndir-key-certificate-version"))) + if (!(cert = tor_memstr(s, end_of_header - s, + "\ndir-key-certificate-version"))) goto err; ++cert; - ns->cert = authority_cert_parse_from_string(cert, &end_of_cert); + ns->cert = authority_cert_parse_from_string(cert, end_of_header - cert, + &end_of_cert); if (!ns->cert || !end_of_cert || end_of_cert > end_of_header) goto err; } @@ -1424,10 +1436,10 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out, s = end_of_header; ns->routerstatus_list = smartlist_new(); - while (!strcmpstart(s, "r ")) { + while (eos - s >= 2 && fast_memeq(s, "r ", 2)) { if (ns->type != NS_TYPE_CONSENSUS) { vote_routerstatus_t *rs = tor_malloc_zero(sizeof(vote_routerstatus_t)); - if (routerstatus_parse_entry_from_string(rs_area, &s, rs_tokens, ns, + if (routerstatus_parse_entry_from_string(rs_area, &s, eos, rs_tokens, ns, rs, 0, 0)) { smartlist_add(ns->routerstatus_list, rs); } else { @@ -1435,7 +1447,8 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out, } } else { routerstatus_t *rs; - if ((rs = routerstatus_parse_entry_from_string(rs_area, &s, rs_tokens, + if ((rs = routerstatus_parse_entry_from_string(rs_area, &s, eos, + rs_tokens, NULL, NULL, ns->consensus_method, flav))) { @@ -1480,10 +1493,10 @@ networkstatus_parse_vote_from_string(const char *s, const char **eos_out, /* Parse footer; check signature. */ footer_tokens = smartlist_new(); - if ((end_of_footer = strstr(s, "\nnetwork-status-version "))) + if ((end_of_footer = tor_memstr(s, eos-s, "\nnetwork-status-version "))) ++end_of_footer; else - end_of_footer = s + strlen(s); + end_of_footer = eos; if (tokenize_string(area,s, end_of_footer, footer_tokens, networkstatus_vote_footer_token_table, 0)) { log_warn(LD_DIR, "Error tokenizing network-status vote footer."); diff --git a/src/feature/dirparse/ns_parse.h b/src/feature/dirparse/ns_parse.h index 22438d73a7..85d9ded685 100644 --- a/src/feature/dirparse/ns_parse.h +++ b/src/feature/dirparse/ns_parse.h @@ -12,18 +12,19 @@ #ifndef TOR_NS_PARSE_H #define TOR_NS_PARSE_H -int router_get_networkstatus_v3_hashes(const char *s, +int router_get_networkstatus_v3_hashes(const char *s, size_t len, common_digests_t *digests); -int router_get_networkstatus_v3_signed_boundaries(const char *s, +int router_get_networkstatus_v3_signed_boundaries(const char *s, size_t len, const char **start_out, const char **end_out); int router_get_networkstatus_v3_sha3_as_signed(uint8_t *digest_out, - const char *s); + const char *s, size_t len); int compare_vote_routerstatus_entries(const void **_a, const void **_b); int networkstatus_verify_bw_weights(networkstatus_t *ns, int); enum networkstatus_type_t; networkstatus_t *networkstatus_parse_vote_from_string(const char *s, + size_t len, const char **eos_out, enum networkstatus_type_t ns_type); @@ -35,7 +36,8 @@ STATIC int routerstatus_parse_guardfraction(const char *guardfraction_str, struct memarea_t; STATIC routerstatus_t *routerstatus_parse_entry_from_string( struct memarea_t *area, - const char **s, smartlist_t *tokens, + const char **s, const char *eos, + smartlist_t *tokens, networkstatus_t *vote, vote_routerstatus_t *vote_rs, int consensus_method, diff --git a/src/feature/dirparse/parsecommon.c b/src/feature/dirparse/parsecommon.c index c12f199e4e..2e7cea8169 100644 --- a/src/feature/dirparse/parsecommon.c +++ b/src/feature/dirparse/parsecommon.c @@ -266,7 +266,7 @@ get_next_token(memarea_t *area, * attack, a bug, or some other nonsense. */ #define MAX_LINE_LENGTH (128*1024) - const char *next, *eol, *obstart; + const char *next, *eol; size_t obname_len; int i; directory_token_t *tok; @@ -352,8 +352,7 @@ get_next_token(memarea_t *area, if (!eol || eol-*s<11 || strcmpstart(*s, "-----BEGIN ")) /* No object. */ goto check_object; - obstart = *s; /* Set obstart to start of object spec */ - if (*s+16 >= eol || memchr(*s+11,'\0',eol-*s-16) || /* no short lines, */ + if (eol - *s <= 16 || memchr(*s+11,'\0',eol-*s-16) || /* no short lines, */ strcmp_len(eol-5, "-----", 5) || /* nuls or invalid endings */ (eol-*s) > MAX_UNPARSED_OBJECT_SIZE) { /* name too long */ RET_ERR("Malformed object: bad begin line"); @@ -383,22 +382,26 @@ get_next_token(memarea_t *area, if (next - *s > MAX_UNPARSED_OBJECT_SIZE) RET_ERR("Couldn't parse object: missing footer or object much too big."); - if (!strcmp(tok->object_type, "RSA PUBLIC KEY")) { /* If it's a public key */ - tok->key = crypto_pk_new(); - if (crypto_pk_read_public_key_from_string(tok->key, obstart, eol-obstart)) - RET_ERR("Couldn't parse public key."); - } else if (!strcmp(tok->object_type, "RSA PRIVATE KEY")) { /* private key */ - tok->key = crypto_pk_new(); - if (crypto_pk_read_private_key_from_string(tok->key, obstart, eol-obstart)) - RET_ERR("Couldn't parse private key."); - } else { /* If it's something else, try to base64-decode it */ + { int r; - tok->object_body = ALLOC(next-*s); /* really, this is too much RAM. */ - r = base64_decode(tok->object_body, next-*s, *s, next-*s); + size_t maxsize = base64_decode_maxsize(next-*s); + tok->object_body = ALLOC(maxsize); + r = base64_decode(tok->object_body, maxsize, *s, next-*s); if (r<0) RET_ERR("Malformed object: bad base64-encoded data"); tok->object_size = r; } + + if (!strcmp(tok->object_type, "RSA PUBLIC KEY")) { /* If it's a public key */ + tok->key = crypto_pk_asn1_decode(tok->object_body, tok->object_size); + if (! tok->key) + RET_ERR("Couldn't parse public key."); + } else if (!strcmp(tok->object_type, "RSA PRIVATE KEY")) { /* private key */ + tok->key = crypto_pk_asn1_decode_private(tok->object_body, + tok->object_size); + if (! tok->key) + RET_ERR("Couldn't parse private key."); + } *s = eol; check_object: diff --git a/src/feature/dirparse/routerparse.c b/src/feature/dirparse/routerparse.c index 2249ab7cbc..358f6e44e8 100644 --- a/src/feature/dirparse/routerparse.c +++ b/src/feature/dirparse/routerparse.c @@ -588,8 +588,8 @@ router_parse_entry_from_string(const char *s, const char *end, "Relay's onion key had invalid exponent."); goto err; } - router_set_rsa_onion_pkey(tok->key, &router->onion_pkey, - &router->onion_pkey_len); + router->onion_pkey = tor_memdup(tok->object_body, tok->object_size); + router->onion_pkey_len = tok->object_size; crypto_pk_free(tok->key); if ((tok = find_opt_by_keyword(tokens, K_ONION_KEY_NTOR))) { diff --git a/src/feature/hibernate/hibernate.c b/src/feature/hibernate/hibernate.c index 02b05ca3a2..feeb3d92ef 100644 --- a/src/feature/hibernate/hibernate.c +++ b/src/feature/hibernate/hibernate.c @@ -50,14 +50,25 @@ hibernating, phase 2: #include <unistd.h> #endif +#ifdef HAVE_SYSTEMD +# if defined(__COVERITY__) && !defined(__INCLUDE_LEVEL__) +/* Systemd's use of gcc's __INCLUDE_LEVEL__ extension macro appears to confuse + * Coverity. Here's a kludge to unconfuse it. + */ +# define __INCLUDE_LEVEL__ 2 +# endif /* defined(__COVERITY__) && !defined(__INCLUDE_LEVEL__) */ +#include <systemd/sd-daemon.h> +#endif /* defined(HAVE_SYSTEMD) */ + /** Are we currently awake, asleep, running out of bandwidth, or shutting * down? */ static hibernate_state_t hibernate_state = HIBERNATE_STATE_INITIAL; /** If are hibernating, when do we plan to wake up? Set to 0 if we * aren't hibernating. */ static time_t hibernate_end_time = 0; -/** If we are shutting down, when do we plan finally exit? Set to 0 if - * we aren't shutting down. */ +/** If we are shutting down, when do we plan finally exit? Set to 0 if we + * aren't shutting down. (This is obsolete; scheduled shutdowns are supposed + * to happen from mainloop_schedule_shutdown() now.) */ static time_t shutdown_time = 0; /** A timed event that we'll use when it's time to wake up from @@ -821,6 +832,8 @@ hibernate_soft_limit_reached(void) return get_accounting_bytes() >= soft_limit; } +#define TOR_USEC_PER_SEC (1000000) + /** Called when we get a SIGINT, or when bandwidth soft limit is * reached. Puts us into "loose hibernation": we don't accept new * connections, but we continue handling old ones. */ @@ -855,7 +868,33 @@ hibernate_begin(hibernate_state_t new_state, time_t now) log_notice(LD_GENERAL,"Interrupt: we have stopped accepting new " "connections, and will shut down in %d seconds. Interrupt " "again to exit now.", options->ShutdownWaitLength); - shutdown_time = time(NULL) + options->ShutdownWaitLength; + /* We add an arbitrary delay here so that even if something goes wrong + * with the mainloop shutdown code, we can still shutdown from + * consider_hibernation() if we call it... but so that the + * mainloop_schedule_shutdown() mechanism will be the first one called. + */ + shutdown_time = time(NULL) + options->ShutdownWaitLength + 5; + mainloop_schedule_shutdown(options->ShutdownWaitLength); +#ifdef HAVE_SYSTEMD + /* tell systemd that we may need more than the default 90 seconds to shut + * down so they don't kill us. add some extra time to actually finish + * shutting down, otherwise systemd will kill us immediately after the + * EXTEND_TIMEOUT_USEC expires. this is an *upper* limit; tor will probably + * only take one or two more seconds, but assume that maybe we got swapped + * out and it takes a little while longer. + * + * as of writing, this is a no-op with all-defaults: ShutdownWaitLength is + * 30 seconds, so this will extend the timeout to 60 seconds. + * default systemd DefaultTimeoutStopSec is 90 seconds, so systemd will + * wait (up to) 90 seconds anyways. + * + * 2^31 usec = ~2147 sec = ~35 min. probably nobody will actually set + * ShutdownWaitLength to more than that, but use a longer type so we don't + * need to think about UB on overflow + */ + sd_notifyf(0, "EXTEND_TIMEOUT_USEC=%" PRIu64, + ((uint64_t)(options->ShutdownWaitLength) + 30) * TOR_USEC_PER_SEC); +#endif } else { /* soft limit reached */ hibernate_end_time = interval_end_time; } @@ -1064,11 +1103,12 @@ consider_hibernation(time_t now) hibernate_state_t prev_state = hibernate_state; /* If we're in 'exiting' mode, then we just shut down after the interval - * elapses. */ + * elapses. The mainloop was supposed to catch this via + * mainloop_schedule_shutdown(), but apparently it didn't. */ if (hibernate_state == HIBERNATE_STATE_EXITING) { tor_assert(shutdown_time); if (shutdown_time <= now) { - log_notice(LD_GENERAL, "Clean shutdown finished. Exiting."); + log_notice(LD_BUG, "Mainloop did not catch shutdown event; exiting."); tor_shutdown_event_loop_and_exit(0); } return; /* if exiting soon, don't worry about bandwidth limits */ @@ -1080,7 +1120,7 @@ consider_hibernation(time_t now) if (hibernate_end_time > now && accounting_enabled) { /* If we're hibernating, don't wake up until it's time, regardless of * whether we're in a new interval. */ - return ; + return; } else { hibernate_end_time_elapsed(now); } @@ -1208,8 +1248,6 @@ on_hibernate_state_change(hibernate_state_t prev_state) if (prev_state != HIBERNATE_STATE_INITIAL) { rescan_periodic_events(get_options()); } - - reschedule_per_second_timer(); } /** Free all resources held by the accounting module */ diff --git a/src/feature/hs/hs_config.c b/src/feature/hs/hs_config.c index 93d7403dfb..497e31fbb4 100644 --- a/src/feature/hs/hs_config.c +++ b/src/feature/hs/hs_config.c @@ -419,7 +419,7 @@ config_generic_service(const config_line_t *line_, dup_opt_seen = line->key; goto err; } - have_version = 1; + have_version = service->config.hs_version_explicitly_set = 1; continue; } /* Virtual port. */ @@ -534,18 +534,15 @@ config_service(const config_line_t *line, const or_options_t *options, /* We have a new hidden service. */ service = hs_service_new(options); + /* We'll configure that service as a generic one and then pass it to a * specific function according to the configured version number. */ if (config_generic_service(line, options, service) < 0) { goto err; } + tor_assert(service->config.version <= HS_VERSION_MAX); - /* Before we configure the service on a per-version basis, we'll make - * sure that this set of options for a service are valid that is for - * instance an option only for v2 is not used for v3. */ - if (config_has_invalid_options(line->next, service)) { - goto err; - } + /* Check permission on service directory that was just parsed. And this must * be done regardless of the service version. Do not ask for the directory * to be created, this is done when the keys are loaded because we could be @@ -556,11 +553,19 @@ config_service(const config_line_t *line, const or_options_t *options, 0) < 0) { goto err; } + /* We'll try to learn the service version here by loading the key(s) if - * present. Depending on the key format, we can figure out the service - * version. If we can't find a key, the configuration version will be used - * which has been set previously. */ - service->config.version = config_learn_service_version(service); + * present and we did not set HiddenServiceVersion. Depending on the key + * format, we can figure out the service version. */ + if (!service->config.hs_version_explicitly_set) { + service->config.version = config_learn_service_version(service); + } + + /* We make sure that this set of options for a service are valid that is for + * instance an option only for v2 is not used for v3. */ + if (config_has_invalid_options(line->next, service)) { + goto err; + } /* Different functions are in charge of specific options for a version. We * start just after the service directory line so once we hit another @@ -580,13 +585,16 @@ config_service(const config_line_t *line, const or_options_t *options, if (ret < 0) { goto err; } + /* We'll check if this service can be kept depending on the others * configured previously. */ if (service_is_duplicate_in_list(service_list, service)) { goto err; } + /* Passes, add it to the given list. */ smartlist_add(service_list, service); + return 0; err: diff --git a/src/feature/hs/hs_descriptor.c b/src/feature/hs/hs_descriptor.c index 0e3c761bf6..1b2008c804 100644 --- a/src/feature/hs/hs_descriptor.c +++ b/src/feature/hs/hs_descriptor.c @@ -1406,10 +1406,10 @@ encrypted_data_length_is_valid(size_t len) * SECRET_SEED = x25519(sk, pk) * KEYS = KDF(subcredential | SECRET_SEED, 40) * - * The keys_out parameter will points to the buffer containing the KEYS. The - * caller should wipe and free its content once done with it. This function - * can't fail. */ -static void + * Set the <b>keys_out</b> argument to point to the buffer containing the KEYS, + * and return the buffer's length. The caller should wipe and free its content + * once done with it. This function can't fail. */ +static size_t build_descriptor_cookie_keys(const uint8_t *subcredential, size_t subcredential_len, const curve25519_secret_key_t *sk, @@ -1441,6 +1441,7 @@ build_descriptor_cookie_keys(const uint8_t *subcredential, memwipe(secret_seed, 0, sizeof(secret_seed)); *keys_out = keystream; + return keystream_len; } /* Decrypt the descriptor cookie given the descriptor, the auth client, @@ -1456,6 +1457,7 @@ decrypt_descriptor_cookie(const hs_descriptor_t *desc, { int ret = -1; uint8_t *keystream = NULL; + size_t keystream_length = 0; uint8_t *descriptor_cookie = NULL; const uint8_t *cookie_key = NULL; crypto_cipher_t *cipher = NULL; @@ -1471,10 +1473,12 @@ decrypt_descriptor_cookie(const hs_descriptor_t *desc, tor_assert(!tor_mem_is_zero((char *) desc->subcredential, DIGEST256_LEN)); /* Get the KEYS component to derive the CLIENT-ID and COOKIE-KEY. */ - build_descriptor_cookie_keys(desc->subcredential, DIGEST256_LEN, - client_auth_sk, - &desc->superencrypted_data.auth_ephemeral_pubkey, - &keystream); + keystream_length = + build_descriptor_cookie_keys(desc->subcredential, DIGEST256_LEN, + client_auth_sk, + &desc->superencrypted_data.auth_ephemeral_pubkey, + &keystream); + tor_assert(keystream_length > 0); /* If the client id of auth client is not the same as the calculcated * client id, it means that this auth client is invaild according to the @@ -1500,7 +1504,7 @@ decrypt_descriptor_cookie(const hs_descriptor_t *desc, if (cipher) { crypto_cipher_free(cipher); } - memwipe(keystream, 0, sizeof(keystream)); + memwipe(keystream, 0, keystream_length); tor_free(keystream); return ret; } @@ -2915,6 +2919,7 @@ hs_desc_build_authorized_client(const uint8_t *subcredential, hs_desc_authorized_client_t *client_out) { uint8_t *keystream = NULL; + size_t keystream_length = 0; const uint8_t *cookie_key; crypto_cipher_t *cipher; @@ -2933,8 +2938,11 @@ hs_desc_build_authorized_client(const uint8_t *subcredential, DIGEST256_LEN)); /* Get the KEYS part so we can derive the CLIENT-ID and COOKIE-KEY. */ - build_descriptor_cookie_keys(subcredential, DIGEST256_LEN, - auth_ephemeral_sk, client_auth_pk, &keystream); + keystream_length = + build_descriptor_cookie_keys(subcredential, DIGEST256_LEN, + auth_ephemeral_sk, client_auth_pk, + &keystream); + tor_assert(keystream_length > 0); /* Extract the CLIENT-ID and COOKIE-KEY from the KEYS. */ memcpy(client_out->client_id, keystream, HS_DESC_CLIENT_ID_LEN); @@ -2951,7 +2959,7 @@ hs_desc_build_authorized_client(const uint8_t *subcredential, (const char *) descriptor_cookie, HS_DESC_DESCRIPTOR_COOKIE_LEN); - memwipe(keystream, 0, sizeof(keystream)); + memwipe(keystream, 0, keystream_length); tor_free(keystream); crypto_cipher_free(cipher); diff --git a/src/feature/hs/hs_intropoint.c b/src/feature/hs/hs_intropoint.c index c716447c9f..2ea53af6a0 100644 --- a/src/feature/hs/hs_intropoint.c +++ b/src/feature/hs/hs_intropoint.c @@ -503,12 +503,6 @@ handle_introduce1(or_circuit_t *client_circ, const uint8_t *request, /* Circuit has been closed on failure of transmission. */ goto done; } - if (status != HS_INTRO_ACK_STATUS_SUCCESS) { - /* We just sent a NACK that is a non success status code so close the - * circuit because it's not useful to keep it open. Remember, a client can - * only send one INTRODUCE1 cell on a circuit. */ - circuit_mark_for_close(TO_CIRCUIT(client_circ), END_CIRC_REASON_INTERNAL); - } done: trn_cell_introduce1_free(parsed_cell); return ret; diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c index 78654bfb23..623a239d50 100644 --- a/src/feature/hs/hs_service.c +++ b/src/feature/hs/hs_service.c @@ -1696,6 +1696,32 @@ build_desc_intro_points(const hs_service_t *service, } DIGEST256MAP_FOREACH_END; } +/* Build the descriptor signing key certificate. */ +static void +build_desc_signing_key_cert(hs_service_descriptor_t *desc, time_t now) +{ + hs_desc_plaintext_data_t *plaintext; + + tor_assert(desc); + tor_assert(desc->desc); + + /* Ease our life a bit. */ + plaintext = &desc->desc->plaintext_data; + + /* Get rid of what we have right now. */ + tor_cert_free(plaintext->signing_key_cert); + + /* Fresh certificate for the signing key. */ + plaintext->signing_key_cert = + tor_cert_create(&desc->blinded_kp, CERT_TYPE_SIGNING_HS_DESC, + &desc->signing_kp.pubkey, now, HS_DESC_CERT_LIFETIME, + CERT_FLAG_INCLUDE_SIGNING_KEY); + /* If the cert creation fails, the descriptor encoding will fail and thus + * ultimately won't be uploaded. We'll get a stack trace to help us learn + * where the call came from and the tor_cert_create() will log the error. */ + tor_assert_nonfatal(plaintext->signing_key_cert); +} + /* Populate the descriptor encrypted section from the given service object. * This will generate a valid list of introduction points that can be used * after for circuit creation. Return 0 on success else -1 on error. */ @@ -1811,17 +1837,15 @@ build_service_desc_superencrypted(const hs_service_t *service, /* Populate the descriptor plaintext section from the given service object. * The caller must make sure that the keys in the descriptors are valid that - * is are non-zero. Return 0 on success else -1 on error. */ -static int + * is are non-zero. This can't fail. */ +static void build_service_desc_plaintext(const hs_service_t *service, - hs_service_descriptor_t *desc, time_t now) + hs_service_descriptor_t *desc) { - int ret = -1; hs_desc_plaintext_data_t *plaintext; tor_assert(service); tor_assert(desc); - /* XXX: Use a "assert_desc_ok()" ? */ tor_assert(!tor_mem_is_zero((char *) &desc->blinded_kp, sizeof(desc->blinded_kp))); tor_assert(!tor_mem_is_zero((char *) &desc->signing_kp, @@ -1835,24 +1859,13 @@ build_service_desc_plaintext(const hs_service_t *service, plaintext->version = service->config.version; plaintext->lifetime_sec = HS_DESC_DEFAULT_LIFETIME; - plaintext->signing_key_cert = - tor_cert_create(&desc->blinded_kp, CERT_TYPE_SIGNING_HS_DESC, - &desc->signing_kp.pubkey, now, HS_DESC_CERT_LIFETIME, - CERT_FLAG_INCLUDE_SIGNING_KEY); - if (plaintext->signing_key_cert == NULL) { - log_warn(LD_REND, "Unable to create descriptor signing certificate for " - "service %s", - safe_str_client(service->onion_address)); - goto end; - } /* Copy public key material to go in the descriptor. */ ed25519_pubkey_copy(&plaintext->signing_pubkey, &desc->signing_kp.pubkey); ed25519_pubkey_copy(&plaintext->blinded_pubkey, &desc->blinded_kp.pubkey); - /* Success. */ - ret = 0; - end: - return ret; + /* Create the signing key certificate. This will be updated before each + * upload but we create it here so we don't complexify our unit tests. */ + build_desc_signing_key_cert(desc, approx_time()); } /** Compute the descriptor's OPE cipher for encrypting revision counters. */ @@ -1924,12 +1937,10 @@ build_service_desc_keys(const hs_service_t *service, goto end; } - /* Random a descriptor cookie to be used as a part of a key to encrypt the - * descriptor, if the client auth is enabled. */ - if (service->config.is_client_auth_enabled) { - crypto_strongest_rand(desc->descriptor_cookie, - sizeof(desc->descriptor_cookie)); - } + /* Random descriptor cookie to be used as a part of a key to encrypt the + * descriptor, only if the client auth is enabled will it be used. */ + crypto_strongest_rand(desc->descriptor_cookie, + sizeof(desc->descriptor_cookie)); /* Success. */ ret = 0; @@ -1944,8 +1955,7 @@ build_service_desc_keys(const hs_service_t *service, * * This can error if we are unable to create keys or certificate. */ static void -build_service_descriptor(hs_service_t *service, time_t now, - uint64_t time_period_num, +build_service_descriptor(hs_service_t *service, uint64_t time_period_num, hs_service_descriptor_t **desc_out) { char *encoded_desc; @@ -1964,9 +1974,8 @@ build_service_descriptor(hs_service_t *service, time_t now, goto err; } /* Setup plaintext descriptor content. */ - if (build_service_desc_plaintext(service, desc, now) < 0) { - goto err; - } + build_service_desc_plaintext(service, desc); + /* Setup superencrypted descriptor content. */ if (build_service_desc_superencrypted(service, desc) < 0) { goto err; @@ -2039,10 +2048,8 @@ build_descriptors_for_new_service(hs_service_t *service, time_t now) } /* Build descriptors. */ - build_service_descriptor(service, now, current_desc_tp, - &service->desc_current); - build_service_descriptor(service, now, next_desc_tp, - &service->desc_next); + build_service_descriptor(service, current_desc_tp, &service->desc_current); + build_service_descriptor(service, next_desc_tp, &service->desc_next); log_info(LD_REND, "Hidden service %s has just started. Both descriptors " "built. Now scheduled for upload.", safe_str_client(service->onion_address)); @@ -2072,7 +2079,7 @@ build_all_descriptors(time_t now) } if (service->desc_next == NULL) { - build_service_descriptor(service, now, hs_get_next_time_period_num(0), + build_service_descriptor(service, hs_get_next_time_period_num(0), &service->desc_next); log_info(LD_REND, "Hidden service %s next descriptor successfully " "built. Now scheduled for upload.", @@ -2284,12 +2291,9 @@ service_desc_schedule_upload(hs_service_descriptor_t *desc, } } -/* Update the given descriptor from the given service. The possible update - * actions includes: - * - Picking missing intro points if needed. - */ +/* Pick missing intro points for this descriptor if needed. */ static void -update_service_descriptor(hs_service_t *service, +update_service_descriptor_intro_points(hs_service_t *service, hs_service_descriptor_t *desc, time_t now) { unsigned int num_intro_points; @@ -2328,15 +2332,17 @@ update_service_descriptor(hs_service_t *service, } } -/* Update descriptors for each service if needed. */ +/* Update descriptor intro points for each service if needed. We do this as + * part of the periodic event because we need to establish intro point circuits + * before we publish descriptors. */ STATIC void -update_all_descriptors(time_t now) +update_all_descriptors_intro_points(time_t now) { FOR_EACH_SERVICE_BEGIN(service) { /* We'll try to update each descriptor that is if certain conditions apply * in order for the descriptor to be updated. */ FOR_EACH_DESCRIPTOR_BEGIN(service, desc) { - update_service_descriptor(service, desc, now); + update_service_descriptor_intro_points(service, desc, now); } FOR_EACH_DESCRIPTOR_END; } FOR_EACH_SERVICE_END; } @@ -2621,10 +2627,10 @@ run_build_descriptor_event(time_t now) * been rotated or we just started up. */ build_all_descriptors(now); - /* Finally, we'll check if we should update the descriptors. Missing - * introduction points will be picked in this function which is useful for - * newly built descriptors. */ - update_all_descriptors(now); + /* Finally, we'll check if we should update the descriptors' intro + * points. Missing introduction points will be picked in this function which + * is useful for newly built descriptors. */ + update_all_descriptors_intro_points(now); } /* For the given service, launch any intro point circuits that could be @@ -2925,8 +2931,8 @@ set_descriptor_revision_counter(hs_service_descriptor_t *hs_desc, time_t now, /* The OPE module returns CRYPTO_OPE_ERROR in case of errors. */ tor_assert_nonfatal(rev_counter < CRYPTO_OPE_ERROR); - log_info(LD_REND, "Encrypted revision counter %d to %ld", - (int) seconds_since_start_of_srv, (long int) rev_counter); + log_info(LD_REND, "Encrypted revision counter %d to %" PRIu64, + (int) seconds_since_start_of_srv, rev_counter); hs_desc->desc->plaintext_data.revision_counter = rev_counter; } @@ -3085,6 +3091,37 @@ should_service_upload_descriptor(const hs_service_t *service, return 0; } +/* Refresh the given service descriptor meaning this will update every mutable + * field that needs to be updated before we upload. + * + * This should ONLY be called before uploading a descriptor. It assumes that + * the descriptor has been built (desc->desc) and that all intro point + * circuits have been established. */ +static void +refresh_service_descriptor(const hs_service_t *service, + hs_service_descriptor_t *desc, time_t now) +{ + /* There are few fields that we consider "mutable" in the descriptor meaning + * we need to update them regurlarly over the lifetime fo the descriptor. + * The rest are set once and should not be modified. + * + * - Signing key certificate. + * - Revision counter. + * - Introduction points which includes many thing. See + * hs_desc_intro_point_t. and the setup_desc_intro_point() function. + */ + + /* Create the signing key certificate. */ + build_desc_signing_key_cert(desc, now); + + /* Build the intro points descriptor section. The refresh step is just + * before we upload so all circuits have been properly established. */ + build_desc_intro_points(service, desc, now); + + /* Set the desc revision counter right before uploading */ + set_descriptor_revision_counter(desc, now, service->desc_current == desc); +} + /* Scheduled event run from the main loop. Try to upload the descriptor for * each service. */ STATIC void @@ -3120,15 +3157,12 @@ run_upload_descriptor_event(time_t now) service->config.num_intro_points, (desc->missing_intro_points) ? " (couldn't pick more)" : ""); - /* At this point, we have to upload the descriptor so start by building - * the intro points descriptor section which we are now sure to be - * accurate because all circuits have been established. */ - build_desc_intro_points(service, desc, now); - - /* Set the desc revision counter right before uploading */ - set_descriptor_revision_counter(desc, approx_time(), - service->desc_current == desc); + /* We are about to upload so we need to do one last step which is to + * update the service's descriptor mutable fields in order to upload a + * coherent descriptor. */ + refresh_service_descriptor(service, desc, now); + /* Proceed with the upload, the descriptor is ready to be encoded. */ upload_descriptor_to_all(service, desc); } FOR_EACH_DESCRIPTOR_END; } FOR_EACH_SERVICE_END; @@ -3593,8 +3627,10 @@ hs_service_del_ephemeral(const char *address) goto err; } - /* Close circuits, remove from map and finally free. */ - close_service_circuits(service); + /* Close introduction circuits, remove from map and finally free. Notice + * that the rendezvous circuits aren't closed in order for any existing + * connections to finish. We let the application terminate them. */ + close_service_intro_circuits(service); remove_service(hs_service_map, service); hs_service_free(service); @@ -3633,8 +3669,8 @@ hs_service_lookup_current_desc(const ed25519_public_key_t *pk) } /* Return the number of service we have configured and usable. */ -unsigned int -hs_service_get_num_services(void) +MOCK_IMPL(unsigned int, +hs_service_get_num_services,(void)) { if (hs_service_map == NULL) { return 0; diff --git a/src/feature/hs/hs_service.h b/src/feature/hs/hs_service.h index 6fb15b9d37..be1155bcd1 100644 --- a/src/feature/hs/hs_service.h +++ b/src/feature/hs/hs_service.h @@ -99,49 +99,65 @@ typedef struct hs_service_intropoints_t { digestmap_t *failed_id; } hs_service_intropoints_t; -/* Representation of a service descriptor. */ +/* Representation of a service descriptor. + * + * Some elements of the descriptor are mutable whereas others are immutable: + + * Immutable elements are initialized once when the descriptor is built (when + * service descriptors gets rotated). This means that these elements are + * initialized once and then they don't change for the lifetime of the + * descriptor. See build_service_descriptor(). + * + * Mutable elements are initialized when we build the descriptor but they are + * also altered during the lifetime of the descriptor. They could be + * _refreshed_ everytime we upload the descriptor (which happens multiple times + * over the lifetime of the descriptor), or through periodic events. We do this + * for elements like the descriptor revision counter and various + * certificates. See refresh_service_descriptor() and + * update_service_descriptor_intro_points(). + */ typedef struct hs_service_descriptor_t { - /* Decoded descriptor. This object is used for encoding when the service - * publishes the descriptor. */ - hs_descriptor_t *desc; - - /* Client authorization ephemeral keypair. */ + /* Immutable: Client authorization ephemeral keypair. */ curve25519_keypair_t auth_ephemeral_kp; - /* Descriptor cookie used to encrypt the descriptor, when the client - * authorization is enabled */ + /* Immutable: Descriptor cookie used to encrypt the descriptor, when the + * client authorization is enabled */ uint8_t descriptor_cookie[HS_DESC_DESCRIPTOR_COOKIE_LEN]; - /* Descriptor signing keypair. */ + /* Immutable: Descriptor signing keypair. */ ed25519_keypair_t signing_kp; - /* Blinded keypair derived from the master identity public key. */ + /* Immutable: Blinded keypair derived from the master identity public key. */ ed25519_keypair_t blinded_kp; - /* When is the next time when we should upload the descriptor. */ + /* Immutable: The time period number this descriptor has been created for. */ + uint64_t time_period_num; + + /** Immutable: The OPE cipher for encrypting revision counters for this + * descriptor. Tied to the descriptor blinded key. */ + struct crypto_ope_t *ope_cipher; + + /* Mutable: Decoded descriptor. This object is used for encoding when the + * service publishes the descriptor. */ + hs_descriptor_t *desc; + + /* Mutable: When is the next time when we should upload the descriptor. */ time_t next_upload_time; - /* Introduction points assign to this descriptor which contains - * hs_service_intropoints_t object indexed by authentication key (the RSA - * key if the node is legacy). */ + /* Mutable: Introduction points assign to this descriptor which contains + * hs_service_intropoints_t object indexed by authentication key (the RSA key + * if the node is legacy). */ hs_service_intropoints_t intro_points; - /* The time period number this descriptor has been created for. */ - uint64_t time_period_num; - - /* True iff we have missing intro points for this descriptor because we - * couldn't pick any nodes. */ + /* Mutable: True iff we have missing intro points for this descriptor because + * we couldn't pick any nodes. */ unsigned int missing_intro_points : 1; - /** List of the responsible HSDirs (their b64ed identity digest) last time we - * uploaded this descriptor. If the set of responsible HSDirs is different - * from this list, this means we received new dirinfo and we need to - * reupload our descriptor. */ + /** Mutable: List of the responsible HSDirs (their b64ed identity digest) + * last time we uploaded this descriptor. If the set of responsible HSDirs + * is different from this list, this means we received new dirinfo and we + * need to reupload our descriptor. */ smartlist_t *previous_hsdirs; - - /** The OPE cipher for encrypting revision counters for this descriptor. - * Tied to the descriptor blinded key. */ - struct crypto_ope_t *ope_cipher; } hs_service_descriptor_t; /* Service key material. */ @@ -178,6 +194,9 @@ typedef struct hs_service_config_t { * option. */ uint32_t version; + /* Have we explicitly set HiddenServiceVersion? */ + unsigned int hs_version_explicitly_set : 1; + /* List of rend_service_port_config_t */ smartlist_t *ports; @@ -291,7 +310,7 @@ hs_service_t *hs_service_new(const or_options_t *options); void hs_service_free_(hs_service_t *service); #define hs_service_free(s) FREE_AND_NULL(hs_service_t, hs_service_free_, (s)) -unsigned int hs_service_get_num_services(void); +MOCK_DECL(unsigned int, hs_service_get_num_services,(void)); void hs_service_stage_services(const smartlist_t *service_list); int hs_service_load_all_keys(void); int hs_service_get_version_from_key(const hs_service_t *service); @@ -387,7 +406,7 @@ STATIC int intro_point_should_expire(const hs_service_intro_point_t *ip, STATIC void run_housekeeping_event(time_t now); STATIC void rotate_all_descriptors(time_t now); STATIC void build_all_descriptors(time_t now); -STATIC void update_all_descriptors(time_t now); +STATIC void update_all_descriptors_intro_points(time_t now); STATIC void run_upload_descriptor_event(time_t now); STATIC void service_descriptor_free_(hs_service_descriptor_t *desc); diff --git a/src/feature/nodelist/authcert.c b/src/feature/nodelist/authcert.c index b111422d0d..2c4915e913 100644 --- a/src/feature/nodelist/authcert.c +++ b/src/feature/nodelist/authcert.c @@ -380,7 +380,8 @@ trusted_dirs_load_certs_from_string(const char *contents, int source, int added_trusted_cert = 0; for (s = contents; *s; s = eos) { - authority_cert_t *cert = authority_cert_parse_from_string(s, &eos); + authority_cert_t *cert = authority_cert_parse_from_string(s, strlen(s), + &eos); cert_list_t *cl; if (!cert) { failure_code = -1; diff --git a/src/feature/nodelist/fmt_routerstatus.c b/src/feature/nodelist/fmt_routerstatus.c index e70aeb2950..b1d4a48038 100644 --- a/src/feature/nodelist/fmt_routerstatus.c +++ b/src/feature/nodelist/fmt_routerstatus.c @@ -135,7 +135,7 @@ routerstatus_format_entry(const routerstatus_t *rs, const char *version, goto done; smartlist_add_asprintf(chunks, - "s%s%s%s%s%s%s%s%s%s%s\n", + "s%s%s%s%s%s%s%s%s%s%s%s\n", /* These must stay in alphabetical order. */ rs->is_authority?" Authority":"", rs->is_bad_exit?" BadExit":"", @@ -145,6 +145,7 @@ routerstatus_format_entry(const routerstatus_t *rs, const char *version, rs->is_hs_dir?" HSDir":"", rs->is_flagged_running?" Running":"", rs->is_stable?" Stable":"", + rs->is_staledesc?" StaleDesc":"", rs->is_v2_dir?" V2Dir":"", rs->is_valid?" Valid":""); diff --git a/src/feature/nodelist/microdesc.c b/src/feature/nodelist/microdesc.c index 146c772daf..eadca69548 100644 --- a/src/feature/nodelist/microdesc.c +++ b/src/feature/nodelist/microdesc.c @@ -23,6 +23,7 @@ #include "feature/nodelist/dirlist.h" #include "feature/nodelist/microdesc.h" #include "feature/nodelist/networkstatus.h" +#include "feature/nodelist/nodefamily.h" #include "feature/nodelist/nodelist.h" #include "feature/nodelist/routerlist.h" #include "feature/relay/router.h" @@ -108,10 +109,12 @@ microdesc_note_outdated_dirserver(const char *relay_digest) { char relay_hexdigest[HEX_DIGEST_LEN+1]; - /* Don't register outdated dirservers if we don't have a live consensus, - * since we might be trying to fetch microdescriptors that are not even - * currently active. */ - if (!networkstatus_get_live_consensus(approx_time())) { + /* If we have a reasonably live consensus, then most of our dirservers should + * still be caching all the microdescriptors in it. Reasonably live + * consensuses are up to a day old. But microdescriptors expire 7 days after + * the last consensus that referenced them. */ + if (!networkstatus_get_reasonably_live_consensus(approx_time(), + FLAV_MICRODESC)) { return; } @@ -882,10 +885,7 @@ microdesc_free_(microdesc_t *md, const char *fname, int lineno) if (md->body && md->saved_location != SAVED_IN_CACHE) tor_free(md->body); - if (md->family) { - SMARTLIST_FOREACH(md->family, char *, cp, tor_free(cp)); - smartlist_free(md->family); - } + nodefamily_free(md->family); short_policy_free(md->exit_policy); short_policy_free(md->ipv6_exit_policy); diff --git a/src/feature/nodelist/microdesc_st.h b/src/feature/nodelist/microdesc_st.h index d23da13137..30c896181d 100644 --- a/src/feature/nodelist/microdesc_st.h +++ b/src/feature/nodelist/microdesc_st.h @@ -9,6 +9,7 @@ struct curve25519_public_key_t; struct ed25519_public_key_t; +struct nodefamily_t; struct short_policy_t; /** A microdescriptor is the smallest amount of information needed to build a @@ -69,8 +70,8 @@ struct microdesc_t { tor_addr_t ipv6_addr; /** As routerinfo_t.ipv6_orport */ uint16_t ipv6_orport; - /** As routerinfo_t.family */ - smartlist_t *family; + /** As routerinfo_t.family, with readable members parsed. */ + struct nodefamily_t *family; /** IPv4 exit policy summary */ struct short_policy_t *exit_policy; /** IPv6 exit policy summary */ diff --git a/src/feature/nodelist/networkstatus.c b/src/feature/nodelist/networkstatus.c index de2451b79c..65ea3cc491 100644 --- a/src/feature/nodelist/networkstatus.c +++ b/src/feature/nodelist/networkstatus.c @@ -116,8 +116,6 @@ STATIC networkstatus_t *current_md_consensus = NULL; typedef struct consensus_waiting_for_certs_t { /** The consensus itself. */ networkstatus_t *consensus; - /** The encoded version of the consensus, nul-terminated. */ - char *body; /** When did we set the current value of consensus_waiting_for_certs? If * this is too recent, we shouldn't try to fetch a new consensus for a * little while, to give ourselves time to get certificates for this one. */ @@ -210,14 +208,11 @@ networkstatus_reset_download_failures(void) download_status_reset(&consensus_bootstrap_dl_status[i]); } -/** - * Read and and return the cached consensus of type <b>flavorname</b>. If - * <b>unverified</b> is true, get the one we haven't verified. Return NULL if - * the file isn't there. */ +/** Return the filename used to cache the consensus of a given flavor */ static char * -networkstatus_read_cached_consensus_impl(int flav, - const char *flavorname, - int unverified_consensus) +networkstatus_get_cache_fname(int flav, + const char *flavorname, + int unverified_consensus) { char buf[128]; const char *prefix; @@ -232,21 +227,35 @@ networkstatus_read_cached_consensus_impl(int flav, tor_snprintf(buf, sizeof(buf), "%s-%s-consensus", prefix, flavorname); } - char *filename = get_cachedir_fname(buf); - char *result = read_file_to_str(filename, RFTS_IGNORE_MISSING, NULL); + return get_cachedir_fname(buf); +} + +/** + * Read and and return the cached consensus of type <b>flavorname</b>. If + * <b>unverified</b> is false, get the one we haven't verified. Return NULL if + * the file isn't there. */ +static tor_mmap_t * +networkstatus_map_cached_consensus_impl(int flav, + const char *flavorname, + int unverified_consensus) +{ + char *filename = networkstatus_get_cache_fname(flav, + flavorname, + unverified_consensus); + tor_mmap_t *result = tor_mmap_file(filename); tor_free(filename); return result; } -/** Return a new string containing the current cached consensus of flavor - * <b>flavorname</b>. */ -char * -networkstatus_read_cached_consensus(const char *flavorname) - { +/** Map the file containing the current cached consensus of flavor + * <b>flavorname</b> */ +tor_mmap_t * +networkstatus_map_cached_consensus(const char *flavorname) +{ int flav = networkstatus_parse_flavor_name(flavorname); if (flav < 0) return NULL; - return networkstatus_read_cached_consensus_impl(flav, flavorname, 0); + return networkstatus_map_cached_consensus_impl(flav, flavorname, 0); } /** Read every cached v3 consensus networkstatus from the disk. */ @@ -259,24 +268,26 @@ router_reload_consensus_networkstatus(void) /* FFFF Suppress warnings if cached consensus is bad? */ for (flav = 0; flav < N_CONSENSUS_FLAVORS; ++flav) { const char *flavor = networkstatus_get_flavor_name(flav); - char *s = networkstatus_read_cached_consensus_impl(flav, flavor, 0); - if (s) { - if (networkstatus_set_current_consensus(s, flavor, flags, NULL) < -1) { + tor_mmap_t *m = networkstatus_map_cached_consensus_impl(flav, flavor, 0); + if (m) { + if (networkstatus_set_current_consensus(m->data, m->size, + flavor, flags, NULL) < -1) { log_warn(LD_FS, "Couldn't load consensus %s networkstatus from cache", flavor); } - tor_free(s); + tor_munmap_file(m); } - s = networkstatus_read_cached_consensus_impl(flav, flavor, 1); - if (s) { - if (networkstatus_set_current_consensus(s, flavor, + m = networkstatus_map_cached_consensus_impl(flav, flavor, 1); + if (m) { + if (networkstatus_set_current_consensus(m->data, m->size, + flavor, flags | NSSET_WAS_WAITING_FOR_CERTS, NULL)) { log_info(LD_FS, "Couldn't load unverified consensus %s networkstatus " "from cache", flavor); } - tor_free(s); + tor_munmap_file(m); } } @@ -713,8 +724,8 @@ networkstatus_vote_find_mutable_entry(networkstatus_t *ns, const char *digest) /** Return the entry in <b>ns</b> for the identity digest <b>digest</b>, or * NULL if none was found. */ -const routerstatus_t * -networkstatus_vote_find_entry(networkstatus_t *ns, const char *digest) +MOCK_IMPL(const routerstatus_t *, +networkstatus_vote_find_entry,(networkstatus_t *ns, const char *digest)) { return networkstatus_vote_find_mutable_entry(ns, digest); } @@ -1448,13 +1459,10 @@ networkstatus_valid_until_is_reasonably_live(time_t valid_until, return (now <= valid_until + REASONABLY_LIVE_TIME); } -/* XXXX remove this in favor of get_live_consensus. But actually, - * leave something like it for bridge users, who need to not totally - * lose if they spend a while fetching a new consensus. */ /** As networkstatus_get_live_consensus(), but is way more tolerant of expired * consensuses. */ -networkstatus_t * -networkstatus_get_reasonably_live_consensus(time_t now, int flavor) +MOCK_IMPL(networkstatus_t *, +networkstatus_get_reasonably_live_consensus,(time_t now, int flavor)) { networkstatus_t *consensus = networkstatus_get_latest_consensus_by_flavor(flavor); @@ -1844,6 +1852,7 @@ warn_early_consensus(const networkstatus_t *c, const char *flavor, */ int networkstatus_set_current_consensus(const char *consensus, + size_t consensus_len, const char *flavor, unsigned flags, const char *source_dir) @@ -1872,7 +1881,9 @@ networkstatus_set_current_consensus(const char *consensus, } /* Make sure it's parseable. */ - c = networkstatus_parse_vote_from_string(consensus, NULL, NS_TYPE_CONSENSUS); + c = networkstatus_parse_vote_from_string(consensus, + consensus_len, + NULL, NS_TYPE_CONSENSUS); if (!c) { log_warn(LD_DIR, "Unable to parse networkstatus consensus"); result = -2; @@ -1960,14 +1971,12 @@ networkstatus_set_current_consensus(const char *consensus, c->valid_after > current_valid_after) { waiting = &consensus_waiting_for_certs[flav]; networkstatus_vote_free(waiting->consensus); - tor_free(waiting->body); waiting->consensus = c; free_consensus = 0; - waiting->body = tor_strdup(consensus); waiting->set_at = now; waiting->dl_failed = 0; if (!from_cache) { - write_str_to_file(unverified_fname, consensus, 0); + write_bytes_to_file(unverified_fname, consensus, consensus_len, 0); } if (dl_certs) authority_certs_fetch_missing(c, now, source_dir); @@ -2058,10 +2067,6 @@ networkstatus_set_current_consensus(const char *consensus, waiting->consensus->valid_after <= c->valid_after) { networkstatus_vote_free(waiting->consensus); waiting->consensus = NULL; - if (consensus != waiting->body) - tor_free(waiting->body); - else - waiting->body = NULL; waiting->set_at = 0; waiting->dl_failed = 0; if (unlink(unverified_fname) != 0) { @@ -2111,17 +2116,18 @@ networkstatus_set_current_consensus(const char *consensus, if (we_want_to_fetch_flavor(options, flav)) { if (dir_server_mode(get_options())) { dirserv_set_cached_consensus_networkstatus(consensus, + consensus_len, flavor, &c->digests, c->digest_sha3_as_signed, c->valid_after); - consdiffmgr_add_consensus(consensus, c); + consdiffmgr_add_consensus(consensus, consensus_len, c); } } if (!from_cache) { - write_str_to_file(consensus_fname, consensus, 0); + write_bytes_to_file(consensus_fname, consensus, consensus_len, 0); } warn_early_consensus(c, flavor, now); @@ -2157,14 +2163,16 @@ networkstatus_note_certs_arrived(const char *source_dir) if (!waiting->consensus) continue; if (networkstatus_check_consensus_signature(waiting->consensus, 0)>=0) { - char *waiting_body = waiting->body; - if (!networkstatus_set_current_consensus( - waiting_body, - flavor_name, - NSSET_WAS_WAITING_FOR_CERTS, - source_dir)) { - tor_free(waiting_body); + tor_mmap_t *mapping = networkstatus_map_cached_consensus_impl( + i, flavor_name, 1); + if (mapping) { + networkstatus_set_current_consensus(mapping->data, + mapping->size, + flavor_name, + NSSET_WAS_WAITING_FOR_CERTS, + source_dir); } + tor_munmap_file(mapping); } } } @@ -2392,7 +2400,9 @@ networkstatus_dump_bridge_status_to_file(time_t now) published, thresholds, fingerprint_line ? fingerprint_line : "", status); fname = get_datadir_fname("networkstatus-bridges"); - write_str_to_file(fname,published_thresholds_and_status,0); + if (write_str_to_file(fname,published_thresholds_and_status,0)<0) { + log_warn(LD_DIRSERV, "Unable to write networkstatus-bridges file."); + } tor_free(thresholds); tor_free(published_thresholds_and_status); tor_free(fname); @@ -2671,6 +2681,9 @@ networkstatus_check_required_protocols(const networkstatus_t *ns, const char *required, *recommended; char *missing = NULL; + const bool consensus_postdates_this_release = + ns->valid_after >= tor_get_approx_release_date(); + tor_assert(warning_out); if (client_mode) { @@ -2688,7 +2701,7 @@ networkstatus_check_required_protocols(const networkstatus_t *ns, "%s on the Tor network. The missing protocols are: %s", func, missing); tor_free(missing); - return 1; + return consensus_postdates_this_release ? 1 : 0; } if (! protover_all_supported(recommended, &missing)) { @@ -2721,6 +2734,5 @@ networkstatus_free_all(void) networkstatus_vote_free(waiting->consensus); waiting->consensus = NULL; } - tor_free(waiting->body); } } diff --git a/src/feature/nodelist/networkstatus.h b/src/feature/nodelist/networkstatus.h index 6f8b2dc964..3d212dd304 100644 --- a/src/feature/nodelist/networkstatus.h +++ b/src/feature/nodelist/networkstatus.h @@ -16,7 +16,7 @@ void networkstatus_reset_warnings(void); void networkstatus_reset_download_failures(void); -char *networkstatus_read_cached_consensus(const char *flavorname); +tor_mmap_t *networkstatus_map_cached_consensus(const char *flavorname); int router_reload_consensus_networkstatus(void); void routerstatus_free_(routerstatus_t *rs); #define routerstatus_free(rs) \ @@ -40,8 +40,9 @@ int compare_digest_to_routerstatus_entry(const void *_key, const void **_member); int compare_digest_to_vote_routerstatus_entry(const void *_key, const void **_member); -const routerstatus_t *networkstatus_vote_find_entry(networkstatus_t *ns, - const char *digest); +MOCK_DECL(const routerstatus_t *,networkstatus_vote_find_entry,( + networkstatus_t *ns, + const char *digest)); routerstatus_t *networkstatus_vote_find_mutable_entry(networkstatus_t *ns, const char *digest); int networkstatus_vote_find_entry_idx(networkstatus_t *ns, @@ -89,8 +90,9 @@ int networkstatus_consensus_reasonably_live(const networkstatus_t *consensus, time_t now); int networkstatus_valid_until_is_reasonably_live(time_t valid_until, time_t now); -networkstatus_t *networkstatus_get_reasonably_live_consensus(time_t now, - int flavor); +MOCK_DECL(networkstatus_t *,networkstatus_get_reasonably_live_consensus, + (time_t now, + int flavor)); MOCK_DECL(int, networkstatus_consensus_is_bootstrapping,(time_t now)); int networkstatus_consensus_can_use_multiple_directories( const or_options_t *options); @@ -105,6 +107,7 @@ int networkstatus_consensus_has_ipv6(const or_options_t* options); #define NSSET_ACCEPT_OBSOLETE 8 #define NSSET_REQUIRE_FLAVOR 16 int networkstatus_set_current_consensus(const char *consensus, + size_t consensus_len, const char *flavor, unsigned flags, const char *source_dir); @@ -156,4 +159,3 @@ extern networkstatus_t *current_md_consensus; #endif /* defined(NETWORKSTATUS_PRIVATE) */ #endif /* !defined(TOR_NETWORKSTATUS_H) */ - diff --git a/src/feature/nodelist/nodefamily.c b/src/feature/nodelist/nodefamily.c new file mode 100644 index 0000000000..944ad54755 --- /dev/null +++ b/src/feature/nodelist/nodefamily.c @@ -0,0 +1,416 @@ +/* Copyright (c) 2001 Matej Pfajfar. + * Copyright (c) 2001-2004, Roger Dingledine. + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file nodefamily.c + * \brief Code to manipulate encoded, reference-counted node families. We + * use these tricks to save space, since these families would otherwise + * require a large number of tiny allocations. + **/ + +#include "core/or/or.h" +#include "feature/nodelist/nickname.h" +#include "feature/nodelist/nodefamily.h" +#include "feature/nodelist/nodefamily_st.h" +#include "feature/nodelist/nodelist.h" +#include "feature/relay/router.h" +#include "feature/nodelist/routerlist.h" + +#include "ht.h" +#include "siphash.h" + +#include "lib/container/smartlist.h" +#include "lib/ctime/di_ops.h" +#include "lib/defs/digest_sizes.h" +#include "lib/log/util_bug.h" + +#include <stdlib.h> +#include <string.h> + +/** + * Allocate and return a blank node family with space to hold <b>n_members</b> + * members. + */ +static nodefamily_t * +nodefamily_alloc(int n_members) +{ + size_t alloc_len = offsetof(nodefamily_t, family_members) + + NODEFAMILY_ARRAY_SIZE(n_members); + nodefamily_t *nf = tor_malloc_zero(alloc_len); + nf->n_members = n_members; + return nf; +} + +/** + * Hashtable hash implementation. + */ +static inline unsigned int +nodefamily_hash(const nodefamily_t *nf) +{ + return (unsigned) siphash24g(nf->family_members, + NODEFAMILY_ARRAY_SIZE(nf->n_members)); +} + +/** + * Hashtable equality implementation. + */ +static inline unsigned int +nodefamily_eq(const nodefamily_t *a, const nodefamily_t *b) +{ + return (a->n_members == b->n_members) && + fast_memeq(a->family_members, b->family_members, + NODEFAMILY_ARRAY_SIZE(a->n_members)); +} + +static HT_HEAD(nodefamily_map, nodefamily_t) the_node_families + = HT_INITIALIZER(); + +HT_PROTOTYPE(nodefamily_map, nodefamily_t, ht_ent, nodefamily_hash, + nodefamily_eq) +HT_GENERATE2(nodefamily_map, nodefamily_t, ht_ent, nodefamily_hash, + node_family_eq, 0.6, tor_reallocarray_, tor_free_) + +/** + * Parse the family declaration in <b>s</b>, returning the canonical + * <b>nodefamily_t</b> for its members. Return NULL on error. + * + * If <b>rsa_id_self</b> is provided, it is a DIGEST_LEN-byte digest + * for the router that declared this family: insert it into the + * family declaration if it is not there already. + * + * If NF_WARN_MALFORMED is set in <b>flags</b>, warn about any + * elements that we can't parse. (By default, we log at info.) + * + * If NF_REJECT_MALFORMED is set in <b>flags</b>, treat any unparseable + * elements as an error. (By default, we simply omit them.) + **/ +nodefamily_t * +nodefamily_parse(const char *s, const uint8_t *rsa_id_self, + unsigned flags) +{ + smartlist_t *sl = smartlist_new(); + smartlist_split_string(sl, s, NULL, SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0); + nodefamily_t *result = nodefamily_from_members(sl, rsa_id_self, flags, NULL); + SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + smartlist_free(sl); + return result; +} + +/** + * Canonicalize the family list <b>s</b>, returning a newly allocated string. + * + * The canonicalization rules are fully specified in dir-spec.txt, but, + * briefly: $hexid entries are put in caps, $hexid[=~]foo entries are + * truncated, nicknames are put into lowercase, unrecognized entries are left + * alone, and everything is sorted. + **/ +char * +nodefamily_canonicalize(const char *s, const uint8_t *rsa_id_self, + unsigned flags) +{ + smartlist_t *sl = smartlist_new(); + smartlist_t *result_members = smartlist_new(); + smartlist_split_string(sl, s, NULL, SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0); + nodefamily_t *nf = nodefamily_from_members(sl, rsa_id_self, flags, + result_members); + + char *formatted = nodefamily_format(nf); + smartlist_split_string(result_members, formatted, NULL, + SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0); + smartlist_sort_strings(result_members); + char *combined = smartlist_join_strings(result_members, " ", 0, NULL); + + nodefamily_free(nf); + SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + smartlist_free(sl); + SMARTLIST_FOREACH(result_members, char *, cp, tor_free(cp)); + smartlist_free(result_members); + tor_free(formatted); + + return combined; +} + +/** + * qsort helper for encoded nodefamily elements. + **/ +static int +compare_members(const void *a, const void *b) +{ + return fast_memcmp(a, b, NODEFAMILY_MEMBER_LEN); +} + +/** + * Parse the member strings in <b>members</b>, returning their canonical + * <b>nodefamily_t</b>. Return NULL on error. + * + * If <b>rsa_id_self</b> is provided, it is a DIGEST_LEN-byte digest + * for the router that declared this family: insert it into the + * family declaration if it is not there already. + * + * The <b>flags</b> element is interpreted as in nodefamily_parse(). + * + * If <b>unrecognized</b> is provided, fill it copies of any unrecognized + * members. (Note that malformed $hexids are not considered unrecognized.) + **/ +nodefamily_t * +nodefamily_from_members(const smartlist_t *members, + const uint8_t *rsa_id_self, + unsigned flags, + smartlist_t *unrecognized_out) +{ + const int n_self = rsa_id_self ? 1 : 0; + int n_bad_elements = 0; + int n_members = smartlist_len(members) + n_self; + nodefamily_t *tmp = nodefamily_alloc(n_members); + uint8_t *ptr = NODEFAMILY_MEMBER_PTR(tmp, 0); + + SMARTLIST_FOREACH_BEGIN(members, const char *, cp) { + bool bad_element = true; + if (is_legal_nickname(cp)) { + ptr[0] = NODEFAMILY_BY_NICKNAME; + tor_assert(strlen(cp) < DIGEST_LEN); // guaranteed by is_legal_nickname + memcpy(ptr+1, cp, strlen(cp)); + tor_strlower((char*) ptr+1); + bad_element = false; + } else if (is_legal_hexdigest(cp)) { + char digest_buf[DIGEST_LEN]; + char nn_buf[MAX_NICKNAME_LEN+1]; + char nn_char=0; + if (hex_digest_nickname_decode(cp, digest_buf, &nn_char, nn_buf)==0) { + bad_element = false; + ptr[0] = NODEFAMILY_BY_RSA_ID; + memcpy(ptr+1, digest_buf, DIGEST_LEN); + } + } else { + if (unrecognized_out) + smartlist_add_strdup(unrecognized_out, cp); + } + + if (bad_element) { + const int severity = (flags & NF_WARN_MALFORMED) ? LOG_WARN : LOG_INFO; + log_fn(severity, LD_GENERAL, + "Bad element %s while parsing a node family.", + escaped(cp)); + ++n_bad_elements; + } else { + ptr += NODEFAMILY_MEMBER_LEN; + } + } SMARTLIST_FOREACH_END(cp); + + if (n_bad_elements && (flags & NF_REJECT_MALFORMED)) + goto err; + + if (rsa_id_self) { + /* Add self. */ + ptr[0] = NODEFAMILY_BY_RSA_ID; + memcpy(ptr+1, rsa_id_self, DIGEST_LEN); + } + + n_members -= n_bad_elements; + + /* Sort tmp into canonical order. */ + qsort(tmp->family_members, n_members, NODEFAMILY_MEMBER_LEN, + compare_members); + + /* Remove duplicates. */ + int i; + for (i = 0; i < n_members-1; ++i) { + uint8_t *thisptr = NODEFAMILY_MEMBER_PTR(tmp, i); + uint8_t *nextptr = NODEFAMILY_MEMBER_PTR(tmp, i+1); + if (fast_memeq(thisptr, nextptr, NODEFAMILY_MEMBER_LEN)) { + memmove(thisptr, nextptr, (n_members-i-1)*NODEFAMILY_MEMBER_LEN); + --n_members; + --i; + } + } + int n_members_alloc = tmp->n_members; + tmp->n_members = n_members; + + /* See if we already allocated this family. */ + nodefamily_t *found = HT_FIND(nodefamily_map, &the_node_families, tmp); + if (found) { + /* If we did, great: incref it and return it. */ + ++found->refcnt; + tor_free(tmp); + return found; + } else { + /* If not, insert it into the hashtable. */ + if (n_members_alloc != n_members) { + /* Compact the family if needed */ + nodefamily_t *tmp2 = nodefamily_alloc(n_members); + memcpy(tmp2->family_members, tmp->family_members, + n_members * NODEFAMILY_MEMBER_LEN); + tor_free(tmp); + tmp = tmp2; + } + + tmp->refcnt = 1; + HT_INSERT(nodefamily_map, &the_node_families, tmp); + return tmp; + } + + err: + tor_free(tmp); + return NULL; +} + +/** + * Drop our reference to <b>family</b>, freeing it if there are no more + * references. + */ +void +nodefamily_free_(nodefamily_t *family) +{ + if (family == NULL) + return; + + --family->refcnt; + + if (family->refcnt == 0) { + HT_REMOVE(nodefamily_map, &the_node_families, family); + tor_free(family); + } +} + +/** + * Return true iff <b>family</b> contains the SHA1 RSA1024 identity + * <b>rsa_id</b>. + */ +bool +nodefamily_contains_rsa_id(const nodefamily_t *family, + const uint8_t *rsa_id) +{ + if (family == NULL) + return false; + + unsigned i; + for (i = 0; i < family->n_members; ++i) { + const uint8_t *ptr = NODEFAMILY_MEMBER_PTR(family, i); + if (ptr[0] == NODEFAMILY_BY_RSA_ID && + fast_memeq(ptr+1, rsa_id, DIGEST_LEN)) { + return true; + } + } + return false; +} + +/** + * Return true iff <b>family</b> contains the nickname <b>name</b>. + */ +bool +nodefamily_contains_nickname(const nodefamily_t *family, + const char *name) +{ + if (family == NULL) + return false; + + unsigned i; + for (i = 0; i < family->n_members; ++i) { + const uint8_t *ptr = NODEFAMILY_MEMBER_PTR(family, i); + // note that the strcasecmp() is safe because there is always at least one + // NUL in the encoded nickname, because all legal nicknames are less than + // DIGEST_LEN bytes long. + if (ptr[0] == NODEFAMILY_BY_NICKNAME && !strcasecmp((char*)ptr+1, name)) { + return true; + } + } + return false; +} + +/** + * Return true if <b>family</b> contains the nickname or the RSA ID for + * <b>node</b> + **/ +bool +nodefamily_contains_node(const nodefamily_t *family, + const node_t *node) +{ + return + nodefamily_contains_nickname(family, node_get_nickname(node)) + || + nodefamily_contains_rsa_id(family, node_get_rsa_id_digest(node)); +} + +/** + * Look up every entry in <b>family</b>, and add add the corresponding + * node_t to <b>out</b>. + **/ +void +nodefamily_add_nodes_to_smartlist(const nodefamily_t *family, + smartlist_t *out) +{ + if (!family) + return; + + unsigned i; + for (i = 0; i < family->n_members; ++i) { + const uint8_t *ptr = NODEFAMILY_MEMBER_PTR(family, i); + const node_t *node = NULL; + switch (ptr[0]) { + case NODEFAMILY_BY_NICKNAME: + node = node_get_by_nickname((char*)ptr+1, NNF_NO_WARN_UNNAMED); + break; + case NODEFAMILY_BY_RSA_ID: + node = node_get_by_id((char*)ptr+1); + break; + default: + /* LCOV_EXCL_START */ + tor_assert_nonfatal_unreached(); + break; + /* LCOV_EXCL_STOP */ + } + if (node) + smartlist_add(out, (void *)node); + } +} + +/** + * Encode <b>family</b> as a space-separated string. + */ +char * +nodefamily_format(const nodefamily_t *family) +{ + if (!family) + return tor_strdup(""); + + unsigned i; + smartlist_t *sl = smartlist_new(); + for (i = 0; i < family->n_members; ++i) { + const uint8_t *ptr = NODEFAMILY_MEMBER_PTR(family, i); + switch (ptr[0]) { + case NODEFAMILY_BY_NICKNAME: + smartlist_add_strdup(sl, (char*)ptr+1); + break; + case NODEFAMILY_BY_RSA_ID: { + char buf[HEX_DIGEST_LEN+2]; + buf[0]='$'; + base16_encode(buf+1, sizeof(buf)-1, (char*)ptr+1, DIGEST_LEN); + tor_strupper(buf); + smartlist_add_strdup(sl, buf); + break; + } + default: + /* LCOV_EXCL_START */ + tor_assert_nonfatal_unreached(); + break; + /* LCOV_EXCL_STOP */ + } + } + + char *result = smartlist_join_strings(sl, " ", 0, NULL); + SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); + smartlist_free(sl); + return result; +} + +/** + * Free all storage held in the nodefamily map. + **/ +void +nodefamily_free_all(void) +{ + HT_CLEAR(nodefamily_map, &the_node_families); +} diff --git a/src/feature/nodelist/nodefamily.h b/src/feature/nodelist/nodefamily.h new file mode 100644 index 0000000000..ea1076876d --- /dev/null +++ b/src/feature/nodelist/nodefamily.h @@ -0,0 +1,50 @@ +/* Copyright (c) 2001 Matej Pfajfar. + * Copyright (c) 2001-2004, Roger Dingledine. + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file nodefamily.h + * \brief Header file for nodefamily.c. + **/ + +#ifndef TOR_NODEFAMILY_H +#define TOR_NODEFAMILY_H + +#include "lib/malloc/malloc.h" +#include <stdbool.h> + +typedef struct nodefamily_t nodefamily_t; +struct node_t; +struct smartlist_t; + +#define NF_WARN_MALFORMED (1u<<0) +#define NF_REJECT_MALFORMED (1u<<1) + +nodefamily_t *nodefamily_parse(const char *s, + const uint8_t *rsa_id_self, + unsigned flags); +nodefamily_t *nodefamily_from_members(const struct smartlist_t *members, + const uint8_t *rsa_id_self, + unsigned flags, + smartlist_t *unrecognized_out); +void nodefamily_free_(nodefamily_t *family); +#define nodefamily_free(family) \ + FREE_AND_NULL(nodefamily_t, nodefamily_free_, (family)) + +bool nodefamily_contains_rsa_id(const nodefamily_t *family, + const uint8_t *rsa_id); +bool nodefamily_contains_nickname(const nodefamily_t *family, + const char *name); +bool nodefamily_contains_node(const nodefamily_t *family, + const struct node_t *node); +void nodefamily_add_nodes_to_smartlist(const nodefamily_t *family, + struct smartlist_t *out); +char *nodefamily_format(const nodefamily_t *family); +char *nodefamily_canonicalize(const char *s, const uint8_t *rsa_id_self, + unsigned flags); + +void nodefamily_free_all(void); + +#endif diff --git a/src/feature/nodelist/nodefamily_st.h b/src/feature/nodelist/nodefamily_st.h new file mode 100644 index 0000000000..a498b4b3b9 --- /dev/null +++ b/src/feature/nodelist/nodefamily_st.h @@ -0,0 +1,48 @@ +/* Copyright (c) 2001 Matej Pfajfar. + * Copyright (c) 2001-2004, Roger Dingledine. + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +#ifndef TOR_NODEFAMILY_ST_H +#define TOR_NODEFAMILY_ST_H + +#include "orconfig.h" +#include "ht.h" + +struct nodefamily_t { + /** Entry for this nodefamily_t within the hashtable. */ + HT_ENTRY(nodefamily_t) ht_ent; + /** Reference count. (The hashtable is not treated as a reference */ + uint32_t refcnt; + /** Number of items encoded in <b>family_members</b>. */ + uint32_t n_members; + /* A byte-array encoding the members of this family. We encode each member + * as one byte to indicate whether it's a nickname or a fingerprint, plus + * DIGEST_LEN bytes of data. The entries are lexically sorted. + */ + uint8_t family_members[FLEXIBLE_ARRAY_MEMBER]; +}; + +#define NODEFAMILY_MEMBER_LEN (1+DIGEST_LEN) + +/** Tag byte, indicates that the following bytes are a RSA1024 SHA1 ID. + */ +#define NODEFAMILY_BY_RSA_ID 0 +/** Tag byte, indicates that the following bytes are a NUL-padded nickname. + */ +#define NODEFAMILY_BY_NICKNAME 1 + +/** + * Number of bytes to allocate in the array for a nodefamily_t with N members. + **/ +#define NODEFAMILY_ARRAY_SIZE(n) \ + ((n) * NODEFAMILY_MEMBER_LEN) + +/** + * Pointer to the i'th member of <b>nf</b>, as encoded. + */ +#define NODEFAMILY_MEMBER_PTR(nf, i) \ + (&((nf)->family_members[(i) * NODEFAMILY_MEMBER_LEN])) + +#endif diff --git a/src/feature/nodelist/nodelist.c b/src/feature/nodelist/nodelist.c index a98a5c8655..f93ecd5bfe 100644 --- a/src/feature/nodelist/nodelist.c +++ b/src/feature/nodelist/nodelist.c @@ -59,6 +59,7 @@ #include "feature/nodelist/microdesc.h" #include "feature/nodelist/networkstatus.h" #include "feature/nodelist/node_select.h" +#include "feature/nodelist/nodefamily.h" #include "feature/nodelist/nodelist.h" #include "feature/nodelist/routerlist.h" #include "feature/nodelist/routerset.h" @@ -1019,8 +1020,7 @@ node_get_by_nickname,(const char *nickname, unsigned flags)) } SMARTLIST_FOREACH_END(node); if (any_unwarned) { - log_warn(LD_CONFIG, "There are multiple matches for the name %s, " - "but none is listed as Named in the directory consensus. " + log_warn(LD_CONFIG, "There are multiple matches for the name %s. " "Choosing one arbitrarily.", nickname); } } else if (smartlist_len(matches)==1 && warn_if_unnamed) { @@ -1504,19 +1504,6 @@ node_is_me(const node_t *node) return router_digest_is_me(node->identity); } -/** Return <b>node</b> declared family (as a list of names), or NULL if - * the node didn't declare a family. */ -const smartlist_t * -node_get_declared_family(const node_t *node) -{ - if (node->ri && node->ri->declared_family) - return node->ri->declared_family; - else if (node->md && node->md->family) - return node->md->family; - else - return NULL; -} - /* Does this node have a valid IPv6 address? * Prefer node_has_ipv6_orport() or node_has_ipv6_dirport() for * checking specific ports. */ @@ -1867,6 +1854,9 @@ int addrs_in_same_network_family(const tor_addr_t *a1, const tor_addr_t *a2) { + if (tor_addr_is_null(a1) || tor_addr_is_null(a2)) + return 0; + switch (tor_addr_family(a1)) { case AF_INET: return 0 == tor_addr_compare_masked(a1, a2, 16, CMP_SEMANTIC); @@ -1882,7 +1872,7 @@ addrs_in_same_network_family(const tor_addr_t *a1, * (case-insensitive), or if <b>node's</b> identity key digest * matches a hexadecimal value stored in <b>nickname</b>. Return * false otherwise. */ -static int +STATIC int node_nickname_matches(const node_t *node, const char *nickname) { const char *n = node_get_nickname(node); @@ -1894,7 +1884,7 @@ node_nickname_matches(const node_t *node, const char *nickname) } /** Return true iff <b>node</b> is named by some nickname in <b>lst</b>. */ -static inline int +STATIC int node_in_nickname_smartlist(const smartlist_t *lst, const node_t *node) { if (!lst) return 0; @@ -1905,6 +1895,61 @@ node_in_nickname_smartlist(const smartlist_t *lst, const node_t *node) return 0; } +/** Return true iff n1's declared family contains n2. */ +STATIC int +node_family_contains(const node_t *n1, const node_t *n2) +{ + if (n1->ri && n1->ri->declared_family) { + return node_in_nickname_smartlist(n1->ri->declared_family, n2); + } else if (n1->md) { + return nodefamily_contains_node(n1->md->family, n2); + } else { + return 0; + } +} + +/** + * Return true iff <b>node</b> has declared a nonempty family. + **/ +STATIC bool +node_has_declared_family(const node_t *node) +{ + if (node->ri && node->ri->declared_family && + smartlist_len(node->ri->declared_family)) { + return true; + } + + if (node->md && node->md->family) { + return true; + } + + return false; +} + +/** + * Add to <b>out</b> every node_t that is listed by <b>node</b> as being in + * its family. (Note that these nodes are not in node's family unless they + * also agree that node is in their family.) + **/ +STATIC void +node_lookup_declared_family(smartlist_t *out, const node_t *node) +{ + if (node->ri && node->ri->declared_family && + smartlist_len(node->ri->declared_family)) { + SMARTLIST_FOREACH_BEGIN(node->ri->declared_family, const char *, name) { + const node_t *n2 = node_get_by_nickname(name, NNF_NO_WARN_UNNAMED); + if (n2) { + smartlist_add(out, (node_t *)n2); + } + } SMARTLIST_FOREACH_END(name); + return; + } + + if (node->md && node->md->family) { + nodefamily_add_nodes_to_smartlist(node->md->family, out); + } +} + /** Return true iff r1 and r2 are in the same family, but not the same * router. */ int @@ -1917,22 +1962,23 @@ nodes_in_same_family(const node_t *node1, const node_t *node2) tor_addr_t a1, a2; node_get_addr(node1, &a1); node_get_addr(node2, &a2); - if (addrs_in_same_network_family(&a1, &a2)) + + tor_addr_port_t ap6_1, ap6_2; + node_get_pref_ipv6_orport(node1, &ap6_1); + node_get_pref_ipv6_orport(node2, &ap6_2); + + if (addrs_in_same_network_family(&a1, &a2) || + addrs_in_same_network_family(&ap6_1.addr, &ap6_2.addr)) return 1; } /* Are they in the same family because the agree they are? */ - { - const smartlist_t *f1, *f2; - f1 = node_get_declared_family(node1); - f2 = node_get_declared_family(node2); - if (f1 && f2 && - node_in_nickname_smartlist(f1, node2) && - node_in_nickname_smartlist(f2, node1)) - return 1; + if (node_family_contains(node1, node2) && + node_family_contains(node2, node1)) { + return 1; } - /* Are they in the same option because the user says they are? */ + /* Are they in the same family because the user says they are? */ if (options->NodeFamilySets) { SMARTLIST_FOREACH(options->NodeFamilySets, const routerset_t *, rs, { if (routerset_contains_node(rs, node1) && @@ -1957,13 +2003,10 @@ void nodelist_add_node_and_family(smartlist_t *sl, const node_t *node) { const smartlist_t *all_nodes = nodelist_get_list(); - const smartlist_t *declared_family; const or_options_t *options = get_options(); tor_assert(node); - declared_family = node_get_declared_family(node); - /* Let's make sure that we have the node itself, if it's a real node. */ { const node_t *real_node = node_get_by_id(node->identity); @@ -1974,35 +2017,35 @@ nodelist_add_node_and_family(smartlist_t *sl, const node_t *node) /* First, add any nodes with similar network addresses. */ if (options->EnforceDistinctSubnets) { tor_addr_t node_addr; + tor_addr_port_t node_ap6; node_get_addr(node, &node_addr); + node_get_pref_ipv6_orport(node, &node_ap6); SMARTLIST_FOREACH_BEGIN(all_nodes, const node_t *, node2) { tor_addr_t a; + tor_addr_port_t ap6; node_get_addr(node2, &a); - if (addrs_in_same_network_family(&a, &node_addr)) + node_get_pref_ipv6_orport(node2, &ap6); + if (addrs_in_same_network_family(&a, &node_addr) || + addrs_in_same_network_family(&ap6.addr, &node_ap6.addr)) smartlist_add(sl, (void*)node2); } SMARTLIST_FOREACH_END(node2); } - /* Now, add all nodes in the declared_family of this node, if they + /* Now, add all nodes in the declared family of this node, if they * also declare this node to be in their family. */ - if (declared_family) { + if (node_has_declared_family(node)) { + smartlist_t *declared_family = smartlist_new(); + node_lookup_declared_family(declared_family, node); + /* Add every r such that router declares familyness with node, and node * declares familyhood with router. */ - SMARTLIST_FOREACH_BEGIN(declared_family, const char *, name) { - const node_t *node2; - const smartlist_t *family2; - if (!(node2 = node_get_by_nickname(name, NNF_NO_WARN_UNNAMED))) - continue; - if (!(family2 = node_get_declared_family(node2))) - continue; - SMARTLIST_FOREACH_BEGIN(family2, const char *, name2) { - if (node_nickname_matches(node, name2)) { - smartlist_add(sl, (void*)node2); - break; - } - } SMARTLIST_FOREACH_END(name2); - } SMARTLIST_FOREACH_END(name); + SMARTLIST_FOREACH_BEGIN(declared_family, const node_t *, node2) { + if (node_family_contains(node2, node)) { + smartlist_add(sl, (void*)node2); + } + } SMARTLIST_FOREACH_END(node2); + smartlist_free(declared_family); } /* If the user declared any families locally, honor those too. */ diff --git a/src/feature/nodelist/nodelist.h b/src/feature/nodelist/nodelist.h index cf7658cf9d..32300eb00c 100644 --- a/src/feature/nodelist/nodelist.h +++ b/src/feature/nodelist/nodelist.h @@ -68,7 +68,6 @@ const char *node_get_platform(const node_t *node); uint32_t node_get_prim_addr_ipv4h(const node_t *node); void node_get_address_string(const node_t *node, char *cp, size_t len); long node_get_declared_uptime(const node_t *node); -const smartlist_t *node_get_declared_family(const node_t *node); const struct ed25519_public_key_t *node_get_ed25519_id(const node_t *node); int node_ed25519_id_matches(const node_t *node, const struct ed25519_public_key_t *id); @@ -155,10 +154,16 @@ int count_loading_descriptors_progress(void); #ifdef NODELIST_PRIVATE +STATIC int node_nickname_matches(const node_t *node, const char *nickname); +STATIC int node_in_nickname_smartlist(const smartlist_t *lst, + const node_t *node); +STATIC int node_family_contains(const node_t *n1, const node_t *n2); +STATIC bool node_has_declared_family(const node_t *node); +STATIC void node_lookup_declared_family(smartlist_t *out, const node_t *node); + #ifdef TOR_UNIT_TESTS -STATIC void -node_set_hsdir_index(node_t *node, const networkstatus_t *ns); +STATIC void node_set_hsdir_index(node_t *node, const networkstatus_t *ns); #endif /* defined(TOR_UNIT_TESTS) */ diff --git a/src/feature/nodelist/routerlist.c b/src/feature/nodelist/routerlist.c index a8c9003e68..b4d56459df 100644 --- a/src/feature/nodelist/routerlist.c +++ b/src/feature/nodelist/routerlist.c @@ -160,7 +160,7 @@ static time_t last_descriptor_download_attempted = 0; * * From time to time, we replace "cached-descriptors" with a new file * containing only the live, non-superseded descriptors, and clear - * cached-routers.new. + * cached-descriptors.new. * * On startup, we read both files. */ diff --git a/src/feature/nodelist/routerstatus_st.h b/src/feature/nodelist/routerstatus_st.h index 714aa27435..ea06587799 100644 --- a/src/feature/nodelist/routerstatus_st.h +++ b/src/feature/nodelist/routerstatus_st.h @@ -47,6 +47,8 @@ struct routerstatus_t { unsigned int is_v2_dir:1; /** True iff this router publishes an open DirPort * or it claims to accept tunnelled dir requests. */ + unsigned int is_staledesc:1; /** True iff the authorities think this router + * should upload a new descriptor soon. */ unsigned int has_bandwidth:1; /**< The vote/consensus had bw info */ unsigned int has_exitsummary:1; /**< The vote/consensus had exit summaries */ diff --git a/src/feature/relay/dns.c b/src/feature/relay/dns.c index bc507d47f6..701719af95 100644 --- a/src/feature/relay/dns.c +++ b/src/feature/relay/dns.c @@ -1357,6 +1357,42 @@ evdns_err_is_transient(int err) } } +/** + * Return number of configured nameservers in <b>the_evdns_base</b>. + */ +size_t +number_of_configured_nameservers(void) +{ + return evdns_base_count_nameservers(the_evdns_base); +} + +#ifdef HAVE_EVDNS_BASE_GET_NAMESERVER_ADDR +/** + * Return address of configured nameserver in <b>the_evdns_base</b> + * at index <b>idx</b>. + */ +tor_addr_t * +configured_nameserver_address(const size_t idx) +{ + struct sockaddr_storage sa; + ev_socklen_t sa_len = sizeof(sa); + + if (evdns_base_get_nameserver_addr(the_evdns_base, (int)idx, + (struct sockaddr *)&sa, + sa_len) > 0) { + tor_addr_t *tor_addr = tor_malloc(sizeof(tor_addr_t)); + if (tor_addr_from_sockaddr(tor_addr, + (const struct sockaddr *)&sa, + NULL) == 0) { + return tor_addr; + } + tor_free(tor_addr); + } + + return NULL; +} +#endif + /** Configure eventdns nameservers if force is true, or if the configuration * has changed since the last time we called this function, or if we failed on * our last attempt. On Unix, this reads from /etc/resolv.conf or @@ -1388,16 +1424,23 @@ configure_nameservers(int force) evdns_set_log_fn(evdns_log_cb); if (conf_fname) { log_debug(LD_FS, "stat()ing %s", conf_fname); - if (stat(sandbox_intern_string(conf_fname), &st)) { + int missing_resolv_conf = 0; + int stat_res = stat(sandbox_intern_string(conf_fname), &st); + + if (stat_res) { log_warn(LD_EXIT, "Unable to stat resolver configuration in '%s': %s", conf_fname, strerror(errno)); - goto err; - } - if (!force && resolv_conf_fname && !strcmp(conf_fname,resolv_conf_fname) + missing_resolv_conf = 1; + } else if (!force && resolv_conf_fname && + !strcmp(conf_fname,resolv_conf_fname) && st.st_mtime == resolv_conf_mtime) { log_info(LD_EXIT, "No change to '%s'", conf_fname); return 0; } + + if (stat_res == 0 && st.st_size == 0) + missing_resolv_conf = 1; + if (nameservers_configured) { evdns_base_search_clear(the_evdns_base); evdns_base_clear_nameservers_and_suspend(the_evdns_base); @@ -1410,20 +1453,34 @@ configure_nameservers(int force) sandbox_intern_string("/etc/hosts")); } #endif /* defined(DNS_OPTION_HOSTSFILE) && defined(USE_LIBSECCOMP) */ - log_info(LD_EXIT, "Parsing resolver configuration in '%s'", conf_fname); - if ((r = evdns_base_resolv_conf_parse(the_evdns_base, flags, - sandbox_intern_string(conf_fname)))) { - log_warn(LD_EXIT, "Unable to parse '%s', or no nameservers in '%s' (%d)", - conf_fname, conf_fname, r); - goto err; - } - if (evdns_base_count_nameservers(the_evdns_base) == 0) { - log_warn(LD_EXIT, "Unable to find any nameservers in '%s'.", conf_fname); - goto err; + + if (!missing_resolv_conf) { + log_info(LD_EXIT, "Parsing resolver configuration in '%s'", conf_fname); + if ((r = evdns_base_resolv_conf_parse(the_evdns_base, flags, + sandbox_intern_string(conf_fname)))) { + log_warn(LD_EXIT, "Unable to parse '%s', or no nameservers " + "in '%s' (%d)", conf_fname, conf_fname, r); + + if (r != 6) // "r = 6" means "no DNS servers were in resolv.conf" - + goto err; // in which case we expect libevent to add 127.0.0.1 as + // fallback. + } + if (evdns_base_count_nameservers(the_evdns_base) == 0) { + log_warn(LD_EXIT, "Unable to find any nameservers in '%s'.", + conf_fname); + } + + tor_free(resolv_conf_fname); + resolv_conf_fname = tor_strdup(conf_fname); + resolv_conf_mtime = st.st_mtime; + } else { + log_warn(LD_EXIT, "Could not read your DNS config from '%s' - " + "please investigate your DNS configuration. " + "This is possibly a problem. Meanwhile, falling" + " back to local DNS at 127.0.0.1.", conf_fname); + evdns_base_nameserver_ip_add(the_evdns_base, "127.0.0.1"); } - tor_free(resolv_conf_fname); - resolv_conf_fname = tor_strdup(conf_fname); - resolv_conf_mtime = st.st_mtime; + if (nameservers_configured) evdns_base_resume(the_evdns_base); } diff --git a/src/feature/relay/dns.h b/src/feature/relay/dns.h index 1dd6f903d1..5758ea4363 100644 --- a/src/feature/relay/dns.h +++ b/src/feature/relay/dns.h @@ -45,6 +45,11 @@ size_t dns_cache_handle_oom(time_t now, size_t min_remove_bytes); #ifdef DNS_PRIVATE #include "feature/relay/dns_structs.h" +size_t number_of_configured_nameservers(void); +#ifdef HAVE_EVDNS_BASE_GET_NAMESERVER_ADDR +tor_addr_t *configured_nameserver_address(const size_t idx); +#endif + MOCK_DECL(STATIC int,dns_resolve_impl,(edge_connection_t *exitconn, int is_resolve,or_circuit_t *oncirc, char **hostname_out, int *made_connection_pending_out, cached_resolve_t **resolve_out)); diff --git a/src/feature/relay/router.c b/src/feature/relay/router.c index 4afcddc675..be9ef3d2f3 100644 --- a/src/feature/relay/router.c +++ b/src/feature/relay/router.c @@ -30,6 +30,7 @@ #include "feature/nodelist/dirlist.h" #include "feature/nodelist/networkstatus.h" #include "feature/nodelist/nickname.h" +#include "feature/nodelist/nodefamily.h" #include "feature/nodelist/nodelist.h" #include "feature/nodelist/routerlist.h" #include "feature/nodelist/torcert.h" @@ -49,6 +50,7 @@ #include "lib/encoding/confline.h" #include "lib/osinfo/uname.h" #include "lib/tls/tortls.h" +#include "lib/version/torversion.h" #include "feature/dirauth/authmode.h" @@ -58,6 +60,7 @@ #include "feature/dircommon/dir_connection_st.h" #include "feature/nodelist/authority_cert_st.h" #include "feature/nodelist/extrainfo_st.h" +#include "feature/nodelist/networkstatus_st.h" #include "feature/nodelist/node_st.h" #include "feature/nodelist/routerinfo_st.h" #include "feature/nodelist/routerstatus_st.h" @@ -339,6 +342,16 @@ set_server_identity_key(crypto_pk_t *k) } } +#ifdef TOR_UNIT_TESTS +/** Testing only -- set the server's RSA identity digest to + * be <b>digest</b> */ +void +set_server_identity_key_digest_testing(const uint8_t *digest) +{ + memcpy(server_identitykey_digest, digest, DIGEST_LEN); +} +#endif + /** Make sure that we have set up our identity keys to match or not match as * appropriate, and die with an assertion if we have not. */ static void @@ -636,7 +649,7 @@ load_authority_keyset(int legacy, crypto_pk_t **key_out, fname); goto done; } - parsed = authority_cert_parse_from_string(cert, &eos); + parsed = authority_cert_parse_from_string(cert, strlen(cert), &eos); if (!parsed) { log_warn(LD_DIR, "Unable to parse certificate in %s", fname); goto done; @@ -1469,9 +1482,9 @@ static extrainfo_t *desc_extrainfo = NULL; static const char *desc_gen_reason = "uninitialized reason"; /** Since when has our descriptor been "clean"? 0 if we need to regenerate it * now. */ -static time_t desc_clean_since = 0; +STATIC time_t desc_clean_since = 0; /** Why did we mark the descriptor dirty? */ -static const char *desc_dirty_reason = "Tor just started"; +STATIC const char *desc_dirty_reason = "Tor just started"; /** Boolean: do we need to regenerate the above? */ static int desc_needs_upload = 0; @@ -1690,10 +1703,6 @@ router_get_descriptor_gen_reason(void) return desc_gen_reason; } -/** A list of nicknames that we've warned about including in our family - * declaration verbatim rather than as digests. */ -static smartlist_t *warned_nonexistent_family = NULL; - static int router_guess_address_from_dir_headers(uint32_t *guess); /** Make a current best guess at our address, either because @@ -1806,6 +1815,132 @@ router_check_descriptor_address_consistency(uint32_t ipv4h_desc_addr) CONN_TYPE_DIR_LISTENER); } +/** A list of nicknames that we've warned about including in our family, + * for one reason or another. */ +static smartlist_t *warned_family = NULL; + +/** + * Return a new smartlist containing the family members configured in + * <b>options</b>. Warn about invalid or missing entries. Return NULL + * if this relay should not declare a family. + **/ +STATIC smartlist_t * +get_my_declared_family(const or_options_t *options) +{ + if (!options->MyFamily) + return NULL; + + if (options->BridgeRelay) + return NULL; + + if (!warned_family) + warned_family = smartlist_new(); + + smartlist_t *declared_family = smartlist_new(); + config_line_t *family; + + /* First we try to get the whole family in the form of hexdigests. */ + for (family = options->MyFamily; family; family = family->next) { + char *name = family->value; + const node_t *member; + if (options->Nickname && !strcasecmp(name, options->Nickname)) + continue; /* Don't list ourself by nickname, that's redundant */ + else + member = node_get_by_nickname(name, 0); + + if (!member) { + /* This node doesn't seem to exist, so warn about it if it is not + * a hexdigest. */ + int is_legal = is_legal_nickname_or_hexdigest(name); + if (!smartlist_contains_string(warned_family, name) && + !is_legal_hexdigest(name)) { + if (is_legal) + log_warn(LD_CONFIG, + "There is a router named %s in my declared family, but " + "I have no descriptor for it. I'll use the nickname " + "as is, but this may confuse clients. Please list it " + "by identity digest instead.", escaped(name)); + else + log_warn(LD_CONFIG, "There is a router named %s in my declared " + "family, but that isn't a legal digest or nickname. " + "Skipping it.", escaped(name)); + smartlist_add_strdup(warned_family, name); + } + if (is_legal) { + smartlist_add_strdup(declared_family, name); + } + } else { + /* List the node by digest. */ + char *fp = tor_malloc(HEX_DIGEST_LEN+2); + fp[0] = '$'; + base16_encode(fp+1,HEX_DIGEST_LEN+1, + member->identity, DIGEST_LEN); + smartlist_add(declared_family, fp); + + if (! is_legal_hexdigest(name) && + !smartlist_contains_string(warned_family, name)) { + /* Warn if this node was not specified by hexdigest. */ + log_warn(LD_CONFIG, "There is a router named %s in my declared " + "family, but it wasn't listed by digest. Please consider " + "saying %s instead, if that's what you meant.", + escaped(name), fp); + smartlist_add_strdup(warned_family, name); + } + } + } + + /* Now declared_family should have the closest we can come to the + * identities that the user wanted. + * + * Unlike older versions of Tor, we _do_ include our own identity: this + * helps microdescriptor compression, and helps in-memory compression + * on clients. */ + nodefamily_t *nf = nodefamily_from_members(declared_family, + router_get_my_id_digest(), + NF_WARN_MALFORMED, + NULL); + SMARTLIST_FOREACH(declared_family, char *, s, tor_free(s)); + smartlist_free(declared_family); + if (!nf) { + return NULL; + } + + char *s = nodefamily_format(nf); + nodefamily_free(nf); + + smartlist_t *result = smartlist_new(); + smartlist_split_string(result, s, NULL, + SPLIT_SKIP_SPACE|SPLIT_IGNORE_BLANK, 0); + tor_free(s); + + if (smartlist_len(result) == 1) { + /* This is a one-element list containing only ourself; instead return + * nothing */ + const char *singleton = smartlist_get(result, 0); + bool is_me = false; + if (singleton[0] == '$') { + char d[DIGEST_LEN]; + int n = base16_decode(d, sizeof(d), singleton+1, strlen(singleton+1)); + if (n == DIGEST_LEN && + fast_memeq(d, router_get_my_id_digest(), DIGEST_LEN)) { + is_me = true; + } + } + if (!is_me) { + // LCOV_EXCL_START + log_warn(LD_BUG, "Found a singleton family list with an element " + "that wasn't us! Element was %s", escaped(singleton)); + // LCOV_EXCL_STOP + } else { + SMARTLIST_FOREACH(result, char *, cp, tor_free(cp)); + smartlist_free(result); + return NULL; + } + } + + return result; +} + /** Build a fresh routerinfo, signed server descriptor, and extra-info document * for this OR. Set r to the generated routerinfo, e to the generated * extra-info document. Return 0 on success, -1 on temporary error. Failure to @@ -1920,54 +2055,7 @@ router_build_fresh_descriptor(routerinfo_t **r, extrainfo_t **e) tor_free(p_tmp); } - if (options->MyFamily && ! options->BridgeRelay) { - if (!warned_nonexistent_family) - warned_nonexistent_family = smartlist_new(); - ri->declared_family = smartlist_new(); - config_line_t *family; - for (family = options->MyFamily; family; family = family->next) { - char *name = family->value; - const node_t *member; - if (!strcasecmp(name, options->Nickname)) - continue; /* Don't list ourself, that's redundant */ - else - member = node_get_by_nickname(name, 0); - if (!member) { - int is_legal = is_legal_nickname_or_hexdigest(name); - if (!smartlist_contains_string(warned_nonexistent_family, name) && - !is_legal_hexdigest(name)) { - if (is_legal) - log_warn(LD_CONFIG, - "I have no descriptor for the router named \"%s\" in my " - "declared family; I'll use the nickname as is, but " - "this may confuse clients.", name); - else - log_warn(LD_CONFIG, "There is a router named \"%s\" in my " - "declared family, but that isn't a legal nickname. " - "Skipping it.", escaped(name)); - smartlist_add_strdup(warned_nonexistent_family, name); - } - if (is_legal) { - smartlist_add_strdup(ri->declared_family, name); - } - } else if (router_digest_is_me(member->identity)) { - /* Don't list ourself in our own family; that's redundant */ - /* XXX shouldn't be possible */ - } else { - char *fp = tor_malloc(HEX_DIGEST_LEN+2); - fp[0] = '$'; - base16_encode(fp+1,HEX_DIGEST_LEN+1, - member->identity, DIGEST_LEN); - smartlist_add(ri->declared_family, fp); - if (smartlist_contains_string(warned_nonexistent_family, name)) - smartlist_string_remove(warned_nonexistent_family, name); - } - } - - /* remove duplicates from the list */ - smartlist_sort_strings(ri->declared_family); - smartlist_uniq_strings(ri->declared_family); - } + ri->declared_family = get_my_declared_family(options); /* Now generate the extrainfo. */ ei = tor_malloc_zero(sizeof(extrainfo_t)); @@ -2133,7 +2221,9 @@ mark_my_descriptor_dirty_if_too_old(time_t now) /* Now we see whether we want to be retrying frequently or no. The * rule here is that we'll retry frequently if we aren't listed in the * live consensus we have, or if the publication time of the - * descriptor listed for us in the consensus is very old. */ + * descriptor listed for us in the consensus is very old, or if the + * consensus lists us as "stale" and we haven't regenerated since the + * consensus was published. */ ns = networkstatus_get_live_consensus(now); if (ns) { rs = networkstatus_vote_find_entry(ns, server_identitykey_digest); @@ -2141,6 +2231,8 @@ mark_my_descriptor_dirty_if_too_old(time_t now) retry_fast_reason = "not listed in consensus"; else if (rs->published_on < slow_cutoff) retry_fast_reason = "version listed in consensus is quite old"; + else if (rs->is_staledesc && ns->valid_after > desc_clean_since) + retry_fast_reason = "listed as stale in consensus"; } if (retry_fast_reason && desc_clean_since < fast_cutoff) @@ -3058,9 +3150,9 @@ extrainfo_dump_to_string(char **s_out, extrainfo_t *extrainfo, void router_reset_warnings(void) { - if (warned_nonexistent_family) { - SMARTLIST_FOREACH(warned_nonexistent_family, char *, cp, tor_free(cp)); - smartlist_clear(warned_nonexistent_family); + if (warned_family) { + SMARTLIST_FOREACH(warned_family, char *, cp, tor_free(cp)); + smartlist_clear(warned_family); } } @@ -3084,11 +3176,12 @@ router_free_all(void) memwipe(&curve25519_onion_key, 0, sizeof(curve25519_onion_key)); memwipe(&last_curve25519_onion_key, 0, sizeof(last_curve25519_onion_key)); - if (warned_nonexistent_family) { - SMARTLIST_FOREACH(warned_nonexistent_family, char *, cp, tor_free(cp)); - smartlist_free(warned_nonexistent_family); + if (warned_family) { + SMARTLIST_FOREACH(warned_family, char *, cp, tor_free(cp)); + smartlist_free(warned_family); } } + /* From the given RSA key object, convert it to ASN-1 encoded format and set * the newly allocated object in onion_pkey_out. The length of the key is set * in onion_pkey_len_out. */ diff --git a/src/feature/relay/router.h b/src/feature/relay/router.h index 4575172afb..7a63c33d32 100644 --- a/src/feature/relay/router.h +++ b/src/feature/relay/router.h @@ -117,6 +117,14 @@ void router_free_all(void); /* Used only by router.c and test.c */ STATIC void get_platform_str(char *platform, size_t len); STATIC int router_write_fingerprint(int hashed); +STATIC smartlist_t *get_my_declared_family(const or_options_t *options); + +#ifdef TOR_UNIT_TESTS +extern time_t desc_clean_since; +extern const char *desc_dirty_reason; +void set_server_identity_key_digest_testing(const uint8_t *digest); +#endif + #endif #endif /* !defined(TOR_ROUTER_H) */ diff --git a/src/feature/rend/rendcache.c b/src/feature/rend/rendcache.c index 848386b97d..b851e71959 100644 --- a/src/feature/rend/rendcache.c +++ b/src/feature/rend/rendcache.c @@ -45,7 +45,7 @@ STATIC digestmap_t *rend_cache_v2_dir = NULL; * looked up in this cache and if present, it is discarded from the fetched * descriptor. At the end, all IP(s) in the cache, for a specific service * ID, that were NOT present in the descriptor are removed from this cache. - * Which means that if at least one IP was not in this cache, thus usuable, + * Which means that if at least one IP was not in this cache, thus usable, * it's considered a new descriptor so we keep it. Else, if all IPs were in * this cache, we discard the descriptor as it's considered unusable. * diff --git a/src/feature/stats/geoip_stats.c b/src/feature/stats/geoip_stats.c index 1a4f8ddfb0..3106c6c82c 100644 --- a/src/feature/stats/geoip_stats.c +++ b/src/feature/stats/geoip_stats.c @@ -30,7 +30,7 @@ #include "core/or/or.h" #include "ht.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "app/config/config.h" #include "feature/control/control.h" #include "feature/client/dnsserv.h" diff --git a/src/include.am b/src/include.am index d2f83da814..9070a69a03 100644 --- a/src/include.am +++ b/src/include.am @@ -1,5 +1,6 @@ include src/ext/include.am include src/lib/arch/include.am +include src/lib/buf/include.am include src/lib/err/include.am include src/lib/cc/include.am include src/lib/ctime/include.am @@ -25,6 +26,7 @@ include src/lib/osinfo/include.am include src/lib/process/include.am include src/lib/sandbox/include.am include src/lib/string/include.am +include src/lib/subsys/include.am include src/lib/smartlist_core/include.am include src/lib/term/include.am include src/lib/testsupport/include.am @@ -32,6 +34,7 @@ include src/lib/thread/include.am include src/lib/time/include.am include src/lib/tls/include.am include src/lib/trace/include.am +include src/lib/version/include.am include src/lib/wallclock/include.am include src/trunnel/include.am diff --git a/src/lib/buf/.may_include b/src/lib/buf/.may_include new file mode 100644 index 0000000000..c4be73bce2 --- /dev/null +++ b/src/lib/buf/.may_include @@ -0,0 +1,10 @@ +orconfig.h + +lib/buf/*.h +lib/cc/*.h +lib/ctime/*.h +lib/malloc/*.h +lib/testsupport/*.h +lib/log/*.h +lib/string/*.h +lib/time/*.h diff --git a/src/lib/container/buffers.c b/src/lib/buf/buffers.c index 87d782d7ef..495c5ec453 100644 --- a/src/lib/container/buffers.c +++ b/src/lib/buf/buffers.c @@ -25,7 +25,7 @@ #define BUFFERS_PRIVATE #include "orconfig.h" #include <stddef.h> -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "lib/cc/torint.h" #include "lib/log/log.h" #include "lib/log/util_bug.h" diff --git a/src/lib/container/buffers.h b/src/lib/buf/buffers.h index c48f83cfc7..c48f83cfc7 100644 --- a/src/lib/container/buffers.h +++ b/src/lib/buf/buffers.h diff --git a/src/lib/buf/include.am b/src/lib/buf/include.am new file mode 100644 index 0000000000..3338c3dbdb --- /dev/null +++ b/src/lib/buf/include.am @@ -0,0 +1,17 @@ + +noinst_LIBRARIES += src/lib/libtor-buf.a + +if UNITTESTS_ENABLED +noinst_LIBRARIES += src/lib/libtor-buf-testing.a +endif + +src_lib_libtor_buf_a_SOURCES = \ + src/lib/buf/buffers.c + +src_lib_libtor_buf_testing_a_SOURCES = \ + $(src_lib_libtor_buf_a_SOURCES) +src_lib_libtor_buf_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS) +src_lib_libtor_buf_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS) + +noinst_HEADERS += \ + src/lib/buf/buffers.h diff --git a/src/lib/cc/.may_include b/src/lib/cc/.may_include index 2b06e8519c..fa1478ce46 100644 --- a/src/lib/cc/.may_include +++ b/src/lib/cc/.may_include @@ -1 +1,2 @@ orconfig.h +lib/cc/*.h
\ No newline at end of file diff --git a/src/lib/cc/ctassert.h b/src/lib/cc/ctassert.h new file mode 100644 index 0000000000..e42976360f --- /dev/null +++ b/src/lib/cc/ctassert.h @@ -0,0 +1,53 @@ +/* Copyright (c) 2018 The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file ctassert.h + * + * \brief Compile-time assertions: CTASSERT(expression). + */ + +#ifndef TOR_CTASSERT_H +#define TOR_CTASSERT_H + +#include "lib/cc/compat_compiler.h" + +/** + * CTASSERT(expression) + * + * Trigger a compiler error if expression is false. + */ +#if __STDC_VERSION__ >= 201112L + +/* If C11 is available, just use _Static_assert. */ +#define CTASSERT(x) _Static_assert((x), #x) + +#else + +/* + * If C11 is not available, expand __COUNTER__, or __INCLUDE_LEVEL__ + * and __LINE__, or just __LINE__, with an intermediate preprocessor + * macro CTASSERT_EXPN, and then use CTASSERT_DECL to paste the + * expansions together into a unique name. + * + * We use this name as a typedef of an array type with a positive + * length if the assertion is true, and a negative length of the + * assertion is false, which is invalid and hence triggers a compiler + * error. + */ +#if defined(__COUNTER__) +#define CTASSERT(x) CTASSERT_EXPN((x), c, __COUNTER__) +#elif defined(__INCLUDE_LEVEL__) +#define CTASSERT(x) CTASSERT_EXPN((x), __INCLUDE_LEVEL__, __LINE__) +#else +/* hope it's unique enough */ +#define CTASSERT(x) CTASSERT_EXPN((x), l, __LINE__) +#endif + +#define CTASSERT_EXPN(x, a, b) CTASSERT_DECL(x, a, b) +#define CTASSERT_DECL(x, a, b) \ + typedef char tor_ctassert_##a##_##b[(x) ? 1 : -1] ATTR_UNUSED + +#endif + +#endif /* !defined(TOR_CTASSERT_H) */ diff --git a/src/lib/cc/include.am b/src/lib/cc/include.am index 2ae90f97dd..52cf8a9f72 100644 --- a/src/lib/cc/include.am +++ b/src/lib/cc/include.am @@ -1,4 +1,5 @@ noinst_HEADERS += \ src/lib/cc/compat_compiler.h \ + src/lib/cc/ctassert.h \ src/lib/cc/torint.h diff --git a/src/lib/compress/.may_include b/src/lib/compress/.may_include index 68fe9f1c54..6cd80086e6 100644 --- a/src/lib/compress/.may_include +++ b/src/lib/compress/.may_include @@ -1,5 +1,6 @@ orconfig.h lib/arch/*.h +lib/buf/*.h lib/cc/*.h lib/compress/*.h lib/container/*.h @@ -8,5 +9,6 @@ lib/intmath/*.h lib/log/*.h lib/malloc/*.h lib/string/*.h +lib/subsys/*.h lib/testsupport/*.h lib/thread/*.h diff --git a/src/lib/compress/compress.c b/src/lib/compress/compress.c index 2ad9b15b2e..6cb9bd492b 100644 --- a/src/lib/compress/compress.c +++ b/src/lib/compress/compress.c @@ -29,10 +29,12 @@ #include "lib/compress/compress.h" #include "lib/compress/compress_lzma.h" #include "lib/compress/compress_none.h" +#include "lib/compress/compress_sys.h" #include "lib/compress/compress_zlib.h" #include "lib/compress/compress_zstd.h" #include "lib/intmath/cmp.h" #include "lib/malloc/malloc.h" +#include "lib/subsys/subsys.h" #include "lib/thread/threads.h" /** Total number of bytes allocated for compression state overhead. */ @@ -660,7 +662,7 @@ tor_compress_state_size(const tor_compress_state_t *state) } /** Initialize all compression modules. */ -void +int tor_compress_init(void) { atomic_counter_init(&total_compress_allocation); @@ -668,6 +670,8 @@ tor_compress_init(void) tor_zlib_init(); tor_lzma_init(); tor_zstd_init(); + + return 0; } /** Warn if we had any problems while setting up our compression libraries. @@ -677,5 +681,20 @@ tor_compress_init(void) void tor_compress_log_init_warnings(void) { + // XXXX can we move this into tor_compress_init() after all? log.c queues + // XXXX log messages at startup. tor_zstd_warn_if_version_mismatched(); } + +static int +subsys_compress_initialize(void) +{ + return tor_compress_init(); +} + +const subsys_fns_t sys_compress = { + .name = "compress", + .supported = true, + .level = -70, + .initialize = subsys_compress_initialize, +}; diff --git a/src/lib/compress/compress.h b/src/lib/compress/compress.h index 4466e27c4d..4dd6506238 100644 --- a/src/lib/compress/compress.h +++ b/src/lib/compress/compress.h @@ -89,7 +89,7 @@ void tor_compress_free_(tor_compress_state_t *state); size_t tor_compress_state_size(const tor_compress_state_t *state); -void tor_compress_init(void); +int tor_compress_init(void); void tor_compress_log_init_warnings(void); struct buf_t; diff --git a/src/lib/compress/compress_buf.c b/src/lib/compress/compress_buf.c index 63ee9e0102..ecf76ee078 100644 --- a/src/lib/compress/compress_buf.c +++ b/src/lib/compress/compress_buf.c @@ -11,7 +11,7 @@ #define BUFFERS_PRIVATE #include "lib/cc/compat_compiler.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "lib/compress/compress.h" #include "lib/log/util_bug.h" diff --git a/src/lib/compress/compress_sys.h b/src/lib/compress/compress_sys.h new file mode 100644 index 0000000000..a162140cfb --- /dev/null +++ b/src/lib/compress/compress_sys.h @@ -0,0 +1,14 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file compress_sys.h + * \brief Declare subsystem object for the compress module + **/ + +#ifndef TOR_COMPRESS_SYS_H +#define TOR_COMPRESS_SYS_H + +extern const struct subsys_fns_t sys_compress; + +#endif /* !defined(TOR_COMPRESS_SYS_H) */ diff --git a/src/lib/compress/include.am b/src/lib/compress/include.am index 75c9032bd2..b952779578 100644 --- a/src/lib/compress/include.am +++ b/src/lib/compress/include.am @@ -22,5 +22,6 @@ noinst_HEADERS += \ src/lib/compress/compress.h \ src/lib/compress/compress_lzma.h \ src/lib/compress/compress_none.h \ + src/lib/compress/compress_sys.h \ src/lib/compress/compress_zlib.h \ src/lib/compress/compress_zstd.h diff --git a/src/lib/container/.may_include b/src/lib/container/.may_include index 90de5eda40..81507527d3 100644 --- a/src/lib/container/.may_include +++ b/src/lib/container/.may_include @@ -7,12 +7,9 @@ lib/malloc/*.h lib/err/*.h lib/smartlist_core/*.h lib/string/*.h -lib/testsupport/testsupport.h +lib/testsupport/*.h lib/intmath/*.h lib/log/*.h -# XXXX I am unsure about this one. It's only here for buffers.c -lib/time/*.h - -ht.h -siphash.h +ext/ht.h +ext/siphash.h diff --git a/src/lib/container/bloomfilt.c b/src/lib/container/bloomfilt.c index ea2d2917c7..a64fcb9300 100644 --- a/src/lib/container/bloomfilt.c +++ b/src/lib/container/bloomfilt.c @@ -14,7 +14,7 @@ #include "lib/container/bloomfilt.h" #include "lib/intmath/bits.h" #include "lib/log/util_bug.h" -#include "siphash.h" +#include "ext/siphash.h" /** How many bloom-filter bits we set per address. This is twice the * BLOOMFILT_N_HASHES value, since we split the siphash output into two 32-bit diff --git a/src/lib/container/include.am b/src/lib/container/include.am index e6492098b5..032e4033da 100644 --- a/src/lib/container/include.am +++ b/src/lib/container/include.am @@ -7,7 +7,6 @@ endif src_lib_libtor_container_a_SOURCES = \ src/lib/container/bloomfilt.c \ - src/lib/container/buffers.c \ src/lib/container/map.c \ src/lib/container/order.c \ src/lib/container/smartlist.c @@ -20,7 +19,6 @@ src_lib_libtor_container_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS) noinst_HEADERS += \ src/lib/container/bitarray.h \ src/lib/container/bloomfilt.h \ - src/lib/container/buffers.h \ src/lib/container/handles.h \ src/lib/container/map.h \ src/lib/container/order.h \ diff --git a/src/lib/container/map.c b/src/lib/container/map.c index 85e074e10a..137e316920 100644 --- a/src/lib/container/map.c +++ b/src/lib/container/map.c @@ -21,7 +21,7 @@ #include <stdlib.h> #include <string.h> -#include "ht.h" +#include "ext/ht.h" /** Helper: Declare an entry type and a map type to implement a mapping using * ht.h. The map type will be called <b>maptype</b>. The key part of each diff --git a/src/lib/container/map.h b/src/lib/container/map.h index ff71622682..4f427fe767 100644 --- a/src/lib/container/map.h +++ b/src/lib/container/map.h @@ -15,7 +15,7 @@ #include "lib/testsupport/testsupport.h" #include "lib/cc/torint.h" -#include "siphash.h" +#include "ext/siphash.h" #define DECLARE_MAP_FNS(maptype, keytype, prefix) \ typedef struct maptype maptype; \ diff --git a/src/lib/crypt_ops/.may_include b/src/lib/crypt_ops/.may_include index a0fa4ec05c..0739699686 100644 --- a/src/lib/crypt_ops/.may_include +++ b/src/lib/crypt_ops/.may_include @@ -12,7 +12,8 @@ lib/malloc/*.h lib/intmath/*.h lib/sandbox/*.h lib/string/*.h -lib/testsupport/testsupport.h +lib/subsys/*.h +lib/testsupport/*.h lib/thread/*.h lib/log/*.h @@ -21,4 +22,4 @@ trunnel/pwbox.h keccak-tiny/*.h ed25519/*.h -siphash.h +ext/siphash.h diff --git a/src/lib/crypt_ops/aes_openssl.c b/src/lib/crypt_ops/aes_openssl.c index f2990fc06d..ac275af33c 100644 --- a/src/lib/crypt_ops/aes_openssl.c +++ b/src/lib/crypt_ops/aes_openssl.c @@ -101,12 +101,12 @@ aes_cnt_cipher_t * aes_new_cipher(const uint8_t *key, const uint8_t *iv, int key_bits) { EVP_CIPHER_CTX *cipher = EVP_CIPHER_CTX_new(); - const EVP_CIPHER *c; + const EVP_CIPHER *c = NULL; switch (key_bits) { case 128: c = EVP_aes_128_ctr(); break; case 192: c = EVP_aes_192_ctr(); break; case 256: c = EVP_aes_256_ctr(); break; - default: tor_assert(0); // LCOV_EXCL_LINE + default: tor_assert_unreached(); // LCOV_EXCL_LINE } EVP_EncryptInit(cipher, c, key, iv); return (aes_cnt_cipher_t *) cipher; diff --git a/src/lib/crypt_ops/crypto_init.c b/src/lib/crypt_ops/crypto_init.c index 9d6e2da0d0..f9943939fb 100644 --- a/src/lib/crypt_ops/crypto_init.c +++ b/src/lib/crypt_ops/crypto_init.c @@ -20,8 +20,11 @@ #include "lib/crypt_ops/crypto_openssl_mgt.h" #include "lib/crypt_ops/crypto_nss_mgt.h" #include "lib/crypt_ops/crypto_rand.h" +#include "lib/crypt_ops/crypto_sys.h" -#include "siphash.h" +#include "lib/subsys/subsys.h" + +#include "ext/siphash.h" /** Boolean: has our crypto library been initialized? (early phase) */ static int crypto_early_initialized_ = 0; @@ -202,3 +205,47 @@ tor_is_using_nss(void) return 0; #endif } + +static int +subsys_crypto_initialize(void) +{ + if (crypto_early_init() < 0) + return -1; + crypto_dh_init(); + return 0; +} + +static void +subsys_crypto_shutdown(void) +{ + crypto_global_cleanup(); +} + +static void +subsys_crypto_prefork(void) +{ + crypto_prefork(); +} + +static void +subsys_crypto_postfork(void) +{ + crypto_postfork(); +} + +static void +subsys_crypto_thread_cleanup(void) +{ + crypto_thread_cleanup(); +} + +const struct subsys_fns_t sys_crypto = { + .name = "crypto", + .supported = true, + .level = -60, + .initialize = subsys_crypto_initialize, + .shutdown = subsys_crypto_shutdown, + .prefork = subsys_crypto_prefork, + .postfork = subsys_crypto_postfork, + .thread_cleanup = subsys_crypto_thread_cleanup, +}; diff --git a/src/lib/crypt_ops/crypto_sys.h b/src/lib/crypt_ops/crypto_sys.h new file mode 100644 index 0000000000..31644d088b --- /dev/null +++ b/src/lib/crypt_ops/crypto_sys.h @@ -0,0 +1,14 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file log_crypto.h + * \brief Declare subsystem object for the crypto module. + **/ + +#ifndef TOR_CRYPTO_SYS_H +#define TOR_CRYPTO_SYS_H + +extern const struct subsys_fns_t sys_crypto; + +#endif /* !defined(TOR_CRYPTO_SYS_H) */ diff --git a/src/lib/crypt_ops/digestset.c b/src/lib/crypt_ops/digestset.c index 89dd377a9c..84516e0172 100644 --- a/src/lib/crypt_ops/digestset.c +++ b/src/lib/crypt_ops/digestset.c @@ -11,7 +11,7 @@ #include "lib/crypt_ops/crypto_rand.h" #include "lib/defs/digest_sizes.h" #include "lib/crypt_ops/digestset.h" -#include "siphash.h" +#include "ext/siphash.h" /* Wrap our hash function to have the signature that the bloom filter * needs. */ diff --git a/src/lib/crypt_ops/include.am b/src/lib/crypt_ops/include.am index 1022096fdc..d0ccc13bff 100644 --- a/src/lib/crypt_ops/include.am +++ b/src/lib/crypt_ops/include.am @@ -66,5 +66,6 @@ noinst_HEADERS += \ src/lib/crypt_ops/crypto_rand.h \ src/lib/crypt_ops/crypto_rsa.h \ src/lib/crypt_ops/crypto_s2k.h \ + src/lib/crypt_ops/crypto_sys.h \ src/lib/crypt_ops/crypto_util.h \ src/lib/crypt_ops/digestset.h diff --git a/src/lib/encoding/.may_include b/src/lib/encoding/.may_include index 7c2ef36929..c9bf4b1786 100644 --- a/src/lib/encoding/.may_include +++ b/src/lib/encoding/.may_include @@ -1,5 +1,6 @@ orconfig.h lib/cc/*.h +lib/container/*.h lib/ctime/*.h lib/encoding/*.h lib/intmath/*.h diff --git a/src/lib/encoding/binascii.c b/src/lib/encoding/binascii.c index e9140d9432..067db075ad 100644 --- a/src/lib/encoding/binascii.c +++ b/src/lib/encoding/binascii.c @@ -179,6 +179,18 @@ base64_encode_size(size_t srclen, int flags) return enclen; } +/** Return an upper bound on the number of bytes that might be needed to hold + * the data from decoding the base64 string <b>srclen</b>. This is only an + * upper bound, since some part of the base64 string might be padding or + * space. */ +size_t +base64_decode_maxsize(size_t srclen) +{ + tor_assert(srclen < INT_MAX / 3); + + return CEIL_DIV(srclen * 3, 4); +} + /** Internal table mapping 6 bit values to the Base64 alphabet. */ static const char base64_encode_table[64] = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', diff --git a/src/lib/encoding/binascii.h b/src/lib/encoding/binascii.h index 23cbaa7070..c71ba65dfb 100644 --- a/src/lib/encoding/binascii.h +++ b/src/lib/encoding/binascii.h @@ -42,6 +42,7 @@ const char *hex_str(const char *from, size_t fromlen); #define BASE64_ENCODE_MULTILINE 1 size_t base64_encode_size(size_t srclen, int flags); +size_t base64_decode_maxsize(size_t srclen); int base64_encode(char *dest, size_t destlen, const char *src, size_t srclen, int flags); int base64_decode(char *dest, size_t destlen, const char *src, size_t srclen); diff --git a/src/lib/encoding/include.am b/src/lib/encoding/include.am index 2d2aa3988a..83e9211b6f 100644 --- a/src/lib/encoding/include.am +++ b/src/lib/encoding/include.am @@ -9,6 +9,7 @@ src_lib_libtor_encoding_a_SOURCES = \ src/lib/encoding/confline.c \ src/lib/encoding/cstring.c \ src/lib/encoding/keyval.c \ + src/lib/encoding/kvline.c \ src/lib/encoding/pem.c \ src/lib/encoding/time_fmt.c @@ -22,5 +23,6 @@ noinst_HEADERS += \ src/lib/encoding/confline.h \ src/lib/encoding/cstring.h \ src/lib/encoding/keyval.h \ + src/lib/encoding/kvline.h \ src/lib/encoding/pem.h \ src/lib/encoding/time_fmt.h diff --git a/src/lib/encoding/kvline.c b/src/lib/encoding/kvline.c new file mode 100644 index 0000000000..11ff4f0f96 --- /dev/null +++ b/src/lib/encoding/kvline.c @@ -0,0 +1,239 @@ +/* Copyright (c) 2001 Matej Pfajfar. + * Copyright (c) 2001-2004, Roger Dingledine. + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file kvline.c + * + * \brief Manipulating lines of key-value pairs. + **/ + +#include "orconfig.h" + +#include "lib/container/smartlist.h" +#include "lib/encoding/confline.h" +#include "lib/encoding/cstring.h" +#include "lib/encoding/kvline.h" +#include "lib/malloc/malloc.h" +#include "lib/string/compat_ctype.h" +#include "lib/string/printf.h" +#include "lib/string/util_string.h" +#include "lib/log/escape.h" +#include "lib/log/util_bug.h" + +#include <stdbool.h> +#include <stddef.h> +#include <string.h> + +/** Return true iff we need to quote and escape the string <b>s</b> to encode + * it. */ +static bool +needs_escape(const char *s, bool as_keyless_val) +{ + if (as_keyless_val && *s == 0) + return true; + + for (; *s; ++s) { + if (*s >= 127 || TOR_ISSPACE(*s) || ! TOR_ISPRINT(*s) || + *s == '\'' || *s == '\"') { + return true; + } + } + return false; +} + +/** + * Return true iff the key in <b>line</b> is not set. + **/ +static bool +line_has_no_key(const config_line_t *line) +{ + return line->key == NULL || strlen(line->key) == 0; +} + +/** + * Return true iff the all the lines in <b>line</b> can be encoded + * using <b>flags</b>. + **/ +static bool +kvline_can_encode_lines(const config_line_t *line, unsigned flags) +{ + for ( ; line; line = line->next) { + const bool keyless = line_has_no_key(line); + if (keyless) { + if (! (flags & KV_OMIT_KEYS)) { + /* If KV_OMIT_KEYS is not set, we can't encode a line with no key. */ + return false; + } + if (strchr(line->value, '=') && !( flags & KV_QUOTED)) { + /* We can't have a keyless value with = without quoting it. */ + return false; + } + } + + if (needs_escape(line->value, keyless) && ! (flags & KV_QUOTED)) { + /* If KV_QUOTED is false, we can't encode a value that needs quotes. */ + return false; + } + if (line->key && strlen(line->key) && + (needs_escape(line->key, false) || strchr(line->key, '='))) { + /* We can't handle keys that need quoting. */ + return false; + } + } + return true; +} + +/** + * Encode a linked list of lines in <b>line</b> as a series of 'Key=Value' + * pairs, using the provided <b>flags</b> to encode it. Return a newly + * allocated string on success, or NULL on failure. + * + * If KV_QUOTED is set in <b>flags</b>, then all values that contain + * spaces or unusual characters are escaped and quoted. Otherwise, such + * values are not allowed. + * + * If KV_OMIT_KEYS is set in <b>flags</b>, then pairs with empty keys are + * allowed, and are encoded as 'Value'. Otherwise, such pairs are not + * allowed. + */ +char * +kvline_encode(const config_line_t *line, + unsigned flags) +{ + if (!kvline_can_encode_lines(line, flags)) + return NULL; + + smartlist_t *elements = smartlist_new(); + + for (; line; line = line->next) { + + const char *k = ""; + const char *eq = "="; + const char *v = ""; + const bool keyless = line_has_no_key(line); + bool esc = needs_escape(line->value, keyless); + char *tmp = NULL; + + if (! keyless) { + k = line->key; + } else { + eq = ""; + if (strchr(line->value, '=')) { + esc = true; + } + } + + if (esc) { + tmp = esc_for_log(line->value); + v = tmp; + } else { + v = line->value; + } + + smartlist_add_asprintf(elements, "%s%s%s", k, eq, v); + tor_free(tmp); + } + + char *result = smartlist_join_strings(elements, " ", 0, NULL); + + SMARTLIST_FOREACH(elements, char *, cp, tor_free(cp)); + smartlist_free(elements); + + return result; +} + +/** + * Decode a <b>line</b> containing a series of space-separated 'Key=Value' + * pairs, using the provided <b>flags</b> to decode it. Return a newly + * allocated list of pairs on success, or NULL on failure. + * + * If KV_QUOTED is set in <b>flags</b>, then (double-)quoted values are + * allowed. Otherwise, such values are not allowed. + * + * If KV_OMIT_KEYS is set in <b>flags</b>, then values without keys are + * allowed. Otherwise, such values are not allowed. + */ +config_line_t * +kvline_parse(const char *line, unsigned flags) +{ + const char *cp = line, *cplast = NULL; + bool omit_keys = (flags & KV_OMIT_KEYS) != 0; + bool quoted = (flags & KV_QUOTED) != 0; + + config_line_t *result = NULL; + config_line_t **next_line = &result; + + char *key = NULL; + char *val = NULL; + + while (*cp) { + key = val = NULL; + { + size_t idx = strspn(cp, " \t\r\v\n"); + cp += idx; + } + if (BUG(cp == cplast)) { + /* If we didn't parse anything, this code is broken. */ + goto err; // LCOV_EXCL_LINE + } + cplast = cp; + if (! *cp) + break; /* End of string; we're done. */ + + /* Possible formats are K=V, K="V", V, and "V", depending on flags. */ + + /* Find the key. */ + if (*cp != '\"') { + size_t idx = strcspn(cp, " \t\r\v\n="); + + if (cp[idx] == '=') { + key = tor_memdup_nulterm(cp, idx); + cp += idx + 1; + } else { + if (!omit_keys) + goto err; + } + } + + if (*cp == '\"') { + /* The type is "V". */ + if (!quoted) + goto err; + size_t len=0; + cp = unescape_string(cp, &val, &len); + if (cp == NULL || len != strlen(val)) { + // The string contains a NUL or is badly coded. + goto err; + } + } else { + size_t idx = strcspn(cp, " \t\r\v\n"); + val = tor_memdup_nulterm(cp, idx); + cp += idx; + } + + if (key && strlen(key) == 0) { + /* We don't allow empty keys. */ + goto err; + } + + *next_line = tor_malloc_zero(sizeof(config_line_t)); + (*next_line)->key = key ? key : tor_strdup(""); + (*next_line)->value = val; + next_line = &(*next_line)->next; + key = val = NULL; + } + + if (!kvline_can_encode_lines(result, flags)) { + goto err; + } + return result; + + err: + tor_free(key); + tor_free(val); + config_free_lines(result); + return NULL; +} diff --git a/src/lib/encoding/kvline.h b/src/lib/encoding/kvline.h new file mode 100644 index 0000000000..3272cc1754 --- /dev/null +++ b/src/lib/encoding/kvline.h @@ -0,0 +1,24 @@ +/* Copyright (c) 2001 Matej Pfajfar. + * Copyright (c) 2001-2004, Roger Dingledine. + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file kvline.h + * + * \brief Header for kvline.c + **/ + +#ifndef TOR_KVLINE_H +#define TOR_KVLINE_H + +struct config_line_t; + +#define KV_QUOTED (1u<<0) +#define KV_OMIT_KEYS (1u<<1) + +struct config_line_t *kvline_parse(const char *line, unsigned flags); +char *kvline_encode(const struct config_line_t *line, unsigned flags); + +#endif /* !defined(TOR_KVLINE_H) */ diff --git a/src/lib/encoding/time_fmt.c b/src/lib/encoding/time_fmt.c index a921fc681c..233d0dddff 100644 --- a/src/lib/encoding/time_fmt.c +++ b/src/lib/encoding/time_fmt.c @@ -26,6 +26,10 @@ #include <string.h> #include <time.h> +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#endif + #ifdef _WIN32 /* For struct timeval */ #include <winsock2.h> diff --git a/src/lib/err/.may_include b/src/lib/err/.may_include index 48cc0ef088..daa1b6e4ca 100644 --- a/src/lib/err/.may_include +++ b/src/lib/err/.may_include @@ -1,3 +1,5 @@ orconfig.h lib/cc/*.h lib/err/*.h +lib/subsys/*.h +lib/version/*.h
\ No newline at end of file diff --git a/src/lib/err/include.am b/src/lib/err/include.am index f2a409c51e..43adcd2694 100644 --- a/src/lib/err/include.am +++ b/src/lib/err/include.am @@ -6,8 +6,9 @@ noinst_LIBRARIES += src/lib/libtor-err-testing.a endif src_lib_libtor_err_a_SOURCES = \ - src/lib/err/backtrace.c \ - src/lib/err/torerr.c + src/lib/err/backtrace.c \ + src/lib/err/torerr.c \ + src/lib/err/torerr_sys.c src_lib_libtor_err_testing_a_SOURCES = \ $(src_lib_libtor_err_a_SOURCES) @@ -16,4 +17,5 @@ src_lib_libtor_err_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS) noinst_HEADERS += \ src/lib/err/backtrace.h \ - src/lib/err/torerr.h + src/lib/err/torerr.h \ + src/lib/err/torerr_sys.h diff --git a/src/lib/err/torerr.c b/src/lib/err/torerr.c index f9e139f967..e9de86837f 100644 --- a/src/lib/err/torerr.c +++ b/src/lib/err/torerr.c @@ -123,6 +123,16 @@ tor_log_set_sigsafe_err_fds(const int *fds, int n) } /** + * Reset the list of emergency error fds to its default. + */ +void +tor_log_reset_sigsafe_err_fds(void) +{ + int fds[] = { STDERR_FILENO }; + tor_log_set_sigsafe_err_fds(fds, 1); +} + +/** * Set the granularity (in ms) to use when reporting fatal errors outside * the logging system. */ diff --git a/src/lib/err/torerr.h b/src/lib/err/torerr.h index d4bba6916f..b415ef73ef 100644 --- a/src/lib/err/torerr.h +++ b/src/lib/err/torerr.h @@ -39,6 +39,7 @@ void tor_raw_assertion_failed_msg_(const char *file, int line, void tor_log_err_sigsafe(const char *m, ...); int tor_log_get_sigsafe_err_fds(const int **out); void tor_log_set_sigsafe_err_fds(const int *fds, int n); +void tor_log_reset_sigsafe_err_fds(void); void tor_log_sigsafe_err_set_granularity(int ms); int format_hex_number_sigsafe(unsigned long x, char *buf, int max_len); diff --git a/src/lib/err/torerr_sys.c b/src/lib/err/torerr_sys.c new file mode 100644 index 0000000000..96bb1308a4 --- /dev/null +++ b/src/lib/err/torerr_sys.c @@ -0,0 +1,40 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file torerr_sys.c + * \brief Subsystem object for the error handling subsystem. + **/ + +#include "orconfig.h" +#include "lib/err/backtrace.h" +#include "lib/err/torerr.h" +#include "lib/err/torerr_sys.h" +#include "lib/subsys/subsys.h" +#include "lib/version/torversion.h" + +#include <stddef.h> + +static int +subsys_torerr_initialize(void) +{ + if (configure_backtrace_handler(get_version()) < 0) + return -1; + tor_log_reset_sigsafe_err_fds(); + + return 0; +} +static void +subsys_torerr_shutdown(void) +{ + tor_log_reset_sigsafe_err_fds(); + clean_up_backtrace_handler(); +} + +const subsys_fns_t sys_torerr = { + .name = "err", + .level = -100, + .supported = true, + .initialize = subsys_torerr_initialize, + .shutdown = subsys_torerr_shutdown +}; diff --git a/src/lib/err/torerr_sys.h b/src/lib/err/torerr_sys.h new file mode 100644 index 0000000000..b56270d538 --- /dev/null +++ b/src/lib/err/torerr_sys.h @@ -0,0 +1,14 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file torerr_sys.h + * \brief Declare subsystem object for torerr.c + **/ + +#ifndef TOR_TORERR_SYS_H +#define TOR_TORERR_SYS_H + +extern const struct subsys_fns_t sys_torerr; + +#endif /* !defined(TOR_TORERR_SYS_H) */ diff --git a/src/lib/evloop/.may_include b/src/lib/evloop/.may_include index 30af508914..273de7bb94 100644 --- a/src/lib/evloop/.may_include +++ b/src/lib/evloop/.may_include @@ -12,5 +12,5 @@ lib/testsupport/*.h lib/thread/*.h lib/time/*.h -src/ext/timeouts/timeout.c -tor_queue.h
\ No newline at end of file +ext/timeouts/timeout.c +ext/tor_queue.h
\ No newline at end of file diff --git a/src/lib/evloop/timers.c b/src/lib/evloop/timers.c index c4e85c7c93..6743b6af51 100644 --- a/src/lib/evloop/timers.c +++ b/src/lib/evloop/timers.c @@ -39,6 +39,10 @@ #include "lib/malloc/malloc.h" #include "lib/time/compat_time.h" +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#endif + #ifdef _WIN32 // For struct timeval. #include <winsock2.h> @@ -76,7 +80,8 @@ struct timeout_cb { * use 32-bit math. */ #define WHEEL_BIT 5 #endif -#include "src/ext/timeouts/timeout.c" + +#include "ext/timeouts/timeout.c" static struct timeouts *global_timeouts = NULL; static struct mainloop_event_t *global_timer_event = NULL; diff --git a/src/lib/evloop/workqueue.c b/src/lib/evloop/workqueue.c index 5471f87b04..b36a02da5e 100644 --- a/src/lib/evloop/workqueue.c +++ b/src/lib/evloop/workqueue.c @@ -36,7 +36,7 @@ #include "lib/net/socket.h" #include "lib/thread/threads.h" -#include "tor_queue.h" +#include "ext/tor_queue.h" #include <event2/event.h> #include <string.h> diff --git a/src/lib/fs/.may_include b/src/lib/fs/.may_include index b1e49fc891..c192e6181c 100644 --- a/src/lib/fs/.may_include +++ b/src/lib/fs/.may_include @@ -13,4 +13,4 @@ lib/malloc/*.h lib/memarea/*.h lib/sandbox/*.h lib/string/*.h -lib/testsupport/testsupport.h +lib/testsupport/*.h diff --git a/src/lib/intmath/cmp.h b/src/lib/intmath/cmp.h index 16952bee3e..11b6fdf98e 100644 --- a/src/lib/intmath/cmp.h +++ b/src/lib/intmath/cmp.h @@ -36,4 +36,7 @@ ((v) > (max)) ? (max) : \ (v) ) +/** Give the absolute value of <b>x</b>, independent of its type. */ +#define ABS(x) ( ((x)<0) ? -(x) : (x) ) + #endif /* !defined(TOR_INTMATH_CMP_H) */ diff --git a/src/lib/log/.may_include b/src/lib/log/.may_include index 852173aab3..11c87f0a0d 100644 --- a/src/lib/log/.may_include +++ b/src/lib/log/.may_include @@ -9,7 +9,7 @@ lib/lock/*.h lib/log/*.h lib/malloc/*.h lib/string/*.h +lib/subsys/*.h lib/testsupport/*.h +lib/version/*.h lib/wallclock/*.h - -micro-revision.i
\ No newline at end of file diff --git a/src/lib/log/include.am b/src/lib/log/include.am index 4a6c9b3686..9d3dbe3104 100644 --- a/src/lib/log/include.am +++ b/src/lib/log/include.am @@ -7,9 +7,9 @@ endif src_lib_libtor_log_a_SOURCES = \ src/lib/log/escape.c \ - src/lib/log/git_revision.c \ src/lib/log/ratelim.c \ src/lib/log/log.c \ + src/lib/log/log_sys.c \ src/lib/log/util_bug.c if WIN32 @@ -21,16 +21,10 @@ src_lib_libtor_log_testing_a_SOURCES = \ src_lib_libtor_log_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS) src_lib_libtor_log_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS) -# Declare that these object files depend on micro-revision.i. Without this -# rule, we could try to build them before micro-revision.i was created. -src/lib/log/git_revision.$(OBJEXT) \ - src/lib/log/src_lib_libtor_log_testing_a-git_revision.$(OBJEXT): \ - micro-revision.i - noinst_HEADERS += \ src/lib/log/escape.h \ - src/lib/log/git_revision.h \ src/lib/log/ratelim.h \ src/lib/log/log.h \ + src/lib/log/log_sys.h \ src/lib/log/util_bug.h \ src/lib/log/win32err.h diff --git a/src/lib/log/log.c b/src/lib/log/log.c index d60ce6308a..2c25ddf1aa 100644 --- a/src/lib/log/log.c +++ b/src/lib/log/log.c @@ -32,7 +32,8 @@ #define LOG_PRIVATE #include "lib/log/log.h" -#include "lib/log/git_revision.h" +#include "lib/log/log_sys.h" +#include "lib/version/git_revision.h" #include "lib/log/ratelim.h" #include "lib/lock/compat_mutex.h" #include "lib/smartlist_core/smartlist_core.h" @@ -1267,7 +1268,7 @@ static const char *domain_list[] = { "GENERAL", "CRYPTO", "NET", "CONFIG", "FS", "PROTOCOL", "MM", "HTTP", "APP", "CONTROL", "CIRC", "REND", "BUG", "DIR", "DIRSERV", "OR", "EDGE", "ACCT", "HIST", "HANDSHAKE", "HEARTBEAT", "CHANNEL", - "SCHED", "GUARD", "CONSDIFF", "DOS", NULL + "SCHED", "GUARD", "CONSDIFF", "DOS", "PROCESS", "PT", NULL }; /** Return a bitmask for the log domain for which <b>domain</b> is the name, diff --git a/src/lib/log/log.h b/src/lib/log/log.h index 493409756f..c8820ee037 100644 --- a/src/lib/log/log.h +++ b/src/lib/log/log.h @@ -107,8 +107,12 @@ #define LD_CONSDIFF (1u<<24) /** Denial of Service mitigation. */ #define LD_DOS (1u<<25) +/** Processes */ +#define LD_PROCESS (1u<<26) +/** Pluggable Transports. */ +#define LD_PT (1u<<27) /** Number of logging domains in the code. */ -#define N_LOGGING_DOMAINS 26 +#define N_LOGGING_DOMAINS 28 /** This log message is not safe to send to a callback-based logger * immediately. Used as a flag, not a log domain. */ diff --git a/src/lib/log/log_sys.c b/src/lib/log/log_sys.c new file mode 100644 index 0000000000..e20f3156ca --- /dev/null +++ b/src/lib/log/log_sys.c @@ -0,0 +1,35 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file log_sys.c + * \brief Setup and tear down the logging module. + **/ + +#include "orconfig.h" +#include "lib/subsys/subsys.h" +#include "lib/log/escape.h" +#include "lib/log/log.h" +#include "lib/log/log_sys.h" + +static int +subsys_logging_initialize(void) +{ + init_logging(0); + return 0; +} + +static void +subsys_logging_shutdown(void) +{ + logs_free_all(); + escaped(NULL); +} + +const subsys_fns_t sys_logging = { + .name = "log", + .supported = true, + .level = -90, + .initialize = subsys_logging_initialize, + .shutdown = subsys_logging_shutdown, +}; diff --git a/src/lib/log/log_sys.h b/src/lib/log/log_sys.h new file mode 100644 index 0000000000..f7afbb279d --- /dev/null +++ b/src/lib/log/log_sys.h @@ -0,0 +1,14 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file log_sys.h + * \brief Declare subsystem object for the logging module. + **/ + +#ifndef TOR_LOG_SYS_H +#define TOR_LOG_SYS_H + +extern const struct subsys_fns_t sys_logging; + +#endif /* !defined(TOR_LOG_SYS_H) */ diff --git a/src/lib/malloc/.may_include b/src/lib/malloc/.may_include index cc62bb1013..7686bf862a 100644 --- a/src/lib/malloc/.may_include +++ b/src/lib/malloc/.may_include @@ -3,4 +3,4 @@ orconfig.h lib/cc/*.h lib/err/*.h lib/malloc/*.h -lib/testsupport/testsupport.h +lib/testsupport/*.h diff --git a/src/lib/memarea/.may_include b/src/lib/memarea/.may_include index 814652a93c..a1edaf2231 100644 --- a/src/lib/memarea/.may_include +++ b/src/lib/memarea/.may_include @@ -1,7 +1,7 @@ orconfig.h lib/arch/*.h lib/cc/*.h -lib/container/*.h lib/log/*.h lib/malloc/*.h lib/memarea/*.h +lib/smartlist_core/*.h
\ No newline at end of file diff --git a/src/lib/memarea/memarea.c b/src/lib/memarea/memarea.c index dd7c48c079..96d94c89d9 100644 --- a/src/lib/memarea/memarea.c +++ b/src/lib/memarea/memarea.c @@ -16,7 +16,8 @@ #include "lib/arch/bytes.h" #include "lib/cc/torint.h" -#include "lib/container/smartlist.h" +#include "lib/smartlist_core/smartlist_core.h" +#include "lib/smartlist_core/smartlist_foreach.h" #include "lib/log/log.h" #include "lib/log/util_bug.h" #include "lib/malloc/malloc.h" diff --git a/src/lib/net/.may_include b/src/lib/net/.may_include index 13b209bbed..e4368f799b 100644 --- a/src/lib/net/.may_include +++ b/src/lib/net/.may_include @@ -1,8 +1,9 @@ orconfig.h -siphash.h -ht.h +ext/siphash.h +ext/ht.h lib/arch/*.h +lib/buf/*.h lib/cc/*.h lib/container/*.h lib/ctime/*.h @@ -11,5 +12,6 @@ lib/lock/*.h lib/log/*.h lib/net/*.h lib/string/*.h +lib/subsys/*.h lib/testsupport/*.h lib/malloc/*.h
\ No newline at end of file diff --git a/src/lib/net/address.c b/src/lib/net/address.c index 03767e2950..240201d7b6 100644 --- a/src/lib/net/address.c +++ b/src/lib/net/address.c @@ -40,6 +40,7 @@ #include "lib/net/address.h" #include "lib/net/socket.h" +#include "lib/cc/ctassert.h" #include "lib/container/smartlist.h" #include "lib/ctime/di_ops.h" #include "lib/log/log.h" @@ -52,7 +53,7 @@ #include "lib/string/printf.h" #include "lib/string/util_string.h" -#include "siphash.h" +#include "ext/siphash.h" #ifdef HAVE_SYS_TIME_H #include <sys/time.h> @@ -98,6 +99,7 @@ #if AF_UNSPEC != 0 #error We rely on AF_UNSPEC being 0. Let us know about your platform, please! #endif +CTASSERT(AF_UNSPEC == 0); /** Convert the tor_addr_t in <b>a</b>, with port in <b>port</b>, into a * sockaddr object in *<b>sa_out</b> of object size <b>len</b>. If not enough @@ -1187,14 +1189,22 @@ tor_addr_parse(tor_addr_t *addr, const char *src) int result; struct in_addr in_tmp; struct in6_addr in6_tmp; + int brackets_detected = 0; + tor_assert(addr && src); - if (src[0] == '[' && src[1]) + + size_t len = strlen(src); + + if (len && src[0] == '[' && src[len - 1] == ']') { + brackets_detected = 1; src = tmp = tor_strndup(src+1, strlen(src)-2); + } if (tor_inet_pton(AF_INET6, src, &in6_tmp) > 0) { result = AF_INET6; tor_addr_from_in6(addr, &in6_tmp); - } else if (tor_inet_pton(AF_INET, src, &in_tmp) > 0) { + } else if (!brackets_detected && + tor_inet_pton(AF_INET, src, &in_tmp) > 0) { result = AF_INET; tor_addr_from_in(addr, &in_tmp); } else { diff --git a/src/lib/net/buffers_net.c b/src/lib/net/buffers_net.c index c52ea2784e..576dc56a52 100644 --- a/src/lib/net/buffers_net.c +++ b/src/lib/net/buffers_net.c @@ -11,7 +11,7 @@ #define BUFFERS_PRIVATE #include "lib/net/buffers_net.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "lib/log/log.h" #include "lib/log/util_bug.h" #include "lib/net/nettypes.h" @@ -21,6 +21,7 @@ #endif #include <stdlib.h> +#include <unistd.h> #ifdef PARANOIA /** Helper: If PARANOIA is defined, assert that the buffer in local variable @@ -30,27 +31,36 @@ #define check() STMT_NIL #endif /* defined(PARANOIA) */ -/** Read up to <b>at_most</b> bytes from the socket <b>fd</b> into +/** Read up to <b>at_most</b> bytes from the file descriptor <b>fd</b> into * <b>chunk</b> (which must be on <b>buf</b>). If we get an EOF, set - * *<b>reached_eof</b> to 1. Return -1 on error, 0 on eof or blocking, - * and the number of bytes read otherwise. */ + * *<b>reached_eof</b> to 1. Uses <b>tor_socket_recv()</b> iff <b>is_socket</b> + * is true, otherwise it uses <b>read()</b>. Return -1 on error (and sets + * *<b>error</b> to errno), 0 on eof or blocking, and the number of bytes read + * otherwise. */ static inline int read_to_chunk(buf_t *buf, chunk_t *chunk, tor_socket_t fd, size_t at_most, - int *reached_eof, int *socket_error) + int *reached_eof, int *error, bool is_socket) { ssize_t read_result; if (at_most > CHUNK_REMAINING_CAPACITY(chunk)) at_most = CHUNK_REMAINING_CAPACITY(chunk); - read_result = tor_socket_recv(fd, CHUNK_WRITE_PTR(chunk), at_most, 0); + + if (is_socket) + read_result = tor_socket_recv(fd, CHUNK_WRITE_PTR(chunk), at_most, 0); + else + read_result = read(fd, CHUNK_WRITE_PTR(chunk), at_most); if (read_result < 0) { - int e = tor_socket_errno(fd); + int e = is_socket ? tor_socket_errno(fd) : errno; + if (!ERRNO_IS_EAGAIN(e)) { /* it's a real error */ #ifdef _WIN32 if (e == WSAENOBUFS) - log_warn(LD_NET,"recv() failed: WSAENOBUFS. Not enough ram?"); + log_warn(LD_NET, "%s() failed: WSAENOBUFS. Not enough ram?", + is_socket ? "recv" : "read"); #endif - *socket_error = e; + if (error) + *error = e; return -1; } return 0; /* would block. */ @@ -68,16 +78,17 @@ read_to_chunk(buf_t *buf, chunk_t *chunk, tor_socket_t fd, size_t at_most, } } -/** Read from socket <b>s</b>, writing onto end of <b>buf</b>. Read at most - * <b>at_most</b> bytes, growing the buffer as necessary. If recv() returns 0 - * (because of EOF), set *<b>reached_eof</b> to 1 and return 0. Return -1 on - * error; else return the number of bytes read. +/** Read from file descriptor <b>fd</b>, writing onto end of <b>buf</b>. Read + * at most <b>at_most</b> bytes, growing the buffer as necessary. If recv() + * returns 0 (because of EOF), set *<b>reached_eof</b> to 1 and return 0. + * Return -1 on error; else return the number of bytes read. */ /* XXXX indicate "read blocked" somehow? */ -int -buf_read_from_socket(buf_t *buf, tor_socket_t s, size_t at_most, - int *reached_eof, - int *socket_error) +static int +buf_read_from_fd(buf_t *buf, int fd, size_t at_most, + int *reached_eof, + int *socket_error, + bool is_socket) { /* XXXX It's stupid to overload the return values for these functions: * "error status" and "number of bytes read" are not mutually exclusive. @@ -87,7 +98,7 @@ buf_read_from_socket(buf_t *buf, tor_socket_t s, size_t at_most, check(); tor_assert(reached_eof); - tor_assert(SOCKET_OK(s)); + tor_assert(SOCKET_OK(fd)); if (BUG(buf->datalen >= INT_MAX)) return -1; @@ -108,7 +119,8 @@ buf_read_from_socket(buf_t *buf, tor_socket_t s, size_t at_most, readlen = cap; } - r = read_to_chunk(buf, chunk, s, readlen, reached_eof, socket_error); + r = read_to_chunk(buf, chunk, fd, readlen, + reached_eof, socket_error, is_socket); check(); if (r < 0) return r; /* Error */ @@ -122,22 +134,27 @@ buf_read_from_socket(buf_t *buf, tor_socket_t s, size_t at_most, } /** Helper for buf_flush_to_socket(): try to write <b>sz</b> bytes from chunk - * <b>chunk</b> of buffer <b>buf</b> onto socket <b>s</b>. On success, deduct - * the bytes written from *<b>buf_flushlen</b>. Return the number of bytes - * written on success, 0 on blocking, -1 on failure. + * <b>chunk</b> of buffer <b>buf</b> onto file descriptor <b>fd</b>. On + * success, deduct the bytes written from *<b>buf_flushlen</b>. Return the + * number of bytes written on success, 0 on blocking, -1 on failure. */ static inline int -flush_chunk(tor_socket_t s, buf_t *buf, chunk_t *chunk, size_t sz, - size_t *buf_flushlen) +flush_chunk(tor_socket_t fd, buf_t *buf, chunk_t *chunk, size_t sz, + size_t *buf_flushlen, bool is_socket) { ssize_t write_result; if (sz > chunk->datalen) sz = chunk->datalen; - write_result = tor_socket_send(s, chunk->data, sz, 0); + + if (is_socket) + write_result = tor_socket_send(fd, chunk->data, sz, 0); + else + write_result = write(fd, chunk->data, sz); if (write_result < 0) { - int e = tor_socket_errno(s); + int e = is_socket ? tor_socket_errno(fd) : errno; + if (!ERRNO_IS_EAGAIN(e)) { /* it's a real error */ #ifdef _WIN32 if (e == WSAENOBUFS) @@ -155,15 +172,15 @@ flush_chunk(tor_socket_t s, buf_t *buf, chunk_t *chunk, size_t sz, } } -/** Write data from <b>buf</b> to the socket <b>s</b>. Write at most +/** Write data from <b>buf</b> to the file descriptor <b>fd</b>. Write at most * <b>sz</b> bytes, decrement *<b>buf_flushlen</b> by * the number of bytes actually written, and remove the written bytes * from the buffer. Return the number of bytes written on success, * -1 on failure. Return 0 if write() would block. */ -int -buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz, - size_t *buf_flushlen) +static int +buf_flush_to_fd(buf_t *buf, int fd, size_t sz, + size_t *buf_flushlen, bool is_socket) { /* XXXX It's stupid to overload the return values for these functions: * "error status" and "number of bytes flushed" are not mutually exclusive. @@ -171,7 +188,7 @@ buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz, int r; size_t flushed = 0; tor_assert(buf_flushlen); - tor_assert(SOCKET_OK(s)); + tor_assert(SOCKET_OK(fd)); if (BUG(*buf_flushlen > buf->datalen)) { *buf_flushlen = buf->datalen; } @@ -188,7 +205,7 @@ buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz, else flushlen0 = buf->head->datalen; - r = flush_chunk(s, buf, buf->head, flushlen0, buf_flushlen); + r = flush_chunk(fd, buf, buf->head, flushlen0, buf_flushlen, is_socket); check(); if (r < 0) return r; @@ -200,3 +217,55 @@ buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz, tor_assert(flushed < INT_MAX); return (int)flushed; } + +/** Write data from <b>buf</b> to the socket <b>s</b>. Write at most + * <b>sz</b> bytes, decrement *<b>buf_flushlen</b> by + * the number of bytes actually written, and remove the written bytes + * from the buffer. Return the number of bytes written on success, + * -1 on failure. Return 0 if write() would block. + */ +int +buf_flush_to_socket(buf_t *buf, tor_socket_t s, size_t sz, + size_t *buf_flushlen) +{ + return buf_flush_to_fd(buf, s, sz, buf_flushlen, true); +} + +/** Read from socket <b>s</b>, writing onto end of <b>buf</b>. Read at most + * <b>at_most</b> bytes, growing the buffer as necessary. If recv() returns 0 + * (because of EOF), set *<b>reached_eof</b> to 1 and return 0. Return -1 on + * error; else return the number of bytes read. + */ +int +buf_read_from_socket(buf_t *buf, tor_socket_t s, size_t at_most, + int *reached_eof, + int *socket_error) +{ + return buf_read_from_fd(buf, s, at_most, reached_eof, socket_error, true); +} + +/** Write data from <b>buf</b> to the pipe <b>fd</b>. Write at most + * <b>sz</b> bytes, decrement *<b>buf_flushlen</b> by + * the number of bytes actually written, and remove the written bytes + * from the buffer. Return the number of bytes written on success, + * -1 on failure. Return 0 if write() would block. + */ +int +buf_flush_to_pipe(buf_t *buf, int fd, size_t sz, + size_t *buf_flushlen) +{ + return buf_flush_to_fd(buf, fd, sz, buf_flushlen, false); +} + +/** Read from pipe <b>fd</b>, writing onto end of <b>buf</b>. Read at most + * <b>at_most</b> bytes, growing the buffer as necessary. If read() returns 0 + * (because of EOF), set *<b>reached_eof</b> to 1 and return 0. Return -1 on + * error; else return the number of bytes read. + */ +int +buf_read_from_pipe(buf_t *buf, int fd, size_t at_most, + int *reached_eof, + int *socket_error) +{ + return buf_read_from_fd(buf, fd, at_most, reached_eof, socket_error, false); +} diff --git a/src/lib/net/buffers_net.h b/src/lib/net/buffers_net.h index 417f6f9413..8911b082a2 100644 --- a/src/lib/net/buffers_net.h +++ b/src/lib/net/buffers_net.h @@ -24,4 +24,11 @@ int buf_read_from_socket(struct buf_t *buf, tor_socket_t s, size_t at_most, int buf_flush_to_socket(struct buf_t *buf, tor_socket_t s, size_t sz, size_t *buf_flushlen); +int buf_read_from_pipe(struct buf_t *buf, int fd, size_t at_most, + int *reached_eof, + int *socket_error); + +int buf_flush_to_pipe(struct buf_t *buf, int fd, size_t sz, + size_t *buf_flushlen); + #endif /* !defined(TOR_BUFFERS_H) */ diff --git a/src/lib/net/inaddr.c b/src/lib/net/inaddr.c index dcd8fcdd65..0960d323c5 100644 --- a/src/lib/net/inaddr.c +++ b/src/lib/net/inaddr.c @@ -168,6 +168,13 @@ tor_inet_pton(int af, const char *src, void *dst) if (af == AF_INET) { return tor_inet_aton(src, dst); } else if (af == AF_INET6) { + ssize_t len = strlen(src); + + /* Reject if src has needless trailing ':'. */ + if (len > 2 && src[len - 1] == ':' && src[len - 2] != ':') { + return 0; + } + struct in6_addr *out = dst; uint16_t words[8]; int gapPos = -1, i, setWords=0; @@ -207,7 +214,6 @@ tor_inet_pton(int af, const char *src, void *dst) return 0; if (TOR_ISXDIGIT(*src)) { char *next; - ssize_t len; long r = strtol(src, &next, 16); if (next == NULL || next == src) { /* The 'next == src' error case can happen on versions of openbsd diff --git a/src/lib/net/include.am b/src/lib/net/include.am index ff0967e786..8a88f0f2ae 100644 --- a/src/lib/net/include.am +++ b/src/lib/net/include.am @@ -11,6 +11,7 @@ src_lib_libtor_net_a_SOURCES = \ src/lib/net/buffers_net.c \ src/lib/net/gethostname.c \ src/lib/net/inaddr.c \ + src/lib/net/network_sys.c \ src/lib/net/resolve.c \ src/lib/net/socket.c \ src/lib/net/socketpair.c @@ -28,6 +29,7 @@ noinst_HEADERS += \ src/lib/net/inaddr.h \ src/lib/net/inaddr_st.h \ src/lib/net/nettypes.h \ + src/lib/net/network_sys.h \ src/lib/net/resolve.h \ src/lib/net/socket.h \ src/lib/net/socketpair.h \ diff --git a/src/lib/net/network_sys.c b/src/lib/net/network_sys.c new file mode 100644 index 0000000000..ac49288ee6 --- /dev/null +++ b/src/lib/net/network_sys.c @@ -0,0 +1,44 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file network_sys.c + * \brief Subsystem object for networking setup. + **/ + +#include "orconfig.h" +#include "lib/subsys/subsys.h" +#include "lib/net/network_sys.h" +#include "lib/net/resolve.h" +#include "lib/net/socket.h" + +#ifdef _WIN32 +#include <winsock2.h> +#include <windows.h> +#endif + +static int +subsys_network_initialize(void) +{ + if (network_init() < 0) + return -1; + + return 0; +} + +static void +subsys_network_shutdown(void) +{ +#ifdef _WIN32 + WSACleanup(); +#endif + tor_free_getaddrinfo_cache(); +} + +const subsys_fns_t sys_network = { + .name = "network", + .level = -90, + .supported = true, + .initialize = subsys_network_initialize, + .shutdown = subsys_network_shutdown, +}; diff --git a/src/lib/net/network_sys.h b/src/lib/net/network_sys.h new file mode 100644 index 0000000000..62b778bb66 --- /dev/null +++ b/src/lib/net/network_sys.h @@ -0,0 +1,14 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file log_network.h + * \brief Declare subsystem object for the network module. + **/ + +#ifndef TOR_NETWORK_SYS_H +#define TOR_NETWORK_SYS_H + +extern const struct subsys_fns_t sys_network; + +#endif /* !defined(TOR_NETWORK_SYS_H) */ diff --git a/src/lib/net/resolve.c b/src/lib/net/resolve.c index 7c8df3e307..95c1b171b5 100644 --- a/src/lib/net/resolve.c +++ b/src/lib/net/resolve.c @@ -16,8 +16,8 @@ #include "lib/string/parse_int.h" #include "lib/string/util_string.h" -#include "siphash.h" -#include "ht.h" +#include "ext/siphash.h" +#include "ext/ht.h" #ifdef HAVE_SYS_TYPES_H #include <sys/types.h> @@ -421,4 +421,13 @@ tor_make_getaddrinfo_cache_active(void) { sandbox_getaddrinfo_is_active = 1; } +#else +void +sandbox_disable_getaddrinfo_cache(void) +{ +} +void +tor_make_getaddrinfo_cache_active(void) +{ +} #endif diff --git a/src/lib/net/resolve.h b/src/lib/net/resolve.h index bf870c44c4..39157aaa67 100644 --- a/src/lib/net/resolve.h +++ b/src/lib/net/resolve.h @@ -42,7 +42,6 @@ int tor_getaddrinfo(const char *name, const char *servname, struct addrinfo **res); void tor_freeaddrinfo(struct addrinfo *addrinfo); void tor_free_getaddrinfo_cache(void); -void tor_make_getaddrinfo_cache_active(void); #else /* !(defined(USE_SANDBOX_GETADDRINFO)) */ #define tor_getaddrinfo(name, servname, hints, res) \ getaddrinfo((name),(servname), (hints),(res)) @@ -54,5 +53,6 @@ void tor_make_getaddrinfo_cache_active(void); #endif /* defined(USE_SANDBOX_GETADDRINFO) */ void sandbox_disable_getaddrinfo_cache(void); +void tor_make_getaddrinfo_cache_active(void); #endif diff --git a/src/lib/net/socket.c b/src/lib/net/socket.c index cd7c9685cd..8940e00591 100644 --- a/src/lib/net/socket.c +++ b/src/lib/net/socket.c @@ -31,6 +31,9 @@ #endif #include <stddef.h> #include <string.h> +#ifdef __FreeBSD__ +#include <sys/sysctl.h> +#endif /** Called before we make any calls to network-related functions. * (Some operating systems require their network libraries to be @@ -60,6 +63,32 @@ network_init(void) return 0; } +/** + * Warn the user if any system network parameters should be changed. + */ +void +check_network_configuration(bool server_mode) +{ +#ifdef __FreeBSD__ + if (server_mode) { + int random_id_state; + size_t state_size = sizeof(random_id_state); + + if (sysctlbyname("net.inet.ip.random_id", &random_id_state, + &state_size, NULL, 0)) { + log_warn(LD_CONFIG, + "Failed to figure out if IP ids are randomized."); + } else if (random_id_state == 0) { + log_warn(LD_CONFIG, "Looks like IP ids are not randomized. " + "Please consider setting the net.inet.ip.random_id sysctl, " + "so your relay makes it harder to figure out how busy it is."); + } + } +#else + (void) server_mode; +#endif +} + /* When set_max_file_sockets() is called, update this with the max file * descriptor value so we can use it to check the limit when opening a new * socket. Default value is what Debian sets as the default hard limit. */ diff --git a/src/lib/net/socket.h b/src/lib/net/socket.h index 2b87441fc6..822b9975e6 100644 --- a/src/lib/net/socket.h +++ b/src/lib/net/socket.h @@ -54,6 +54,7 @@ int tor_addr_from_getsockname(struct tor_addr_t *addr_out, tor_socket_t sock); int set_socket_nonblocking(tor_socket_t socket); int tor_socketpair(int family, int type, int protocol, tor_socket_t fd[2]); int network_init(void); +void check_network_configuration(bool server_mode); int get_max_sockets(void); void set_max_sockets(int); diff --git a/src/lib/osinfo/uname.c b/src/lib/osinfo/uname.c index 9d1923695d..7111ae31d2 100644 --- a/src/lib/osinfo/uname.c +++ b/src/lib/osinfo/uname.c @@ -46,22 +46,33 @@ get_uname,(void)) #ifdef _WIN32 OSVERSIONINFOEX info; int i; + int is_client = 0; + int is_server = 0; const char *plat = NULL; static struct { - unsigned major; unsigned minor; const char *version; + unsigned major; unsigned minor; + const char *client_version; const char *server_version; } win_version_table[] = { - { 6, 2, "Windows 8" }, - { 6, 1, "Windows 7" }, - { 6, 0, "Windows Vista" }, - { 5, 2, "Windows Server 2003" }, - { 5, 1, "Windows XP" }, - { 5, 0, "Windows 2000" }, - /* { 4, 0, "Windows NT 4.0" }, */ - { 4, 90, "Windows Me" }, - { 4, 10, "Windows 98" }, - /* { 4, 0, "Windows 95" } */ - { 3, 51, "Windows NT 3.51" }, - { 0, 0, NULL } + /* This table must be sorted in descending order. + * Sources: + * https://en.wikipedia.org/wiki/List_of_Microsoft_Windows_versions + * https://docs.microsoft.com/en-us/windows/desktop/api/winnt/ + * ns-winnt-_osversioninfoexa#remarks + */ + /* Windows Server 2019 is indistinguishable from Windows Server 2016 + * using GetVersionEx(). + { 10, 0, NULL, "Windows Server 2019" }, */ + { 10, 0, "Windows 10", "Windows Server 2016" }, + { 6, 3, "Windows 8.1", "Windows Server 2012 R2" }, + { 6, 2, "Windows 8", "Windows Server 2012" }, + { 6, 1, "Windows 7", "Windows Server 2008 R2" }, + { 6, 0, "Windows Vista", "Windows Server 2008" }, + { 5, 2, "Windows XP Professional", "Windows Server 2003" }, + /* Windows XP did not have a server version, but we need something here */ + { 5, 1, "Windows XP", "Windows XP Server" }, + { 5, 0, "Windows 2000 Professional", "Windows 2000 Server" }, + /* Earlier versions are not supported by GetVersionEx(). */ + { 0, 0, NULL, NULL } }; memset(&info, 0, sizeof(info)); info.dwOSVersionInfoSize = sizeof(info); @@ -71,25 +82,34 @@ get_uname,(void)) uname_result_is_set = 1; return uname_result; } - if (info.dwMajorVersion == 4 && info.dwMinorVersion == 0) { - if (info.dwPlatformId == VER_PLATFORM_WIN32_NT) - plat = "Windows NT 4.0"; - else - plat = "Windows 95"; +#ifdef VER_NT_SERVER + if (info.wProductType == VER_NT_SERVER || + info.wProductType == VER_NT_DOMAIN_CONTROLLER) { + is_server = 1; } else { - for (i=0; win_version_table[i].major>0; ++i) { - if (win_version_table[i].major == info.dwMajorVersion && - win_version_table[i].minor == info.dwMinorVersion) { - plat = win_version_table[i].version; - break; + is_client = 1; + } +#endif /* defined(VER_NT_SERVER) */ + /* Search the version table for a matching version */ + for (i=0; win_version_table[i].major>0; ++i) { + if (win_version_table[i].major == info.dwMajorVersion && + win_version_table[i].minor == info.dwMinorVersion) { + if (is_server) { + plat = win_version_table[i].server_version; + } else { + /* Use client versions for clients, and when we don't know if it + * is a client or a server. */ + plat = win_version_table[i].client_version; } + break; } } if (plat) { strlcpy(uname_result, plat, sizeof(uname_result)); } else { - if (info.dwMajorVersion > 6 || - (info.dwMajorVersion==6 && info.dwMinorVersion>2)) + if (info.dwMajorVersion > win_version_table[0].major || + (info.dwMajorVersion == win_version_table[0].major && + info.dwMinorVersion > win_version_table[0].minor)) tor_snprintf(uname_result, sizeof(uname_result), "Very recent version of Windows [major=%d,minor=%d]", (int)info.dwMajorVersion,(int)info.dwMinorVersion); @@ -98,12 +118,25 @@ get_uname,(void)) "Unrecognized version of Windows [major=%d,minor=%d]", (int)info.dwMajorVersion,(int)info.dwMinorVersion); } -#ifdef VER_NT_SERVER - if (info.wProductType == VER_NT_SERVER || - info.wProductType == VER_NT_DOMAIN_CONTROLLER) { - strlcat(uname_result, " [server]", sizeof(uname_result)); - } -#endif /* defined(VER_NT_SERVER) */ + /* Now append extra information to the name. + * + * Microsoft's API documentation says that on Windows 8.1 and later, + * GetVersionEx returns Windows 8 (6.2) for applications without an + * app compatibility manifest (including tor's default build). + * + * But in our testing, we have seen the actual Windows version on + * Windows Server 2012 R2, even without a manifest. */ + if (info.dwMajorVersion > 6 || + (info.dwMajorVersion == 6 && info.dwMinorVersion >= 2)) { + /* When GetVersionEx() returns Windows 8, the actual OS may be any + * later version. */ + strlcat(uname_result, " [or later]", sizeof(uname_result)); + } + /* When we don't know if the OS is a client or server version, we use + * the client version, and this qualifier. */ + if (!is_server && !is_client) { + strlcat(uname_result, " [client or server]", sizeof(uname_result)); + } #else /* !(defined(_WIN32)) */ /* LCOV_EXCL_START -- can't provoke uname failure */ strlcpy(uname_result, "Unknown platform", sizeof(uname_result)); diff --git a/src/lib/process/.may_include b/src/lib/process/.may_include index 05414d2a96..ce1b6ecf59 100644 --- a/src/lib/process/.may_include +++ b/src/lib/process/.may_include @@ -1,17 +1,20 @@ orconfig.h +lib/buf/*.h lib/cc/*.h lib/container/*.h lib/ctime/*.h lib/err/*.h -lib/intmath/*.h +lib/evloop/*.h lib/fs/*.h +lib/intmath/*.h lib/log/*.h lib/malloc/*.h lib/net/*.h lib/process/*.h lib/string/*.h +lib/subsys/*.h lib/testsupport/*.h lib/thread/*.h -ht.h
\ No newline at end of file +ext/ht.h diff --git a/src/lib/process/include.am b/src/lib/process/include.am index c6cc3a6699..a2d54b6238 100644 --- a/src/lib/process/include.am +++ b/src/lib/process/include.am @@ -9,10 +9,13 @@ src_lib_libtor_process_a_SOURCES = \ src/lib/process/daemon.c \ src/lib/process/env.c \ src/lib/process/pidfile.c \ + src/lib/process/process.c \ + src/lib/process/process_unix.c \ + src/lib/process/process_win32.c \ src/lib/process/restrict.c \ src/lib/process/setuid.c \ - src/lib/process/subprocess.c \ - src/lib/process/waitpid.c + src/lib/process/waitpid.c \ + src/lib/process/winprocess_sys.c src_lib_libtor_process_testing_a_SOURCES = \ $(src_lib_libtor_process_a_SOURCES) @@ -23,7 +26,10 @@ noinst_HEADERS += \ src/lib/process/daemon.h \ src/lib/process/env.h \ src/lib/process/pidfile.h \ + src/lib/process/process.h \ + src/lib/process/process_unix.h \ + src/lib/process/process_win32.h \ src/lib/process/restrict.h \ src/lib/process/setuid.h \ - src/lib/process/subprocess.h \ - src/lib/process/waitpid.h + src/lib/process/waitpid.h \ + src/lib/process/winprocess_sys.h diff --git a/src/lib/process/process.c b/src/lib/process/process.c new file mode 100644 index 0000000000..ae345ceeae --- /dev/null +++ b/src/lib/process/process.c @@ -0,0 +1,797 @@ +/* Copyright (c) 2003, Roger Dingledine + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file process.c + * \brief Module for working with other processes. + **/ + +#define PROCESS_PRIVATE +#include "lib/buf/buffers.h" +#include "lib/net/buffers_net.h" +#include "lib/container/smartlist.h" +#include "lib/log/log.h" +#include "lib/log/util_bug.h" +#include "lib/process/process.h" +#include "lib/process/process_unix.h" +#include "lib/process/process_win32.h" +#include "lib/process/env.h" + +#ifdef HAVE_STDDEF_H +#include <stddef.h> +#endif + +/** A list of all <b>process_t</b> instances currently allocated. */ +static smartlist_t *processes; + +/** + * Boolean. If true, then Tor may call execve or CreateProcess via + * tor_spawn_background. + **/ +static int may_spawn_background_process = 1; + +/** Structure to represent a child process. */ +struct process_t { + /** Process status. */ + process_status_t status; + + /** Which protocol is the process using? */ + process_protocol_t protocol; + + /** Which function to call when we have data ready from stdout? */ + process_read_callback_t stdout_read_callback; + + /** Which function to call when we have data ready from stderr? */ + process_read_callback_t stderr_read_callback; + + /** Which function call when our process terminated? */ + process_exit_callback_t exit_callback; + + /** Our exit code when the process have terminated. */ + process_exit_code_t exit_code; + + /** Name of the command we want to execute (for example: /bin/ls). */ + char *command; + + /** The arguments used for the new process. The format here is one argument + * per element of the smartlist_t. On Windows these arguments are combined + * together using the <b>tor_join_win_cmdline</b> function. On Unix the + * process name (argv[0]) and the trailing NULL is added automatically before + * the process is executed. */ + smartlist_t *arguments; + + /** The environment used for the new process. */ + smartlist_t *environment; + + /** Buffer to store data from stdout when it is read. */ + buf_t *stdout_buffer; + + /** Buffer to store data from stderr when it is read. */ + buf_t *stderr_buffer; + + /** Buffer to store data to stdin before it is written. */ + buf_t *stdin_buffer; + + /** Do we need to store some custom data with the process? */ + void *data; + +#ifndef _WIN32 + /** Our Unix process handle. */ + process_unix_t *unix_process; +#else + /** Our Win32 process handle. */ + process_win32_t *win32_process; +#endif +}; + +/** Convert a given process status in <b>status</b> to its string + * representation. */ +const char * +process_status_to_string(process_status_t status) +{ + switch (status) { + case PROCESS_STATUS_NOT_RUNNING: + return "not running"; + case PROCESS_STATUS_RUNNING: + return "running"; + case PROCESS_STATUS_ERROR: + return "error"; + } + + /* LCOV_EXCL_START */ + tor_assert_unreached(); + return NULL; + /* LCOV_EXCL_STOP */ +} + +/** Convert a given process protocol in <b>protocol</b> to its string + * representation. */ +const char * +process_protocol_to_string(process_protocol_t protocol) +{ + switch (protocol) { + case PROCESS_PROTOCOL_LINE: + return "Line"; + case PROCESS_PROTOCOL_RAW: + return "Raw"; + } + + /* LCOV_EXCL_START */ + tor_assert_unreached(); + return NULL; + /* LCOV_EXCL_STOP */ +} + +/** + * Turn off may_spawn_background_process, so that all future calls to + * tor_spawn_background are guaranteed to fail. + **/ +void +tor_disable_spawning_background_processes(void) +{ + may_spawn_background_process = 0; +} + +/** Initialize the Process subsystem. This function initializes the Process + * subsystem's global state. For cleaning up, <b>process_free_all()</b> should + * be called. */ +void +process_init(void) +{ + processes = smartlist_new(); + +#ifdef _WIN32 + process_win32_init(); +#endif +} + +/** Free up all resources that is handled by the Process subsystem. Note that + * this call does not terminate already running processes. */ +void +process_free_all(void) +{ +#ifdef _WIN32 + process_win32_deinit(); +#endif + + SMARTLIST_FOREACH(processes, process_t *, x, process_free(x)); + smartlist_free(processes); +} + +/** Get a list of all processes. This function returns a smartlist of + * <b>process_t</b> containing all the currently allocated processes. */ +const smartlist_t * +process_get_all_processes(void) +{ + return processes; +} + +/** Allocate and initialize a new process. This function returns a newly + * allocated and initialized process data, which can be used to configure and + * later run a subprocess of Tor. Use the various <b>process_set_*()</b> + * methods to configure it and run the process using <b>process_exec()</b>. Use + * <b>command</b> to specify the path to the command to run. You can either + * specify an absolute path to the command or relative where Tor will use the + * underlying operating system's functionality for finding the command to run. + * */ +process_t * +process_new(const char *command) +{ + tor_assert(command); + + process_t *process; + process = tor_malloc_zero(sizeof(process_t)); + + /* Set our command. */ + process->command = tor_strdup(command); + + /* By default we are not running. */ + process->status = PROCESS_STATUS_NOT_RUNNING; + + /* Prepare process environment. */ + process->arguments = smartlist_new(); + process->environment = smartlist_new(); + + /* Prepare the buffers. */ + process->stdout_buffer = buf_new(); + process->stderr_buffer = buf_new(); + process->stdin_buffer = buf_new(); + +#ifndef _WIN32 + /* Prepare our Unix process handle. */ + process->unix_process = process_unix_new(); +#else + /* Prepare our Win32 process handle. */ + process->win32_process = process_win32_new(); +#endif + + smartlist_add(processes, process); + + return process; +} + +/** Deallocate the given process in <b>process</b>. */ +void +process_free_(process_t *process) +{ + if (! process) + return; + + /* Cleanup parameters. */ + tor_free(process->command); + + /* Cleanup arguments and environment. */ + SMARTLIST_FOREACH(process->arguments, char *, x, tor_free(x)); + smartlist_free(process->arguments); + + SMARTLIST_FOREACH(process->environment, char *, x, tor_free(x)); + smartlist_free(process->environment); + + /* Cleanup the buffers. */ + buf_free(process->stdout_buffer); + buf_free(process->stderr_buffer); + buf_free(process->stdin_buffer); + +#ifndef _WIN32 + /* Cleanup our Unix process handle. */ + process_unix_free(process->unix_process); +#else + /* Cleanup our Win32 process handle. */ + process_win32_free(process->win32_process); +#endif + + smartlist_remove(processes, process); + + tor_free(process); +} + +/** Execute the given process. This function executes the given process as a + * subprocess of Tor. Returns <b>PROCESS_STATUS_RUNNING</b> upon success. */ +process_status_t +process_exec(process_t *process) +{ + tor_assert(process); + + if (BUG(may_spawn_background_process == 0)) + return PROCESS_STATUS_ERROR; + + process_status_t status = PROCESS_STATUS_NOT_RUNNING; + + log_info(LD_PROCESS, "Starting new process: %s", process->command); + +#ifndef _WIN32 + status = process_unix_exec(process); +#else + status = process_win32_exec(process); +#endif + + /* Update our state. */ + process_set_status(process, status); + + if (status != PROCESS_STATUS_RUNNING) { + log_warn(LD_PROCESS, "Failed to start process: %s", + process_get_command(process)); + } + + return status; +} + +/** Terminate the given process. Returns true on success, + * otherwise false. */ +bool +process_terminate(process_t *process) +{ + tor_assert(process); + + /* Terminating a non-running process isn't going to work. */ + if (process_get_status(process) != PROCESS_STATUS_RUNNING) + return false; + + log_debug(LD_PROCESS, "Terminating process"); + +#ifndef _WIN32 + return process_unix_terminate(process); +#else + return process_win32_terminate(process); +#endif +} + +/** Returns the unique process identifier for the given <b>process</b>. */ +process_pid_t +process_get_pid(process_t *process) +{ + tor_assert(process); + +#ifndef _WIN32 + return process_unix_get_pid(process); +#else + return process_win32_get_pid(process); +#endif +} + +/** Set the callback function for output from the child process's standard out + * handle. This function sets the callback function which is called every time + * the child process have written output to its standard out file handle. + * + * Use <b>process_set_protocol(process, PROCESS_PROTOCOL_LINE)</b> if you want + * the callback to only contain complete "\n" or "\r\n" terminated lines. */ +void +process_set_stdout_read_callback(process_t *process, + process_read_callback_t callback) +{ + tor_assert(process); + process->stdout_read_callback = callback; +} + +/** Set the callback function for output from the child process's standard + * error handle. This function sets the callback function which is called + * every time the child process have written output to its standard error file + * handle. + * + * Use <b>process_set_protocol(process, PROCESS_PROTOCOL_LINE)</b> if you want + * the callback to only contain complete "\n" or "\r\n" terminated lines. */ +void +process_set_stderr_read_callback(process_t *process, + process_read_callback_t callback) +{ + tor_assert(process); + process->stderr_read_callback = callback; +} + +/** Set the callback function for process exit notification. The + * <b>callback</b> function will be called every time your child process have + * terminated. */ +void +process_set_exit_callback(process_t *process, + process_exit_callback_t callback) +{ + tor_assert(process); + process->exit_callback = callback; +} + +/** Get the current command of the given process. */ +const char * +process_get_command(const process_t *process) +{ + tor_assert(process); + return process->command; +} + +void +process_set_protocol(process_t *process, process_protocol_t protocol) +{ + tor_assert(process); + process->protocol = protocol; +} + +/** Get the currently used protocol of the given process. */ +process_protocol_t +process_get_protocol(const process_t *process) +{ + tor_assert(process); + return process->protocol; +} + +/** Set opague pointer to data. This function allows you to store a pointer to + * your own data in the given process. Use <b>process_get_data()</b> in the + * various callback functions to retrieve the data again. + * + * Note that the given process does NOT take ownership of the data and you are + * responsible for freeing up any resources allocated by the given data. + * */ +void +process_set_data(process_t *process, void *data) +{ + tor_assert(process); + process->data = data; +} + +/** Get the opaque pointer to callback data from the given process. This + * function allows you get the data you stored with <b>process_set_data()</b> + * in the different callback functions. */ +void * +process_get_data(const process_t *process) +{ + tor_assert(process); + return process->data; +} + +/** Set the status of a given process. */ +void +process_set_status(process_t *process, process_status_t status) +{ + tor_assert(process); + process->status = status; +} + +/** Get the status of the given process. */ +process_status_t +process_get_status(const process_t *process) +{ + tor_assert(process); + return process->status; +} + +/** Append an argument to the list of arguments in the given process. */ +void +process_append_argument(process_t *process, const char *argument) +{ + tor_assert(process); + tor_assert(argument); + + smartlist_add(process->arguments, tor_strdup(argument)); +} + +/** Returns a list of arguments (excluding the command itself) from the + * given process. */ +const smartlist_t * +process_get_arguments(const process_t *process) +{ + tor_assert(process); + return process->arguments; +} + +/** Returns a newly allocated Unix style argument vector. Use <b>tor_free()</b> + * to deallocate it after use. */ +char ** +process_get_argv(const process_t *process) +{ + tor_assert(process); + + /** Generate a Unix style process argument vector from our process's + * arguments smartlist_t. */ + char **argv = NULL; + + char *filename = process->command; + const smartlist_t *arguments = process->arguments; + const size_t size = smartlist_len(arguments); + + /* Make space for the process filename as argv[0] and a trailing NULL. */ + argv = tor_malloc_zero(sizeof(char *) * (size + 2)); + + /* Set our filename as first argument. */ + argv[0] = filename; + + /* Put in the rest of the values from arguments. */ + SMARTLIST_FOREACH_BEGIN(arguments, char *, arg_val) { + tor_assert(arg_val != NULL); + + argv[arg_val_sl_idx + 1] = arg_val; + } SMARTLIST_FOREACH_END(arg_val); + + return argv; +} + +/** This function clears the internal environment and copies over every string + * from <b>env</b> as the new environment. */ +void +process_reset_environment(process_t *process, const smartlist_t *env) +{ + tor_assert(process); + tor_assert(env); + + /* Cleanup old environment. */ + SMARTLIST_FOREACH(process->environment, char *, x, tor_free(x)); + smartlist_free(process->environment); + process->environment = smartlist_new(); + + SMARTLIST_FOREACH(env, char *, x, + smartlist_add(process->environment, tor_strdup(x))); +} + +/** Set the given <b>key</b>/<b>value</b> pair as environment variable in the + * given process. */ +void +process_set_environment(process_t *process, + const char *key, + const char *value) +{ + tor_assert(process); + tor_assert(key); + tor_assert(value); + + smartlist_add_asprintf(process->environment, "%s=%s", key, value); +} + +/** Returns a newly allocated <b>process_environment_t</b> containing the + * environment variables for the given process. */ +process_environment_t * +process_get_environment(const process_t *process) +{ + tor_assert(process); + return process_environment_make(process->environment); +} + +#ifndef _WIN32 +/** Get the internal handle for the Unix backend. */ +process_unix_t * +process_get_unix_process(const process_t *process) +{ + tor_assert(process); + tor_assert(process->unix_process); + return process->unix_process; +} +#else +/** Get the internal handle for Windows backend. */ +process_win32_t * +process_get_win32_process(const process_t *process) +{ + tor_assert(process); + tor_assert(process->win32_process); + return process->win32_process; +} +#endif + +/** Write <b>size</b> bytes of <b>data</b> to the given process's standard + * input. */ +void +process_write(process_t *process, + const uint8_t *data, size_t size) +{ + tor_assert(process); + tor_assert(data); + + buf_add(process->stdin_buffer, (char *)data, size); + process_write_stdin(process, process->stdin_buffer); +} + +/** As tor_vsnprintf(), but write the data to the given process's standard + * input. */ +void +process_vprintf(process_t *process, + const char *format, va_list args) +{ + tor_assert(process); + tor_assert(format); + + int size; + char *data; + + size = tor_vasprintf(&data, format, args); + process_write(process, (uint8_t *)data, size); + tor_free(data); +} + +/** As tor_snprintf(), but write the data to the given process's standard + * input. */ +void +process_printf(process_t *process, + const char *format, ...) +{ + tor_assert(process); + tor_assert(format); + + va_list ap; + va_start(ap, format); + process_vprintf(process, format, ap); + va_end(ap); +} + +/** This function is called by the Process backend when a given process have + * data that is ready to be read from the child process's standard output + * handle. */ +void +process_notify_event_stdout(process_t *process) +{ + tor_assert(process); + + int ret; + ret = process_read_stdout(process, process->stdout_buffer); + + if (ret > 0) + process_read_data(process, + process->stdout_buffer, + process->stdout_read_callback); +} + +/** This function is called by the Process backend when a given process have + * data that is ready to be read from the child process's standard error + * handle. */ +void +process_notify_event_stderr(process_t *process) +{ + tor_assert(process); + + int ret; + ret = process_read_stderr(process, process->stderr_buffer); + + if (ret > 0) + process_read_data(process, + process->stderr_buffer, + process->stderr_read_callback); +} + +/** This function is called by the Process backend when a given process is + * allowed to begin writing data to the standard input of the child process. */ +void +process_notify_event_stdin(process_t *process) +{ + tor_assert(process); + + process_write_stdin(process, process->stdin_buffer); +} + +/** This function is called by the Process backend when a given process have + * terminated. The exit status code is passed in <b>exit_code</b>. We mark the + * process as no longer running and calls the <b>exit_callback</b> with + * information about the process termination. The given <b>process</b> is + * free'd iff the exit_callback returns true. */ +void +process_notify_event_exit(process_t *process, process_exit_code_t exit_code) +{ + tor_assert(process); + + log_debug(LD_PROCESS, + "Process terminated with exit code: %"PRIu64, exit_code); + + /* Update our state. */ + process_set_status(process, PROCESS_STATUS_NOT_RUNNING); + process->exit_code = exit_code; + + /* Call our exit callback, if it exists. */ + bool free_process_handle = false; + + /* The exit callback will tell us if we should process_free() our handle. */ + if (process->exit_callback) + free_process_handle = process->exit_callback(process, exit_code); + + if (free_process_handle) + process_free(process); +} + +/** This function is called whenever the Process backend have notified us that + * there is data to be read from its standard out handle. Returns the number of + * bytes that have been put into the given buffer. */ +MOCK_IMPL(STATIC int, process_read_stdout, (process_t *process, buf_t *buffer)) +{ + tor_assert(process); + tor_assert(buffer); + +#ifndef _WIN32 + return process_unix_read_stdout(process, buffer); +#else + return process_win32_read_stdout(process, buffer); +#endif +} + +/** This function is called whenever the Process backend have notified us that + * there is data to be read from its standard error handle. Returns the number + * of bytes that have been put into the given buffer. */ +MOCK_IMPL(STATIC int, process_read_stderr, (process_t *process, buf_t *buffer)) +{ + tor_assert(process); + tor_assert(buffer); + +#ifndef _WIN32 + return process_unix_read_stderr(process, buffer); +#else + return process_win32_read_stderr(process, buffer); +#endif +} + +/** This function calls the backend function for the given process whenever + * there is data to be written to the backends' file handles. */ +MOCK_IMPL(STATIC void, process_write_stdin, + (process_t *process, buf_t *buffer)) +{ + tor_assert(process); + tor_assert(buffer); + +#ifndef _WIN32 + process_unix_write(process, buffer); +#else + process_win32_write(process, buffer); +#endif +} + +/** This function calls the protocol handlers based on the value of + * <b>process_get_protocol(process)</b>. Currently we call + * <b>process_read_buffer()</b> for <b>PROCESS_PROTOCOL_RAW</b> and + * <b>process_read_lines()</b> for <b>PROCESS_PROTOCOL_LINE</b>. */ +STATIC void +process_read_data(process_t *process, + buf_t *buffer, + process_read_callback_t callback) +{ + tor_assert(process); + tor_assert(buffer); + + switch (process_get_protocol(process)) { + case PROCESS_PROTOCOL_RAW: + process_read_buffer(process, buffer, callback); + break; + case PROCESS_PROTOCOL_LINE: + process_read_lines(process, buffer, callback); + break; + default: + /* LCOV_EXCL_START */ + tor_assert_unreached(); + return; + /* LCOV_EXCL_STOP */ + } +} + +/** This function takes the content of the given <b>buffer</b> and passes it to + * the given <b>callback</b> function, but ensures that an additional zero byte + * is added to the end of the data such that the given callback implementation + * can threat the content as a ASCIIZ string. */ +STATIC void +process_read_buffer(process_t *process, + buf_t *buffer, + process_read_callback_t callback) +{ + tor_assert(process); + tor_assert(buffer); + + const size_t size = buf_datalen(buffer); + + /* We allocate an extra byte for the zero byte in the end. */ + char *data = tor_malloc_zero(size + 1); + + buf_get_bytes(buffer, data, size); + log_debug(LD_PROCESS, "Read data from process"); + + if (callback) + callback(process, data, size); + + tor_free(data); +} + +/** This function tries to extract complete lines from the given <b>buffer</b> + * and calls the given <b>callback</b> function whenever it has a complete + * line. Before calling <b>callback</b> we remove the trailing "\n" or "\r\n" + * from the line. If we are unable to extract a complete line we leave the data + * in the buffer for next call. */ +STATIC void +process_read_lines(process_t *process, + buf_t *buffer, + process_read_callback_t callback) +{ + tor_assert(process); + tor_assert(buffer); + + const size_t size = buf_datalen(buffer) + 1; + size_t line_size = 0; + char *data = tor_malloc_zero(size); + int ret; + + while (true) { + line_size = size; + ret = buf_get_line(buffer, data, &line_size); + + /* A complete line should always be smaller than the size of our + * buffer. */ + tor_assert(ret != -1); + + /* Remove \n from the end of the line. */ + if (line_size >= 1 && data[line_size - 1] == '\n') { + data[line_size - 1] = '\0'; + --line_size; + } + + /* Remove \r from the end of the line. */ + if (line_size >= 1 && data[line_size - 1] == '\r') { + data[line_size - 1] = '\0'; + --line_size; + } + + if (ret == 1) { + log_debug(LD_PROCESS, "Read line from process: \"%s\"", data); + + if (callback) + callback(process, data, line_size); + + /* We have read a whole line, let's see if there is more lines to read. + * */ + continue; + } + + /* No complete line for us to read. We are done for now. */ + tor_assert_nonfatal(ret == 0); + break; + } + + tor_free(data); +} diff --git a/src/lib/process/process.h b/src/lib/process/process.h new file mode 100644 index 0000000000..179db19aeb --- /dev/null +++ b/src/lib/process/process.h @@ -0,0 +1,142 @@ +/* Copyright (c) 2003-2004, Roger Dingledine + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file process.h + * \brief Header for process.c + **/ + +#ifndef TOR_PROCESS_H +#define TOR_PROCESS_H + +#include "orconfig.h" +#include "lib/malloc/malloc.h" +#include "lib/string/printf.h" + +/** Maximum number of bytes to write to a process' stdin. */ +#define PROCESS_MAX_WRITE (1024) + +/** Maximum number of bytes to read from a process' stdout/stderr. */ +#define PROCESS_MAX_READ (1024) + +typedef enum { + /** The process is not running. */ + PROCESS_STATUS_NOT_RUNNING, + + /** The process is running. */ + PROCESS_STATUS_RUNNING, + + /** The process is in an erroneous state. */ + PROCESS_STATUS_ERROR +} process_status_t; + +const char *process_status_to_string(process_status_t status); + +typedef enum { + /** Pass complete \n-terminated lines to the + * callback (with the \n or \r\n removed). */ + PROCESS_PROTOCOL_LINE, + + /** Pass the raw response from read() to the callback. */ + PROCESS_PROTOCOL_RAW +} process_protocol_t; + +const char *process_protocol_to_string(process_protocol_t protocol); + +void tor_disable_spawning_background_processes(void); + +struct process_t; +typedef struct process_t process_t; + +typedef uint64_t process_exit_code_t; +typedef uint64_t process_pid_t; + +typedef void (*process_read_callback_t)(process_t *, + const char *, + size_t); +typedef bool +(*process_exit_callback_t)(process_t *, process_exit_code_t); + +void process_init(void); +void process_free_all(void); +const smartlist_t *process_get_all_processes(void); + +process_t *process_new(const char *command); +void process_free_(process_t *process); +#define process_free(s) FREE_AND_NULL(process_t, process_free_, (s)) + +process_status_t process_exec(process_t *process); +bool process_terminate(process_t *process); + +process_pid_t process_get_pid(process_t *process); + +void process_set_stdout_read_callback(process_t *, + process_read_callback_t); +void process_set_stderr_read_callback(process_t *, + process_read_callback_t); +void process_set_exit_callback(process_t *, + process_exit_callback_t); + +const char *process_get_command(const process_t *process); + +void process_append_argument(process_t *process, const char *argument); +const smartlist_t *process_get_arguments(const process_t *process); +char **process_get_argv(const process_t *process); + +void process_reset_environment(process_t *process, const smartlist_t *env); +void process_set_environment(process_t *process, + const char *key, + const char *value); + +struct process_environment_t; +struct process_environment_t *process_get_environment(const process_t *); + +void process_set_protocol(process_t *process, process_protocol_t protocol); +process_protocol_t process_get_protocol(const process_t *process); + +void process_set_data(process_t *process, void *data); +void *process_get_data(const process_t *process); + +void process_set_status(process_t *process, process_status_t status); +process_status_t process_get_status(const process_t *process); + +#ifndef _WIN32 +struct process_unix_t; +struct process_unix_t *process_get_unix_process(const process_t *process); +#else +struct process_win32_t; +struct process_win32_t *process_get_win32_process(const process_t *process); +#endif + +void process_write(process_t *process, + const uint8_t *data, size_t size); +void process_vprintf(process_t *process, + const char *format, va_list args) CHECK_PRINTF(2, 0); +void process_printf(process_t *process, + const char *format, ...) CHECK_PRINTF(2, 3); + +void process_notify_event_stdout(process_t *process); +void process_notify_event_stderr(process_t *process); +void process_notify_event_stdin(process_t *process); +void process_notify_event_exit(process_t *process, + process_exit_code_t); + +#ifdef PROCESS_PRIVATE +MOCK_DECL(STATIC int, process_read_stdout, (process_t *, buf_t *)); +MOCK_DECL(STATIC int, process_read_stderr, (process_t *, buf_t *)); +MOCK_DECL(STATIC void, process_write_stdin, (process_t *, buf_t *)); + +STATIC void process_read_data(process_t *process, + buf_t *buffer, + process_read_callback_t callback); +STATIC void process_read_buffer(process_t *process, + buf_t *buffer, + process_read_callback_t callback); +STATIC void process_read_lines(process_t *process, + buf_t *buffer, + process_read_callback_t callback); +#endif /* defined(PROCESS_PRIVATE). */ + +#endif /* defined(TOR_PROCESS_H). */ diff --git a/src/lib/process/process_unix.c b/src/lib/process/process_unix.c new file mode 100644 index 0000000000..57ca69a768 --- /dev/null +++ b/src/lib/process/process_unix.c @@ -0,0 +1,705 @@ +/* Copyright (c) 2003, Roger Dingledine + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file process_unix.c + * \brief Module for working with Unix processes. + **/ + +#define PROCESS_UNIX_PRIVATE +#include "lib/intmath/cmp.h" +#include "lib/buf/buffers.h" +#include "lib/net/buffers_net.h" +#include "lib/container/smartlist.h" +#include "lib/evloop/compat_libevent.h" +#include "lib/log/log.h" +#include "lib/log/util_bug.h" +#include "lib/process/process.h" +#include "lib/process/process_unix.h" +#include "lib/process/waitpid.h" +#include "lib/process/env.h" + +#include <stdio.h> + +#ifdef HAVE_STRING_H +#include <string.h> +#endif + +#ifdef HAVE_ERRNO_H +#include <errno.h> +#endif + +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif + +#ifdef HAVE_FCNTL_H +#include <fcntl.h> +#endif + +#if defined(HAVE_SYS_PRCTL_H) && defined(__linux__) +#include <sys/prctl.h> +#endif + +#if HAVE_SIGNAL_H +#include <signal.h> +#endif + +#ifndef _WIN32 + +/** Maximum number of file descriptors, if we cannot get it via sysconf() */ +#define DEFAULT_MAX_FD 256 + +/** Internal state for Unix handles. */ +struct process_unix_handle_t { + /** Unix File Descriptor. */ + int fd; + + /** Have we reached end of file? */ + bool reached_eof; + + /** Event structure for libevent. */ + struct event *event; + + /** Are we writing? */ + bool is_writing; +}; + +/** Internal state for our Unix process. */ +struct process_unix_t { + /** Standard in handle. */ + process_unix_handle_t stdin_handle; + + /** Standard out handle. */ + process_unix_handle_t stdout_handle; + + /** Standard error handle. */ + process_unix_handle_t stderr_handle; + + /** The process identifier of our process. */ + pid_t pid; + + /** Waitpid Callback structure. */ + waitpid_callback_t *waitpid; +}; + +/** Returns a newly allocated <b>process_unix_t</b>. */ +process_unix_t * +process_unix_new(void) +{ + process_unix_t *unix_process; + unix_process = tor_malloc_zero(sizeof(process_unix_t)); + + unix_process->stdin_handle.fd = -1; + unix_process->stderr_handle.fd = -1; + unix_process->stdout_handle.fd = -1; + + return unix_process; +} + +/** Deallocates the given <b>unix_process</b>. */ +void +process_unix_free_(process_unix_t *unix_process) +{ + if (! unix_process) + return; + + /* Clean up our waitpid callback. */ + clear_waitpid_callback(unix_process->waitpid); + + /* FIXME(ahf): Refactor waitpid code? */ + unix_process->waitpid = NULL; + + /* Close all our file descriptors. */ + process_unix_close_file_descriptors(unix_process); + + tor_event_free(unix_process->stdout_handle.event); + tor_event_free(unix_process->stderr_handle.event); + tor_event_free(unix_process->stdin_handle.event); + + tor_free(unix_process); +} + +/** Executes the given process as a child process of Tor. This function is + * responsible for setting up the child process and run it. This includes + * setting up pipes for interprocess communication, initialize the waitpid + * callbacks, and finally run fork() followed by execve(). Returns + * <b>PROCESS_STATUS_RUNNING</b> upon success. */ +process_status_t +process_unix_exec(process_t *process) +{ + static int max_fd = -1; + + process_unix_t *unix_process; + pid_t pid; + int stdin_pipe[2]; + int stdout_pipe[2]; + int stderr_pipe[2]; + int retval, fd; + + unix_process = process_get_unix_process(process); + + /* Create standard in pipe. */ + retval = pipe(stdin_pipe); + + if (-1 == retval) { + log_warn(LD_PROCESS, + "Unable to create pipe for stdin " + "communication with process: %s", + strerror(errno)); + + return PROCESS_STATUS_ERROR; + } + + /* Create standard out pipe. */ + retval = pipe(stdout_pipe); + + if (-1 == retval) { + log_warn(LD_PROCESS, + "Unable to create pipe for stdout " + "communication with process: %s", + strerror(errno)); + + /** Cleanup standard in pipe. */ + close(stdin_pipe[0]); + close(stdin_pipe[1]); + + return PROCESS_STATUS_ERROR; + } + + /* Create standard error pipe. */ + retval = pipe(stderr_pipe); + + if (-1 == retval) { + log_warn(LD_PROCESS, + "Unable to create pipe for stderr " + "communication with process: %s", + strerror(errno)); + + /** Cleanup standard in pipe. */ + close(stdin_pipe[0]); + close(stdin_pipe[1]); + + /** Cleanup standard out pipe. */ + close(stdin_pipe[0]); + close(stdin_pipe[1]); + + return PROCESS_STATUS_ERROR; + } + +#ifdef _SC_OPEN_MAX + if (-1 == max_fd) { + max_fd = (int)sysconf(_SC_OPEN_MAX); + + if (max_fd == -1) { + max_fd = DEFAULT_MAX_FD; + log_warn(LD_PROCESS, + "Cannot find maximum file descriptor, assuming: %d", max_fd); + } + } +#else /* !(defined(_SC_OPEN_MAX)) */ + max_fd = DEFAULT_MAX_FD; +#endif /* defined(_SC_OPEN_MAX) */ + + pid = fork(); + + if (0 == pid) { + /* This code is running in the child process context. */ + +#if defined(HAVE_SYS_PRCTL_H) && defined(__linux__) + /* Attempt to have the kernel issue a SIGTERM if the parent + * goes away. Certain attributes of the binary being execve()ed + * will clear this during the execve() call, but it's better + * than nothing. + */ + prctl(PR_SET_PDEATHSIG, SIGTERM); +#endif /* defined(HAVE_SYS_PRCTL_H) && defined(__linux__) */ + + /* Link process stdout to the write end of the pipe. */ + retval = dup2(stdout_pipe[1], STDOUT_FILENO); + if (-1 == retval) + goto error; + + /* Link process stderr to the write end of the pipe. */ + retval = dup2(stderr_pipe[1], STDERR_FILENO); + if (-1 == retval) + goto error; + + /* Link process stdin to the read end of the pipe */ + retval = dup2(stdin_pipe[0], STDIN_FILENO); + if (-1 == retval) + goto error; + + /* Close our pipes now after they have been dup2()'ed. */ + close(stderr_pipe[0]); + close(stderr_pipe[1]); + close(stdout_pipe[0]); + close(stdout_pipe[1]); + close(stdin_pipe[0]); + close(stdin_pipe[1]); + + /* Close all other fds, including the read end of the pipe. XXX: We should + * now be doing enough FD_CLOEXEC setting to make this needless. + */ + for (fd = STDERR_FILENO + 1; fd < max_fd; fd++) + close(fd); + + /* Create the argv value for our new process. */ + char **argv = process_get_argv(process); + + /* Create the env value for our new process. */ + process_environment_t *env = process_get_environment(process); + + /* Call the requested program. */ + retval = execve(argv[0], argv, env->unixoid_environment_block); + + /* If we made it here it is because execve failed :-( */ + if (-1 == retval) + fprintf(stderr, "Call to execve() failed: %s", strerror(errno)); + + tor_free(argv); + process_environment_free(env); + + tor_assert_unreached(); + + error: + /* LCOV_EXCL_START */ + fprintf(stderr, "Error from child process: %s", strerror(errno)); + _exit(1); + /* LCOV_EXCL_STOP */ + } + + /* We are in the parent process. */ + if (-1 == pid) { + log_warn(LD_PROCESS, + "Failed to create child process: %s", strerror(errno)); + + /** Cleanup standard in pipe. */ + close(stdin_pipe[0]); + close(stdin_pipe[1]); + + /** Cleanup standard out pipe. */ + close(stdin_pipe[0]); + close(stdin_pipe[1]); + + /** Cleanup standard error pipe. */ + close(stderr_pipe[0]); + close(stderr_pipe[1]); + + return PROCESS_STATUS_ERROR; + } + + /* Register our PID. */ + unix_process->pid = pid; + + /* Setup waitpid callbacks. */ + unix_process->waitpid = set_waitpid_callback(pid, + process_unix_waitpid_callback, + process); + + /* Handle standard out. */ + unix_process->stdout_handle.fd = stdout_pipe[0]; + retval = close(stdout_pipe[1]); + + if (-1 == retval) { + log_warn(LD_PROCESS, "Failed to close write end of standard out pipe: %s", + strerror(errno)); + } + + /* Handle standard error. */ + unix_process->stderr_handle.fd = stderr_pipe[0]; + retval = close(stderr_pipe[1]); + + if (-1 == retval) { + log_warn(LD_PROCESS, + "Failed to close write end of standard error pipe: %s", + strerror(errno)); + } + + /* Handle standard in. */ + unix_process->stdin_handle.fd = stdin_pipe[1]; + retval = close(stdin_pipe[0]); + + if (-1 == retval) { + log_warn(LD_PROCESS, "Failed to close read end of standard in pipe: %s", + strerror(errno)); + } + + /* Setup our handles. */ + process_unix_setup_handle(process, + &unix_process->stdout_handle, + EV_READ|EV_PERSIST, + stdout_read_callback); + + process_unix_setup_handle(process, + &unix_process->stderr_handle, + EV_READ|EV_PERSIST, + stderr_read_callback); + + process_unix_setup_handle(process, + &unix_process->stdin_handle, + EV_WRITE|EV_PERSIST, + stdin_write_callback); + + /* Start reading from standard out and standard error. */ + process_unix_start_reading(&unix_process->stdout_handle); + process_unix_start_reading(&unix_process->stderr_handle); + + return PROCESS_STATUS_RUNNING; +} + +/** Terminate the given process. Returns true on success, otherwise false. */ +bool +process_unix_terminate(process_t *process) +{ + tor_assert(process); + + process_unix_t *unix_process = process_get_unix_process(process); + + /* All running processes should have a waitpid. */ + if (BUG(unix_process->waitpid == NULL)) + return false; + + bool success = true; + + /* Send a SIGTERM to our child process. */ + int ret; + + ret = kill(unix_process->pid, SIGTERM); + + if (ret == -1) { + log_warn(LD_PROCESS, "Unable to terminate process: %s", + strerror(errno)); + success = false; + } + + /* Close all our FD's. */ + if (! process_unix_close_file_descriptors(unix_process)) + success = false; + + return success; +} + +/** Returns the unique process identifier for the given <b>process</b>. */ +process_pid_t +process_unix_get_pid(process_t *process) +{ + tor_assert(process); + + process_unix_t *unix_process = process_get_unix_process(process); + return (process_pid_t)unix_process->pid; +} + +/** Write the given <b>buffer</b> as input to the given <b>process</b>'s + * standard input. Returns the number of bytes written. */ +int +process_unix_write(process_t *process, buf_t *buffer) +{ + tor_assert(process); + tor_assert(buffer); + + process_unix_t *unix_process = process_get_unix_process(process); + + size_t buffer_flush_len = buf_datalen(buffer); + const size_t max_to_write = MIN(PROCESS_MAX_WRITE, buffer_flush_len); + + /* If we have data to write (when buffer_flush_len > 0) and we are not + * currently getting file descriptor events from the kernel, we tell the + * kernel to start notifying us about when we can write to our file + * descriptor and return. */ + if (buffer_flush_len > 0 && ! unix_process->stdin_handle.is_writing) { + process_unix_start_writing(&unix_process->stdin_handle); + return 0; + } + + /* We don't have any data to write, but the kernel is currently notifying us + * about whether we are able to write or not. Tell the kernel to stop + * notifying us until we have data to write. */ + if (buffer_flush_len == 0 && unix_process->stdin_handle.is_writing) { + process_unix_stop_writing(&unix_process->stdin_handle); + return 0; + } + + /* We have data to write and the kernel have told us to write it. */ + return buf_flush_to_pipe(buffer, + process_get_unix_process(process)->stdin_handle.fd, + max_to_write, &buffer_flush_len); +} + +/** Read data from the given process's standard output and put it into + * <b>buffer</b>. Returns the number of bytes read. */ +int +process_unix_read_stdout(process_t *process, buf_t *buffer) +{ + tor_assert(process); + tor_assert(buffer); + + process_unix_t *unix_process = process_get_unix_process(process); + + return process_unix_read_handle(process, + &unix_process->stdout_handle, + buffer); +} + +/** Read data from the given process's standard error and put it into + * <b>buffer</b>. Returns the number of bytes read. */ +int +process_unix_read_stderr(process_t *process, buf_t *buffer) +{ + tor_assert(process); + tor_assert(buffer); + + process_unix_t *unix_process = process_get_unix_process(process); + + return process_unix_read_handle(process, + &unix_process->stderr_handle, + buffer); +} + +/** This function is called whenever libevent thinks we have data that could be + * read from the child process's standard output. We notify the Process + * subsystem, which is then responsible for calling back to us for doing the + * actual reading of the data. */ +STATIC void +stdout_read_callback(evutil_socket_t fd, short event, void *data) +{ + (void)fd; + (void)event; + + process_t *process = data; + tor_assert(process); + + process_notify_event_stdout(process); +} + +/** This function is called whenever libevent thinks we have data that could be + * read from the child process's standard error. We notify the Process + * subsystem, which is then responsible for calling back to us for doing the + * actual reading of the data. */ +STATIC void +stderr_read_callback(evutil_socket_t fd, short event, void *data) +{ + (void)fd; + (void)event; + + process_t *process = data; + tor_assert(process); + + process_notify_event_stderr(process); +} + +/** This function is called whenever libevent thinks we have data that could be + * written the child process's standard input. We notify the Process subsystem, + * which is then responsible for calling back to us for doing the actual write + * of the data. */ +STATIC void +stdin_write_callback(evutil_socket_t fd, short event, void *data) +{ + (void)fd; + (void)event; + + process_t *process = data; + tor_assert(process); + + process_notify_event_stdin(process); +} + +/** This function tells libevent that we are interested in receiving read + * events from the given <b>handle</b>. */ +STATIC void +process_unix_start_reading(process_unix_handle_t *handle) +{ + tor_assert(handle); + + if (event_add(handle->event, NULL)) + log_warn(LD_PROCESS, + "Unable to add libevent event for handle."); +} + +/** This function tells libevent that we are no longer interested in receiving + * read events from the given <b>handle</b>. */ +STATIC void +process_unix_stop_reading(process_unix_handle_t *handle) +{ + tor_assert(handle); + + if (handle->event == NULL) + return; + + if (event_del(handle->event)) + log_warn(LD_PROCESS, + "Unable to delete libevent event for handle."); +} + +/** This function tells libevent that we are interested in receiving write + * events from the given <b>handle</b>. */ +STATIC void +process_unix_start_writing(process_unix_handle_t *handle) +{ + tor_assert(handle); + + if (event_add(handle->event, NULL)) + log_warn(LD_PROCESS, + "Unable to add libevent event for handle."); + + handle->is_writing = true; +} + +/** This function tells libevent that we are no longer interested in receiving + * write events from the given <b>handle</b>. */ +STATIC void +process_unix_stop_writing(process_unix_handle_t *handle) +{ + tor_assert(handle); + + if (handle->event == NULL) + return; + + if (event_del(handle->event)) + log_warn(LD_PROCESS, + "Unable to delete libevent event for handle."); + + handle->is_writing = false; +} + +/** This function is called when the waitpid system have detected that our + * process have terminated. We disable the waitpid system and notify the + * Process subsystem that we have terminated. */ +STATIC void +process_unix_waitpid_callback(int status, void *data) +{ + tor_assert(data); + + process_t *process = data; + process_unix_t *unix_process = process_get_unix_process(process); + + /* Remove our waitpid callback. */ + clear_waitpid_callback(unix_process->waitpid); + unix_process->waitpid = NULL; + + /* Notify our process. */ + process_notify_event_exit(process, status); + + /* Make sure you don't modify the process after we have called + * process_notify_event_exit() on it, to allow users to process_free() it in + * the exit callback. */ +} + +/** This function sets the file descriptor in the <b>handle</b> as non-blocking + * and configures the libevent event structure based on the given <b>flags</b> + * to ensure that <b>callback</b> is called whenever we have events on the + * given <b>handle</b>. */ +STATIC void +process_unix_setup_handle(process_t *process, + process_unix_handle_t *handle, + short flags, + event_callback_fn callback) +{ + tor_assert(process); + tor_assert(handle); + tor_assert(callback); + + /* Put our file descriptor into non-blocking mode. */ + if (fcntl(handle->fd, F_SETFL, O_NONBLOCK) < 0) { + log_warn(LD_PROCESS, "Unable mark Unix handle as non-blocking: %s", + strerror(errno)); + } + + /* Setup libevent event. */ + handle->event = tor_event_new(tor_libevent_get_base(), + handle->fd, + flags, + callback, + process); +} + +/** This function reads data from the given <b>handle</b> and puts it into + * <b>buffer</b>. Returns the number of bytes read this way. */ +STATIC int +process_unix_read_handle(process_t *process, + process_unix_handle_t *handle, + buf_t *buffer) +{ + tor_assert(process); + tor_assert(handle); + tor_assert(buffer); + + int ret = 0; + int eof = 0; + int error = 0; + + ret = buf_read_from_pipe(buffer, + handle->fd, + PROCESS_MAX_READ, + &eof, + &error); + + if (error) + log_warn(LD_PROCESS, + "Unable to read data: %s", strerror(error)); + + if (eof) { + handle->reached_eof = true; + process_unix_stop_reading(handle); + } + + return ret; +} + +/** Close the standard in, out, and error handles of the given + * <b>unix_process</b>. */ +STATIC bool +process_unix_close_file_descriptors(process_unix_t *unix_process) +{ + tor_assert(unix_process); + + int ret; + bool success = true; + + /* Stop reading and writing before we close() our + * file descriptors. */ + if (! unix_process->stdout_handle.reached_eof) + process_unix_stop_reading(&unix_process->stdout_handle); + + if (! unix_process->stderr_handle.reached_eof) + process_unix_stop_reading(&unix_process->stderr_handle); + + if (unix_process->stdin_handle.is_writing) + process_unix_stop_writing(&unix_process->stdin_handle); + + if (unix_process->stdin_handle.fd != -1) { + ret = close(unix_process->stdin_handle.fd); + if (ret == -1) { + log_warn(LD_PROCESS, "Unable to close standard in"); + success = false; + } + + unix_process->stdin_handle.fd = -1; + } + + if (unix_process->stdout_handle.fd != -1) { + ret = close(unix_process->stdout_handle.fd); + if (ret == -1) { + log_warn(LD_PROCESS, "Unable to close standard out"); + success = false; + } + + unix_process->stdout_handle.fd = -1; + } + + if (unix_process->stderr_handle.fd != -1) { + ret = close(unix_process->stderr_handle.fd); + if (ret == -1) { + log_warn(LD_PROCESS, "Unable to close standard error"); + success = false; + } + + unix_process->stderr_handle.fd = -1; + } + + return success; +} + +#endif /* defined(_WIN32). */ diff --git a/src/lib/process/process_unix.h b/src/lib/process/process_unix.h new file mode 100644 index 0000000000..86c10d7449 --- /dev/null +++ b/src/lib/process/process_unix.h @@ -0,0 +1,68 @@ +/* Copyright (c) 2003-2004, Roger Dingledine + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file process_unix.h + * \brief Header for process_unix.c + **/ + +#ifndef TOR_PROCESS_UNIX_H +#define TOR_PROCESS_UNIX_H + +#ifndef _WIN32 + +#include "orconfig.h" +#include "lib/malloc/malloc.h" + +#include <event2/event.h> + +struct process_t; + +struct process_unix_t; +typedef struct process_unix_t process_unix_t; + +process_unix_t *process_unix_new(void); +void process_unix_free_(process_unix_t *unix_process); +#define process_unix_free(s) \ + FREE_AND_NULL(process_unix_t, process_unix_free_, (s)) + +process_status_t process_unix_exec(struct process_t *process); +bool process_unix_terminate(struct process_t *process); + +process_pid_t process_unix_get_pid(struct process_t *process); + +int process_unix_write(struct process_t *process, buf_t *buffer); +int process_unix_read_stdout(struct process_t *process, buf_t *buffer); +int process_unix_read_stderr(struct process_t *process, buf_t *buffer); + +#ifdef PROCESS_UNIX_PRIVATE +struct process_unix_handle_t; +typedef struct process_unix_handle_t process_unix_handle_t; + +STATIC void stdout_read_callback(evutil_socket_t fd, short event, void *data); +STATIC void stderr_read_callback(evutil_socket_t fd, short event, void *data); +STATIC void stdin_write_callback(evutil_socket_t fd, short event, void *data); + +STATIC void process_unix_start_reading(process_unix_handle_t *); +STATIC void process_unix_stop_reading(process_unix_handle_t *); + +STATIC void process_unix_start_writing(process_unix_handle_t *); +STATIC void process_unix_stop_writing(process_unix_handle_t *); + +STATIC void process_unix_waitpid_callback(int status, void *data); + +STATIC void process_unix_setup_handle(process_t *process, + process_unix_handle_t *handle, + short flags, + event_callback_fn callback); +STATIC int process_unix_read_handle(process_t *, + process_unix_handle_t *, + buf_t *); +STATIC bool process_unix_close_file_descriptors(process_unix_t *); +#endif /* defined(PROCESS_UNIX_PRIVATE). */ + +#endif /* defined(_WIN32). */ + +#endif /* defined(TOR_PROCESS_UNIX_H). */ diff --git a/src/lib/process/process_win32.c b/src/lib/process/process_win32.c new file mode 100644 index 0000000000..c92b0975a7 --- /dev/null +++ b/src/lib/process/process_win32.c @@ -0,0 +1,1026 @@ +/* Copyright (c) 2003, Roger Dingledine + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file process_win32.c + * \brief Module for working with Windows processes. + **/ + +#define PROCESS_WIN32_PRIVATE +#include "lib/intmath/cmp.h" +#include "lib/buf/buffers.h" +#include "lib/net/buffers_net.h" +#include "lib/container/smartlist.h" +#include "lib/log/log.h" +#include "lib/log/util_bug.h" +#include "lib/log/win32err.h" +#include "lib/process/process.h" +#include "lib/process/process_win32.h" +#include "lib/process/env.h" + +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#endif + +#ifdef HAVE_STRING_H +#include <string.h> +#endif + +#ifdef _WIN32 + +/** The size of our intermediate buffers. */ +#define BUFFER_SIZE (1024) + +/** Timer that ticks once a second and calls the process_win32_timer_callback() + * function. */ +static periodic_timer_t *periodic_timer; + +/** Structure to represent the state around the pipe HANDLE. + * + * This structure is used to store state about a given HANDLE, including + * whether we have reached end of file, its intermediate buffers, and how much + * data that is available in the intermediate buffer. */ +struct process_win32_handle_t { + /** Standard out pipe handle. */ + HANDLE pipe; + + /** True iff we have reached EOF from the pipe. */ + bool reached_eof; + + /** How much data is available in buffer. */ + size_t data_available; + + /** Intermediate buffer for ReadFileEx() and WriteFileEx(). */ + char buffer[BUFFER_SIZE]; + + /** Overlapped structure for ReadFileEx() and WriteFileEx(). */ + OVERLAPPED overlapped; + + /** Are we waiting for another I/O operation to complete? */ + bool busy; +}; + +/** Structure to represent the Windows specific implementation details of this + * Process backend. + * + * This structure is attached to <b>process_t</b> (see process.h) and is + * reachable from <b>process_t</b> via the <b>process_get_win32_process()</b> + * method. */ +struct process_win32_t { + /** Standard in state. */ + process_win32_handle_t stdin_handle; + + /** Standard out state. */ + process_win32_handle_t stdout_handle; + + /** Standard error state. */ + process_win32_handle_t stderr_handle; + + /** Process Information. */ + PROCESS_INFORMATION process_information; +}; + +/** Create a new <b>process_win32_t</b>. + * + * This function constructs a new <b>process_win32_t</b> and initializes the + * default values. */ +process_win32_t * +process_win32_new(void) +{ + process_win32_t *win32_process; + win32_process = tor_malloc_zero(sizeof(process_win32_t)); + + win32_process->stdin_handle.pipe = INVALID_HANDLE_VALUE; + win32_process->stdout_handle.pipe = INVALID_HANDLE_VALUE; + win32_process->stderr_handle.pipe = INVALID_HANDLE_VALUE; + + return win32_process; +} + +/** Free a given <b>process_win32_t</b>. + * + * This function deinitializes and frees up the resources allocated for the + * given <b>process_win32_t</b>. */ +void +process_win32_free_(process_win32_t *win32_process) +{ + if (! win32_process) + return; + + /* Cleanup our handles. */ + process_win32_cleanup_handle(&win32_process->stdin_handle); + process_win32_cleanup_handle(&win32_process->stdout_handle); + process_win32_cleanup_handle(&win32_process->stderr_handle); + + tor_free(win32_process); +} + +/** Initialize the Windows backend of the Process subsystem. */ +void +process_win32_init(void) +{ + /* We don't start the periodic timer here because it makes no sense to have + * the timer running until we have some processes that benefits from the + * timer timer ticks. */ +} + +/** Deinitialize the Windows backend of the Process subsystem. */ +void +process_win32_deinit(void) +{ + /* Stop our timer, but only if it's running. */ + if (process_win32_timer_running()) + process_win32_timer_stop(); +} + +/** Execute the given process. This function is responsible for setting up + * named pipes for I/O between the child process and the Tor process. Returns + * <b>PROCESS_STATUS_RUNNING</b> upon success. */ +process_status_t +process_win32_exec(process_t *process) +{ + tor_assert(process); + + process_win32_t *win32_process = process_get_win32_process(process); + + HANDLE stdout_pipe_read = NULL; + HANDLE stdout_pipe_write = NULL; + HANDLE stderr_pipe_read = NULL; + HANDLE stderr_pipe_write = NULL; + HANDLE stdin_pipe_read = NULL; + HANDLE stdin_pipe_write = NULL; + BOOL ret = FALSE; + const char *filename = process_get_command(process); + + /* Not much we can do if we haven't been told what to start. */ + if (BUG(filename == NULL)) + return PROCESS_STATUS_ERROR; + + /* Setup our security attributes. */ + SECURITY_ATTRIBUTES security_attributes; + security_attributes.nLength = sizeof(security_attributes); + security_attributes.bInheritHandle = TRUE; + /* FIXME: should we set explicit security attributes? + * (See Ticket #2046, comment 5) */ + security_attributes.lpSecurityDescriptor = NULL; + + /* Create our standard out pipe. */ + if (! process_win32_create_pipe(&stdout_pipe_read, + &stdout_pipe_write, + &security_attributes, + PROCESS_WIN32_PIPE_TYPE_READER)) { + return PROCESS_STATUS_ERROR; + } + + /* Create our standard error pipe. */ + if (! process_win32_create_pipe(&stderr_pipe_read, + &stderr_pipe_write, + &security_attributes, + PROCESS_WIN32_PIPE_TYPE_READER)) { + return PROCESS_STATUS_ERROR; + } + + /* Create out standard in pipe. */ + if (! process_win32_create_pipe(&stdin_pipe_read, + &stdin_pipe_write, + &security_attributes, + PROCESS_WIN32_PIPE_TYPE_WRITER)) { + return PROCESS_STATUS_ERROR; + } + + /* Configure startup info for our child process. */ + STARTUPINFOA startup_info; + + memset(&startup_info, 0, sizeof(startup_info)); + startup_info.cb = sizeof(startup_info); + startup_info.hStdError = stderr_pipe_write; + startup_info.hStdOutput = stdout_pipe_write; + startup_info.hStdInput = stdin_pipe_read; + startup_info.dwFlags |= STARTF_USESTDHANDLES; + + /* Create the env value for our new process. */ + process_environment_t *env = process_get_environment(process); + + /* Create the argv value for our new process. */ + char **argv = process_get_argv(process); + + /* Windows expects argv to be a whitespace delimited string, so join argv up + */ + char *joined_argv = tor_join_win_cmdline((const char **)argv); + + /* Create the child process */ + ret = CreateProcessA(filename, + joined_argv, + NULL, + NULL, + TRUE, + CREATE_NO_WINDOW, + env->windows_environment_block[0] == '\0' ? + NULL : env->windows_environment_block, + NULL, + &startup_info, + &win32_process->process_information); + + tor_free(argv); + tor_free(joined_argv); + process_environment_free(env); + + if (! ret) { + log_warn(LD_PROCESS, "CreateProcessA() failed: %s", + format_win32_error(GetLastError())); + + /* Cleanup our handles. */ + CloseHandle(stdout_pipe_read); + CloseHandle(stdout_pipe_write); + CloseHandle(stderr_pipe_read); + CloseHandle(stderr_pipe_write); + CloseHandle(stdin_pipe_read); + CloseHandle(stdin_pipe_write); + + return PROCESS_STATUS_ERROR; + } + + /* TODO: Should we close hProcess and hThread in + * process_handle->process_information? */ + win32_process->stdout_handle.pipe = stdout_pipe_read; + win32_process->stderr_handle.pipe = stderr_pipe_read; + win32_process->stdin_handle.pipe = stdin_pipe_write; + + /* Used by the callback functions from ReadFileEx() and WriteFileEx() such + * that we can figure out which process_t that was responsible for the event. + * + * Warning, here be dragons: + * + * MSDN says that the hEvent member of the overlapped structure is unused + * for ReadFileEx() and WriteFileEx, which allows us to store a pointer to + * our process state there. + */ + win32_process->stdout_handle.overlapped.hEvent = (HANDLE)process; + win32_process->stderr_handle.overlapped.hEvent = (HANDLE)process; + win32_process->stdin_handle.overlapped.hEvent = (HANDLE)process; + + /* Start our timer if it is not already running. */ + if (! process_win32_timer_running()) + process_win32_timer_start(); + + /* We use Windows Extended I/O functions, so our completion callbacks are + * called automatically for us when there is data to read. Because of this + * we start the read of standard out and error right away. */ + process_notify_event_stdout(process); + process_notify_event_stderr(process); + + return PROCESS_STATUS_RUNNING; +} + +/** Terminate the given process. Returns true on success, otherwise false. */ +bool +process_win32_terminate(process_t *process) +{ + tor_assert(process); + + process_win32_t *win32_process = process_get_win32_process(process); + + /* Terminate our process. */ + BOOL ret; + + ret = TerminateProcess(win32_process->process_information.hProcess, 0); + + if (! ret) { + log_warn(LD_PROCESS, "TerminateProcess() failed: %s", + format_win32_error(GetLastError())); + return false; + } + + /* Cleanup our handles. */ + process_win32_cleanup_handle(&win32_process->stdin_handle); + process_win32_cleanup_handle(&win32_process->stdout_handle); + process_win32_cleanup_handle(&win32_process->stderr_handle); + + return true; +} + +/** Returns the unique process identifier for the given <b>process</b>. */ +process_pid_t +process_win32_get_pid(process_t *process) +{ + tor_assert(process); + + process_win32_t *win32_process = process_get_win32_process(process); + return (process_pid_t)win32_process->process_information.dwProcessId; +} + +/** Schedule an async write of the data found in <b>buffer</b> for the given + * process. This function runs an async write operation of the content of + * buffer, if we are not already waiting for a pending I/O request. Returns the + * number of bytes that Windows will hopefully write for us in the background. + * */ +int +process_win32_write(struct process_t *process, buf_t *buffer) +{ + tor_assert(process); + tor_assert(buffer); + + process_win32_t *win32_process = process_get_win32_process(process); + BOOL ret = FALSE; + const size_t buffer_size = buf_datalen(buffer); + + /* Windows is still writing our buffer. */ + if (win32_process->stdin_handle.busy) + return 0; + + /* Nothing for us to do right now. */ + if (buffer_size == 0) + return 0; + + /* We have reached end of file already? */ + if (BUG(win32_process->stdin_handle.reached_eof)) + return 0; + + /* Figure out how much data we should read. */ + const size_t write_size = MIN(buffer_size, + sizeof(win32_process->stdin_handle.buffer)); + + /* Read data from the process_t buffer into our intermediate buffer. */ + buf_get_bytes(buffer, win32_process->stdin_handle.buffer, write_size); + + /* Schedule our write. */ + ret = WriteFileEx(win32_process->stdin_handle.pipe, + win32_process->stdin_handle.buffer, + write_size, + &win32_process->stdin_handle.overlapped, + process_win32_stdin_write_done); + + if (! ret) { + log_warn(LD_PROCESS, "WriteFileEx() failed: %s", + format_win32_error(GetLastError())); + return 0; + } + + /* This cast should be safe since our buffer can maximum be BUFFER_SIZE + * large. */ + return (int)write_size; +} + +/** This function is called from the Process subsystem whenever the Windows + * backend says it has data ready. This function also ensures that we are + * starting a new background read from the standard output of the child process + * and asks Windows to call process_win32_stdout_read_done() when that + * operation is finished. Returns the number of bytes moved into <b>buffer</b>. + * */ +int +process_win32_read_stdout(struct process_t *process, buf_t *buffer) +{ + tor_assert(process); + tor_assert(buffer); + + process_win32_t *win32_process = process_get_win32_process(process); + + return process_win32_read_from_handle(&win32_process->stdout_handle, + buffer, + process_win32_stdout_read_done); +} + +/** This function is called from the Process subsystem whenever the Windows + * backend says it has data ready. This function also ensures that we are + * starting a new background read from the standard error of the child process + * and asks Windows to call process_win32_stderr_read_done() when that + * operation is finished. Returns the number of bytes moved into <b>buffer</b>. + * */ +int +process_win32_read_stderr(struct process_t *process, buf_t *buffer) +{ + tor_assert(process); + tor_assert(buffer); + + process_win32_t *win32_process = process_get_win32_process(process); + + return process_win32_read_from_handle(&win32_process->stderr_handle, + buffer, + process_win32_stderr_read_done); +} + +/** This function is responsible for moving the Tor process into what Microsoft + * calls an "alertable" state. Once the process is in an alertable state the + * Windows kernel will notify us when our background I/O requests have finished + * and the callbacks will be executed. */ +void +process_win32_trigger_completion_callbacks(void) +{ + DWORD ret; + + /* The call to SleepEx(dwMilliseconds, dwAlertable) makes the process sleep + * for dwMilliseconds and if dwAlertable is set to TRUE it will also cause + * the process to enter alertable state, where the Windows kernel will notify + * us about completed I/O requests from ReadFileEx() and WriteFileEX(), which + * will cause our completion callbacks to be executed. + * + * This function returns 0 if the time interval expired or WAIT_IO_COMPLETION + * if one or more I/O callbacks were executed. */ + ret = SleepEx(0, TRUE); + + /* Warn us if the function returned something we did not anticipate. */ + if (ret != 0 && ret != WAIT_IO_COMPLETION) { + log_warn(LD_PROCESS, "SleepEx() returned %lu", ret); + } +} + +/** Start the periodic timer which is reponsible for checking whether processes + * are still alive and to make sure that the Tor process is periodically being + * moved into an alertable state. */ +void +process_win32_timer_start(void) +{ + /* Make sure we never start our timer if it's already running. */ + if (BUG(process_win32_timer_running())) + return; + + /* Wake up once a second. */ + static const struct timeval interval = {1, 0}; + + log_info(LD_PROCESS, "Starting Windows Process I/O timer"); + periodic_timer = periodic_timer_new(tor_libevent_get_base(), + &interval, + process_win32_timer_callback, + NULL); +} + +/** Stops the periodic timer. */ +void +process_win32_timer_stop(void) +{ + if (BUG(periodic_timer == NULL)) + return; + + log_info(LD_PROCESS, "Stopping Windows Process I/O timer"); + periodic_timer_free(periodic_timer); +} + +/** Returns true iff the periodic timer is running. */ +bool +process_win32_timer_running(void) +{ + return periodic_timer != NULL; +} + +/** This function is called whenever the periodic_timer ticks. The function is + * responsible for moving the Tor process into an alertable state once a second + * and checking for whether our child processes have terminated since the last + * tick. */ +STATIC void +process_win32_timer_callback(periodic_timer_t *timer, void *data) +{ + tor_assert(timer == periodic_timer); + tor_assert(data == NULL); + + /* Move the process into an alertable state. */ + process_win32_trigger_completion_callbacks(); + + /* Check if our processes are still alive. */ + + /* Since the call to process_win32_timer_test_process() might call + * process_notify_event_exit() which again might call process_free() which + * updates the list of processes returned by process_get_all_processes() it + * is important here that we make sure to not touch the list of processes if + * the call to process_win32_timer_test_process() returns true. */ + bool done; + + do { + const smartlist_t *processes = process_get_all_processes(); + done = true; + + SMARTLIST_FOREACH_BEGIN(processes, process_t *, process) { + /* If process_win32_timer_test_process() returns true, it means that + * smartlist_remove() might have been called on the list returned by + * process_get_all_processes(). We start the loop over again until we + * have a succesful run over the entire list where the list was not + * modified. */ + if (process_win32_timer_test_process(process)) { + done = false; + break; + } + } SMARTLIST_FOREACH_END(process); + } while (! done); +} + +/** Test whether a given process is still alive. Notify the Process subsystem + * if our process have died. Returns true iff the given process have + * terminated. */ +STATIC bool +process_win32_timer_test_process(process_t *process) +{ + tor_assert(process); + + /* No need to look at processes that don't claim they are running. */ + if (process_get_status(process) != PROCESS_STATUS_RUNNING) + return false; + + process_win32_t *win32_process = process_get_win32_process(process); + BOOL ret = FALSE; + DWORD exit_code = 0; + + /* We start by testing whether our process is still running. */ + ret = GetExitCodeProcess(win32_process->process_information.hProcess, + &exit_code); + + if (! ret) { + log_warn(LD_PROCESS, "GetExitCodeProcess() failed: %s", + format_win32_error(GetLastError())); + return false; + } + + /* Notify our process_t that our process have terminated. Since our + * exit_callback might decide to process_free() our process handle it is very + * important that we do not touch the process_t after the call to + * process_notify_event_exit(). */ + if (exit_code != STILL_ACTIVE) { + process_notify_event_exit(process, exit_code); + return true; + } + + return false; +} + +/** Create a new overlapped named pipe. This function creates a new connected, + * named, pipe in <b>*read_pipe</b> and <b>*write_pipe</b> if the function is + * succesful. Returns true on sucess, false on failure. */ +STATIC bool +process_win32_create_pipe(HANDLE *read_pipe, + HANDLE *write_pipe, + SECURITY_ATTRIBUTES *attributes, + process_win32_pipe_type_t pipe_type) +{ + tor_assert(read_pipe); + tor_assert(write_pipe); + tor_assert(attributes); + + BOOL ret = FALSE; + + /* Buffer size. */ + const size_t size = 4096; + + /* Our additional read/write modes that depends on which pipe type we are + * creating. */ + DWORD read_mode = 0; + DWORD write_mode = 0; + + /* Generate the unique pipe name. */ + char pipe_name[MAX_PATH]; + static DWORD process_id = 0; + static DWORD counter = 0; + + if (process_id == 0) + process_id = GetCurrentProcessId(); + + tor_snprintf(pipe_name, sizeof(pipe_name), + "\\\\.\\Pipe\\Tor-Process-Pipe-%lu-%lu", + process_id, counter++); + + /* Only one of our handles can be overlapped. */ + switch (pipe_type) { + case PROCESS_WIN32_PIPE_TYPE_READER: + read_mode = FILE_FLAG_OVERLAPPED; + break; + case PROCESS_WIN32_PIPE_TYPE_WRITER: + write_mode = FILE_FLAG_OVERLAPPED; + break; + default: + /* LCOV_EXCL_START */ + tor_assert_nonfatal_unreached_once(); + /* LCOV_EXCL_STOP */ + } + + /* Setup our read and write handles. */ + HANDLE read_handle; + HANDLE write_handle; + + /* Create our named pipe. */ + read_handle = CreateNamedPipeA(pipe_name, + (PIPE_ACCESS_INBOUND|read_mode), + (PIPE_TYPE_BYTE|PIPE_WAIT), + 1, + size, + size, + 1000, + attributes); + + if (read_handle == INVALID_HANDLE_VALUE) { + log_warn(LD_PROCESS, "CreateNamedPipeA() failed: %s", + format_win32_error(GetLastError())); + return false; + } + + /* Create our file in the pipe namespace. */ + write_handle = CreateFileA(pipe_name, + GENERIC_WRITE, + 0, + attributes, + OPEN_EXISTING, + (FILE_ATTRIBUTE_NORMAL|write_mode), + NULL); + + if (write_handle == INVALID_HANDLE_VALUE) { + log_warn(LD_PROCESS, "CreateFileA() failed: %s", + format_win32_error(GetLastError())); + + CloseHandle(read_handle); + + return false; + } + + /* Set the inherit flag for our pipe. */ + switch (pipe_type) { + case PROCESS_WIN32_PIPE_TYPE_READER: + ret = SetHandleInformation(read_handle, HANDLE_FLAG_INHERIT, 0); + break; + case PROCESS_WIN32_PIPE_TYPE_WRITER: + ret = SetHandleInformation(write_handle, HANDLE_FLAG_INHERIT, 0); + break; + default: + /* LCOV_EXCL_START */ + tor_assert_nonfatal_unreached_once(); + /* LCOV_EXCL_STOP */ + } + + if (! ret) { + log_warn(LD_PROCESS, "SetHandleInformation() failed: %s", + format_win32_error(GetLastError())); + + CloseHandle(read_handle); + CloseHandle(write_handle); + + return false; + } + + /* Everything is good. */ + *read_pipe = read_handle; + *write_pipe = write_handle; + + return true; +} + +/** Cleanup a given <b>handle</b>. */ +STATIC void +process_win32_cleanup_handle(process_win32_handle_t *handle) +{ + tor_assert(handle); + +#if 0 + /* FIXME(ahf): My compiler does not set _WIN32_WINNT to a high enough value + * for this code to be available. Should we force it? CancelIoEx() is + * available from Windows 7 and above. If we decide to require this, we need + * to update the checks in all the three I/O completion callbacks to handle + * the ERROR_OPERATION_ABORTED as well as ERROR_BROKEN_PIPE. */ + +#if _WIN32_WINNT >= 0x0600 + /* This code is only supported from Windows 7 and onwards. */ + BOOL ret; + DWORD error_code; + + /* Cancel any pending I/O requests. */ + ret = CancelIoEx(handle->pipe, &handle->overlapped); + + if (! ret) { + error_code = GetLastError(); + + /* There was no pending I/O requests for our handle. */ + if (error_code != ERROR_NOT_FOUND) { + log_warn(LD_PROCESS, "CancelIoEx() failed: %s", + format_win32_error(error_code)); + } + } +#endif +#endif + + /* Close our handle. */ + if (handle->pipe != INVALID_HANDLE_VALUE) { + CloseHandle(handle->pipe); + handle->pipe = INVALID_HANDLE_VALUE; + } +} + +/** This function is called when ReadFileEx() completes its background read + * from the child process's standard output. We notify the Process subsystem if + * there is data available for it to read from us. */ +STATIC VOID WINAPI +process_win32_stdout_read_done(DWORD error_code, + DWORD byte_count, + LPOVERLAPPED overlapped) +{ + tor_assert(overlapped); + tor_assert(overlapped->hEvent); + + /* This happens when we have asked ReadFileEx() to read some data, but we + * then decided to call CloseHandle() on the HANDLE. This can happen if + * someone runs process_free() in the exit_callback of process_t, which means + * we cannot call process_get_win32_process() here. */ + if (error_code == ERROR_BROKEN_PIPE) { + log_debug(LD_PROCESS, "Process reported broken pipe on standard out"); + return; + } + + /* Extract our process_t from the hEvent member of OVERLAPPED. */ + process_t *process = (process_t *)overlapped->hEvent; + process_win32_t *win32_process = process_get_win32_process(process); + + if (process_win32_handle_read_completion(&win32_process->stdout_handle, + error_code, + byte_count)) { + /* Schedule our next read. */ + process_notify_event_stdout(process); + } +} + +/** This function is called when ReadFileEx() completes its background read + * from the child process's standard error. We notify the Process subsystem if + * there is data available for it to read from us. */ +STATIC VOID WINAPI +process_win32_stderr_read_done(DWORD error_code, + DWORD byte_count, + LPOVERLAPPED overlapped) +{ + tor_assert(overlapped); + tor_assert(overlapped->hEvent); + + /* This happens when we have asked ReadFileEx() to read some data, but we + * then decided to call CloseHandle() on the HANDLE. This can happen if + * someone runs process_free() in the exit_callback of process_t, which means + * we cannot call process_get_win32_process() here. */ + if (error_code == ERROR_BROKEN_PIPE) { + log_debug(LD_PROCESS, "Process reported broken pipe on standard error"); + return; + } + + /* Extract our process_t from the hEvent member of OVERLAPPED. */ + process_t *process = (process_t *)overlapped->hEvent; + process_win32_t *win32_process = process_get_win32_process(process); + + if (process_win32_handle_read_completion(&win32_process->stderr_handle, + error_code, + byte_count)) { + /* Schedule our next read. */ + process_notify_event_stderr(process); + } +} + +/** This function is called when WriteFileEx() completes its background write + * to the child process's standard input. We notify the Process subsystem that + * it can write data to us again. */ +STATIC VOID WINAPI +process_win32_stdin_write_done(DWORD error_code, + DWORD byte_count, + LPOVERLAPPED overlapped) +{ + tor_assert(overlapped); + tor_assert(overlapped->hEvent); + + (void)byte_count; + + /* This happens when we have asked WriteFileEx() to write some data, but we + * then decided to call CloseHandle() on the HANDLE. This can happen if + * someone runs process_free() in the exit_callback of process_t, which means + * we cannot call process_get_win32_process() here. */ + if (error_code == ERROR_BROKEN_PIPE) { + log_debug(LD_PROCESS, "Process reported broken pipe on standard input"); + return; + } + + process_t *process = (process_t *)overlapped->hEvent; + process_win32_t *win32_process = process_get_win32_process(process); + + /* Mark our handle as not having any outstanding I/O requests. */ + win32_process->stdin_handle.busy = false; + + /* Check if we have been asked to write to the handle that have been marked + * as having reached EOF. */ + if (BUG(win32_process->stdin_handle.reached_eof)) + return; + + if (error_code == 0) { + /** Our data have been succesfully written. Clear our state and schedule + * the next write. */ + win32_process->stdin_handle.data_available = 0; + memset(win32_process->stdin_handle.buffer, 0, + sizeof(win32_process->stdin_handle.buffer)); + + /* Schedule the next write. */ + process_notify_event_stdin(process); + } else if (error_code == ERROR_HANDLE_EOF) { + /* Our WriteFileEx() call was succesful, but we reached the end of our + * file. We mark our handle as having reached EOF and returns. */ + tor_assert(byte_count == 0); + + win32_process->stdin_handle.reached_eof = true; + } else { + /* An error happened: We warn the user and mark our handle as having + * reached EOF */ + log_warn(LD_PROCESS, + "Error in I/O completion routine from WriteFileEx(): %s", + format_win32_error(error_code)); + win32_process->stdin_handle.reached_eof = true; + } +} + +/** This function reads data from the given <b>handle</b>'s internal buffer and + * moves it into the given <b>buffer</b>. Additionally, we start the next + * ReadFileEx() background operation with the given <b>callback</b> as + * completion callback. Returns the number of bytes written to the buffer. */ +STATIC int +process_win32_read_from_handle(process_win32_handle_t *handle, + buf_t *buffer, + LPOVERLAPPED_COMPLETION_ROUTINE callback) +{ + tor_assert(handle); + tor_assert(buffer); + tor_assert(callback); + + BOOL ret = FALSE; + int bytes_available = 0; + + /* We already have a request to read data that isn't complete yet. */ + if (BUG(handle->busy)) + return 0; + + /* Check if we have been asked to read from a handle that have already told + * us that we have reached the end of the file. */ + if (BUG(handle->reached_eof)) + return 0; + + /* This cast should be safe since our buffer can be at maximum up to + * BUFFER_SIZE in size. */ + bytes_available = (int)handle->data_available; + + if (handle->data_available > 0) { + /* Read data from our intermediate buffer into the process_t buffer. */ + buf_add(buffer, handle->buffer, handle->data_available); + + /* Reset our read state. */ + handle->data_available = 0; + memset(handle->buffer, 0, sizeof(handle->buffer)); + } + + /* Ask the Windows kernel to read data from our pipe into our buffer and call + * the callback function when it is done. */ + ret = ReadFileEx(handle->pipe, + handle->buffer, + sizeof(handle->buffer), + &handle->overlapped, + callback); + + if (! ret) { + log_warn(LD_PROCESS, "ReadFileEx() failed: %s", + format_win32_error(GetLastError())); + return bytes_available; + } + + /* We mark our handle as having a pending I/O request. */ + handle->busy = true; + + return bytes_available; +} + +/** This function checks the callback values from ReadFileEx() in + * <b>error_code</b> and <b>byte_count</b> if we have read data. Returns true + * iff our caller should request more data from ReadFileEx(). */ +STATIC bool +process_win32_handle_read_completion(process_win32_handle_t *handle, + DWORD error_code, + DWORD byte_count) +{ + tor_assert(handle); + + /* Mark our handle as not having any outstanding I/O requests. */ + handle->busy = false; + + if (error_code == 0) { + /* Our ReadFileEx() call was succesful and there is data for us. */ + + /* This cast should be safe since byte_count should never be larger than + * BUFFER_SIZE. */ + tor_assert(byte_count <= BUFFER_SIZE); + handle->data_available = (size_t)byte_count; + + /* Tell our caller to schedule the next read. */ + return true; + } else if (error_code == ERROR_HANDLE_EOF) { + /* Our ReadFileEx() call was succesful, but we reached the end of our file. + * We mark our handle as having reached EOF and returns. */ + tor_assert(byte_count == 0); + + handle->reached_eof = true; + } else { + /* An error happened: We warn the user and mark our handle as having + * reached EOF */ + log_warn(LD_PROCESS, + "Error in I/O completion routine from ReadFileEx(): %s", + format_win32_error(error_code)); + + handle->reached_eof = true; + } + + /* Our caller should NOT schedule the next read. */ + return false; +} + +/** Format a single argument for being put on a Windows command line. + * Returns a newly allocated string */ +STATIC char * +format_win_cmdline_argument(const char *arg) +{ + char *formatted_arg; + char need_quotes; + const char *c; + int i; + int bs_counter = 0; + /* Backslash we can point to when one is inserted into the string */ + const char backslash = '\\'; + + /* Smartlist of *char */ + smartlist_t *arg_chars; + arg_chars = smartlist_new(); + + /* Quote string if it contains whitespace or is empty */ + need_quotes = (strchr(arg, ' ') || strchr(arg, '\t') || '\0' == arg[0]); + + /* Build up smartlist of *chars */ + for (c=arg; *c != '\0'; c++) { + if ('"' == *c) { + /* Double up backslashes preceding a quote */ + for (i=0; i<(bs_counter*2); i++) + smartlist_add(arg_chars, (void*)&backslash); + bs_counter = 0; + /* Escape the quote */ + smartlist_add(arg_chars, (void*)&backslash); + smartlist_add(arg_chars, (void*)c); + } else if ('\\' == *c) { + /* Count backslashes until we know whether to double up */ + bs_counter++; + } else { + /* Don't double up slashes preceding a non-quote */ + for (i=0; i<bs_counter; i++) + smartlist_add(arg_chars, (void*)&backslash); + bs_counter = 0; + smartlist_add(arg_chars, (void*)c); + } + } + /* Don't double up trailing backslashes */ + for (i=0; i<bs_counter; i++) + smartlist_add(arg_chars, (void*)&backslash); + + /* Allocate space for argument, quotes (if needed), and terminator */ + const size_t formatted_arg_len = smartlist_len(arg_chars) + + (need_quotes ? 2 : 0) + 1; + formatted_arg = tor_malloc_zero(formatted_arg_len); + + /* Add leading quote */ + i=0; + if (need_quotes) + formatted_arg[i++] = '"'; + + /* Add characters */ + SMARTLIST_FOREACH(arg_chars, char*, ch, + { + formatted_arg[i++] = *ch; + }); + + /* Add trailing quote */ + if (need_quotes) + formatted_arg[i++] = '"'; + formatted_arg[i] = '\0'; + + smartlist_free(arg_chars); + return formatted_arg; +} + +/** Format a command line for use on Windows, which takes the command as a + * string rather than string array. Follows the rules from "Parsing C++ + * Command-Line Arguments" in MSDN. Algorithm based on list2cmdline in the + * Python subprocess module. Returns a newly allocated string */ +STATIC char * +tor_join_win_cmdline(const char *argv[]) +{ + smartlist_t *argv_list; + char *joined_argv; + int i; + + /* Format each argument and put the result in a smartlist */ + argv_list = smartlist_new(); + for (i=0; argv[i] != NULL; i++) { + smartlist_add(argv_list, (void *)format_win_cmdline_argument(argv[i])); + } + + /* Join the arguments with whitespace */ + joined_argv = smartlist_join_strings(argv_list, " ", 0, NULL); + + /* Free the newly allocated arguments, and the smartlist */ + SMARTLIST_FOREACH(argv_list, char *, arg, + { + tor_free(arg); + }); + smartlist_free(argv_list); + + return joined_argv; +} + +#endif /* ! defined(_WIN32). */ diff --git a/src/lib/process/process_win32.h b/src/lib/process/process_win32.h new file mode 100644 index 0000000000..8ab4880fbd --- /dev/null +++ b/src/lib/process/process_win32.h @@ -0,0 +1,97 @@ +/* Copyright (c) 2003-2004, Roger Dingledine + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file process_win32.h + * \brief Header for process_win32.c + **/ + +#ifndef TOR_PROCESS_WIN32_H +#define TOR_PROCESS_WIN32_H + +#ifdef _WIN32 + +#include "orconfig.h" +#include "lib/malloc/malloc.h" +#include "lib/evloop/compat_libevent.h" + +#include <windows.h> + +struct process_t; + +struct process_win32_t; +typedef struct process_win32_t process_win32_t; + +process_win32_t *process_win32_new(void); +void process_win32_free_(process_win32_t *win32_process); +#define process_win32_free(s) \ + FREE_AND_NULL(process_win32_t, process_win32_free_, (s)) + +void process_win32_init(void); +void process_win32_deinit(void); + +process_status_t process_win32_exec(struct process_t *process); +bool process_win32_terminate(struct process_t *process); + +process_pid_t process_win32_get_pid(struct process_t *process); + +int process_win32_write(struct process_t *process, buf_t *buffer); +int process_win32_read_stdout(struct process_t *process, buf_t *buffer); +int process_win32_read_stderr(struct process_t *process, buf_t *buffer); + +void process_win32_trigger_completion_callbacks(void); + +/* Timer handling. */ +void process_win32_timer_start(void); +void process_win32_timer_stop(void); +bool process_win32_timer_running(void); + +#ifdef PROCESS_WIN32_PRIVATE +STATIC void process_win32_timer_callback(periodic_timer_t *, void *); +STATIC bool process_win32_timer_test_process(process_t *); + +/* I/O pipe handling. */ +struct process_win32_handle_t; +typedef struct process_win32_handle_t process_win32_handle_t; + +typedef enum process_win32_pipe_type_t { + /** This pipe is used for reading. */ + PROCESS_WIN32_PIPE_TYPE_READER, + + /** This pipe is used for writing. */ + PROCESS_WIN32_PIPE_TYPE_WRITER +} process_win32_pipe_type_t; + +STATIC bool process_win32_create_pipe(HANDLE *, + HANDLE *, + SECURITY_ATTRIBUTES *, + process_win32_pipe_type_t); + +STATIC void process_win32_cleanup_handle(process_win32_handle_t *handle); + +STATIC VOID WINAPI process_win32_stdout_read_done(DWORD, + DWORD, + LPOVERLAPPED); +STATIC VOID WINAPI process_win32_stderr_read_done(DWORD, + DWORD, + LPOVERLAPPED); +STATIC VOID WINAPI process_win32_stdin_write_done(DWORD, + DWORD, + LPOVERLAPPED); + +STATIC int process_win32_read_from_handle(process_win32_handle_t *, + buf_t *, + LPOVERLAPPED_COMPLETION_ROUTINE); +STATIC bool process_win32_handle_read_completion(process_win32_handle_t *, + DWORD, + DWORD); + +STATIC char *format_win_cmdline_argument(const char *arg); +STATIC char *tor_join_win_cmdline(const char *argv[]); +#endif /* defined(PROCESS_WIN32_PRIVATE). */ + +#endif /* ! defined(_WIN32). */ + +#endif /* defined(TOR_PROCESS_WIN32_H). */ diff --git a/src/lib/process/subprocess.c b/src/lib/process/subprocess.c deleted file mode 100644 index 70851c15e0..0000000000 --- a/src/lib/process/subprocess.c +++ /dev/null @@ -1,1236 +0,0 @@ -/* Copyright (c) 2003, Roger Dingledine - * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. - * Copyright (c) 2007-2018, The Tor Project, Inc. */ -/* See LICENSE for licensing information */ - -/** - * \file subprocess.c - * \brief Launch and monitor other processes. - **/ - -#define SUBPROCESS_PRIVATE -#include "lib/process/subprocess.h" - -#include "lib/container/smartlist.h" -#include "lib/err/torerr.h" -#include "lib/log/log.h" -#include "lib/log/util_bug.h" -#include "lib/log/win32err.h" -#include "lib/malloc/malloc.h" -#include "lib/process/env.h" -#include "lib/process/waitpid.h" -#include "lib/string/compat_ctype.h" - -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif -#ifdef HAVE_SYS_PRCTL_H -#include <sys/prctl.h> -#endif -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -#ifdef HAVE_SIGNAL_H -#include <signal.h> -#endif -#ifdef HAVE_FCNTL_H -#include <fcntl.h> -#endif -#ifdef HAVE_SYS_WAIT_H -#include <sys/wait.h> -#endif -#include <errno.h> -#include <string.h> - -/** Format a single argument for being put on a Windows command line. - * Returns a newly allocated string */ -static char * -format_win_cmdline_argument(const char *arg) -{ - char *formatted_arg; - char need_quotes; - const char *c; - int i; - int bs_counter = 0; - /* Backslash we can point to when one is inserted into the string */ - const char backslash = '\\'; - - /* Smartlist of *char */ - smartlist_t *arg_chars; - arg_chars = smartlist_new(); - - /* Quote string if it contains whitespace or is empty */ - need_quotes = (strchr(arg, ' ') || strchr(arg, '\t') || '\0' == arg[0]); - - /* Build up smartlist of *chars */ - for (c=arg; *c != '\0'; c++) { - if ('"' == *c) { - /* Double up backslashes preceding a quote */ - for (i=0; i<(bs_counter*2); i++) - smartlist_add(arg_chars, (void*)&backslash); - bs_counter = 0; - /* Escape the quote */ - smartlist_add(arg_chars, (void*)&backslash); - smartlist_add(arg_chars, (void*)c); - } else if ('\\' == *c) { - /* Count backslashes until we know whether to double up */ - bs_counter++; - } else { - /* Don't double up slashes preceding a non-quote */ - for (i=0; i<bs_counter; i++) - smartlist_add(arg_chars, (void*)&backslash); - bs_counter = 0; - smartlist_add(arg_chars, (void*)c); - } - } - /* Don't double up trailing backslashes */ - for (i=0; i<bs_counter; i++) - smartlist_add(arg_chars, (void*)&backslash); - - /* Allocate space for argument, quotes (if needed), and terminator */ - const size_t formatted_arg_len = smartlist_len(arg_chars) + - (need_quotes ? 2 : 0) + 1; - formatted_arg = tor_malloc_zero(formatted_arg_len); - - /* Add leading quote */ - i=0; - if (need_quotes) - formatted_arg[i++] = '"'; - - /* Add characters */ - SMARTLIST_FOREACH(arg_chars, char*, ch, - { - formatted_arg[i++] = *ch; - }); - - /* Add trailing quote */ - if (need_quotes) - formatted_arg[i++] = '"'; - formatted_arg[i] = '\0'; - - smartlist_free(arg_chars); - return formatted_arg; -} - -/** Format a command line for use on Windows, which takes the command as a - * string rather than string array. Follows the rules from "Parsing C++ - * Command-Line Arguments" in MSDN. Algorithm based on list2cmdline in the - * Python subprocess module. Returns a newly allocated string */ -char * -tor_join_win_cmdline(const char *argv[]) -{ - smartlist_t *argv_list; - char *joined_argv; - int i; - - /* Format each argument and put the result in a smartlist */ - argv_list = smartlist_new(); - for (i=0; argv[i] != NULL; i++) { - smartlist_add(argv_list, (void *)format_win_cmdline_argument(argv[i])); - } - - /* Join the arguments with whitespace */ - joined_argv = smartlist_join_strings(argv_list, " ", 0, NULL); - - /* Free the newly allocated arguments, and the smartlist */ - SMARTLIST_FOREACH(argv_list, char *, arg, - { - tor_free(arg); - }); - smartlist_free(argv_list); - - return joined_argv; -} - -#ifndef _WIN32 -/** Format <b>child_state</b> and <b>saved_errno</b> as a hex string placed in - * <b>hex_errno</b>. Called between fork and _exit, so must be signal-handler - * safe. - * - * <b>hex_errno</b> must have at least HEX_ERRNO_SIZE+1 bytes available. - * - * The format of <b>hex_errno</b> is: "CHILD_STATE/ERRNO\n", left-padded - * with spaces. CHILD_STATE indicates where - * in the process of starting the child process did the failure occur (see - * CHILD_STATE_* macros for definition), and SAVED_ERRNO is the value of - * errno when the failure occurred. - * - * On success return the number of characters added to hex_errno, not counting - * the terminating NUL; return -1 on error. - */ -STATIC int -format_helper_exit_status(unsigned char child_state, int saved_errno, - char *hex_errno) -{ - unsigned int unsigned_errno; - int written, left; - char *cur; - size_t i; - int res = -1; - - /* Fill hex_errno with spaces, and a trailing newline (memset may - not be signal handler safe, so we can't use it) */ - for (i = 0; i < (HEX_ERRNO_SIZE - 1); i++) - hex_errno[i] = ' '; - hex_errno[HEX_ERRNO_SIZE - 1] = '\n'; - - /* Convert errno to be unsigned for hex conversion */ - if (saved_errno < 0) { - // Avoid overflow on the cast to unsigned int when result is INT_MIN - // by adding 1 to the signed int negative value, - // then, after it has been negated and cast to unsigned, - // adding the original 1 back (the double-addition is intentional). - // Otherwise, the cast to signed could cause a temporary int - // to equal INT_MAX + 1, which is undefined. - unsigned_errno = ((unsigned int) -(saved_errno + 1)) + 1; - } else { - unsigned_errno = (unsigned int) saved_errno; - } - - /* - * Count how many chars of space we have left, and keep a pointer into the - * current point in the buffer. - */ - left = HEX_ERRNO_SIZE+1; - cur = hex_errno; - - /* Emit child_state */ - written = format_hex_number_sigsafe(child_state, cur, left); - - if (written <= 0) - goto err; - - /* Adjust left and cur */ - left -= written; - cur += written; - if (left <= 0) - goto err; - - /* Now the '/' */ - *cur = '/'; - - /* Adjust left and cur */ - ++cur; - --left; - if (left <= 0) - goto err; - - /* Need minus? */ - if (saved_errno < 0) { - *cur = '-'; - ++cur; - --left; - if (left <= 0) - goto err; - } - - /* Emit unsigned_errno */ - written = format_hex_number_sigsafe(unsigned_errno, cur, left); - - if (written <= 0) - goto err; - - /* Adjust left and cur */ - left -= written; - cur += written; - - /* Check that we have enough space left for a newline and a NUL */ - if (left <= 1) - goto err; - - /* Emit the newline and NUL */ - *cur++ = '\n'; - *cur++ = '\0'; - - res = (int)(cur - hex_errno - 1); - - goto done; - - err: - /* - * In error exit, just write a '\0' in the first char so whatever called - * this at least won't fall off the end. - */ - *hex_errno = '\0'; - - done: - return res; -} -#endif /* !defined(_WIN32) */ - -/* Maximum number of file descriptors, if we cannot get it via sysconf() */ -#define DEFAULT_MAX_FD 256 - -/** Terminate the process of <b>process_handle</b>, if that process has not - * already exited. - * - * Return 0 if we succeeded in terminating the process (or if the process - * already exited), and -1 if we tried to kill the process but failed. - * - * Based on code originally borrowed from Python's os.kill. */ -int -tor_terminate_process(process_handle_t *process_handle) -{ -#ifdef _WIN32 - if (tor_get_exit_code(process_handle, 0, NULL) == PROCESS_EXIT_RUNNING) { - HANDLE handle = process_handle->pid.hProcess; - - if (!TerminateProcess(handle, 0)) - return -1; - else - return 0; - } -#else /* !(defined(_WIN32)) */ - if (process_handle->waitpid_cb) { - /* We haven't got a waitpid yet, so we can just kill off the process. */ - return kill(process_handle->pid, SIGTERM); - } -#endif /* defined(_WIN32) */ - - return 0; /* We didn't need to kill the process, so report success */ -} - -/** Return the Process ID of <b>process_handle</b>. */ -int -tor_process_get_pid(process_handle_t *process_handle) -{ -#ifdef _WIN32 - return (int) process_handle->pid.dwProcessId; -#else - return (int) process_handle->pid; -#endif -} - -#ifdef _WIN32 -HANDLE -tor_process_get_stdout_pipe(process_handle_t *process_handle) -{ - return process_handle->stdout_pipe; -} -#else /* !(defined(_WIN32)) */ -/* DOCDOC tor_process_get_stdout_pipe */ -int -tor_process_get_stdout_pipe(process_handle_t *process_handle) -{ - return process_handle->stdout_pipe; -} -#endif /* defined(_WIN32) */ - -/* DOCDOC process_handle_new */ -static process_handle_t * -process_handle_new(void) -{ - process_handle_t *out = tor_malloc_zero(sizeof(process_handle_t)); - -#ifdef _WIN32 - out->stdin_pipe = INVALID_HANDLE_VALUE; - out->stdout_pipe = INVALID_HANDLE_VALUE; - out->stderr_pipe = INVALID_HANDLE_VALUE; -#else - out->stdin_pipe = -1; - out->stdout_pipe = -1; - out->stderr_pipe = -1; -#endif /* defined(_WIN32) */ - - return out; -} - -#ifndef _WIN32 -/** Invoked when a process that we've launched via tor_spawn_background() has - * been found to have terminated. - */ -static void -process_handle_waitpid_cb(int status, void *arg) -{ - process_handle_t *process_handle = arg; - - process_handle->waitpid_exit_status = status; - clear_waitpid_callback(process_handle->waitpid_cb); - if (process_handle->status == PROCESS_STATUS_RUNNING) - process_handle->status = PROCESS_STATUS_NOTRUNNING; - process_handle->waitpid_cb = 0; -} -#endif /* !defined(_WIN32) */ - -/** - * @name child-process states - * - * Each of these values represents a possible state that a child process can - * be in. They're used to determine what to say when telling the parent how - * far along we were before failure. - * - * @{ - */ -#define CHILD_STATE_INIT 0 -#define CHILD_STATE_PIPE 1 -#define CHILD_STATE_MAXFD 2 -#define CHILD_STATE_FORK 3 -#define CHILD_STATE_DUPOUT 4 -#define CHILD_STATE_DUPERR 5 -#define CHILD_STATE_DUPIN 6 -#define CHILD_STATE_CLOSEFD 7 -#define CHILD_STATE_EXEC 8 -#define CHILD_STATE_FAILEXEC 9 -/** @} */ -/** - * Boolean. If true, then Tor may call execve or CreateProcess via - * tor_spawn_background. - **/ -static int may_spawn_background_process = 1; -/** - * Turn off may_spawn_background_process, so that all future calls to - * tor_spawn_background are guaranteed to fail. - **/ -void -tor_disable_spawning_background_processes(void) -{ - may_spawn_background_process = 0; -} -/** Start a program in the background. If <b>filename</b> contains a '/', then - * it will be treated as an absolute or relative path. Otherwise, on - * non-Windows systems, the system path will be searched for <b>filename</b>. - * On Windows, only the current directory will be searched. Here, to search the - * system path (as well as the application directory, current working - * directory, and system directories), set filename to NULL. - * - * The strings in <b>argv</b> will be passed as the command line arguments of - * the child program (following convention, argv[0] should normally be the - * filename of the executable, and this must be the case if <b>filename</b> is - * NULL). The last element of argv must be NULL. A handle to the child process - * will be returned in process_handle (which must be non-NULL). Read - * process_handle.status to find out if the process was successfully launched. - * For convenience, process_handle.status is returned by this function. - * - * Some parts of this code are based on the POSIX subprocess module from - * Python, and example code from - * http://msdn.microsoft.com/en-us/library/ms682499%28v=vs.85%29.aspx. - */ -int -tor_spawn_background(const char *const filename, const char **argv, - process_environment_t *env, - process_handle_t **process_handle_out) -{ - if (BUG(may_spawn_background_process == 0)) { - /* We should never reach this point if we're forbidden to spawn - * processes. Instead we should have caught the attempt earlier. */ - return PROCESS_STATUS_ERROR; - } - -#ifdef _WIN32 - HANDLE stdout_pipe_read = NULL; - HANDLE stdout_pipe_write = NULL; - HANDLE stderr_pipe_read = NULL; - HANDLE stderr_pipe_write = NULL; - HANDLE stdin_pipe_read = NULL; - HANDLE stdin_pipe_write = NULL; - process_handle_t *process_handle; - int status; - - STARTUPINFOA siStartInfo; - BOOL retval = FALSE; - - SECURITY_ATTRIBUTES saAttr; - char *joined_argv; - - saAttr.nLength = sizeof(SECURITY_ATTRIBUTES); - saAttr.bInheritHandle = TRUE; - /* TODO: should we set explicit security attributes? (#2046, comment 5) */ - saAttr.lpSecurityDescriptor = NULL; - - /* Assume failure to start process */ - status = PROCESS_STATUS_ERROR; - - /* Set up pipe for stdout */ - if (!CreatePipe(&stdout_pipe_read, &stdout_pipe_write, &saAttr, 0)) { - log_warn(LD_GENERAL, - "Failed to create pipe for stdout communication with child process: %s", - format_win32_error(GetLastError())); - return status; - } - if (!SetHandleInformation(stdout_pipe_read, HANDLE_FLAG_INHERIT, 0)) { - log_warn(LD_GENERAL, - "Failed to configure pipe for stdout communication with child " - "process: %s", format_win32_error(GetLastError())); - return status; - } - - /* Set up pipe for stderr */ - if (!CreatePipe(&stderr_pipe_read, &stderr_pipe_write, &saAttr, 0)) { - log_warn(LD_GENERAL, - "Failed to create pipe for stderr communication with child process: %s", - format_win32_error(GetLastError())); - return status; - } - if (!SetHandleInformation(stderr_pipe_read, HANDLE_FLAG_INHERIT, 0)) { - log_warn(LD_GENERAL, - "Failed to configure pipe for stderr communication with child " - "process: %s", format_win32_error(GetLastError())); - return status; - } - - /* Set up pipe for stdin */ - if (!CreatePipe(&stdin_pipe_read, &stdin_pipe_write, &saAttr, 0)) { - log_warn(LD_GENERAL, - "Failed to create pipe for stdin communication with child process: %s", - format_win32_error(GetLastError())); - return status; - } - if (!SetHandleInformation(stdin_pipe_write, HANDLE_FLAG_INHERIT, 0)) { - log_warn(LD_GENERAL, - "Failed to configure pipe for stdin communication with child " - "process: %s", format_win32_error(GetLastError())); - return status; - } - - /* Create the child process */ - - /* Windows expects argv to be a whitespace delimited string, so join argv up - */ - joined_argv = tor_join_win_cmdline(argv); - - process_handle = process_handle_new(); - process_handle->status = status; - - ZeroMemory(&(process_handle->pid), sizeof(PROCESS_INFORMATION)); - ZeroMemory(&siStartInfo, sizeof(STARTUPINFO)); - siStartInfo.cb = sizeof(STARTUPINFO); - siStartInfo.hStdError = stderr_pipe_write; - siStartInfo.hStdOutput = stdout_pipe_write; - siStartInfo.hStdInput = stdin_pipe_read; - siStartInfo.dwFlags |= STARTF_USESTDHANDLES; - - /* Create the child process */ - - retval = CreateProcessA(filename, // module name - joined_argv, // command line - /* TODO: should we set explicit security attributes? (#2046, comment 5) */ - NULL, // process security attributes - NULL, // primary thread security attributes - TRUE, // handles are inherited - /*(TODO: set CREATE_NEW CONSOLE/PROCESS_GROUP to make GetExitCodeProcess() - * work?) */ - CREATE_NO_WINDOW, // creation flags - (env==NULL) ? NULL : env->windows_environment_block, - NULL, // use parent's current directory - &siStartInfo, // STARTUPINFO pointer - &(process_handle->pid)); // receives PROCESS_INFORMATION - - tor_free(joined_argv); - - if (!retval) { - log_warn(LD_GENERAL, - "Failed to create child process %s: %s", filename?filename:argv[0], - format_win32_error(GetLastError())); - tor_free(process_handle); - } else { - /* TODO: Close hProcess and hThread in process_handle->pid? */ - process_handle->stdout_pipe = stdout_pipe_read; - process_handle->stderr_pipe = stderr_pipe_read; - process_handle->stdin_pipe = stdin_pipe_write; - status = process_handle->status = PROCESS_STATUS_RUNNING; - } - - /* TODO: Close pipes on exit */ - *process_handle_out = process_handle; - return status; -#else /* !(defined(_WIN32)) */ - pid_t pid; - int stdout_pipe[2]; - int stderr_pipe[2]; - int stdin_pipe[2]; - int fd, retval; - process_handle_t *process_handle; - int status; - - const char *error_message = SPAWN_ERROR_MESSAGE; - size_t error_message_length; - - /* Represents where in the process of spawning the program is; - this is used for printing out the error message */ - unsigned char child_state = CHILD_STATE_INIT; - - char hex_errno[HEX_ERRNO_SIZE + 2]; /* + 1 should be sufficient actually */ - - static int max_fd = -1; - - status = PROCESS_STATUS_ERROR; - - /* We do the strlen here because strlen() is not signal handler safe, - and we are not allowed to use unsafe functions between fork and exec */ - error_message_length = strlen(error_message); - - // child_state = CHILD_STATE_PIPE; - - /* Set up pipe for redirecting stdout, stderr, and stdin of child */ - retval = pipe(stdout_pipe); - if (-1 == retval) { - log_warn(LD_GENERAL, - "Failed to set up pipe for stdout communication with child process: %s", - strerror(errno)); - return status; - } - - retval = pipe(stderr_pipe); - if (-1 == retval) { - log_warn(LD_GENERAL, - "Failed to set up pipe for stderr communication with child process: %s", - strerror(errno)); - - close(stdout_pipe[0]); - close(stdout_pipe[1]); - - return status; - } - - retval = pipe(stdin_pipe); - if (-1 == retval) { - log_warn(LD_GENERAL, - "Failed to set up pipe for stdin communication with child process: %s", - strerror(errno)); - - close(stdout_pipe[0]); - close(stdout_pipe[1]); - close(stderr_pipe[0]); - close(stderr_pipe[1]); - - return status; - } - - // child_state = CHILD_STATE_MAXFD; - -#ifdef _SC_OPEN_MAX - if (-1 == max_fd) { - max_fd = (int) sysconf(_SC_OPEN_MAX); - if (max_fd == -1) { - max_fd = DEFAULT_MAX_FD; - log_warn(LD_GENERAL, - "Cannot find maximum file descriptor, assuming %d", max_fd); - } - } -#else /* !(defined(_SC_OPEN_MAX)) */ - max_fd = DEFAULT_MAX_FD; -#endif /* defined(_SC_OPEN_MAX) */ - - // child_state = CHILD_STATE_FORK; - - pid = fork(); - if (0 == pid) { - /* In child */ - -#if defined(HAVE_SYS_PRCTL_H) && defined(__linux__) - /* Attempt to have the kernel issue a SIGTERM if the parent - * goes away. Certain attributes of the binary being execve()ed - * will clear this during the execve() call, but it's better - * than nothing. - */ - prctl(PR_SET_PDEATHSIG, SIGTERM); -#endif /* defined(HAVE_SYS_PRCTL_H) && defined(__linux__) */ - - child_state = CHILD_STATE_DUPOUT; - - /* Link child stdout to the write end of the pipe */ - retval = dup2(stdout_pipe[1], STDOUT_FILENO); - if (-1 == retval) - goto error; - - child_state = CHILD_STATE_DUPERR; - - /* Link child stderr to the write end of the pipe */ - retval = dup2(stderr_pipe[1], STDERR_FILENO); - if (-1 == retval) - goto error; - - child_state = CHILD_STATE_DUPIN; - - /* Link child stdin to the read end of the pipe */ - retval = dup2(stdin_pipe[0], STDIN_FILENO); - if (-1 == retval) - goto error; - - // child_state = CHILD_STATE_CLOSEFD; - - close(stderr_pipe[0]); - close(stderr_pipe[1]); - close(stdout_pipe[0]); - close(stdout_pipe[1]); - close(stdin_pipe[0]); - close(stdin_pipe[1]); - - /* Close all other fds, including the read end of the pipe */ - /* XXX: We should now be doing enough FD_CLOEXEC setting to make - * this needless. */ - for (fd = STDERR_FILENO + 1; fd < max_fd; fd++) { - close(fd); - } - - // child_state = CHILD_STATE_EXEC; - - /* Call the requested program. We need the cast because - execvp doesn't define argv as const, even though it - does not modify the arguments */ - if (env) - execve(filename, (char *const *) argv, env->unixoid_environment_block); - else { - static char *new_env[] = { NULL }; - execve(filename, (char *const *) argv, new_env); - } - - /* If we got here, the exec or open(/dev/null) failed */ - - child_state = CHILD_STATE_FAILEXEC; - - error: - { - /* XXX: are we leaking fds from the pipe? */ - int n, err=0; - ssize_t nbytes; - - n = format_helper_exit_status(child_state, errno, hex_errno); - - if (n >= 0) { - /* Write the error message. GCC requires that we check the return - value, but there is nothing we can do if it fails */ - /* TODO: Don't use STDOUT, use a pipe set up just for this purpose */ - nbytes = write(STDOUT_FILENO, error_message, error_message_length); - err = (nbytes < 0); - nbytes = write(STDOUT_FILENO, hex_errno, n); - err += (nbytes < 0); - } - - _exit(err?254:255); // exit ok: in child. - } - - /* Never reached, but avoids compiler warning */ - return status; // LCOV_EXCL_LINE - } - - /* In parent */ - - if (-1 == pid) { - log_warn(LD_GENERAL, "Failed to fork child process: %s", strerror(errno)); - close(stdin_pipe[0]); - close(stdin_pipe[1]); - close(stdout_pipe[0]); - close(stdout_pipe[1]); - close(stderr_pipe[0]); - close(stderr_pipe[1]); - return status; - } - - process_handle = process_handle_new(); - process_handle->status = status; - process_handle->pid = pid; - - /* TODO: If the child process forked but failed to exec, waitpid it */ - - /* Return read end of the pipes to caller, and close write end */ - process_handle->stdout_pipe = stdout_pipe[0]; - retval = close(stdout_pipe[1]); - - if (-1 == retval) { - log_warn(LD_GENERAL, - "Failed to close write end of stdout pipe in parent process: %s", - strerror(errno)); - } - - process_handle->waitpid_cb = set_waitpid_callback(pid, - process_handle_waitpid_cb, - process_handle); - - process_handle->stderr_pipe = stderr_pipe[0]; - retval = close(stderr_pipe[1]); - - if (-1 == retval) { - log_warn(LD_GENERAL, - "Failed to close write end of stderr pipe in parent process: %s", - strerror(errno)); - } - - /* Return write end of the stdin pipe to caller, and close the read end */ - process_handle->stdin_pipe = stdin_pipe[1]; - retval = close(stdin_pipe[0]); - - if (-1 == retval) { - log_warn(LD_GENERAL, - "Failed to close read end of stdin pipe in parent process: %s", - strerror(errno)); - } - - status = process_handle->status = PROCESS_STATUS_RUNNING; - /* Set stdin/stdout/stderr pipes to be non-blocking */ - if (fcntl(process_handle->stdout_pipe, F_SETFL, O_NONBLOCK) < 0 || - fcntl(process_handle->stderr_pipe, F_SETFL, O_NONBLOCK) < 0 || - fcntl(process_handle->stdin_pipe, F_SETFL, O_NONBLOCK) < 0) { - log_warn(LD_GENERAL, "Failed to set stderror/stdout/stdin pipes " - "nonblocking in parent process: %s", strerror(errno)); - } - - *process_handle_out = process_handle; - return status; -#endif /* defined(_WIN32) */ -} - -/** Destroy all resources allocated by the process handle in - * <b>process_handle</b>. - * If <b>also_terminate_process</b> is true, also terminate the - * process of the process handle. */ -MOCK_IMPL(void, -tor_process_handle_destroy,(process_handle_t *process_handle, - int also_terminate_process)) -{ - if (!process_handle) - return; - - if (also_terminate_process) { - if (tor_terminate_process(process_handle) < 0) { - const char *errstr = -#ifdef _WIN32 - format_win32_error(GetLastError()); -#else - strerror(errno); -#endif - log_notice(LD_GENERAL, "Failed to terminate process with " - "PID '%d' ('%s').", tor_process_get_pid(process_handle), - errstr); - } else { - log_info(LD_GENERAL, "Terminated process with PID '%d'.", - tor_process_get_pid(process_handle)); - } - } - - process_handle->status = PROCESS_STATUS_NOTRUNNING; - -#ifdef _WIN32 - if (process_handle->stdout_pipe) - CloseHandle(process_handle->stdout_pipe); - - if (process_handle->stderr_pipe) - CloseHandle(process_handle->stderr_pipe); - - if (process_handle->stdin_pipe) - CloseHandle(process_handle->stdin_pipe); -#else /* !(defined(_WIN32)) */ - close(process_handle->stdout_pipe); - close(process_handle->stderr_pipe); - close(process_handle->stdin_pipe); - - clear_waitpid_callback(process_handle->waitpid_cb); -#endif /* defined(_WIN32) */ - - memset(process_handle, 0x0f, sizeof(process_handle_t)); - tor_free(process_handle); -} - -/** Get the exit code of a process specified by <b>process_handle</b> and store - * it in <b>exit_code</b>, if set to a non-NULL value. If <b>block</b> is set - * to true, the call will block until the process has exited. Otherwise if - * the process is still running, the function will return - * PROCESS_EXIT_RUNNING, and exit_code will be left unchanged. Returns - * PROCESS_EXIT_EXITED if the process did exit. If there is a failure, - * PROCESS_EXIT_ERROR will be returned and the contents of exit_code (if - * non-NULL) will be undefined. N.B. Under *nix operating systems, this will - * probably not work in Tor, because waitpid() is called in main.c to reap any - * terminated child processes.*/ -int -tor_get_exit_code(process_handle_t *process_handle, - int block, int *exit_code) -{ -#ifdef _WIN32 - DWORD retval; - BOOL success; - - if (block) { - /* Wait for the process to exit */ - retval = WaitForSingleObject(process_handle->pid.hProcess, INFINITE); - if (retval != WAIT_OBJECT_0) { - log_warn(LD_GENERAL, "WaitForSingleObject() failed (%d): %s", - (int)retval, format_win32_error(GetLastError())); - return PROCESS_EXIT_ERROR; - } - } else { - retval = WaitForSingleObject(process_handle->pid.hProcess, 0); - if (WAIT_TIMEOUT == retval) { - /* Process has not exited */ - return PROCESS_EXIT_RUNNING; - } else if (retval != WAIT_OBJECT_0) { - log_warn(LD_GENERAL, "WaitForSingleObject() failed (%d): %s", - (int)retval, format_win32_error(GetLastError())); - return PROCESS_EXIT_ERROR; - } - } - - if (exit_code != NULL) { - success = GetExitCodeProcess(process_handle->pid.hProcess, - (PDWORD)exit_code); - if (!success) { - log_warn(LD_GENERAL, "GetExitCodeProcess() failed: %s", - format_win32_error(GetLastError())); - return PROCESS_EXIT_ERROR; - } - } -#else /* !(defined(_WIN32)) */ - int stat_loc; - int retval; - - if (process_handle->waitpid_cb) { - /* We haven't processed a SIGCHLD yet. */ - retval = waitpid(process_handle->pid, &stat_loc, block?0:WNOHANG); - if (retval == process_handle->pid) { - clear_waitpid_callback(process_handle->waitpid_cb); - process_handle->waitpid_cb = NULL; - process_handle->waitpid_exit_status = stat_loc; - } - } else { - /* We already got a SIGCHLD for this process, and handled it. */ - retval = process_handle->pid; - stat_loc = process_handle->waitpid_exit_status; - } - - if (!block && 0 == retval) { - /* Process has not exited */ - return PROCESS_EXIT_RUNNING; - } else if (retval != process_handle->pid) { - log_warn(LD_GENERAL, "waitpid() failed for PID %d: %s", - (int)process_handle->pid, strerror(errno)); - return PROCESS_EXIT_ERROR; - } - - if (!WIFEXITED(stat_loc)) { - log_warn(LD_GENERAL, "Process %d did not exit normally", - (int)process_handle->pid); - return PROCESS_EXIT_ERROR; - } - - if (exit_code != NULL) - *exit_code = WEXITSTATUS(stat_loc); -#endif /* defined(_WIN32) */ - - return PROCESS_EXIT_EXITED; -} - -#ifdef _WIN32 -/** Read from a handle <b>h</b> into <b>buf</b>, up to <b>count</b> bytes. If - * <b>hProcess</b> is NULL, the function will return immediately if there is - * nothing more to read. Otherwise <b>hProcess</b> should be set to the handle - * to the process owning the <b>h</b>. In this case, the function will exit - * only once the process has exited, or <b>count</b> bytes are read. Returns - * the number of bytes read, or -1 on error. */ -ssize_t -tor_read_all_handle(HANDLE h, char *buf, size_t count, - const process_handle_t *process) -{ - size_t numread = 0; - BOOL retval; - DWORD byte_count; - BOOL process_exited = FALSE; - - if (count > SIZE_T_CEILING || count > SSIZE_MAX) - return -1; - - while (numread < count) { - /* Check if there is anything to read */ - retval = PeekNamedPipe(h, NULL, 0, NULL, &byte_count, NULL); - if (!retval) { - log_warn(LD_GENERAL, - "Failed to peek from handle: %s", - format_win32_error(GetLastError())); - return -1; - } else if (0 == byte_count) { - /* Nothing available: process exited or it is busy */ - - /* Exit if we don't know whether the process is running */ - if (NULL == process) - break; - - /* The process exited and there's nothing left to read from it */ - if (process_exited) - break; - - /* If process is not running, check for output one more time in case - it wrote something after the peek was performed. Otherwise keep on - waiting for output */ - tor_assert(process != NULL); - byte_count = WaitForSingleObject(process->pid.hProcess, 0); - if (WAIT_TIMEOUT != byte_count) - process_exited = TRUE; - - continue; - } - - /* There is data to read; read it */ - retval = ReadFile(h, buf+numread, count-numread, &byte_count, NULL); - tor_assert(byte_count + numread <= count); - if (!retval) { - log_warn(LD_GENERAL, "Failed to read from handle: %s", - format_win32_error(GetLastError())); - return -1; - } else if (0 == byte_count) { - /* End of file */ - break; - } - numread += byte_count; - } - return (ssize_t)numread; -} -#else /* !(defined(_WIN32)) */ -/** Read from a handle <b>fd</b> into <b>buf</b>, up to <b>count</b> bytes. If - * <b>process</b> is NULL, the function will return immediately if there is - * nothing more to read. Otherwise data will be read until end of file, or - * <b>count</b> bytes are read. Returns the number of bytes read, or -1 on - * error. Sets <b>eof</b> to true if <b>eof</b> is not NULL and the end of the - * file has been reached. */ -ssize_t -tor_read_all_handle(int fd, char *buf, size_t count, - const process_handle_t *process, - int *eof) -{ - size_t numread = 0; - ssize_t result; - - if (eof) - *eof = 0; - - if (count > SIZE_T_CEILING || count > SSIZE_MAX) - return -1; - - while (numread < count) { - result = read(fd, buf+numread, count-numread); - - if (result == 0) { - log_debug(LD_GENERAL, "read() reached end of file"); - if (eof) - *eof = 1; - break; - } else if (result < 0 && errno == EAGAIN) { - if (process) - continue; - else - break; - } else if (result < 0) { - log_warn(LD_GENERAL, "read() failed: %s", strerror(errno)); - return -1; - } - - numread += result; - } - - log_debug(LD_GENERAL, "read() read %d bytes from handle", (int)numread); - return (ssize_t)numread; -} -#endif /* defined(_WIN32) */ - -/** Read from stdout of a process until the process exits. */ -ssize_t -tor_read_all_from_process_stdout(const process_handle_t *process_handle, - char *buf, size_t count) -{ -#ifdef _WIN32 - return tor_read_all_handle(process_handle->stdout_pipe, buf, count, - process_handle); -#else - return tor_read_all_handle(process_handle->stdout_pipe, buf, count, - process_handle, NULL); -#endif /* defined(_WIN32) */ -} - -/** Read from stdout of a process until the process exits. */ -ssize_t -tor_read_all_from_process_stderr(const process_handle_t *process_handle, - char *buf, size_t count) -{ -#ifdef _WIN32 - return tor_read_all_handle(process_handle->stderr_pipe, buf, count, - process_handle); -#else - return tor_read_all_handle(process_handle->stderr_pipe, buf, count, - process_handle, NULL); -#endif /* defined(_WIN32) */ -} - -/** Return a string corresponding to <b>stream_status</b>. */ -const char * -stream_status_to_string(enum stream_status stream_status) -{ - switch (stream_status) { - case IO_STREAM_OKAY: - return "okay"; - case IO_STREAM_EAGAIN: - return "temporarily unavailable"; - case IO_STREAM_TERM: - return "terminated"; - case IO_STREAM_CLOSED: - return "closed"; - default: - tor_fragile_assert(); - return "unknown"; - } -} - -/** Split buf into lines, and add to smartlist. The buffer <b>buf</b> will be - * modified. The resulting smartlist will consist of pointers to buf, so there - * is no need to free the contents of sl. <b>buf</b> must be a NUL-terminated - * string. <b>len</b> should be set to the length of the buffer excluding the - * NUL. Non-printable characters (including NUL) will be replaced with "." */ -int -tor_split_lines(smartlist_t *sl, char *buf, int len) -{ - /* Index in buf of the start of the current line */ - int start = 0; - /* Index in buf of the current character being processed */ - int cur = 0; - /* Are we currently in a line */ - char in_line = 0; - - /* Loop over string */ - while (cur < len) { - /* Loop until end of line or end of string */ - for (; cur < len; cur++) { - if (in_line) { - if ('\r' == buf[cur] || '\n' == buf[cur]) { - /* End of line */ - buf[cur] = '\0'; - /* Point cur to the next line */ - cur++; - /* Line starts at start and ends with a nul */ - break; - } else { - if (!TOR_ISPRINT(buf[cur])) - buf[cur] = '.'; - } - } else { - if ('\r' == buf[cur] || '\n' == buf[cur]) { - /* Skip leading vertical space */ - ; - } else { - in_line = 1; - start = cur; - if (!TOR_ISPRINT(buf[cur])) - buf[cur] = '.'; - } - } - } - /* We are at the end of the line or end of string. If in_line is true there - * is a line which starts at buf+start and ends at a NUL. cur points to - * the character after the NUL. */ - if (in_line) - smartlist_add(sl, (void *)(buf+start)); - in_line = 0; - } - return smartlist_len(sl); -} - -#ifdef _WIN32 - -/** Return a smartlist containing lines outputted from - * <b>handle</b>. Return NULL on error, and set - * <b>stream_status_out</b> appropriately. */ -MOCK_IMPL(smartlist_t *, -tor_get_lines_from_handle, (HANDLE *handle, - enum stream_status *stream_status_out)) -{ - int pos; - char stdout_buf[600] = {0}; - smartlist_t *lines = NULL; - - tor_assert(stream_status_out); - - *stream_status_out = IO_STREAM_TERM; - - pos = tor_read_all_handle(handle, stdout_buf, sizeof(stdout_buf) - 1, NULL); - if (pos < 0) { - *stream_status_out = IO_STREAM_TERM; - return NULL; - } - if (pos == 0) { - *stream_status_out = IO_STREAM_EAGAIN; - return NULL; - } - - /* End with a null even if there isn't a \r\n at the end */ - /* TODO: What if this is a partial line? */ - stdout_buf[pos] = '\0'; - - /* Split up the buffer */ - lines = smartlist_new(); - tor_split_lines(lines, stdout_buf, pos); - - /* Currently 'lines' is populated with strings residing on the - stack. Replace them with their exact copies on the heap: */ - SMARTLIST_FOREACH(lines, char *, line, - SMARTLIST_REPLACE_CURRENT(lines, line, tor_strdup(line))); - - *stream_status_out = IO_STREAM_OKAY; - - return lines; -} - -#else /* !(defined(_WIN32)) */ - -/** Return a smartlist containing lines outputted from - * <b>fd</b>. Return NULL on error, and set - * <b>stream_status_out</b> appropriately. */ -MOCK_IMPL(smartlist_t *, -tor_get_lines_from_handle, (int fd, enum stream_status *stream_status_out)) -{ - enum stream_status stream_status; - char stdout_buf[400]; - smartlist_t *lines = NULL; - - while (1) { - memset(stdout_buf, 0, sizeof(stdout_buf)); - - stream_status = get_string_from_pipe(fd, - stdout_buf, sizeof(stdout_buf) - 1); - if (stream_status != IO_STREAM_OKAY) - goto done; - - if (!lines) lines = smartlist_new(); - smartlist_split_string(lines, stdout_buf, "\n", 0, 0); - } - - done: - *stream_status_out = stream_status; - return lines; -} - -#endif /* defined(_WIN32) */ - -/** Reads from <b>fd</b> and stores input in <b>buf_out</b> making - * sure it's below <b>count</b> bytes. - * If the string has a trailing newline, we strip it off. - * - * This function is specifically created to handle input from managed - * proxies, according to the pluggable transports spec. Make sure it - * fits your needs before using it. - * - * Returns: - * IO_STREAM_CLOSED: If the stream is closed. - * IO_STREAM_EAGAIN: If there is nothing to read and we should check back - * later. - * IO_STREAM_TERM: If something is wrong with the stream. - * IO_STREAM_OKAY: If everything went okay and we got a string - * in <b>buf_out</b>. */ -enum stream_status -get_string_from_pipe(int fd, char *buf_out, size_t count) -{ - ssize_t ret; - - tor_assert(count <= INT_MAX); - - ret = read(fd, buf_out, count); - - if (ret == 0) - return IO_STREAM_CLOSED; - else if (ret < 0 && errno == EAGAIN) - return IO_STREAM_EAGAIN; - else if (ret < 0) - return IO_STREAM_TERM; - - if (buf_out[ret - 1] == '\n') { - /* Remove the trailing newline */ - buf_out[ret - 1] = '\0'; - } else - buf_out[ret] = '\0'; - - return IO_STREAM_OKAY; -} diff --git a/src/lib/process/subprocess.h b/src/lib/process/subprocess.h deleted file mode 100644 index 5b4318ef2b..0000000000 --- a/src/lib/process/subprocess.h +++ /dev/null @@ -1,134 +0,0 @@ -/* Copyright (c) 2003-2004, Roger Dingledine - * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. - * Copyright (c) 2007-2018, The Tor Project, Inc. */ -/* See LICENSE for licensing information */ - -/** - * \file subprocess.h - * \brief Header for subprocess.c - **/ - -#ifndef TOR_SUBPROCESS_H -#define TOR_SUBPROCESS_H - -#include "lib/cc/torint.h" -#include "lib/testsupport/testsupport.h" -#include <stddef.h> -#ifdef _WIN32 -#include <windows.h> -#endif - -struct smartlist_t; - -void tor_disable_spawning_background_processes(void); - -typedef struct process_handle_t process_handle_t; -struct process_environment_t; -int tor_spawn_background(const char *const filename, const char **argv, - struct process_environment_t *env, - process_handle_t **process_handle_out); - -#define SPAWN_ERROR_MESSAGE "ERR: Failed to spawn background process - code " - -/** Status of an I/O stream. */ -enum stream_status { - IO_STREAM_OKAY, - IO_STREAM_EAGAIN, - IO_STREAM_TERM, - IO_STREAM_CLOSED -}; - -const char *stream_status_to_string(enum stream_status stream_status); - -enum stream_status get_string_from_pipe(int fd, char *buf, size_t count); - -/* Values of process_handle_t.status. */ -#define PROCESS_STATUS_NOTRUNNING 0 -#define PROCESS_STATUS_RUNNING 1 -#define PROCESS_STATUS_ERROR -1 - -#ifdef SUBPROCESS_PRIVATE -struct waitpid_callback_t; - -/** Structure to represent the state of a process with which Tor is - * communicating. The contents of this structure are private to util.c */ -struct process_handle_t { - /** One of the PROCESS_STATUS_* values */ - int status; -#ifdef _WIN32 - HANDLE stdin_pipe; - HANDLE stdout_pipe; - HANDLE stderr_pipe; - PROCESS_INFORMATION pid; -#else /* !(defined(_WIN32)) */ - int stdin_pipe; - int stdout_pipe; - int stderr_pipe; - pid_t pid; - /** If the process has not given us a SIGCHLD yet, this has the - * waitpid_callback_t that gets invoked once it has. Otherwise this - * contains NULL. */ - struct waitpid_callback_t *waitpid_cb; - /** The exit status reported by waitpid. */ - int waitpid_exit_status; -#endif /* defined(_WIN32) */ -}; -#endif /* defined(SUBPROCESS_PRIVATE) */ - -/* Return values of tor_get_exit_code() */ -#define PROCESS_EXIT_RUNNING 1 -#define PROCESS_EXIT_EXITED 0 -#define PROCESS_EXIT_ERROR -1 -int tor_get_exit_code(process_handle_t *process_handle, - int block, int *exit_code); -int tor_split_lines(struct smartlist_t *sl, char *buf, int len); -#ifdef _WIN32 -ssize_t tor_read_all_handle(HANDLE h, char *buf, size_t count, - const process_handle_t *process); -#else -ssize_t tor_read_all_handle(int fd, char *buf, size_t count, - const process_handle_t *process, - int *eof); -#endif /* defined(_WIN32) */ -ssize_t tor_read_all_from_process_stdout( - const process_handle_t *process_handle, char *buf, size_t count); -ssize_t tor_read_all_from_process_stderr( - const process_handle_t *process_handle, char *buf, size_t count); -char *tor_join_win_cmdline(const char *argv[]); - -int tor_process_get_pid(process_handle_t *process_handle); -#ifdef _WIN32 -HANDLE tor_process_get_stdout_pipe(process_handle_t *process_handle); -#else -int tor_process_get_stdout_pipe(process_handle_t *process_handle); -#endif - -#ifdef _WIN32 -MOCK_DECL(struct smartlist_t *, tor_get_lines_from_handle,(HANDLE *handle, - enum stream_status *stream_status)); -#else -MOCK_DECL(struct smartlist_t *, tor_get_lines_from_handle,(int fd, - enum stream_status *stream_status)); -#endif /* defined(_WIN32) */ - -int tor_terminate_process(process_handle_t *process_handle); - -MOCK_DECL(void, tor_process_handle_destroy,(process_handle_t *process_handle, - int also_terminate_process)); - -#ifdef SUBPROCESS_PRIVATE -/* Prototypes for private functions only used by util.c (and unit tests) */ - -#ifndef _WIN32 -STATIC int format_helper_exit_status(unsigned char child_state, - int saved_errno, char *hex_errno); - -/* Space for hex values of child state, a slash, saved_errno (with - leading minus) and newline (no null) */ -#define HEX_ERRNO_SIZE (sizeof(char) * 2 + 1 + \ - 1 + sizeof(int) * 2 + 1) -#endif /* !defined(_WIN32) */ - -#endif /* defined(SUBPROCESS_PRIVATE) */ - -#endif diff --git a/src/lib/process/waitpid.c b/src/lib/process/waitpid.c index 32ba4530da..46d30bf50e 100644 --- a/src/lib/process/waitpid.c +++ b/src/lib/process/waitpid.c @@ -16,7 +16,7 @@ #include "lib/log/log.h" #include "lib/log/util_bug.h" #include "lib/malloc/malloc.h" -#include "ht.h" +#include "ext/ht.h" #ifdef HAVE_SYS_WAIT_H #include <sys/wait.h> diff --git a/src/lib/process/winprocess_sys.c b/src/lib/process/winprocess_sys.c new file mode 100644 index 0000000000..ef66f8bfb1 --- /dev/null +++ b/src/lib/process/winprocess_sys.c @@ -0,0 +1,64 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file winprocess_sys.c + * \brief Subsystem object for windows process setup. + **/ + +#include "orconfig.h" +#include "lib/subsys/subsys.h" +#include "lib/process/winprocess_sys.h" + +#include <stdbool.h> +#include <stddef.h> + +#ifdef _WIN32 +#include <windows.h> + +#define WINPROCESS_SYS_ENABLED true + +static int +subsys_winprocess_initialize(void) +{ +#ifndef HeapEnableTerminationOnCorruption +#define HeapEnableTerminationOnCorruption 1 +#endif + + /* On heap corruption, just give up; don't try to play along. */ + HeapSetInformation(NULL, HeapEnableTerminationOnCorruption, NULL, 0); + + /* SetProcessDEPPolicy is only supported on 32-bit Windows. + * (On 64-bit Windows it always fails, and some compilers don't like the + * PSETDEP cast.) + * 32-bit Windows defines _WIN32. + * 64-bit Windows defines _WIN32 and _WIN64. */ +#ifndef _WIN64 + /* Call SetProcessDEPPolicy to permanently enable DEP. + The function will not resolve on earlier versions of Windows, + and failure is not dangerous. */ + HMODULE hMod = GetModuleHandleA("Kernel32.dll"); + if (hMod) { + typedef BOOL (WINAPI *PSETDEP)(DWORD); + PSETDEP setdeppolicy = (PSETDEP)GetProcAddress(hMod, + "SetProcessDEPPolicy"); + if (setdeppolicy) { + /* PROCESS_DEP_ENABLE | PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION */ + setdeppolicy(3); + } + } +#endif /* !defined(_WIN64) */ + + return 0; +} +#else /* !defined(_WIN32) */ +#define WINPROCESS_SYS_ENABLED false +#define subsys_winprocess_initialize NULL +#endif /* defined(_WIN32) */ + +const subsys_fns_t sys_winprocess = { + .name = "winprocess", + .level = -100, + .supported = WINPROCESS_SYS_ENABLED, + .initialize = subsys_winprocess_initialize, +}; diff --git a/src/lib/process/winprocess_sys.h b/src/lib/process/winprocess_sys.h new file mode 100644 index 0000000000..cb096e0c92 --- /dev/null +++ b/src/lib/process/winprocess_sys.h @@ -0,0 +1,14 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file winprocess_sys.h + * \brief Declare subsystem object for winprocess.c + **/ + +#ifndef TOR_WINPROCESS_SYS_H +#define TOR_WINPROCESS_SYS_H + +extern const struct subsys_fns_t sys_winprocess; + +#endif /* !defined(TOR_WINPROCESS_SYS_H) */ diff --git a/src/lib/sandbox/.may_include b/src/lib/sandbox/.may_include index 84906dfb3d..853dae7880 100644 --- a/src/lib/sandbox/.may_include +++ b/src/lib/sandbox/.may_include @@ -5,11 +5,10 @@ lib/container/*.h lib/err/*.h lib/log/*.h lib/malloc/*.h -lib/net/*.h lib/sandbox/*.h lib/sandbox/*.inc lib/string/*.h -ht.h -siphash.h -tor_queue.h +ext/ht.h +ext/siphash.h +ext/tor_queue.h diff --git a/src/lib/sandbox/sandbox.c b/src/lib/sandbox/sandbox.c index 48e37ba127..ea738b273e 100644 --- a/src/lib/sandbox/sandbox.c +++ b/src/lib/sandbox/sandbox.c @@ -38,13 +38,12 @@ #include "lib/err/torerr.h" #include "lib/log/log.h" #include "lib/cc/torint.h" -#include "lib/net/resolve.h" #include "lib/malloc/malloc.h" #include "lib/string/scanf.h" -#include "tor_queue.h" -#include "ht.h" -#include "siphash.h" +#include "ext/tor_queue.h" +#include "ext/ht.h" +#include "ext/siphash.h" #define DEBUGGING_CLOSE @@ -222,6 +221,7 @@ static int filter_nopar_gen[] = { #ifdef __NR_setrlimit SCMP_SYS(setrlimit), #endif + SCMP_SYS(shutdown), #ifdef __NR_sigaltstack SCMP_SYS(sigaltstack), #endif @@ -1552,7 +1552,6 @@ install_syscall_filter(sandbox_cfg_t* cfg) // marking the sandbox as active sandbox_active = 1; - tor_make_getaddrinfo_cache_active(); end: seccomp_release(ctx); @@ -1799,8 +1798,4 @@ sandbox_is_active(void) return 0; } -void -sandbox_disable_getaddrinfo_cache(void) -{ -} #endif /* !defined(USE_LIBSECCOMP) */ diff --git a/src/lib/smartlist_core/.may_include b/src/lib/smartlist_core/.may_include index a8507761a4..2f0c8d341e 100644 --- a/src/lib/smartlist_core/.may_include +++ b/src/lib/smartlist_core/.may_include @@ -4,4 +4,4 @@ lib/malloc/*.h lib/err/*.h lib/string/*.h lib/smartlist_core/*.h -lib/testsupport/testsupport.h +lib/testsupport/*.h diff --git a/src/lib/string/.may_include b/src/lib/string/.may_include index ec5c769831..1fb9127f19 100644 --- a/src/lib/string/.may_include +++ b/src/lib/string/.may_include @@ -6,5 +6,5 @@ lib/malloc/*.h lib/ctime/*.h lib/string/*.h -strlcat.c -strlcpy.c +ext/strlcat.c +ext/strlcpy.c diff --git a/src/lib/string/compat_string.c b/src/lib/string/compat_string.c index eae82fdae0..b3f1e0fd96 100644 --- a/src/lib/string/compat_string.c +++ b/src/lib/string/compat_string.c @@ -14,10 +14,10 @@ /* Inline the strl functions if the platform doesn't have them. */ #ifndef HAVE_STRLCPY -#include "strlcpy.c" +#include "ext/strlcpy.c" #endif #ifndef HAVE_STRLCAT -#include "strlcat.c" +#include "ext/strlcat.c" #endif #include <stdlib.h> diff --git a/src/lib/string/util_string.c b/src/lib/string/util_string.c index b2b85d151d..e76e73046f 100644 --- a/src/lib/string/util_string.c +++ b/src/lib/string/util_string.c @@ -541,3 +541,16 @@ string_is_utf8(const char *str, size_t len) } return true; } + +/** As string_is_utf8(), but returns false if the string begins with a UTF-8 + * byte order mark (BOM). + */ +int +string_is_utf8_no_bom(const char *str, size_t len) +{ + if (len >= 3 && (!strcmpstart(str, "\uFEFF") || + !strcmpstart(str, "\uFFFE"))) { + return false; + } + return string_is_utf8(str, len); +} diff --git a/src/lib/string/util_string.h b/src/lib/string/util_string.h index 746ece0d33..99467a27c3 100644 --- a/src/lib/string/util_string.h +++ b/src/lib/string/util_string.h @@ -53,5 +53,6 @@ const char *find_str_at_start_of_line(const char *haystack, int string_is_C_identifier(const char *string); int string_is_utf8(const char *str, size_t len); +int string_is_utf8_no_bom(const char *str, size_t len); #endif /* !defined(TOR_UTIL_STRING_H) */ diff --git a/src/lib/subsys/.may_include b/src/lib/subsys/.may_include new file mode 100644 index 0000000000..2b06e8519c --- /dev/null +++ b/src/lib/subsys/.may_include @@ -0,0 +1 @@ +orconfig.h diff --git a/src/lib/subsys/include.am b/src/lib/subsys/include.am new file mode 100644 index 0000000000..4741126b14 --- /dev/null +++ b/src/lib/subsys/include.am @@ -0,0 +1,3 @@ + +noinst_HEADERS += \ + src/lib/subsys/subsys.h diff --git a/src/lib/subsys/subsys.h b/src/lib/subsys/subsys.h new file mode 100644 index 0000000000..2452ec6e2f --- /dev/null +++ b/src/lib/subsys/subsys.h @@ -0,0 +1,95 @@ +/* Copyright (c) 2003-2004, Roger Dingledine + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +#ifndef TOR_SUBSYS_T +#define TOR_SUBSYS_T + +#include <stdbool.h> + +struct dispatch_connector_t; + +/** + * A subsystem is a part of Tor that is initialized, shut down, configured, + * and connected to other parts of Tor. + * + * All callbacks are optional -- if a callback is set to NULL, the subsystem + * manager will treat it as a no-op. + * + * You should use c99 named-field initializers with this structure: we + * will be adding more fields, often in the middle of the structure. + **/ +typedef struct subsys_fns_t { + /** + * The name of this subsystem. It should be a programmer-readable + * identifier. + **/ + const char *name; + + /** + * Whether this subsystem is supported -- that is, whether it is compiled + * into Tor. For most subsystems, this should be true. + **/ + bool supported; + + /** + * The 'initialization level' for the subsystem. It should run from -100 + * through +100. The subsystems are initialized from lowest level to + * highest, and shut down from highest level to lowest. + **/ + int level; + + /** + * Initialize any global components of this subsystem. + * + * This function MAY rely on any lower-level subsystem being initialized. + * + * This function MUST NOT rely on any runtime configuration information; + * it is only for global state or pre-configuration state. + * + * (If you need to do any setup that depends on configuration, you'll need + * to declare a configuration callback. (Not yet designed)) + * + * This function MUST NOT have any parts that can fail. + **/ + int (*initialize)(void); + + /** + * Connect a subsystem to the message dispatch system. + **/ + int (*add_pubsub)(struct dispatch_connector_t *); + + /** + * Perform any necessary pre-fork cleanup. This function may not fail. + */ + void (*prefork)(void); + + /** + * Perform any necessary post-fork setup. This function may not fail. + */ + void (*postfork)(void); + + /** + * Free any thread-local resources held by this subsystem. Called before + * the thread exits. + */ + void (*thread_cleanup)(void); + + /** + * Free all resources held by this subsystem. + * + * This function is not allowed to fail. + **/ + void (*shutdown)(void); + +} subsys_fns_t; + +#define MIN_SUBSYS_LEVEL -100 +#define MAX_SUBSYS_LEVEL 100 + +/* All tor "libraries" (in src/libs) should have a subsystem level equal to or + * less than this value. */ +#define SUBSYS_LEVEL_LIBS -10 + +#endif diff --git a/src/lib/term/.may_include b/src/lib/term/.may_include index c93a06e59e..306fa57b7a 100644 --- a/src/lib/term/.may_include +++ b/src/lib/term/.may_include @@ -5,5 +5,4 @@ lib/log/*.h lib/term/*.h lib/malloc/*.h -# From src/ext -tor_readpassphrase.h +ext/tor_readpassphrase.h diff --git a/src/lib/term/getpass.c b/src/lib/term/getpass.c index 27a27179b6..a473fb765b 100644 --- a/src/lib/term/getpass.c +++ b/src/lib/term/getpass.c @@ -36,7 +36,7 @@ SecureZeroMemory(PVOID ptr, SIZE_T cnt) #elif defined(HAVE_READPASSPHRASE_H) #include <readpassphrase.h> #else -#include "tor_readpassphrase.h" +#include "ext/tor_readpassphrase.h" #endif /* defined(_WIN32) || ... */ #include <stdlib.h> diff --git a/src/lib/thread/.may_include b/src/lib/thread/.may_include index 93ad0cd734..02711348c5 100644 --- a/src/lib/thread/.may_include +++ b/src/lib/thread/.may_include @@ -2,5 +2,7 @@ orconfig.h lib/cc/*.h lib/lock/*.h lib/log/*.h +lib/subsys/*.h lib/testsupport/*.h lib/thread/*.h +lib/wallclock/*.h diff --git a/src/lib/thread/compat_pthreads.c b/src/lib/thread/compat_pthreads.c index 934067e4c1..e5c8805ddc 100644 --- a/src/lib/thread/compat_pthreads.c +++ b/src/lib/thread/compat_pthreads.c @@ -12,6 +12,7 @@ #include "orconfig.h" #include "lib/thread/threads.h" +#include "lib/wallclock/timeval.h" #include "lib/log/log.h" #include "lib/log/util_bug.h" diff --git a/src/lib/thread/compat_threads.c b/src/lib/thread/compat_threads.c index 7f1970af45..0b466da212 100644 --- a/src/lib/thread/compat_threads.c +++ b/src/lib/thread/compat_threads.c @@ -14,9 +14,11 @@ #include "orconfig.h" #include <stdlib.h> #include "lib/thread/threads.h" +#include "lib/thread/thread_sys.h" #include "lib/log/log.h" #include "lib/log/util_bug.h" +#include "lib/subsys/subsys.h" #include <string.h> @@ -109,3 +111,17 @@ atomic_counter_exchange(atomic_counter_t *counter, size_t newval) return oldval; } #endif /* !defined(HAVE_WORKING_STDATOMIC) */ + +static int +subsys_threads_initialize(void) +{ + tor_threads_init(); + return 0; +} + +const subsys_fns_t sys_threads = { + .name = "threads", + .supported = true, + .level = -95, + .initialize = subsys_threads_initialize, +}; diff --git a/src/lib/thread/include.am b/src/lib/thread/include.am index 9ec23d166e..695795a2c8 100644 --- a/src/lib/thread/include.am +++ b/src/lib/thread/include.am @@ -23,5 +23,6 @@ src_lib_libtor_thread_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS) src_lib_libtor_thread_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS) noinst_HEADERS += \ - src/lib/thread/threads.h \ - src/lib/thread/numcpus.h + src/lib/thread/numcpus.h \ + src/lib/thread/thread_sys.h \ + src/lib/thread/threads.h diff --git a/src/lib/thread/thread_sys.h b/src/lib/thread/thread_sys.h new file mode 100644 index 0000000000..984abe88e8 --- /dev/null +++ b/src/lib/thread/thread_sys.h @@ -0,0 +1,14 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file threads_sys.h + * \brief Declare subsystem object for threads library + **/ + +#ifndef TOR_THREADS_SYS_H +#define TOR_THREADS_SYS_H + +extern const struct subsys_fns_t sys_threads; + +#endif /* !defined(TOR_THREADS_SYS_H) */ diff --git a/src/lib/time/.may_include b/src/lib/time/.may_include index 2c7e37a836..40a18805ac 100644 --- a/src/lib/time/.may_include +++ b/src/lib/time/.may_include @@ -4,6 +4,7 @@ lib/cc/*.h lib/err/*.h lib/intmath/*.h lib/log/*.h +lib/subsys/*.h lib/time/*.h lib/wallclock/*.h diff --git a/src/lib/time/include.am b/src/lib/time/include.am index a3f93a3744..dae16f49ac 100644 --- a/src/lib/time/include.am +++ b/src/lib/time/include.am @@ -7,6 +7,7 @@ endif src_lib_libtor_time_a_SOURCES = \ src/lib/time/compat_time.c \ + src/lib/time/time_sys.c \ src/lib/time/tvdiff.c src_lib_libtor_time_testing_a_SOURCES = \ @@ -16,4 +17,5 @@ src_lib_libtor_time_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS) noinst_HEADERS += \ src/lib/time/compat_time.h \ + src/lib/time/time_sys.h \ src/lib/time/tvdiff.h diff --git a/src/lib/time/time_sys.c b/src/lib/time/time_sys.c new file mode 100644 index 0000000000..b29ca35e69 --- /dev/null +++ b/src/lib/time/time_sys.c @@ -0,0 +1,26 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file time_sys.c + * \brief Subsystem object for monotime setup. + **/ + +#include "orconfig.h" +#include "lib/subsys/subsys.h" +#include "lib/time/time_sys.h" +#include "lib/time/compat_time.h" + +static int +subsys_time_initialize(void) +{ + monotime_init(); + return 0; +} + +const subsys_fns_t sys_time = { + .name = "time", + .level = -90, + .supported = true, + .initialize = subsys_time_initialize, +}; diff --git a/src/lib/time/time_sys.h b/src/lib/time/time_sys.h new file mode 100644 index 0000000000..0f1aebc268 --- /dev/null +++ b/src/lib/time/time_sys.h @@ -0,0 +1,14 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file log_time.h + * \brief Declare subsystem object for the time module. + **/ + +#ifndef TOR_TIME_SYS_H +#define TOR_TIME_SYS_H + +extern const struct subsys_fns_t sys_time; + +#endif /* !defined(TOR_TIME_SYS_H) */ diff --git a/src/lib/tls/.may_include b/src/lib/tls/.may_include index 2840e590b8..c550bde024 100644 --- a/src/lib/tls/.may_include +++ b/src/lib/tls/.may_include @@ -1,6 +1,7 @@ orconfig.h lib/arch/*.h +lib/buf/*.h lib/cc/*.h lib/container/*.h lib/crypt_ops/*.h @@ -11,7 +12,7 @@ lib/log/*.h lib/malloc/*.h lib/net/*.h lib/string/*.h -lib/testsupport/testsupport.h +lib/subsys/*.h +lib/testsupport/*.h lib/tls/*.h - -ciphers.inc +lib/tls/*.inc diff --git a/src/lib/tls/buffers_tls.c b/src/lib/tls/buffers_tls.c index 69ae4f7fc0..b4059292ea 100644 --- a/src/lib/tls/buffers_tls.c +++ b/src/lib/tls/buffers_tls.c @@ -12,7 +12,7 @@ #define BUFFERS_PRIVATE #include "orconfig.h" #include <stddef.h> -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "lib/tls/buffers_tls.h" #include "lib/cc/torint.h" #include "lib/log/log.h" diff --git a/src/lib/tls/include.am b/src/lib/tls/include.am index a664b29fb2..1817739eef 100644 --- a/src/lib/tls/include.am +++ b/src/lib/tls/include.am @@ -36,5 +36,6 @@ noinst_HEADERS += \ src/lib/tls/tortls.h \ src/lib/tls/tortls_internal.h \ src/lib/tls/tortls_st.h \ + src/lib/tls/tortls_sys.h \ src/lib/tls/x509.h \ src/lib/tls/x509_internal.h diff --git a/src/lib/tls/tortls.c b/src/lib/tls/tortls.c index 56f70bc371..654cacacf7 100644 --- a/src/lib/tls/tortls.c +++ b/src/lib/tls/tortls.c @@ -7,6 +7,7 @@ #define TOR_X509_PRIVATE #include "lib/tls/x509.h" #include "lib/tls/x509_internal.h" +#include "lib/tls/tortls_sys.h" #include "lib/tls/tortls.h" #include "lib/tls/tortls_st.h" #include "lib/tls/tortls_internal.h" @@ -15,6 +16,7 @@ #include "lib/crypt_ops/crypto_rsa.h" #include "lib/crypt_ops/crypto_rand.h" #include "lib/net/socket.h" +#include "lib/subsys/subsys.h" #ifdef _WIN32 #include <winsock2.h> @@ -440,3 +442,15 @@ tor_tls_verify(int severity, tor_tls_t *tls, crypto_pk_t **identity) return rv; } + +static void +subsys_tortls_shutdown(void) +{ + tor_tls_free_all(); +} + +const subsys_fns_t sys_tortls = { + .name = "tortls", + .level = -50, + .shutdown = subsys_tortls_shutdown +}; diff --git a/src/lib/tls/tortls_openssl.c b/src/lib/tls/tortls_openssl.c index 227225b96e..ddeaabc416 100644 --- a/src/lib/tls/tortls_openssl.c +++ b/src/lib/tls/tortls_openssl.c @@ -461,7 +461,7 @@ static const char UNRESTRICTED_SERVER_CIPHER_LIST[] = /** List of ciphers that clients should advertise, omitting items that * our OpenSSL doesn't know about. */ static const char CLIENT_CIPHER_LIST[] = -#include "ciphers.inc" +#include "lib/tls/ciphers.inc" /* Tell it not to use SSLv2 ciphers, so that it can select an SSLv3 version * of any cipher we say. */ "!SSLv2" @@ -639,6 +639,22 @@ tor_tls_context_new(crypto_pk_t *identity, unsigned int key_lifetime, SSL_CTX_set_tmp_dh(result->ctx, dh); DH_free(dh); } +/* We check for this function in two ways, since it might be either a symbol + * or a macro. */ +#if defined(SSL_CTX_set1_groups_list) || defined(HAVE_SSL_CTX_SET1_GROUPS_LIST) + { + const char *list; + if (flags & TOR_TLS_CTX_USE_ECDHE_P224) + list = "P-224:P-256"; + else if (flags & TOR_TLS_CTX_USE_ECDHE_P256) + list = "P-256:P-224"; + else + list = "P-256:P-224"; + int r = (int) SSL_CTX_set1_groups_list(result->ctx, list); + if (r < 0) + goto error; + } +#else if (! is_client) { int nid; EC_KEY *ec_key; @@ -654,6 +670,7 @@ tor_tls_context_new(crypto_pk_t *identity, unsigned int key_lifetime, SSL_CTX_set_tmp_ecdh(result->ctx, ec_key); EC_KEY_free(ec_key); } +#endif SSL_CTX_set_verify(result->ctx, SSL_VERIFY_PEER, always_accept_verify_cb); /* let us realloc bufs that we're writing from */ diff --git a/src/lib/tls/tortls_sys.h b/src/lib/tls/tortls_sys.h new file mode 100644 index 0000000000..fd909f6019 --- /dev/null +++ b/src/lib/tls/tortls_sys.h @@ -0,0 +1,14 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file tortls_sys.h + * \brief Declare subsystem object for the tortls module + **/ + +#ifndef TOR_TORTLS_SYS_H +#define TOR_TORTLS_SYS_H + +extern const struct subsys_fns_t sys_tortls; + +#endif /* !defined(TOR_TORTLS_SYS_H) */ diff --git a/src/lib/version/.may_include b/src/lib/version/.may_include new file mode 100644 index 0000000000..d159ceb41f --- /dev/null +++ b/src/lib/version/.may_include @@ -0,0 +1,3 @@ +orconfig.h +micro-revision.i +lib/version/*.h
\ No newline at end of file diff --git a/src/lib/log/git_revision.c b/src/lib/version/git_revision.c index 9d29ecd2a2..e5b2ff534e 100644 --- a/src/lib/log/git_revision.c +++ b/src/lib/version/git_revision.c @@ -4,7 +4,7 @@ /* See LICENSE for licensing information */ #include "orconfig.h" -#include "lib/log/git_revision.h" +#include "lib/version/git_revision.h" /** String describing which Tor Git repository version the source was * built from. This string is generated by a bit of shell kludging in diff --git a/src/lib/log/git_revision.h b/src/lib/version/git_revision.h index 0ce1190795..0ce1190795 100644 --- a/src/lib/log/git_revision.h +++ b/src/lib/version/git_revision.h diff --git a/src/lib/version/include.am b/src/lib/version/include.am new file mode 100644 index 0000000000..6944eb05e3 --- /dev/null +++ b/src/lib/version/include.am @@ -0,0 +1,25 @@ + +noinst_LIBRARIES += src/lib/libtor-version.a + +if UNITTESTS_ENABLED +noinst_LIBRARIES += src/lib/libtor-version-testing.a +endif + +src_lib_libtor_version_a_SOURCES = \ + src/lib/version/git_revision.c \ + src/lib/version/version.c + +src_lib_libtor_version_testing_a_SOURCES = \ + $(src_lib_libtor_version_a_SOURCES) +src_lib_libtor_version_testing_a_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS) +src_lib_libtor_version_testing_a_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS) + +# Declare that these object files depend on micro-revision.i. Without this +# rule, we could try to build them before micro-revision.i was created. +src/lib/version/git_revision.$(OBJEXT) \ + src/lib/version/src_lib_libtor_version_testing_a-git_revision.$(OBJEXT): \ + micro-revision.i + +noinst_HEADERS += \ + src/lib/version/git_revision.h \ + src/lib/version/torversion.h diff --git a/src/lib/version/torversion.h b/src/lib/version/torversion.h new file mode 100644 index 0000000000..761d6f25ab --- /dev/null +++ b/src/lib/version/torversion.h @@ -0,0 +1,12 @@ +/* Copyright 2001-2004 Roger Dingledine. + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +#ifndef TOR_VERSION_H +#define TOR_VERSION_H + +const char *get_version(void); +const char *get_short_version(void); + +#endif /* !defined(TOR_VERSION_H) */ diff --git a/src/lib/version/version.c b/src/lib/version/version.c new file mode 100644 index 0000000000..29ada39c9d --- /dev/null +++ b/src/lib/version/version.c @@ -0,0 +1,50 @@ +/* Copyright 2001-2004 Roger Dingledine. + * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. + * Copyright (c) 2007-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +#include "orconfig.h" +#include "lib/version/torversion.h" +#include "lib/version/git_revision.h" + +#include <stdio.h> +#include <string.h> + +/** A shorter version of this Tor process's version, for export in our router + * descriptor. (Does not include the git version, if any.) */ +static const char the_short_tor_version[] = + VERSION +#ifdef TOR_BUILD_TAG + " ("TOR_BUILD_TAG")" +#endif + ""; + +#define MAX_VERSION_LEN 128 + +/** The version of this Tor process, possibly including git version */ +static char the_tor_version[MAX_VERSION_LEN] = ""; + +/** Return the current Tor version. */ +const char * +get_version(void) +{ + if (the_tor_version[0] == 0) { + if (strlen(tor_git_revision)) { + snprintf(the_tor_version, sizeof(the_tor_version), + "%s (git-%s)", the_short_tor_version, tor_git_revision); + } else { + snprintf(the_tor_version, sizeof(the_tor_version), + "%s", the_short_tor_version); + } + the_tor_version[sizeof(the_tor_version)-1] = 0; + } + + return the_tor_version; +} + +/** Return the current Tor version, without any git tag. */ +const char * +get_short_version(void) +{ + return the_short_tor_version; +} diff --git a/src/lib/wallclock/.may_include b/src/lib/wallclock/.may_include index dc010da063..ce7a26472b 100644 --- a/src/lib/wallclock/.may_include +++ b/src/lib/wallclock/.may_include @@ -3,4 +3,5 @@ lib/cc/*.h lib/err/*.h lib/wallclock/*.h lib/string/*.h +lib/subsys/*.h lib/testsupport/*.h diff --git a/src/lib/wallclock/approx_time.c b/src/lib/wallclock/approx_time.c index bb9a292369..0b0ef382c2 100644 --- a/src/lib/wallclock/approx_time.c +++ b/src/lib/wallclock/approx_time.c @@ -9,7 +9,9 @@ **/ #include "orconfig.h" +#include "lib/subsys/subsys.h" #include "lib/wallclock/approx_time.h" +#include "lib/wallclock/wallclock_sys.h" /* ===== * Cached time @@ -41,3 +43,17 @@ update_approx_time(time_t now) cached_approx_time = now; } #endif /* !defined(TIME_IS_FAST) */ + +static int +subsys_wallclock_initialize(void) +{ + update_approx_time(time(NULL)); + return 0; +} + +const subsys_fns_t sys_wallclock = { + .name = "wallclock", + .supported = true, + .level = -99, + .initialize = subsys_wallclock_initialize, +}; diff --git a/src/lib/wallclock/include.am b/src/lib/wallclock/include.am index 1961639bd7..2351252e0c 100644 --- a/src/lib/wallclock/include.am +++ b/src/lib/wallclock/include.am @@ -19,4 +19,5 @@ noinst_HEADERS += \ src/lib/wallclock/approx_time.h \ src/lib/wallclock/timeval.h \ src/lib/wallclock/time_to_tm.h \ - src/lib/wallclock/tor_gettimeofday.h + src/lib/wallclock/tor_gettimeofday.h \ + src/lib/wallclock/wallclock_sys.h diff --git a/src/lib/wallclock/wallclock_sys.h b/src/lib/wallclock/wallclock_sys.h new file mode 100644 index 0000000000..e009578a83 --- /dev/null +++ b/src/lib/wallclock/wallclock_sys.h @@ -0,0 +1,14 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file wallclock_sys.h + * \brief Declare subsystem object for the wallclock module. + **/ + +#ifndef TOR_WALLCLOCK_SYS_H +#define TOR_WALLCLOCK_SYS_H + +extern const struct subsys_fns_t sys_wallclock; + +#endif /* !defined(TOR_WALLCLOCK_SYS_H) */ diff --git a/src/rust/Cargo.lock b/src/rust/Cargo.lock index 1d2a7359aa..7d6a6635c5 100644 --- a/src/rust/Cargo.lock +++ b/src/rust/Cargo.lock @@ -26,6 +26,7 @@ version = "0.0.1" dependencies = [ "libc 0.2.39 (registry+https://github.com/rust-lang/crates.io-index)", "smartlist 0.0.1", + "tor_allocate 0.0.1", ] [[package]] diff --git a/src/rust/Cargo.toml b/src/rust/Cargo.toml index e399dbb33a..83f9629660 100644 --- a/src/rust/Cargo.toml +++ b/src/rust/Cargo.toml @@ -13,19 +13,3 @@ members = [ [profile.release] debug = true panic = "abort" - -[features] -default = [] -# If this feature is enabled, test code which calls Tor C code from Rust will -# execute with `cargo test`. Due to numerous linker issues (#25386), this is -# currently disabled by default. Crates listed here are those which, in their -# unittests, doctests, and/or integration tests, call C code. -test-c-from-rust = [ - "crypto/test-c-from-rust", -] - -# We have to define a feature here because doctests don't get cfg(test), -# and we need to disable some C dependencies when running the doctests -# because of the various linker issues. See -# https://github.com/rust-lang/rust/issues/45599 -test_linking_hack = [] diff --git a/src/rust/build.rs b/src/rust/build.rs index 123d5c0682..5626b35f75 100644 --- a/src/rust/build.rs +++ b/src/rust/build.rs @@ -149,8 +149,9 @@ pub fn main() { cfg.component("tor-sandbox-testing"); cfg.component("tor-encoding-testing"); cfg.component("tor-fs-testing"); - cfg.component("tor-time-testing"); cfg.component("tor-net-testing"); + cfg.component("tor-buf-testing"); + cfg.component("tor-time-testing"); cfg.component("tor-thread-testing"); cfg.component("tor-memarea-testing"); cfg.component("tor-log-testing"); @@ -162,6 +163,7 @@ pub fn main() { cfg.component("tor-malloc"); cfg.component("tor-wallclock"); cfg.component("tor-err-testing"); + cfg.component("tor-version-testing"); cfg.component("tor-intmath-testing"); cfg.component("tor-ctime-testing"); cfg.component("curve25519_donna"); diff --git a/src/rust/crypto/Cargo.toml b/src/rust/crypto/Cargo.toml index 6ebfe0dc11..a7ff7f78d9 100644 --- a/src/rust/crypto/Cargo.toml +++ b/src/rust/crypto/Cargo.toml @@ -9,7 +9,6 @@ build = "../build.rs" [lib] name = "crypto" path = "lib.rs" -crate_type = ["rlib", "staticlib"] [dependencies] libc = "=0.2.39" diff --git a/src/rust/external/Cargo.toml b/src/rust/external/Cargo.toml index 4735144ee6..5f443645bb 100644 --- a/src/rust/external/Cargo.toml +++ b/src/rust/external/Cargo.toml @@ -5,14 +5,12 @@ name = "external" [dependencies] libc = "=0.2.39" - -[dependencies.smartlist] -path = "../smartlist" +smartlist = { path = "../smartlist" } +tor_allocate = { path = "../tor_allocate" } [lib] name = "external" path = "lib.rs" -crate_type = ["rlib", "staticlib"] [features] # We have to define a feature here because doctests don't get cfg(test), diff --git a/src/rust/external/lib.rs b/src/rust/external/lib.rs index b72a4f6e4c..d68036fcad 100644 --- a/src/rust/external/lib.rs +++ b/src/rust/external/lib.rs @@ -8,7 +8,7 @@ //! module implementing this functionality repeatedly. extern crate libc; - +extern crate tor_allocate; extern crate smartlist; pub mod crypto_digest; diff --git a/src/rust/protover/Cargo.toml b/src/rust/protover/Cargo.toml index 2f7783e76c..84a7c71c1a 100644 --- a/src/rust/protover/Cargo.toml +++ b/src/rust/protover/Cargo.toml @@ -31,4 +31,3 @@ path = "../tor_log" [lib] name = "protover" path = "lib.rs" -crate_type = ["rlib", "staticlib"] diff --git a/src/rust/protover/ffi.rs b/src/rust/protover/ffi.rs index f17f30127d..5c29adf045 100644 --- a/src/rust/protover/ffi.rs +++ b/src/rust/protover/ffi.rs @@ -7,7 +7,6 @@ use libc::{c_char, c_int, uint32_t}; use std::ffi::CStr; -use std::ffi::CString; use smartlist::*; use tor_allocate::allocate_and_copy_string; @@ -65,12 +64,7 @@ pub extern "C" fn protover_all_supported( if missing_out.is_null() { return 0; } - let c_unsupported: CString = match CString::new(unsupported.to_string()) { - Ok(n) => n, - Err(_) => return 1, - }; - - let ptr = c_unsupported.into_raw(); + let ptr = allocate_and_copy_string(&unsupported.to_string()); unsafe { *missing_out = ptr }; return 0; @@ -187,11 +181,7 @@ pub extern "C" fn protover_get_supported_protocols() -> *const c_char { // // Why is the threshold a signed integer? —isis #[no_mangle] -pub extern "C" fn protover_compute_vote( - list: *const Stringlist, - threshold: c_int, - allow_long_proto_names: bool, -) -> *mut c_char { +pub extern "C" fn protover_compute_vote(list: *const Stringlist, threshold: c_int) -> *mut c_char { if list.is_null() { return allocate_and_copy_string(""); } @@ -203,16 +193,9 @@ pub extern "C" fn protover_compute_vote( let mut proto_entries: Vec<UnvalidatedProtoEntry> = Vec::new(); for datum in data { - let entry: UnvalidatedProtoEntry = if allow_long_proto_names { - match UnvalidatedProtoEntry::from_str_any_len(datum.as_str()) { - Ok(n) => n, - Err(_) => continue, - } - } else { - match datum.parse() { - Ok(n) => n, - Err(_) => continue, - } + let entry: UnvalidatedProtoEntry = match datum.parse() { + Ok(n) => n, + Err(_) => continue, }; proto_entries.push(entry); } diff --git a/src/rust/smartlist/Cargo.toml b/src/rust/smartlist/Cargo.toml index 4ecdf50869..a5afe7bf74 100644 --- a/src/rust/smartlist/Cargo.toml +++ b/src/rust/smartlist/Cargo.toml @@ -9,7 +9,6 @@ libc = "0.2.39" [lib] name = "smartlist" path = "lib.rs" -crate_type = ["rlib", "staticlib"] [features] # We have to define a feature here because doctests don't get cfg(test), diff --git a/src/rust/smartlist/lib.rs b/src/rust/smartlist/lib.rs index 2716842af2..34d0b907ed 100644 --- a/src/rust/smartlist/lib.rs +++ b/src/rust/smartlist/lib.rs @@ -6,3 +6,12 @@ extern crate libc; mod smartlist; pub use smartlist::*; + +// When testing we may be compiled with sanitizers which are incompatible with +// Rust's default allocator, jemalloc (unsure why at this time). Most crates +// link to `tor_allocate` which switches by default to a non-jemalloc allocator, +// but we don't already depend on `tor_allocate` so make sure that while testing +// we don't use jemalloc. (but rather malloc/free) +#[global_allocator] +#[cfg(test)] +static A: std::alloc::System = std::alloc::System; diff --git a/src/rust/tor_allocate/Cargo.toml b/src/rust/tor_allocate/Cargo.toml index 7bb3b9887f..06ac605f17 100644 --- a/src/rust/tor_allocate/Cargo.toml +++ b/src/rust/tor_allocate/Cargo.toml @@ -9,7 +9,6 @@ libc = "=0.2.39" [lib] name = "tor_allocate" path = "lib.rs" -crate_type = ["rlib", "staticlib"] [features] # We have to define a feature here because doctests don't get cfg(test), diff --git a/src/rust/tor_allocate/lib.rs b/src/rust/tor_allocate/lib.rs index 5a355bc8d6..1cfa0b5178 100644 --- a/src/rust/tor_allocate/lib.rs +++ b/src/rust/tor_allocate/lib.rs @@ -11,5 +11,10 @@ extern crate libc; +use std::alloc::System; + mod tor_allocate; pub use tor_allocate::*; + +#[global_allocator] +static A: System = System; diff --git a/src/rust/tor_log/Cargo.toml b/src/rust/tor_log/Cargo.toml index 1aa9be0612..14d9ae803a 100644 --- a/src/rust/tor_log/Cargo.toml +++ b/src/rust/tor_log/Cargo.toml @@ -6,7 +6,6 @@ authors = ["The Tor Project"] [lib] name = "tor_log" path = "lib.rs" -crate_type = ["rlib", "staticlib"] [features] # We have to define a feature here because doctests don't get cfg(test), diff --git a/src/rust/tor_rust/Cargo.toml b/src/rust/tor_rust/Cargo.toml index 1523ee0dd1..35c629882e 100644 --- a/src/rust/tor_rust/Cargo.toml +++ b/src/rust/tor_rust/Cargo.toml @@ -6,7 +6,7 @@ version = "0.1.0" [lib] name = "tor_rust" path = "lib.rs" -crate_type = ["rlib", "staticlib"] +crate_type = ["staticlib"] [dependencies.tor_util] path = "../tor_util" diff --git a/src/rust/tor_util/Cargo.toml b/src/rust/tor_util/Cargo.toml index 51e4bd9c5d..9ffaeda8a6 100644 --- a/src/rust/tor_util/Cargo.toml +++ b/src/rust/tor_util/Cargo.toml @@ -6,7 +6,6 @@ version = "0.0.1" [lib] name = "tor_util" path = "lib.rs" -crate_type = ["rlib", "staticlib"] [dependencies.tor_allocate] path = "../tor_allocate" diff --git a/src/rust/tor_util/strings.rs b/src/rust/tor_util/strings.rs index d64275e06b..71a908a58c 100644 --- a/src/rust/tor_util/strings.rs +++ b/src/rust/tor_util/strings.rs @@ -105,11 +105,7 @@ macro_rules! cstr { ($($bytes:expr),*) => ( ::std::ffi::CStr::from_bytes_with_nul( concat!($($bytes),*, "\0").as_bytes() - ).unwrap_or( - unsafe{ - ::std::ffi::CStr::from_bytes_with_nul_unchecked(b"\0") - } - ) + ).unwrap_or_default() ) } diff --git a/src/test/Makefile.nmake b/src/test/Makefile.nmake index cfbe281b94..aa16a22b52 100644 --- a/src/test/Makefile.nmake +++ b/src/test/Makefile.nmake @@ -1,4 +1,4 @@ -all: test.exe test-child.exe bench.exe +all: test.exe bench.exe CFLAGS = /I ..\win32 /I ..\..\..\build-alpha\include /I ..\common /I ..\or \ /I ..\ext @@ -30,8 +30,5 @@ test.exe: $(TEST_OBJECTS) bench.exe: bench.obj $(CC) $(CFLAGS) bench.obj $(LIBS) ..\common\*.lib /Fe$@ -test-child.exe: test-child.obj - $(CC) $(CFLAGS) test-child.obj /Fe$@ - clean: - del *.obj *.lib test.exe bench.exe test-child.exe + del *.obj *.lib test.exe bench.exe diff --git a/src/test/bench.c b/src/test/bench.c index 959d4374b1..f8680c3ab6 100644 --- a/src/test/bench.c +++ b/src/test/bench.c @@ -24,6 +24,7 @@ #include "core/or/circuitlist.h" #include "app/config/config.h" +#include "app/main/subsysmgr.h" #include "lib/crypt_ops/crypto_curve25519.h" #include "lib/crypt_ops/crypto_dh.h" #include "core/crypto/onion_ntor.h" @@ -38,6 +39,9 @@ #include "lib/crypt_ops/digestset.h" #include "lib/crypt_ops/crypto_init.h" +#include "feature/dirparse/microdesc_parse.h" +#include "feature/nodelist/microdesc.h" + #if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID) static uint64_t nanostart; static inline uint64_t @@ -638,6 +642,41 @@ bench_ecdh_p224(void) } #endif +static void +bench_md_parse(void) +{ + uint64_t start, end; + const int N = 100000; + // selected arbitrarily + const char md_text[] = + "@last-listed 2018-12-14 18:14:14\n" + "onion-key\n" + "-----BEGIN RSA PUBLIC KEY-----\n" + "MIGJAoGBAMHkZeXNDX/49JqM2BVLmh1Fnb5iMVnatvZZTLJyedqDLkbXZ1WKP5oh\n" + "7ec14dj/k3ntpwHD4s2o3Lb6nfagWbug4+F/rNJ7JuFru/PSyOvDyHGNAuegOXph\n" + "3gTGjdDpv/yPoiadGebbVe8E7n6hO+XxM2W/4dqheKimF0/s9B7HAgMBAAE=\n" + "-----END RSA PUBLIC KEY-----\n" + "ntor-onion-key QgF/EjqlNG1wRHLIop/nCekEH+ETGZSgYOhu26eiTF4=\n" + "family $00E9A86E7733240E60D8435A7BBD634A23894098 " + "$329BD7545DEEEBBDC8C4285F243916F248972102 " + "$69E06EBB2573A4F89330BDF8BC869794A3E10E4D " + "$DCA2A3FAE50B3729DAA15BC95FB21AF03389818B\n" + "p accept 53,80,443,5222-5223,25565\n" + "id ed25519 BzffzY99z6Q8KltcFlUTLWjNTBU7yKK+uQhyi1Ivb3A\n"; + + reset_perftime(); + start = perftime(); + for (int i = 0; i < N; ++i) { + smartlist_t *s = microdescs_parse_from_string(md_text, NULL, 1, + SAVED_IN_CACHE, NULL); + SMARTLIST_FOREACH(s, microdesc_t *, md, microdesc_free(md)); + smartlist_free(s); + } + + end = perftime(); + printf("Microdesc parse: %f nsec\n", NANOCOUNT(start, end, N)); +} + typedef void (*bench_fn)(void); typedef struct benchmark_t { @@ -665,6 +704,8 @@ static struct benchmark_t benchmarks[] = { ENT(ecdh_p256), ENT(ecdh_p224), #endif + + ENT(md_parse), {NULL,NULL,0} }; @@ -690,9 +731,10 @@ main(int argc, const char **argv) char *errmsg; or_options_t *options; - tor_threads_init(); + subsystems_init_upto(SUBSYS_LEVEL_LIBS); + flush_log_messages_from_startup(); + tor_compress_init(); - init_logging(1); if (argc == 4 && !strcmp(argv[1], "diff")) { const int N = 200; @@ -702,11 +744,13 @@ main(int argc, const char **argv) perror("X"); return 1; } + size_t f1len = strlen(f1); + size_t f2len = strlen(f2); for (i = 0; i < N; ++i) { - char *diff = consensus_diff_generate(f1, f2); + char *diff = consensus_diff_generate(f1, f1len, f2, f2len); tor_free(diff); } - char *diff = consensus_diff_generate(f1, f2); + char *diff = consensus_diff_generate(f1, f1len, f2, f2len); printf("%s", diff); tor_free(f1); tor_free(f2); @@ -737,7 +781,6 @@ main(int argc, const char **argv) init_protocol_warning_severity_level(); options = options_new(); - init_logging(1); options->command = CMD_RUN_UNITTESTS; options->DataDirectory = tor_strdup(""); options->KeyDirectory = tor_strdup(""); diff --git a/src/test/bt_test.py b/src/test/bt_test.py index 0eeb58c16c..f8894aac0b 100755 --- a/src/test/bt_test.py +++ b/src/test/bt_test.py @@ -44,10 +44,12 @@ print("BAD") for l in LINES: print("{}".format(l), end="") -if sys.platform.startswith('freebsd'): - # See bug #17808 if you know how to fix this. - print("Test failed; but FreeBSD is known to have backtrace problems.\n" - "Treating as 'SKIP'.") +if (sys.platform.startswith('freebsd') or sys.platform.startswith('netbsd') or + sys.platform.startswith('openbsd') or sys.platform.startswith('darwin')): + # See bug #17808 if you know how to fix backtraces on BSD-derived systems + print("Test failed; but {} is known to have backtrace problems." + .format(sys.platform)) + print("Treating as 'SKIP'.") sys.exit(77) sys.exit(1) diff --git a/src/test/fuzz/fuzz_consensus.c b/src/test/fuzz/fuzz_consensus.c index b56702a650..1a4195b418 100644 --- a/src/test/fuzz/fuzz_consensus.c +++ b/src/test/fuzz/fuzz_consensus.c @@ -61,13 +61,13 @@ int fuzz_main(const uint8_t *data, size_t sz) { networkstatus_t *ns; - char *str = tor_memdup_nulterm(data, sz); const char *eos = NULL; networkstatus_type_t tp = NS_TYPE_CONSENSUS; if (tor_memstr(data, MIN(sz, 1024), "tus vote")) tp = NS_TYPE_VOTE; const char *what = (tp == NS_TYPE_CONSENSUS) ? "consensus" : "vote"; - ns = networkstatus_parse_vote_from_string(str, + ns = networkstatus_parse_vote_from_string((const char *)data, + sz, &eos, tp); if (ns) { @@ -76,6 +76,6 @@ fuzz_main(const uint8_t *data, size_t sz) } else { log_debug(LD_GENERAL, "Parsing as %s failed", what); } - tor_free(str); + return 0; } diff --git a/src/test/fuzz/fuzz_diff.c b/src/test/fuzz/fuzz_diff.c index 1079856fdb..64aecc8a64 100644 --- a/src/test/fuzz/fuzz_diff.c +++ b/src/test/fuzz/fuzz_diff.c @@ -10,9 +10,11 @@ #include "test/fuzz/fuzzing.h" static int -mock_consensus_compute_digest_(const char *c, consensus_digest_t *d) +mock_consensus_compute_digest_(const char *c, size_t len, + consensus_digest_t *d) { (void)c; + (void)len; memset(d->sha3_256, 3, sizeof(d->sha3_256)); return 0; } @@ -42,28 +44,34 @@ fuzz_main(const uint8_t *stdin_buf, size_t data_size) if (! separator) return 0; size_t c1_len = separator - stdin_buf; - char *c1 = tor_memdup_nulterm(stdin_buf, c1_len); + const char *c1 = (const char *)stdin_buf; size_t c2_len = data_size - c1_len - SEPLEN; - char *c2 = tor_memdup_nulterm(separator + SEPLEN, c2_len); + const char *c2 = (const char *)separator + SEPLEN; - char *c3 = consensus_diff_generate(c1, c2); + const char *cp = memchr(c1, 0, c1_len); + if (cp) + c1_len = cp - c1; + + cp = memchr(c2, 0, c2_len); + if (cp) + c2_len = cp - c2; + + char *c3 = consensus_diff_generate(c1, c1_len, c2, c2_len); if (c3) { - char *c4 = consensus_diff_apply(c1, c3); + char *c4 = consensus_diff_apply(c1, c1_len, c3, strlen(c3)); tor_assert(c4); - if (strcmp(c2, c4)) { - printf("%s\n", escaped(c1)); - printf("%s\n", escaped(c2)); + int equal = (c2_len == strlen(c4)) && fast_memeq(c2, c4, c2_len); + if (! equal) { + //printf("%s\n", escaped(c1)); + //printf("%s\n", escaped(c2)); printf("%s\n", escaped(c3)); printf("%s\n", escaped(c4)); } - tor_assert(! strcmp(c2, c4)); + tor_assert(equal); tor_free(c3); tor_free(c4); } - tor_free(c1); - tor_free(c2); return 0; } - diff --git a/src/test/fuzz/fuzz_diff_apply.c b/src/test/fuzz/fuzz_diff_apply.c index 165d0e6126..9b25185225 100644 --- a/src/test/fuzz/fuzz_diff_apply.c +++ b/src/test/fuzz/fuzz_diff_apply.c @@ -10,9 +10,11 @@ #include "test/fuzz/fuzzing.h" static int -mock_consensus_compute_digest_(const char *c, consensus_digest_t *d) +mock_consensus_compute_digest_(const char *c, size_t len, + consensus_digest_t *d) { (void)c; + (void)len; memset(d->sha3_256, 3, sizeof(d->sha3_256)); return 0; } @@ -50,16 +52,13 @@ fuzz_main(const uint8_t *stdin_buf, size_t data_size) if (! separator) return 0; size_t c1_len = separator - stdin_buf; - char *c1 = tor_memdup_nulterm(stdin_buf, c1_len); + const char *c1 = (const char *)stdin_buf; size_t c2_len = data_size - c1_len - SEPLEN; - char *c2 = tor_memdup_nulterm(separator + SEPLEN, c2_len); + const char *c2 = (const char *)separator + SEPLEN; - char *c3 = consensus_diff_apply(c1, c2); + char *c3 = consensus_diff_apply(c1, c1_len, c2, c2_len); - tor_free(c1); - tor_free(c2); tor_free(c3); return 0; } - diff --git a/src/test/fuzz/fuzz_http.c b/src/test/fuzz/fuzz_http.c index 06483282bc..4341bfabae 100644 --- a/src/test/fuzz/fuzz_http.c +++ b/src/test/fuzz/fuzz_http.c @@ -8,7 +8,7 @@ #include "core/or/or.h" #include "lib/err/backtrace.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "app/config/config.h" #include "core/mainloop/connection.h" #include "feature/dircache/dircache.h" diff --git a/src/test/fuzz/fuzz_http_connect.c b/src/test/fuzz/fuzz_http_connect.c index ca007a2c7f..e03d9e29d8 100644 --- a/src/test/fuzz/fuzz_http_connect.c +++ b/src/test/fuzz/fuzz_http_connect.c @@ -8,7 +8,7 @@ #include "core/or/or.h" #include "lib/err/backtrace.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "app/config/config.h" #include "core/mainloop/connection.h" #include "core/or/connection_edge.h" diff --git a/src/test/fuzz/fuzz_socks.c b/src/test/fuzz/fuzz_socks.c index 14c25304b1..2d93bea924 100644 --- a/src/test/fuzz/fuzz_socks.c +++ b/src/test/fuzz/fuzz_socks.c @@ -6,7 +6,7 @@ #define BUFFERS_PRIVATE #include "core/or/or.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "lib/err/backtrace.h" #include "lib/log/log.h" #include "core/proto/proto_socks.h" diff --git a/src/test/fuzz/fuzz_strops.c b/src/test/fuzz/fuzz_strops.c new file mode 100644 index 0000000000..5da590acfa --- /dev/null +++ b/src/test/fuzz/fuzz_strops.c @@ -0,0 +1,247 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file fuzz_strops.c + * \brief Fuzzers for various string encoding/decoding operations + **/ + +#include "orconfig.h" + +#include "lib/cc/torint.h" +#include "lib/ctime/di_ops.h" +#include "lib/encoding/binascii.h" +#include "lib/encoding/cstring.h" +#include "lib/encoding/kvline.h" +#include "lib/encoding/confline.h" +#include "lib/malloc/malloc.h" +#include "lib/log/escape.h" +#include "lib/log/util_bug.h" +#include "lib/intmath/muldiv.h" + +#include "test/fuzz/fuzzing.h" + +#include <stdio.h> +#include <string.h> + +int +fuzz_init(void) +{ + return 0; +} + +int +fuzz_cleanup(void) +{ + return 0; +} + +typedef struct chunk_t { + uint8_t *buf; + size_t len; +} chunk_t; + +#define chunk_free(ch) \ + FREE_AND_NULL(chunk_t, chunk_free_, (ch)) + +static chunk_t * +chunk_new(size_t len) +{ + chunk_t *ch = tor_malloc(sizeof(chunk_t)); + ch->buf = tor_malloc(len); + ch->len = len; + return ch; +} +static void +chunk_free_(chunk_t *ch) +{ + if (!ch) + return; + tor_free(ch->buf); + tor_free(ch); +} +static bool +chunk_eq(const chunk_t *a, const chunk_t *b) +{ + return a->len == b->len && fast_memeq(a->buf, b->buf, a->len); +} + +static chunk_t * +b16_dec(const chunk_t *inp) +{ + chunk_t *ch = chunk_new(CEIL_DIV(inp->len, 2)); + int r = base16_decode((char *)ch->buf, ch->len, (char *)inp->buf, inp->len); + if (r >= 0) { + ch->len = r; + } else { + chunk_free(ch); + } + return ch; +} +static chunk_t * +b16_enc(const chunk_t *inp) +{ + chunk_t *ch = chunk_new(inp->len * 2 + 1); + base16_encode((char *)ch->buf, ch->len, (char*)inp->buf, inp->len); + return ch; +} + +#if 0 +static chunk_t * +b32_dec(const chunk_t *inp) +{ + chunk_t *ch = chunk_new(inp->len);//XXXX + int r = base32_decode((char *)ch->buf, ch->len, (char *)inp->buf, inp->len); + if (r >= 0) { + ch->len = r; // XXXX we need some way to get the actual length of + // XXXX the output here. + } else { + chunk_free(ch); + } + return ch; +} +static chunk_t * +b32_enc(const chunk_t *inp) +{ + chunk_t *ch = chunk_new(base32_encoded_size(inp->len)); + base32_encode((char *)ch->buf, ch->len, (char*)inp->buf, inp->len); + ch->len = strlen((char *) ch->buf); + return ch; +} +#endif + +static chunk_t * +b64_dec(const chunk_t *inp) +{ + chunk_t *ch = chunk_new(inp->len);//XXXX This could be shorter. + int r = base64_decode((char *)ch->buf, ch->len, (char *)inp->buf, inp->len); + if (r >= 0) { + ch->len = r; + } else { + chunk_free(ch); + } + return ch; +} +static chunk_t * +b64_enc(const chunk_t *inp) +{ + chunk_t *ch = chunk_new(BASE64_BUFSIZE(inp->len)); + base64_encode((char *)ch->buf, ch->len, (char *)inp->buf, inp->len, 0); + ch->len = strlen((char *) ch->buf); + return ch; +} + +static chunk_t * +c_dec(const chunk_t *inp) +{ + char *s = tor_memdup_nulterm(inp->buf, inp->len); + chunk_t *ch = tor_malloc(sizeof(chunk_t)); + char *r = NULL; + (void) unescape_string(s, &r, &ch->len); + tor_free(s); + ch->buf = (uint8_t*) r; + if (!ch->buf) { + tor_free(ch); + } + return ch; +} +static chunk_t * +c_enc(const chunk_t *inp) +{ + char *s = tor_memdup_nulterm(inp->buf, inp->len); + chunk_t *ch = tor_malloc(sizeof(chunk_t)); + ch->buf = (uint8_t*)esc_for_log(s); + tor_free(s); + ch->len = strlen((char*)ch->buf); + return ch; +} + +static int kv_flags = 0; +static config_line_t * +kv_dec(const chunk_t *inp) +{ + char *s = tor_memdup_nulterm(inp->buf, inp->len); + config_line_t *res = kvline_parse(s, kv_flags); + tor_free(s); + return res; +} +static chunk_t * +kv_enc(const config_line_t *inp) +{ + char *s = kvline_encode(inp, kv_flags); + if (!s) + return NULL; + chunk_t *res = tor_malloc(sizeof(chunk_t)); + res->buf = (uint8_t*)s; + res->len = strlen(s); + return res; +} + +/* Given an encoder function, a decoder function, and a function to free + * the decoded object, check whether any string that successfully decoded + * will then survive an encode-decode-encode round-trip unchanged. + */ +#define ENCODE_ROUNDTRIP(E,D,FREE) \ + STMT_BEGIN { \ + bool err = false; \ + a = D(&inp); \ + if (!a) \ + return 0; \ + b = E(a); \ + tor_assert(b); \ + c = D(b); \ + tor_assert(c); \ + d = E(c); \ + tor_assert(d); \ + if (!chunk_eq(b,d)) { \ + printf("Unequal chunks: %s\n", \ + hex_str((char*)b->buf, b->len)); \ + printf(" vs %s\n", \ + hex_str((char*)d->buf, d->len)); \ + err = true; \ + } \ + FREE(a); \ + chunk_free(b); \ + FREE(c); \ + chunk_free(d); \ + tor_assert(!err); \ + } STMT_END + +int +fuzz_main(const uint8_t *stdin_buf, size_t data_size) +{ + if (!data_size) + return 0; + + chunk_t inp = { (uint8_t*)stdin_buf, data_size }; + chunk_t *b=NULL,*d=NULL; + void *a=NULL,*c=NULL; + + switch (stdin_buf[0]) { + case 0: + ENCODE_ROUNDTRIP(b16_enc, b16_dec, chunk_free_); + break; + case 1: + /* + XXXX see notes above about our base-32 functions. + ENCODE_ROUNDTRIP(b32_enc, b32_dec, chunk_free_); + */ + break; + case 2: + ENCODE_ROUNDTRIP(b64_enc, b64_dec, chunk_free_); + break; + case 3: + ENCODE_ROUNDTRIP(c_enc, c_dec, chunk_free_); + break; + case 5: + kv_flags = KV_QUOTED|KV_OMIT_KEYS; + ENCODE_ROUNDTRIP(kv_enc, kv_dec, config_free_lines_); + break; + case 6: + kv_flags = 0; + ENCODE_ROUNDTRIP(kv_enc, kv_dec, config_free_lines_); + break; + } + + return 0; +} diff --git a/src/test/fuzz/fuzz_vrs.c b/src/test/fuzz/fuzz_vrs.c index 0b869aa5c0..f0d90d7cc6 100644 --- a/src/test/fuzz/fuzz_vrs.c +++ b/src/test/fuzz/fuzz_vrs.c @@ -3,6 +3,7 @@ #define NS_PARSE_PRIVATE #define NETWORKSTATUS_PRIVATE #include "core/or/or.h" +#include "feature/dirauth/dirvote.h" #include "feature/dirparse/ns_parse.h" #include "feature/dirparse/unparseable.h" #include "lib/memarea/memarea.h" @@ -35,9 +36,12 @@ fuzz_init(void) dummy_vote = tor_malloc_zero(sizeof(*dummy_vote)); dummy_vote->known_flags = smartlist_new(); smartlist_split_string(dummy_vote->known_flags, - "Authority BadExit Exit Fast Guard HSDir " - "NoEdConsensus Running Stable V2Dir Valid", + DIRVOTE_UNIVERSAL_FLAGS, " ", 0, 0); + smartlist_split_string(dummy_vote->known_flags, + DIRVOTE_OPTIONAL_FLAGS, + " ", 0, 0); + smartlist_sort_strings(dummy_vote->known_flags); return 0; } @@ -53,24 +57,24 @@ fuzz_cleanup(void) int fuzz_main(const uint8_t *data, size_t sz) { - char *str = tor_memdup_nulterm(data, sz); const char *s; routerstatus_t *rs_ns = NULL, *rs_md = NULL, *rs_vote = NULL; vote_routerstatus_t *vrs = tor_malloc_zero(sizeof(*vrs)); smartlist_t *tokens = smartlist_new(); + const char *eos = (const char *)data + sz; - s = str; - rs_ns = routerstatus_parse_entry_from_string(area, &s, tokens, + s = (const char *)data; + rs_ns = routerstatus_parse_entry_from_string(area, &s, eos, tokens, NULL, NULL, 26, FLAV_NS); tor_assert(smartlist_len(tokens) == 0); - s = str; - rs_md = routerstatus_parse_entry_from_string(area, &s, tokens, + s = (const char *)data; + rs_md = routerstatus_parse_entry_from_string(area, &s, eos, tokens, NULL, NULL, 26, FLAV_MICRODESC); tor_assert(smartlist_len(tokens) == 0); - s = str; - rs_vote = routerstatus_parse_entry_from_string(area, &s, tokens, + s = (const char *)data; + rs_vote = routerstatus_parse_entry_from_string(area, &s, eos, tokens, dummy_vote, vrs, 26, FLAV_NS); tor_assert(smartlist_len(tokens) == 0); @@ -82,6 +86,6 @@ fuzz_main(const uint8_t *data, size_t sz) vote_routerstatus_free(vrs); memarea_clear(area); smartlist_free(tokens); - tor_free(str); + return 0; } diff --git a/src/test/fuzz/fuzzing_common.c b/src/test/fuzz/fuzzing_common.c index 1401e4c28d..21aa07cfe2 100644 --- a/src/test/fuzz/fuzzing_common.c +++ b/src/test/fuzz/fuzzing_common.c @@ -3,12 +3,14 @@ #define CRYPTO_ED25519_PRIVATE #include "orconfig.h" #include "core/or/or.h" +#include "app/main/subsysmgr.h" #include "lib/err/backtrace.h" #include "app/config/config.h" #include "test/fuzz/fuzzing.h" #include "lib/compress/compress.h" #include "lib/crypt_ops/crypto_ed25519.h" #include "lib/crypt_ops/crypto_init.h" +#include "lib/version/torversion.h" static or_options_t *mock_options = NULL; static const or_options_t * @@ -94,12 +96,10 @@ disable_signature_checking(void) static void global_init(void) { - tor_threads_init(); - tor_compress_init(); + subsystems_init_upto(SUBSYS_LEVEL_LIBS); + flush_log_messages_from_startup(); - /* Initialise logging first */ - init_logging(1); - configure_backtrace_handler(get_version()); + tor_compress_init(); if (crypto_global_init(0, NULL, NULL) < 0) abort(); diff --git a/src/test/fuzz/include.am b/src/test/fuzz/include.am index 27eeced8c5..d0711f05d6 100644 --- a/src/test/fuzz/include.am +++ b/src/test/fuzz/include.am @@ -153,6 +153,16 @@ src_test_fuzz_fuzz_socks_LDADD = $(FUZZING_LIBS) endif if UNITTESTS_ENABLED +src_test_fuzz_fuzz_strops_SOURCES = \ + src/test/fuzz/fuzzing_common.c \ + src/test/fuzz/fuzz_strops.c +src_test_fuzz_fuzz_strops_CPPFLAGS = $(FUZZING_CPPFLAGS) +src_test_fuzz_fuzz_strops_CFLAGS = $(FUZZING_CFLAGS) +src_test_fuzz_fuzz_strops_LDFLAGS = $(FUZZING_LDFLAG) +src_test_fuzz_fuzz_strops_LDADD = $(FUZZING_LIBS) +endif + +if UNITTESTS_ENABLED src_test_fuzz_fuzz_vrs_SOURCES = \ src/test/fuzz/fuzzing_common.c \ src/test/fuzz/fuzz_vrs.c @@ -176,6 +186,7 @@ FUZZERS = \ src/test/fuzz/fuzz-iptsv2 \ src/test/fuzz/fuzz-microdesc \ src/test/fuzz/fuzz-socks \ + src/test/fuzz/fuzz-strops \ src/test/fuzz/fuzz-vrs endif @@ -291,6 +302,15 @@ src_test_fuzz_lf_fuzz_socks_LDADD = $(LIBFUZZER_LIBS) endif if UNITTESTS_ENABLED +src_test_fuzz_lf_fuzz_strops_SOURCES = \ + $(src_test_fuzz_fuzz_strops_SOURCES) +src_test_fuzz_lf_fuzz_strops_CPPFLAGS = $(LIBFUZZER_CPPFLAGS) +src_test_fuzz_lf_fuzz_strops_CFLAGS = $(LIBFUZZER_CFLAGS) +src_test_fuzz_lf_fuzz_strops_LDFLAGS = $(LIBFUZZER_LDFLAG) +src_test_fuzz_lf_fuzz_strops_LDADD = $(LIBFUZZER_LIBS) +endif + +if UNITTESTS_ENABLED src_test_fuzz_lf_fuzz_vrs_SOURCES = \ $(src_test_fuzz_fuzz_vrs_SOURCES) src_test_fuzz_lf_fuzz_vrs_CPPFLAGS = $(LIBFUZZER_CPPFLAGS) @@ -312,6 +332,7 @@ LIBFUZZER_FUZZERS = \ src/test/fuzz/lf-fuzz-iptsv2 \ src/test/fuzz/lf-fuzz-microdesc \ src/test/fuzz/lf-fuzz-socks \ + src/test/fuzz/lf-fuzz-strops \ src/test/fuzz/lf-fuzz-vrs else @@ -406,6 +427,13 @@ src_test_fuzz_liboss_fuzz_socks_a_CFLAGS = $(LIBOSS_FUZZ_CFLAGS) endif if UNITTESTS_ENABLED +src_test_fuzz_liboss_fuzz_strops_a_SOURCES = \ + $(src_test_fuzz_fuzz_strops_SOURCES) +src_test_fuzz_liboss_fuzz_strops_a_CPPFLAGS = $(LIBOSS_FUZZ_CPPFLAGS) +src_test_fuzz_liboss_fuzz_strops_a_CFLAGS = $(LIBOSS_FUZZ_CFLAGS) +endif + +if UNITTESTS_ENABLED src_test_fuzz_liboss_fuzz_vrs_a_SOURCES = \ $(src_test_fuzz_fuzz_vrs_SOURCES) src_test_fuzz_liboss_fuzz_vrs_a_CPPFLAGS = $(LIBOSS_FUZZ_CPPFLAGS) @@ -425,6 +453,7 @@ OSS_FUZZ_FUZZERS = \ src/test/fuzz/liboss-fuzz-iptsv2.a \ src/test/fuzz/liboss-fuzz-microdesc.a \ src/test/fuzz/liboss-fuzz-socks.a \ + src/test/fuzz/liboss-fuzz-strops.a \ src/test/fuzz/liboss-fuzz-vrs.a else diff --git a/src/test/include.am b/src/test/include.am index d90d78d58e..648cf5a541 100644 --- a/src/test/include.am +++ b/src/test/include.am @@ -12,8 +12,7 @@ TESTS_ENVIRONMENT = \ export EXTRA_CARGO_OPTIONS="$(EXTRA_CARGO_OPTIONS)"; \ export CARGO_ONLINE="$(CARGO_ONLINE)"; \ export CCLD="$(CCLD)"; \ - chmod +x "$(abs_top_builddir)/link_rust.sh"; \ - export RUSTFLAGS="-C linker=$(abs_top_builddir)/link_rust.sh"; + export RUSTFLAGS="-C linker=`echo '$(CC)' | cut -d' ' -f 1` $(RUST_LINKER_OPTIONS)"; TESTSCRIPTS = \ src/test/fuzz_static_testcases.sh \ @@ -66,7 +65,7 @@ noinst_PROGRAMS+= \ src/test/test \ src/test/test-slow \ src/test/test-memwipe \ - src/test/test-child \ + src/test/test-process \ src/test/test_workqueue \ src/test/test-switch-id \ src/test/test-timers @@ -155,6 +154,7 @@ src_test_test_SOURCES += \ src/test/test_pem.c \ src/test/test_periodic_event.c \ src/test/test_policy.c \ + src/test/test_process.c \ src/test/test_procmon.c \ src/test/test_proto_http.c \ src/test/test_proto_misc.c \ @@ -179,6 +179,7 @@ src_test_test_SOURCES += \ src/test/test_util.c \ src/test/test_util_format.c \ src/test/test_util_process.c \ + src/test/test_voting_flags.c \ src/test/test_voting_schedule.c \ src/test/test_x509.c \ src/test/test_helpers.c \ @@ -203,7 +204,7 @@ if UNITTESTS_ENABLED src_test_test_slow_SOURCES += \ src/test/test_slow.c \ src/test/test_crypto_slow.c \ - src/test/test_util_slow.c \ + src/test/test_process_slow.c \ src/test/testing_common.c \ src/test/testing_rsakeys.c \ src/ext/tinytest.c diff --git a/src/test/test-child.c b/src/test/test-child.c deleted file mode 100644 index 14df1a9b76..0000000000 --- a/src/test/test-child.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright (c) 2011-2018, The Tor Project, Inc. */ -/* See LICENSE for licensing information */ - -#include "orconfig.h" -#include <stdio.h> -#ifdef _WIN32 -#define WINDOWS_LEAN_AND_MEAN -#include <windows.h> -#else -#include <unistd.h> -#endif /* defined(_WIN32) */ -#include <string.h> - -#ifdef _WIN32 -#define SLEEP(sec) Sleep((sec)*1000) -#else -#define SLEEP(sec) sleep(sec) -#endif - -/** Trivial test program which prints out its command line arguments so we can - * check if tor_spawn_background() works */ -int -main(int argc, char **argv) -{ - int i; - int delay = 1; - int fast = 0; - - if (argc > 1) { - if (!strcmp(argv[1], "--hang")) { - delay = 60; - } else if (!strcmp(argv[1], "--fast")) { - fast = 1; - delay = 0; - } - } - - fprintf(stdout, "OUT\n"); - fprintf(stderr, "ERR\n"); - for (i = 1; i < argc; i++) - fprintf(stdout, "%s\n", argv[i]); - if (!fast) - fprintf(stdout, "SLEEPING\n"); - /* We need to flush stdout so that test_util_spawn_background_partial_read() - succeed. Otherwise ReadFile() will get the entire output in one */ - // XXX: Can we make stdio flush on newline? - fflush(stdout); - if (!fast) - SLEEP(1); - fprintf(stdout, "DONE\n"); - fflush(stdout); - if (fast) - return 0; - - while (--delay) { - SLEEP(1); - } - - return 0; -} - diff --git a/src/test/test-process.c b/src/test/test-process.c new file mode 100644 index 0000000000..ec1b395002 --- /dev/null +++ b/src/test/test-process.c @@ -0,0 +1,85 @@ +/* Copyright (c) 2011-2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +#include "orconfig.h" +#include <stdio.h> +#ifdef _WIN32 +#define WINDOWS_LEAN_AND_MEAN +#include <windows.h> +#else +#include <unistd.h> +#endif /* defined(_WIN32) */ +#include <string.h> +#include <stdlib.h> + +#ifdef _WIN32 +#define SLEEP(sec) Sleep((sec)*1000) +#else +#define SLEEP(sec) sleep(sec) +#endif + +/* Trivial test program to test process_t. */ +int +main(int argc, char **argv) +{ + /* Does our process get the right arguments? */ + for (int i = 0; i < argc; ++i) { + fprintf(stdout, "argv[%d] = '%s'\n", i, argv[i]); + fflush(stdout); + } + + /* Make sure our process got our environment variable. */ + fprintf(stdout, "Environment variable TOR_TEST_ENV = '%s'\n", + getenv("TOR_TEST_ENV")); + fflush(stdout); + + /* Test line handling on stdout and stderr. */ + fprintf(stdout, "Output on stdout\nThis is a new line\n"); + fflush(stdout); + + fprintf(stderr, "Output on stderr\nThis is a new line\n"); + fflush(stderr); + + fprintf(stdout, "Partial line on stdout ..."); + fflush(stdout); + + fprintf(stderr, "Partial line on stderr ..."); + fflush(stderr); + + SLEEP(2); + + fprintf(stdout, "end of partial line on stdout\n"); + fflush(stdout); + fprintf(stderr, "end of partial line on stderr\n"); + fflush(stderr); + + /* Echo input from stdin. */ + char buffer[1024]; + + int count = 0; + + while (fgets(buffer, sizeof(buffer), stdin)) { + /* Strip the newline. */ + size_t size = strlen(buffer); + + if (size >= 1 && buffer[size - 1] == '\n') { + buffer[size - 1] = '\0'; + --size; + } + + if (size >= 1 && buffer[size - 1] == '\r') { + buffer[size - 1] = '\0'; + --size; + } + + fprintf(stdout, "Read line from stdin: '%s'\n", buffer); + fflush(stdout); + + if (++count == 3) + break; + } + + fprintf(stdout, "We are done for here, thank you!\n"); + + return 0; +} diff --git a/src/test/test.c b/src/test/test.c index 7f4f6017ef..85d41d9863 100644 --- a/src/test/test.c +++ b/src/test/test.c @@ -37,7 +37,7 @@ #include "core/or/or.h" #include "lib/err/backtrace.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "core/or/circuitlist.h" #include "core/or/circuitstats.h" #include "lib/compress/compress.h" @@ -866,7 +866,8 @@ struct testgroup_t testgroups[] = { { "crypto/pem/", pem_tests }, { "dir/", dir_tests }, { "dir/md/", microdesc_tests }, - { "dir/voting-schedule/", voting_schedule_tests }, + { "dir/voting/flags/", voting_flags_tests }, + { "dir/voting/schedule/", voting_schedule_tests }, { "dir_handle_get/", dir_handle_get_tests }, { "dns/", dns_tests }, { "dos/", dos_tests }, @@ -899,6 +900,7 @@ struct testgroup_t testgroups[] = { { "periodic-event/" , periodic_event_tests }, { "policy/" , policy_tests }, { "procmon/", procmon_tests }, + { "process/", process_tests }, { "proto/http/", proto_http_tests }, { "proto/misc/", proto_misc_tests }, { "protover/", protover_tests }, diff --git a/src/test/test.h b/src/test/test.h index 970a9b555b..1b10c3d12d 100644 --- a/src/test/test.h +++ b/src/test/test.h @@ -242,6 +242,7 @@ extern struct testcase_t pem_tests[]; extern struct testcase_t periodic_event_tests[]; extern struct testcase_t policy_tests[]; extern struct testcase_t procmon_tests[]; +extern struct testcase_t process_tests[]; extern struct testcase_t proto_http_tests[]; extern struct testcase_t proto_misc_tests[]; extern struct testcase_t protover_tests[]; @@ -266,11 +267,12 @@ extern struct testcase_t tortls_tests[]; extern struct testcase_t util_format_tests[]; extern struct testcase_t util_process_tests[]; extern struct testcase_t util_tests[]; +extern struct testcase_t voting_flags_tests[]; extern struct testcase_t voting_schedule_tests[]; extern struct testcase_t x509_tests[]; extern struct testcase_t slow_crypto_tests[]; -extern struct testcase_t slow_util_tests[]; +extern struct testcase_t slow_process_tests[]; extern struct testgroup_t testgroups[]; diff --git a/src/test/test_addr.c b/src/test/test_addr.c index a9004048a5..1d97db52a6 100644 --- a/src/test/test_addr.c +++ b/src/test/test_addr.c @@ -723,7 +723,7 @@ test_addr_ip6_helpers(void *arg) ; } -/** Test tor_addr_port_parse(). */ +/** Test tor_addr_parse() and tor_addr_port_parse(). */ static void test_addr_parse(void *arg) { @@ -734,6 +734,60 @@ test_addr_parse(void *arg) /* Correct call. */ (void)arg; + r= tor_addr_parse(&addr, "192.0.2.1"); + tt_int_op(r,OP_EQ, AF_INET); + tor_addr_to_str(buf, &addr, sizeof(buf), 0); + tt_str_op(buf,OP_EQ, "192.0.2.1"); + + r= tor_addr_parse(&addr, "11:22::33:44"); + tt_int_op(r,OP_EQ, AF_INET6); + tor_addr_to_str(buf, &addr, sizeof(buf), 0); + tt_str_op(buf,OP_EQ, "11:22::33:44"); + + r= tor_addr_parse(&addr, "[11:22::33:44]"); + tt_int_op(r,OP_EQ, AF_INET6); + tor_addr_to_str(buf, &addr, sizeof(buf), 0); + tt_str_op(buf,OP_EQ, "11:22::33:44"); + + r= tor_addr_parse(&addr, "11:22:33:44:55:66:1.2.3.4"); + tt_int_op(r,OP_EQ, AF_INET6); + tor_addr_to_str(buf, &addr, sizeof(buf), 0); + tt_str_op(buf,OP_EQ, "11:22:33:44:55:66:102:304"); + + r= tor_addr_parse(&addr, "11:22::33:44:1.2.3.4"); + tt_int_op(r,OP_EQ, AF_INET6); + tor_addr_to_str(buf, &addr, sizeof(buf), 0); + tt_str_op(buf,OP_EQ, "11:22::33:44:102:304"); + + /* Empty string. */ + r= tor_addr_parse(&addr, ""); + tt_int_op(r,OP_EQ, -1); + + /* Square brackets around IPv4 address. */ + r= tor_addr_parse(&addr, "[192.0.2.1]"); + tt_int_op(r,OP_EQ, -1); + + /* Only left square bracket. */ + r= tor_addr_parse(&addr, "[11:22::33:44"); + tt_int_op(r,OP_EQ, -1); + + /* Only right square bracket. */ + r= tor_addr_parse(&addr, "11:22::33:44]"); + tt_int_op(r,OP_EQ, -1); + + /* Leading colon. */ + r= tor_addr_parse(&addr, ":11:22::33:44"); + tt_int_op(r,OP_EQ, -1); + + /* Trailing colon. */ + r= tor_addr_parse(&addr, "11:22::33:44:"); + tt_int_op(r,OP_EQ, -1); + + /* Too many hex words in IPv4-mapped IPv6 address. */ + r= tor_addr_parse(&addr, "11:22:33:44:55:66:77:88:1.2.3.4"); + tt_int_op(r,OP_EQ, -1); + + /* Correct call. */ r= tor_addr_port_parse(LOG_DEBUG, "192.0.2.1:1234", &addr, &port, -1); diff --git a/src/test/test_address.c b/src/test/test_address.c index e99220f838..a823fd9cd5 100644 --- a/src/test/test_address.c +++ b/src/test/test_address.c @@ -24,6 +24,8 @@ #endif /* defined(HAVE_IFCONF_TO_SMARTLIST) */ #include "core/or/or.h" +#include "feature/nodelist/routerinfo_st.h" +#include "feature/nodelist/node_st.h" #include "feature/nodelist/nodelist.h" #include "lib/net/address.h" #include "test/test.h" @@ -1170,6 +1172,78 @@ test_address_tor_addr_in_same_network_family(void *ignored) return; } +static node_t * +helper_create_mock_node(char id_char) +{ + node_t *node = tor_malloc_zero(sizeof(node_t)); + routerinfo_t *ri = tor_malloc_zero(sizeof(routerinfo_t)); + tor_addr_make_null(&ri->ipv6_addr, AF_INET6); + node->ri = ri; + memset(node->identity, id_char, sizeof(node->identity)); + return node; +} + +static void +helper_free_mock_node(node_t *node) +{ + if (!node) + return; + tor_free(node->ri); + tor_free(node); +} + +#define NODE_SET_IPV4(node, ipv4_addr, ipv4_port) { \ + tor_addr_t addr; \ + tor_addr_parse(&addr, ipv4_addr); \ + node->ri->addr = tor_addr_to_ipv4h(&addr); \ + node->ri->or_port = ipv4_port; \ + } + +#define NODE_CLEAR_IPV4(node) { \ + node->ri->addr = 0; \ + node->ri->or_port = 0; \ + } + +#define NODE_SET_IPV6(node, ipv6_addr_str, ipv6_port) { \ + tor_addr_parse(&node->ri->ipv6_addr, ipv6_addr_str); \ + node->ri->ipv6_orport = ipv6_port; \ + } + +static void +test_address_tor_node_in_same_network_family(void *ignored) +{ + (void)ignored; + node_t *node_a = helper_create_mock_node('a'); + node_t *node_b = helper_create_mock_node('b'); + + NODE_SET_IPV4(node_a, "8.8.8.8", 1); + NODE_SET_IPV4(node_b, "8.8.4.4", 1); + + tt_int_op(nodes_in_same_family(node_a, node_b), OP_EQ, 1); + + NODE_SET_IPV4(node_a, "8.8.8.8", 1); + NODE_SET_IPV4(node_b, "1.1.1.1", 1); + + tt_int_op(nodes_in_same_family(node_a, node_b), OP_EQ, 0); + + NODE_CLEAR_IPV4(node_a); + NODE_SET_IPV6(node_a, "2001:470:20::2", 1); + + tt_int_op(nodes_in_same_family(node_a, node_b), OP_EQ, 0); + + NODE_CLEAR_IPV4(node_b); + NODE_SET_IPV6(node_b, "2606:4700:4700::1111", 1); + + tt_int_op(nodes_in_same_family(node_a, node_b), OP_EQ, 0); + + NODE_SET_IPV6(node_a, "2606:4700:4700::1001", 1); + tt_int_op(nodes_in_same_family(node_a, node_b), OP_EQ, 1); + + done: + helper_free_mock_node(node_a); + helper_free_mock_node(node_b); +} + #define ADDRESS_TEST(name, flags) \ { #name, test_address_ ## name, flags, NULL, NULL } @@ -1202,6 +1276,6 @@ struct testcase_t address_tests[] = { ADDRESS_TEST(tor_addr_to_mapped_ipv4h, 0), ADDRESS_TEST(tor_addr_eq_ipv4h, 0), ADDRESS_TEST(tor_addr_in_same_network_family, 0), + ADDRESS_TEST(tor_node_in_same_network_family, 0), END_OF_TESTCASES }; - diff --git a/src/test/test_buffers.c b/src/test/test_buffers.c index 477066f699..85e7b8d90a 100644 --- a/src/test/test_buffers.c +++ b/src/test/test_buffers.c @@ -6,7 +6,7 @@ #define BUFFERS_PRIVATE #define PROTO_HTTP_PRIVATE #include "core/or/or.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "lib/tls/buffers_tls.h" #include "lib/tls/tortls.h" #include "lib/compress/compress.h" diff --git a/src/test/test_channelpadding.c b/src/test/test_channelpadding.c index 0fd60d0a92..bdd7c5f0a6 100644 --- a/src/test/test_channelpadding.c +++ b/src/test/test_channelpadding.c @@ -21,7 +21,7 @@ #include "test/log_test_helpers.h" #include "lib/tls/tortls.h" #include "lib/evloop/timers.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "core/or/cell_st.h" #include "feature/nodelist/networkstatus_st.h" diff --git a/src/test/test_channeltls.c b/src/test/test_channeltls.c index 787a30a85d..44d623561b 100644 --- a/src/test/test_channeltls.c +++ b/src/test/test_channeltls.c @@ -8,7 +8,7 @@ #define TOR_CHANNEL_INTERNAL_ #include "core/or/or.h" #include "lib/net/address.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "core/or/channel.h" #include "core/or/channeltls.h" #include "core/mainloop/connection.h" diff --git a/src/test/test_circuitbuild.c b/src/test/test_circuitbuild.c index 02eadecd98..dd47ad7689 100644 --- a/src/test/test_circuitbuild.c +++ b/src/test/test_circuitbuild.c @@ -21,11 +21,11 @@ static smartlist_t dummy_nodes; static extend_info_t dummy_ei; static int -mock_count_acceptable_nodes(smartlist_t *nodes) +mock_count_acceptable_nodes(smartlist_t *nodes, int direct) { (void)nodes; - return DEFAULT_ROUTE_LEN + 1; + return direct ? 1 : DEFAULT_ROUTE_LEN + 1; } /* Test route lengths when the caller of new_route_len() doesn't diff --git a/src/test/test_compat_libevent.c b/src/test/test_compat_libevent.c index 3f505d013b..ade76bdb07 100644 --- a/src/test/test_compat_libevent.c +++ b/src/test/test_compat_libevent.c @@ -187,4 +187,3 @@ struct testcase_t compat_libevent_tests[] = { TT_FORK, NULL, NULL }, END_OF_TESTCASES }; - diff --git a/src/test/test_config.c b/src/test/test_config.c index dae4d83766..5140c3c1a8 100644 --- a/src/test/test_config.c +++ b/src/test/test_config.c @@ -54,6 +54,7 @@ #include "lib/meminfo/meminfo.h" #include "lib/net/gethostname.h" #include "lib/encoding/confline.h" +#include "lib/encoding/kvline.h" #ifdef HAVE_UNISTD_H #include <unistd.h> @@ -5813,6 +5814,82 @@ test_config_extended_fmt(void *arg) config_free_lines(lines); } +static void +test_config_kvline_parse(void *arg) +{ + (void)arg; + + config_line_t *lines = NULL; + char *enc = NULL; + + lines = kvline_parse("A=B CD=EF", 0); + tt_assert(lines); + tt_str_op(lines->key, OP_EQ, "A"); + tt_str_op(lines->value, OP_EQ, "B"); + tt_str_op(lines->next->key, OP_EQ, "CD"); + tt_str_op(lines->next->value, OP_EQ, "EF"); + enc = kvline_encode(lines, 0); + tt_str_op(enc, OP_EQ, "A=B CD=EF"); + tor_free(enc); + enc = kvline_encode(lines, KV_QUOTED|KV_OMIT_KEYS); + tt_str_op(enc, OP_EQ, "A=B CD=EF"); + tor_free(enc); + config_free_lines(lines); + + lines = kvline_parse("AB CDE=F", 0); + tt_assert(! lines); + + lines = kvline_parse("AB CDE=F", KV_OMIT_KEYS); + tt_assert(lines); + tt_str_op(lines->key, OP_EQ, ""); + tt_str_op(lines->value, OP_EQ, "AB"); + tt_str_op(lines->next->key, OP_EQ, "CDE"); + tt_str_op(lines->next->value, OP_EQ, "F"); + tt_assert(lines); + enc = kvline_encode(lines, 0); + tt_assert(!enc); + enc = kvline_encode(lines, KV_QUOTED|KV_OMIT_KEYS); + tt_str_op(enc, OP_EQ, "AB CDE=F"); + tor_free(enc); + config_free_lines(lines); + + lines = kvline_parse("AB=C CDE=\"F G\"", 0); + tt_assert(!lines); + + lines = kvline_parse("AB=C CDE=\"F G\" \"GHI\" ", KV_QUOTED|KV_OMIT_KEYS); + tt_assert(lines); + tt_str_op(lines->key, OP_EQ, "AB"); + tt_str_op(lines->value, OP_EQ, "C"); + tt_str_op(lines->next->key, OP_EQ, "CDE"); + tt_str_op(lines->next->value, OP_EQ, "F G"); + tt_str_op(lines->next->next->key, OP_EQ, ""); + tt_str_op(lines->next->next->value, OP_EQ, "GHI"); + enc = kvline_encode(lines, 0); + tt_assert(!enc); + enc = kvline_encode(lines, KV_QUOTED|KV_OMIT_KEYS); + tt_str_op(enc, OP_EQ, "AB=C CDE=\"F G\" GHI"); + tor_free(enc); + config_free_lines(lines); + + lines = kvline_parse("A\"B=C CDE=\"F\" \"GHI\" ", KV_QUOTED|KV_OMIT_KEYS); + tt_assert(! lines); + + lines = kvline_parse("AB=", KV_QUOTED); + tt_assert(lines); + tt_str_op(lines->key, OP_EQ, "AB"); + tt_str_op(lines->value, OP_EQ, ""); + config_free_lines(lines); + + lines = kvline_parse("AB=", 0); + tt_assert(lines); + tt_str_op(lines->key, OP_EQ, "AB"); + tt_str_op(lines->value, OP_EQ, ""); + + done: + config_free_lines(lines); + tor_free(enc); +} + #define CONFIG_TEST(name, flags) \ { #name, test_config_ ## name, flags, NULL, NULL } @@ -5864,5 +5941,6 @@ struct testcase_t config_tests[] = { CONFIG_TEST(include_opened_file_list, 0), CONFIG_TEST(compute_max_mem_in_queues, 0), CONFIG_TEST(extended_fmt, 0), + CONFIG_TEST(kvline_parse, 0), END_OF_TESTCASES }; diff --git a/src/test/test_consdiff.c b/src/test/test_consdiff.c index b836befd22..23e8f7167e 100644 --- a/src/test/test_consdiff.c +++ b/src/test/test_consdiff.c @@ -14,6 +14,39 @@ #define tt_str_eq_line(a,b) \ tt_assert(line_str_eq((b),(a))) +static int +consensus_split_lines_(smartlist_t *out, const char *s, memarea_t *area) +{ + size_t len = strlen(s); + return consensus_split_lines(out, s, len, area); +} + +static int +consensus_compute_digest_(const char *cons, + consensus_digest_t *digest_out) +{ + size_t len = strlen(cons); + char *tmp = tor_memdup(cons, len); + // We use memdup here to ensure that the input is NOT nul-terminated. + // This makes it likelier for us to spot bugs. + int r = consensus_compute_digest(tmp, len, digest_out); + tor_free(tmp); + return r; +} + +static int +consensus_compute_digest_as_signed_(const char *cons, + consensus_digest_t *digest_out) +{ + size_t len = strlen(cons); + char *tmp = tor_memdup(cons, len); + // We use memdup here to ensure that the input is NOT nul-terminated. + // This makes it likelier for us to spot bugs. + int r = consensus_compute_digest_as_signed(tmp, len, digest_out); + tor_free(tmp); + return r; +} + static void test_consdiff_smartlist_slice(void *arg) { @@ -58,7 +91,7 @@ test_consdiff_smartlist_slice_string_pos(void *arg) /* Create a regular smartlist. */ (void)arg; - consensus_split_lines(sl, "a\nd\nc\na\nb\n", area); + consensus_split_lines_(sl, "a\nd\nc\na\nb\n", area); /* See that smartlist_slice_string_pos respects the bounds of the slice. */ sls = smartlist_slice(sl, 2, 5); @@ -87,8 +120,8 @@ test_consdiff_lcs_lengths(void *arg) int e_lengths2[] = { 0, 1, 1, 2, 3, 4 }; (void)arg; - consensus_split_lines(sl1, "a\nb\nc\nd\ne\n", area); - consensus_split_lines(sl2, "a\nc\nd\ni\ne\n", area); + consensus_split_lines_(sl1, "a\nb\nc\nd\ne\n", area); + consensus_split_lines_(sl2, "a\nc\nd\ni\ne\n", area); sls1 = smartlist_slice(sl1, 0, -1); sls2 = smartlist_slice(sl2, 0, -1); @@ -119,10 +152,10 @@ test_consdiff_trim_slices(void *arg) memarea_t *area = memarea_new(); (void)arg; - consensus_split_lines(sl1, "a\nb\nb\nb\nd\n", area); - consensus_split_lines(sl2, "a\nc\nc\nc\nd\n", area); - consensus_split_lines(sl3, "a\nb\nb\nb\na\n", area); - consensus_split_lines(sl4, "c\nb\nb\nb\nc\n", area); + consensus_split_lines_(sl1, "a\nb\nb\nb\nd\n", area); + consensus_split_lines_(sl2, "a\nc\nc\nc\nd\n", area); + consensus_split_lines_(sl3, "a\nb\nb\nb\na\n", area); + consensus_split_lines_(sl4, "c\nb\nb\nb\nc\n", area); sls1 = smartlist_slice(sl1, 0, -1); sls2 = smartlist_slice(sl2, 0, -1); sls3 = smartlist_slice(sl3, 0, -1); @@ -165,8 +198,8 @@ test_consdiff_set_changed(void *arg) memarea_t *area = memarea_new(); (void)arg; - consensus_split_lines(sl1, "a\nb\na\na\n", area); - consensus_split_lines(sl2, "a\na\na\na\n", area); + consensus_split_lines_(sl1, "a\nb\na\na\n", area); + consensus_split_lines_(sl2, "a\na\na\na\n", area); /* Length of sls1 is 0. */ sls1 = smartlist_slice(sl1, 0, 0); @@ -240,8 +273,8 @@ test_consdiff_calc_changes(void *arg) memarea_t *area = memarea_new(); (void)arg; - consensus_split_lines(sl1, "a\na\na\na\n", area); - consensus_split_lines(sl2, "a\na\na\na\n", area); + consensus_split_lines_(sl1, "a\na\na\na\n", area); + consensus_split_lines_(sl2, "a\na\na\na\n", area); sls1 = smartlist_slice(sl1, 0, -1); sls2 = smartlist_slice(sl2, 0, -1); @@ -259,7 +292,7 @@ test_consdiff_calc_changes(void *arg) tt_assert(!bitarray_is_set(changed2, 3)); smartlist_clear(sl2); - consensus_split_lines(sl2, "a\nb\na\nb\n", area); + consensus_split_lines_(sl2, "a\nb\na\nb\n", area); tor_free(sls1); tor_free(sls2); sls1 = smartlist_slice(sl1, 0, -1); @@ -282,7 +315,7 @@ test_consdiff_calc_changes(void *arg) bitarray_clear(changed1, 3); smartlist_clear(sl2); - consensus_split_lines(sl2, "b\nb\nb\nb\n", area); + consensus_split_lines_(sl2, "b\nb\nb\nb\n", area); tor_free(sls1); tor_free(sls2); sls1 = smartlist_slice(sl1, 0, -1); @@ -610,8 +643,8 @@ test_consdiff_gen_ed_diff(void *arg) /* Test 'a', 'c' and 'd' together. See that it is done in reverse order. */ smartlist_clear(cons1); smartlist_clear(cons2); - consensus_split_lines(cons1, "A\nB\nC\nD\nE\n", area); - consensus_split_lines(cons2, "A\nC\nO\nE\nU\n", area); + consensus_split_lines_(cons1, "A\nB\nC\nD\nE\n", area); + consensus_split_lines_(cons2, "A\nC\nO\nE\nU\n", area); diff = gen_ed_diff(cons1, cons2, area); tt_ptr_op(NULL, OP_NE, diff); tt_int_op(7, OP_EQ, smartlist_len(diff)); @@ -627,8 +660,8 @@ test_consdiff_gen_ed_diff(void *arg) smartlist_clear(cons1); smartlist_clear(cons2); - consensus_split_lines(cons1, "B\n", area); - consensus_split_lines(cons2, "A\nB\n", area); + consensus_split_lines_(cons1, "B\n", area); + consensus_split_lines_(cons2, "A\nB\n", area); diff = gen_ed_diff(cons1, cons2, area); tt_ptr_op(NULL, OP_NE, diff); tt_int_op(3, OP_EQ, smartlist_len(diff)); @@ -656,7 +689,7 @@ test_consdiff_apply_ed_diff(void *arg) diff = smartlist_new(); setup_capture_of_logs(LOG_WARN); - consensus_split_lines(cons1, "A\nB\nC\nD\nE\n", area); + consensus_split_lines_(cons1, "A\nB\nC\nD\nE\n", area); /* Command without range. */ smartlist_add_linecpy(diff, area, "a"); @@ -829,7 +862,7 @@ test_consdiff_apply_ed_diff(void *arg) smartlist_clear(diff); /* Test appending text, 'a'. */ - consensus_split_lines(diff, "3a\nU\nO\n.\n0a\nV\n.\n", area); + consensus_split_lines_(diff, "3a\nU\nO\n.\n0a\nV\n.\n", area); cons2 = apply_ed_diff(cons1, diff, 0); tt_ptr_op(NULL, OP_NE, cons2); tt_int_op(8, OP_EQ, smartlist_len(cons2)); @@ -846,7 +879,7 @@ test_consdiff_apply_ed_diff(void *arg) smartlist_free(cons2); /* Test deleting text, 'd'. */ - consensus_split_lines(diff, "4d\n1,2d\n", area); + consensus_split_lines_(diff, "4d\n1,2d\n", area); cons2 = apply_ed_diff(cons1, diff, 0); tt_ptr_op(NULL, OP_NE, cons2); tt_int_op(2, OP_EQ, smartlist_len(cons2)); @@ -857,7 +890,7 @@ test_consdiff_apply_ed_diff(void *arg) smartlist_free(cons2); /* Test changing text, 'c'. */ - consensus_split_lines(diff, "4c\nT\nX\n.\n1,2c\nM\n.\n", area); + consensus_split_lines_(diff, "4c\nT\nX\n.\n1,2c\nM\n.\n", area); cons2 = apply_ed_diff(cons1, diff, 0); tt_ptr_op(NULL, OP_NE, cons2); tt_int_op(5, OP_EQ, smartlist_len(cons2)); @@ -871,7 +904,7 @@ test_consdiff_apply_ed_diff(void *arg) smartlist_free(cons2); /* Test 'a', 'd' and 'c' together. */ - consensus_split_lines(diff, "4c\nT\nX\n.\n2d\n0a\nM\n.\n", area); + consensus_split_lines_(diff, "4c\nT\nX\n.\n2d\n0a\nM\n.\n", area); cons2 = apply_ed_diff(cons1, diff, 0); tt_ptr_op(NULL, OP_NE, cons2); tt_int_op(6, OP_EQ, smartlist_len(cons2)); @@ -918,12 +951,12 @@ test_consdiff_gen_diff(void *arg) ); tt_int_op(0, OP_EQ, - consensus_compute_digest_as_signed(cons1_str, &digests1)); + consensus_compute_digest_as_signed_(cons1_str, &digests1)); tt_int_op(0, OP_EQ, - consensus_compute_digest(cons2_str, &digests2)); + consensus_compute_digest_(cons2_str, &digests2)); - consensus_split_lines(cons1, cons1_str, area); - consensus_split_lines(cons2, cons2_str, area); + consensus_split_lines_(cons1, cons1_str, area); + consensus_split_lines_(cons2, cons2_str, area); diff = consdiff_gen_diff(cons1, cons2, &digests1, &digests2, area); tt_ptr_op(NULL, OP_EQ, diff); @@ -937,9 +970,9 @@ test_consdiff_gen_diff(void *arg) "directory-signature foo bar\nbar\n" ); tt_int_op(0, OP_EQ, - consensus_compute_digest_as_signed(cons1_str, &digests1)); + consensus_compute_digest_as_signed_(cons1_str, &digests1)); smartlist_clear(cons1); - consensus_split_lines(cons1, cons1_str, area); + consensus_split_lines_(cons1, cons1_str, area); diff = consdiff_gen_diff(cons1, cons2, &digests1, &digests2, area); tt_ptr_op(NULL, OP_NE, diff); tt_int_op(11, OP_EQ, smartlist_len(diff)); @@ -991,8 +1024,8 @@ test_consdiff_apply_diff(void *arg) "directory-signature foo bar\nbar\n" ); tt_int_op(0, OP_EQ, - consensus_compute_digest(cons1_str, &digests1)); - consensus_split_lines(cons1, cons1_str, area); + consensus_compute_digest_(cons1_str, &digests1)); + consensus_split_lines_(cons1, cons1_str, area); /* diff doesn't have enough lines. */ cons2 = consdiff_apply_diff(cons1, diff, &digests1); @@ -1182,4 +1215,3 @@ struct testcase_t consdiff_tests[] = { CONSDIFF_LEGACY(apply_diff), END_OF_TESTCASES }; - diff --git a/src/test/test_consdiffmgr.c b/src/test/test_consdiffmgr.c index 6c451da685..b84753ff83 100644 --- a/src/test/test_consdiffmgr.c +++ b/src/test/test_consdiffmgr.c @@ -21,6 +21,23 @@ #include "test/test.h" #include "test/log_test_helpers.h" +#define consdiffmgr_add_consensus consdiffmgr_add_consensus_nulterm + +static char * +consensus_diff_apply_(const char *c, const char *d) +{ + size_t c_len = strlen(c); + size_t d_len = strlen(d); + // We use memdup here to ensure that the input is NOT nul-terminated. + // This makes it likelier for us to spot bugs. + char *c_tmp = tor_memdup(c, c_len); + char *d_tmp = tor_memdup(d, d_len); + char *result = consensus_diff_apply(c_tmp, c_len, d_tmp, d_len); + tor_free(c_tmp); + tor_free(d_tmp); + return result; +} + // ============================== Setup/teardown the consdiffmgr // These functions get run before/after each test in this module @@ -153,7 +170,8 @@ lookup_diff_from(consensus_cache_entry_t **out, const char *str1) { uint8_t digest[DIGEST256_LEN]; - if (router_get_networkstatus_v3_sha3_as_signed(digest, str1)<0) { + if (router_get_networkstatus_v3_sha3_as_signed(digest, + str1, strlen(str1))<0) { TT_FAIL(("Unable to compute sha3-as-signed")); return CONSDIFF_NOT_FOUND; } @@ -175,14 +193,15 @@ lookup_apply_and_verify_diff(consensus_flavor_t flav, consensus_cache_entry_incref(ent); size_t size; - char *diff_string = NULL; - int r = uncompress_or_copy(&diff_string, &size, ent); + const char *diff_string = NULL; + char *diff_owned = NULL; + int r = uncompress_or_set_ptr(&diff_string, &size, &diff_owned, ent); consensus_cache_entry_decref(ent); if (diff_string == NULL || r < 0) return -1; - char *applied = consensus_diff_apply(str1, diff_string); - tor_free(diff_string); + char *applied = consensus_diff_apply(str1, strlen(str1), diff_string, size); + tor_free(diff_owned); if (applied == NULL) return -1; @@ -282,7 +301,8 @@ test_consdiffmgr_add(void *arg) (void) arg; time_t now = approx_time(); - char *body = NULL; + const char *body = NULL; + char *body_owned = NULL; consensus_cache_entry_t *ent = NULL; networkstatus_t *ns_tmp = fake_ns_new(FLAV_NS, now); @@ -324,7 +344,7 @@ test_consdiffmgr_add(void *arg) tt_assert(ent); consensus_cache_entry_incref(ent); size_t s; - r = uncompress_or_copy(&body, &s, ent); + r = uncompress_or_set_ptr(&body, &s, &body_owned, ent); tt_int_op(r, OP_EQ, 0); tt_int_op(s, OP_EQ, 4); tt_mem_op(body, OP_EQ, "quux", 4); @@ -337,7 +357,7 @@ test_consdiffmgr_add(void *arg) networkstatus_vote_free(ns_tmp); teardown_capture_of_logs(); consensus_cache_entry_decref(ent); - tor_free(body); + tor_free(body_owned); } static void @@ -370,7 +390,8 @@ test_consdiffmgr_make_diffs(void *arg) ns = fake_ns_new(FLAV_MICRODESC, now-3600); md_ns_body = fake_ns_body_new(FLAV_MICRODESC, now-3600); r = consdiffmgr_add_consensus(md_ns_body, ns); - router_get_networkstatus_v3_sha3_as_signed(md_ns_sha3, md_ns_body); + router_get_networkstatus_v3_sha3_as_signed(md_ns_sha3, md_ns_body, + strlen(md_ns_body)); networkstatus_vote_free(ns); tt_int_op(r, OP_EQ, 0); @@ -414,7 +435,7 @@ test_consdiffmgr_make_diffs(void *arg) r = consensus_cache_entry_get_body(diff, &diff_body, &diff_size); tt_int_op(r, OP_EQ, 0); diff_text = tor_memdup_nulterm(diff_body, diff_size); - applied = consensus_diff_apply(md_ns_body, diff_text); + applied = consensus_diff_apply_(md_ns_body, diff_text); tt_assert(applied); tt_str_op(applied, OP_EQ, md_ns_body_2); diff --git a/src/test/test_dir.c b/src/test/test_dir.c index c18aa99fea..5cdbd877ce 100644 --- a/src/test/test_dir.c +++ b/src/test/test_dir.c @@ -94,6 +94,23 @@ #define NS_MODULE dir +static networkstatus_t * +networkstatus_parse_vote_from_string_(const char *s, + const char **eos_out, + enum networkstatus_type_t ns_type) +{ + size_t len = strlen(s); + // memdup so that it won't be nul-terminated. + char *tmp = tor_memdup(s, len); + networkstatus_t *result = + networkstatus_parse_vote_from_string(tmp, len, eos_out, ns_type); + if (eos_out && *eos_out) { + *eos_out = s + (*eos_out - tmp); + } + tor_free(tmp); + return result; +} + static void test_dir_nicknames(void *arg) { @@ -2806,11 +2823,17 @@ test_a_networkstatus( MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m); /* Parse certificates and keys. */ - cert1 = mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL); + cert1 = mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, + strlen(AUTHORITY_CERT_1), + NULL); tt_assert(cert1); - cert2 = authority_cert_parse_from_string(AUTHORITY_CERT_2, NULL); + cert2 = authority_cert_parse_from_string(AUTHORITY_CERT_2, + strlen(AUTHORITY_CERT_2), + NULL); tt_assert(cert2); - cert3 = authority_cert_parse_from_string(AUTHORITY_CERT_3, NULL); + cert3 = authority_cert_parse_from_string(AUTHORITY_CERT_3, + strlen(AUTHORITY_CERT_3), + NULL); tt_assert(cert3); sign_skey_1 = crypto_pk_new(); sign_skey_2 = crypto_pk_new(); @@ -2912,7 +2935,7 @@ test_a_networkstatus( sign_skey_leg1, FLAV_NS); tt_assert(consensus_text); - con = networkstatus_parse_vote_from_string(consensus_text, NULL, + con = networkstatus_parse_vote_from_string_(consensus_text, NULL, NS_TYPE_CONSENSUS); tt_assert(con); //log_notice(LD_GENERAL, "<<%s>>\n<<%s>>\n<<%s>>\n", @@ -2924,7 +2947,7 @@ test_a_networkstatus( sign_skey_leg1, FLAV_MICRODESC); tt_assert(consensus_text_md); - con_md = networkstatus_parse_vote_from_string(consensus_text_md, NULL, + con_md = networkstatus_parse_vote_from_string_(consensus_text_md, NULL, NS_TYPE_CONSENSUS); tt_assert(con_md); tt_int_op(con_md->flavor,OP_EQ, FLAV_MICRODESC); @@ -3023,13 +3046,13 @@ test_a_networkstatus( tt_assert(consensus_text3); tt_assert(consensus_text_md2); tt_assert(consensus_text_md3); - con2 = networkstatus_parse_vote_from_string(consensus_text2, NULL, + con2 = networkstatus_parse_vote_from_string_(consensus_text2, NULL, NS_TYPE_CONSENSUS); - con3 = networkstatus_parse_vote_from_string(consensus_text3, NULL, + con3 = networkstatus_parse_vote_from_string_(consensus_text3, NULL, NS_TYPE_CONSENSUS); - con_md2 = networkstatus_parse_vote_from_string(consensus_text_md2, NULL, + con_md2 = networkstatus_parse_vote_from_string_(consensus_text_md2, NULL, NS_TYPE_CONSENSUS); - con_md3 = networkstatus_parse_vote_from_string(consensus_text_md3, NULL, + con_md3 = networkstatus_parse_vote_from_string_(consensus_text_md3, NULL, NS_TYPE_CONSENSUS); tt_assert(con2); tt_assert(con3); @@ -6030,6 +6053,80 @@ test_dir_find_dl_min_delay(void* data) } static void +test_dir_matching_flags(void *arg) +{ + (void) arg; + routerstatus_t *rs_noflags = NULL; + routerstatus_t *rs = NULL; + char *s = NULL; + + smartlist_t *tokens = smartlist_new(); + memarea_t *area = memarea_new(); + + int expected_val_when_unused = 0; + + const char *ex_noflags = + "r example hereiswhereyouridentitygoes 2015-08-30 12:00:00 " + "192.168.0.1 9001 0\n" + "m thisoneislongerbecauseitisa256bitmddigest33\n" + "s\n"; + const char *cp = ex_noflags; + rs_noflags = routerstatus_parse_entry_from_string( + area, &cp, + cp + strlen(cp), + tokens, NULL, NULL, + MAX_SUPPORTED_CONSENSUS_METHOD, FLAV_MICRODESC); + tt_assert(rs_noflags); + +#define FLAG(string, field) STMT_BEGIN { \ + tor_asprintf(&s,\ + "r example hereiswhereyouridentitygoes 2015-08-30 12:00:00 " \ + "192.168.0.1 9001 0\n" \ + "m thisoneislongerbecauseitisa256bitmddigest33\n" \ + "s %s\n", string); \ + cp = s; \ + rs = routerstatus_parse_entry_from_string( \ + area, &cp, \ + cp + strlen(cp), \ + tokens, NULL, NULL, \ + MAX_SUPPORTED_CONSENSUS_METHOD, FLAV_MICRODESC); \ + /* the field should usually be 0 when no flags are listed */ \ + tt_int_op(rs_noflags->field, OP_EQ, expected_val_when_unused); \ + /* the field should be 1 when this flags islisted */ \ + tt_int_op(rs->field, OP_EQ, 1); \ + tor_free(s); \ + routerstatus_free(rs); \ +} STMT_END + + FLAG("Authority", is_authority); + FLAG("BadExit", is_bad_exit); + FLAG("Exit", is_exit); + FLAG("Fast", is_fast); + FLAG("Guard", is_possible_guard); + FLAG("HSDir", is_hs_dir); + FLAG("Stable", is_stable); + FLAG("StaleDesc", is_staledesc); + FLAG("V2Dir", is_v2_dir); + + // These flags are assumed to be set whether they're declared or not. + expected_val_when_unused = 1; + FLAG("Running", is_flagged_running); + FLAG("Valid", is_valid); + expected_val_when_unused = 0; + + // These flags are no longer used, but still parsed. + FLAG("Named", is_named); + FLAG("Unnamed", is_unnamed); + + done: + tor_free(s); + routerstatus_free(rs); + routerstatus_free(rs_noflags); + memarea_drop_all(area); + smartlist_free(tokens); +} + +static void test_dir_assumed_flags(void *arg) { (void)arg; @@ -6044,9 +6141,10 @@ test_dir_assumed_flags(void *arg) "192.168.0.1 9001 0\n" "m thisoneislongerbecauseitisa256bitmddigest33\n" "s Fast Guard Stable\n"; + const char *eos = str1 + strlen(str1); const char *cp = str1; - rs = routerstatus_parse_entry_from_string(area, &cp, tokens, NULL, NULL, + rs = routerstatus_parse_entry_from_string(area, &cp, eos, tokens, NULL, NULL, 24, FLAV_MICRODESC); tt_assert(rs); tt_assert(rs->is_flagged_running); @@ -6353,6 +6451,7 @@ struct testcase_t dir_tests[] = { DIR_ARG(find_dl_min_delay, TT_FORK, "cfr"), DIR_ARG(find_dl_min_delay, TT_FORK, "car"), DIR(assumed_flags, 0), + DIR(matching_flags, 0), DIR(networkstatus_compute_bw_weights_v10, 0), DIR(platform_str, 0), DIR(networkstatus_consensus_has_ipv6, TT_FORK), diff --git a/src/test/test_dir_common.c b/src/test/test_dir_common.c index 86d2838944..eadeb11921 100644 --- a/src/test/test_dir_common.c +++ b/src/test/test_dir_common.c @@ -42,14 +42,20 @@ dir_common_authority_pk_init(authority_cert_t **cert1, { /* Parse certificates and keys. */ authority_cert_t *cert; - cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL); + cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, + strlen(AUTHORITY_CERT_1), + NULL); tt_assert(cert); tt_assert(cert->identity_key); *cert1 = cert; tt_assert(*cert1); - *cert2 = authority_cert_parse_from_string(AUTHORITY_CERT_2, NULL); + *cert2 = authority_cert_parse_from_string(AUTHORITY_CERT_2, + strlen(AUTHORITY_CERT_2), + NULL); tt_assert(*cert2); - *cert3 = authority_cert_parse_from_string(AUTHORITY_CERT_3, NULL); + *cert3 = authority_cert_parse_from_string(AUTHORITY_CERT_3, + strlen(AUTHORITY_CERT_3), + NULL); tt_assert(*cert3); *sign_skey_1 = crypto_pk_new(); *sign_skey_2 = crypto_pk_new(); @@ -266,7 +272,9 @@ dir_common_add_rs_and_parse(networkstatus_t *vote, networkstatus_t **vote_out, /* dump the vote and try to parse it. */ v_text = format_networkstatus_vote(sign_skey, vote); tt_assert(v_text); - *vote_out = networkstatus_parse_vote_from_string(v_text, NULL, NS_TYPE_VOTE); + *vote_out = networkstatus_parse_vote_from_string(v_text, + strlen(v_text), + NULL, NS_TYPE_VOTE); done: if (v_text) @@ -424,4 +432,3 @@ dir_common_construct_vote_3(networkstatus_t **vote, authority_cert_t *cert, return 0; } - diff --git a/src/test/test_dir_handle_get.c b/src/test/test_dir_handle_get.c index 1d4a36d7fc..2ce98769af 100644 --- a/src/test/test_dir_handle_get.c +++ b/src/test/test_dir_handle_get.c @@ -72,6 +72,8 @@ ENABLE_GCC_WARNING(overlength-strings) #define NOT_ENOUGH_CONSENSUS_SIGNATURES "HTTP/1.0 404 " \ "Consensus not signed by sufficient number of requested authorities\r\n\r\n" +#define consdiffmgr_add_consensus consdiffmgr_add_consensus_nulterm + static dir_connection_t * new_dir_conn(void) { @@ -1275,7 +1277,9 @@ test_dir_handle_get_server_keys_authority(void* data) size_t body_used = 0; (void) data; - mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, NULL); + mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, + strlen(TEST_CERTIFICATE), + NULL); MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m); MOCK(connection_write_to_buf_impl_, connection_write_to_buf_mock); @@ -1425,7 +1429,9 @@ test_dir_handle_get_server_keys_sk(void* data) size_t body_used = 0; (void) data; - mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, NULL); + mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, + strlen(TEST_CERTIFICATE), + NULL); MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m); MOCK(connection_write_to_buf_impl_, connection_write_to_buf_mock); @@ -2393,7 +2399,9 @@ test_dir_handle_get_status_vote_next_authority(void* data) routerlist_free_all(); dirvote_free_all(); - mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, NULL); + mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, + strlen(TEST_CERTIFICATE), + NULL); /* create a trusted ds */ ds = trusted_dir_server_new("ds", "127.0.0.1", 9059, 9060, NULL, digest, @@ -2471,7 +2479,9 @@ test_dir_handle_get_status_vote_current_authority(void* data) routerlist_free_all(); dirvote_free_all(); - mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, NULL); + mock_cert = authority_cert_parse_from_string(TEST_CERTIFICATE, + strlen(TEST_CERTIFICATE), + NULL); /* create a trusted ds */ ds = trusted_dir_server_new("ds", "127.0.0.1", 9059, 9060, NULL, digest, diff --git a/src/test/test_dns.c b/src/test/test_dns.c index 8369f844f6..ea0fcf8c5e 100644 --- a/src/test/test_dns.c +++ b/src/test/test_dns.c @@ -1,6 +1,7 @@ /* Copyright (c) 2015-2018, The Tor Project, Inc. */ /* See LICENSE for licensing information */ +#include "orconfig.h" #include "core/or/or.h" #include "test/test.h" @@ -13,9 +14,71 @@ #include "core/or/edge_connection_st.h" #include "core/or/or_circuit_st.h" +#include "app/config/or_options_st.h" +#include "app/config/config.h" + +#include <event2/event.h> +#include <event2/dns.h> #define NS_MODULE dns +#ifdef HAVE_EVDNS_BASE_GET_NAMESERVER_ADDR +#define NS_SUBMODULE configure_nameservers_fallback + +static or_options_t options = { + .ORPort_set = 1, +}; + +static const or_options_t * +mock_get_options(void) +{ + return &options; +} + +static void +NS(test_main)(void *arg) +{ + (void)arg; + tor_addr_t *nameserver_addr = NULL; + + MOCK(get_options, mock_get_options); + + options.ServerDNSResolvConfFile = (char *)"no_such_file!!!"; + + dns_init(); // calls configure_nameservers() + + tt_int_op(number_of_configured_nameservers(), OP_EQ, 1); + + nameserver_addr = configured_nameserver_address(0); + + tt_assert(tor_addr_family(nameserver_addr) == AF_INET); + tt_assert(tor_addr_eq_ipv4h(nameserver_addr, 0x7f000001)); + +#ifndef _WIN32 + tor_free(nameserver_addr); + + options.ServerDNSResolvConfFile = (char *)"/dev/null"; + + dns_init(); + + tt_int_op(number_of_configured_nameservers(), OP_EQ, 1); + + nameserver_addr = configured_nameserver_address(0); + + tt_assert(tor_addr_family(nameserver_addr) == AF_INET); + tt_assert(tor_addr_eq_ipv4h(nameserver_addr, 0x7f000001)); +#endif + + UNMOCK(get_options); + + done: + tor_free(nameserver_addr); + return; +} + +#undef NS_SUBMODULE +#endif + #define NS_SUBMODULE clip_ttl static void @@ -736,6 +799,9 @@ NS(test_main)(void *arg) #undef NS_SUBMODULE struct testcase_t dns_tests[] = { +#ifdef HAVE_EVDNS_BASE_GET_NAMESERVER_ADDR + TEST_CASE(configure_nameservers_fallback), +#endif TEST_CASE(clip_ttl), TEST_CASE(resolve), TEST_CASE_ASPECT(resolve_impl, addr_is_ip_no_need_to_resolve), diff --git a/src/test/test_entrynodes.c b/src/test/test_entrynodes.c index b67c9fae53..16b14c0b73 100644 --- a/src/test/test_entrynodes.c +++ b/src/test/test_entrynodes.c @@ -74,9 +74,10 @@ bfn_mock_nodelist_get_list(void) } static networkstatus_t * -bfn_mock_networkstatus_get_live_consensus(time_t now) +bfn_mock_networkstatus_get_reasonably_live_consensus(time_t now, int flavor) { (void)now; + (void)flavor; return dummy_consensus; } @@ -118,7 +119,7 @@ big_fake_network_cleanup(const struct testcase_t *testcase, void *ptr) UNMOCK(nodelist_get_list); UNMOCK(node_get_by_id); UNMOCK(get_or_state); - UNMOCK(networkstatus_get_live_consensus); + UNMOCK(networkstatus_get_reasonably_live_consensus); or_state_free(dummy_state); dummy_state = NULL; tor_free(dummy_consensus); @@ -136,6 +137,12 @@ big_fake_network_setup(const struct testcase_t *testcase) * that we need for entrynodes.c. */ const int N_NODES = 271; + const char *argument = testcase->setup_data; + int reasonably_live_consensus = 0; + if (argument) { + reasonably_live_consensus = strstr(argument, "reasonably-live") != NULL; + } + big_fake_net_nodes = smartlist_new(); for (i = 0; i < N_NODES; ++i) { curve25519_secret_key_t curve25519_secret_key; @@ -191,15 +198,23 @@ big_fake_network_setup(const struct testcase_t *testcase) dummy_state = tor_malloc_zero(sizeof(or_state_t)); dummy_consensus = tor_malloc_zero(sizeof(networkstatus_t)); - dummy_consensus->valid_after = approx_time() - 3600; - dummy_consensus->valid_until = approx_time() + 3600; + if (reasonably_live_consensus) { + /* Make the dummy consensus valid from 4 hours ago, but expired an hour + * ago. */ + dummy_consensus->valid_after = approx_time() - 4*3600; + dummy_consensus->valid_until = approx_time() - 3600; + } else { + /* Make the dummy consensus valid for an hour either side of now. */ + dummy_consensus->valid_after = approx_time() - 3600; + dummy_consensus->valid_until = approx_time() + 3600; + } MOCK(nodelist_get_list, bfn_mock_nodelist_get_list); MOCK(node_get_by_id, bfn_mock_node_get_by_id); MOCK(get_or_state, get_or_state_replacement); - MOCK(networkstatus_get_live_consensus, - bfn_mock_networkstatus_get_live_consensus); + MOCK(networkstatus_get_reasonably_live_consensus, + bfn_mock_networkstatus_get_reasonably_live_consensus); /* Return anything but NULL (it's interpreted as test fail) */ return (void*)testcase; } @@ -2691,7 +2706,7 @@ test_entry_guard_upgrade_not_blocked_by_worse_circ_pending(void *arg) } static void -test_enty_guard_should_expire_waiting(void *arg) +test_entry_guard_should_expire_waiting(void *arg) { (void)arg; circuit_guard_state_t *fake_state = tor_malloc_zero(sizeof(*fake_state)); @@ -2832,13 +2847,16 @@ test_entry_guard_outdated_dirserver_exclusion(void *arg) digests, 3, 7, 0); /* ... and check that because we failed to fetch microdescs from all our - * primaries, we didnt end up selecting a primary for fetching dir info */ + * primaries, we didn't end up selecting a primary for fetching dir info */ expect_log_msg_containing("No primary or confirmed guards available."); teardown_capture_of_logs(); } done: + UNMOCK(networkstatus_get_latest_consensus_by_flavor); + UNMOCK(directory_initiate_request); smartlist_free(digests); + tor_free(mock_ns_val); tor_free(args); if (conn) { tor_free(conn->requested_resource); @@ -3009,39 +3027,42 @@ static const struct testcase_setup_t upgrade_circuits = { upgrade_circuits_setup, upgrade_circuits_cleanup }; +#define NO_PREFIX_TEST(name) \ + { #name, test_ ## name, 0, NULL, NULL } + +#define EN_TEST_BASE(name, fork, setup, arg) \ + { #name, test_entry_guard_ ## name, fork, setup, (void*)(arg) } + +#define EN_TEST(name) EN_TEST_BASE(name, 0, NULL, NULL) +#define EN_TEST_FORK(name) EN_TEST_BASE(name, TT_FORK, NULL, NULL) + #define BFN_TEST(name) \ - { #name, test_entry_guard_ ## name, TT_FORK, &big_fake_network, NULL } + EN_TEST_BASE(name, TT_FORK, &big_fake_network, NULL), \ + { #name "_reasonably_live", test_entry_guard_ ## name, TT_FORK, \ + &big_fake_network, (void*)("reasonably-live") } -#define UPGRADE_TEST(name, arg) \ - { #name, test_entry_guard_ ## name, TT_FORK, &upgrade_circuits, \ - (void*)(arg) } +#define UPGRADE_TEST(name, arg) \ + EN_TEST_BASE(name, TT_FORK, &upgrade_circuits, arg), \ + { #name "_reasonably_live", test_entry_guard_ ## name, TT_FORK, \ + &upgrade_circuits, (void*)(arg " reasonably-live") } struct testcase_t entrynodes_tests[] = { - { "node_preferred_orport", - test_node_preferred_orport, - 0, NULL, NULL }, - { "entry_guard_describe", test_entry_guard_describe, 0, NULL, NULL }, - { "randomize_time", test_entry_guard_randomize_time, 0, NULL, NULL }, - { "encode_for_state_minimal", - test_entry_guard_encode_for_state_minimal, 0, NULL, NULL }, - { "encode_for_state_maximal", - test_entry_guard_encode_for_state_maximal, 0, NULL, NULL }, - { "parse_from_state_minimal", - test_entry_guard_parse_from_state_minimal, 0, NULL, NULL }, - { "parse_from_state_maximal", - test_entry_guard_parse_from_state_maximal, 0, NULL, NULL }, - { "parse_from_state_failure", - test_entry_guard_parse_from_state_failure, 0, NULL, NULL }, - { "parse_from_state_partial_failure", - test_entry_guard_parse_from_state_partial_failure, 0, NULL, NULL }, - { "parse_from_state_full", - test_entry_guard_parse_from_state_full, TT_FORK, NULL, NULL }, - { "parse_from_state_broken", - test_entry_guard_parse_from_state_broken, TT_FORK, NULL, NULL }, - { "get_guard_selection_by_name", - test_entry_guard_get_guard_selection_by_name, TT_FORK, NULL, NULL }, - { "number_of_primaries", - test_entry_guard_number_of_primaries, TT_FORK, NULL, NULL }, + NO_PREFIX_TEST(node_preferred_orport), + NO_PREFIX_TEST(entry_guard_describe), + + EN_TEST(randomize_time), + EN_TEST(encode_for_state_minimal), + EN_TEST(encode_for_state_maximal), + EN_TEST(parse_from_state_minimal), + EN_TEST(parse_from_state_maximal), + EN_TEST(parse_from_state_failure), + EN_TEST(parse_from_state_partial_failure), + + EN_TEST_FORK(parse_from_state_full), + EN_TEST_FORK(parse_from_state_broken), + EN_TEST_FORK(get_guard_selection_by_name), + EN_TEST_FORK(number_of_primaries), + BFN_TEST(choose_selection_initial), BFN_TEST(add_single_guard), BFN_TEST(node_filter), @@ -3055,7 +3076,9 @@ struct testcase_t entrynodes_tests[] = { BFN_TEST(sample_reachable_filtered_empty), BFN_TEST(retry_unreachable), BFN_TEST(manage_primary), - { "guard_preferred", test_entry_guard_guard_preferred, TT_FORK, NULL, NULL }, + + EN_TEST_FORK(guard_preferred), + BFN_TEST(select_for_circuit_no_confirmed), BFN_TEST(select_for_circuit_confirmed), BFN_TEST(select_for_circuit_highlevel_primary), @@ -3078,8 +3101,8 @@ struct testcase_t entrynodes_tests[] = { UPGRADE_TEST(upgrade_not_blocked_by_restricted_circ_pending, "c2-done"), UPGRADE_TEST(upgrade_not_blocked_by_worse_circ_pending, "c1-done"), - { "should_expire_waiting", test_enty_guard_should_expire_waiting, TT_FORK, - NULL, NULL }, + + EN_TEST_FORK(should_expire_waiting), END_OF_TESTCASES }; diff --git a/src/test/test_extorport.c b/src/test/test_extorport.c index 71be9131c7..432a9ea5e3 100644 --- a/src/test/test_extorport.c +++ b/src/test/test_extorport.c @@ -5,7 +5,7 @@ #define EXT_ORPORT_PRIVATE #define MAINLOOP_PRIVATE #include "core/or/or.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "core/mainloop/connection.h" #include "core/or/connection_or.h" #include "app/config/config.h" diff --git a/src/test/test_helpers.c b/src/test/test_helpers.c index 6ac73bff5c..b7bda16494 100644 --- a/src/test/test_helpers.c +++ b/src/test/test_helpers.c @@ -14,7 +14,7 @@ #include "orconfig.h" #include "core/or/or.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "app/config/config.h" #include "app/config/confparse.h" #include "core/mainloop/connection.h" diff --git a/src/test/test_hs_common.c b/src/test/test_hs_common.c index 95f7ed14ba..6198573f22 100644 --- a/src/test/test_hs_common.c +++ b/src/test/test_hs_common.c @@ -630,7 +630,7 @@ test_disaster_srv(void *arg) get_disaster_srv(1, srv_one); get_disaster_srv(2, srv_two); - /* Check that the cached ones where updated */ + /* Check that the cached ones were updated */ tt_mem_op(cached_disaster_srv_one, OP_EQ, srv_one, DIGEST256_LEN); tt_mem_op(cached_disaster_srv_two, OP_EQ, srv_two, DIGEST256_LEN); diff --git a/src/test/test_hs_config.c b/src/test/test_hs_config.c index 553b96758a..b6ab0c21f9 100644 --- a/src/test/test_hs_config.c +++ b/src/test/test_hs_config.c @@ -366,6 +366,22 @@ test_invalid_service_v3(void *arg) teardown_capture_of_logs(); } + /* v2-specific HiddenServiceAuthorizeClient set. */ + { + const char *conf = + "HiddenServiceDir /tmp/tor-test-hs-RANDOM/hs1\n" + "HiddenServiceVersion 3\n" + "HiddenServiceAuthorizeClient stealth client1\n"; + setup_full_capture_of_logs(LOG_WARN); + ret = helper_config_service(conf, validate_only); + tt_int_op(ret, OP_EQ, -1); + expect_log_msg_containing("Hidden service option " + "HiddenServiceAuthorizeClient is incompatible " + "with version 3 of service in " + "/tmp/tor-test-hs-RANDOM/hs1"); + teardown_capture_of_logs(); + } + done: ; } diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c index bfe50eb3c6..ee2d71aa75 100644 --- a/src/test/test_hs_service.c +++ b/src/test/test_hs_service.c @@ -1457,7 +1457,7 @@ test_build_update_descriptors(void *arg) /* Time to test the update of those descriptors. At first, we have no node * in the routerlist so this will find NO suitable node for the IPs. */ setup_full_capture_of_logs(LOG_INFO); - update_all_descriptors(now); + update_all_descriptors_intro_points(now); expect_log_msg_containing("Unable to find a suitable node to be an " "introduction point for service"); teardown_capture_of_logs(); @@ -1508,7 +1508,7 @@ test_build_update_descriptors(void *arg) /* We expect to pick only one intro point from the node above. */ setup_full_capture_of_logs(LOG_INFO); - update_all_descriptors(now); + update_all_descriptors_intro_points(now); tor_free(node->ri->onion_curve25519_pkey); /* Avoid memleak. */ tor_free(node->ri->cache_info.signing_key_cert); tor_free(node->ri->onion_pkey); diff --git a/src/test/test_logging.c b/src/test/test_logging.c index cd685a4af7..2ecae461a3 100644 --- a/src/test/test_logging.c +++ b/src/test/test_logging.c @@ -9,7 +9,6 @@ #include "lib/err/torerr.h" #include "lib/log/log.h" #include "test/test.h" -#include "lib/process/subprocess.h" #ifdef HAVE_UNISTD_H #include <unistd.h> @@ -117,22 +116,27 @@ test_sigsafe_err(void *arg) content = read_file_to_str(fn, 0, NULL); tt_ptr_op(content, OP_NE, NULL); - tor_split_lines(lines, content, (int)strlen(content)); + smartlist_split_string(lines, content, "\n", 0, 0); tt_int_op(smartlist_len(lines), OP_GE, 5); - if (strstr(smartlist_get(lines, 0), "opening new log file")) + if (strstr(smartlist_get(lines, 0), "opening new log file")) { + void *item = smartlist_get(lines, 0); smartlist_del_keeporder(lines, 0); + tor_free(item); + } + tt_assert(strstr(smartlist_get(lines, 0), "Say, this isn't too cool")); - /* Next line is blank. */ - tt_assert(!strcmpstart(smartlist_get(lines, 1), "==============")); - tt_assert(!strcmpstart(smartlist_get(lines, 2), "Minimal.")); - /* Next line is blank. */ - tt_assert(!strcmpstart(smartlist_get(lines, 3), "==============")); - tt_str_op(smartlist_get(lines, 4), OP_EQ, + tt_str_op(smartlist_get(lines, 1), OP_EQ, ""); + tt_assert(!strcmpstart(smartlist_get(lines, 2), "==============")); + tt_assert(!strcmpstart(smartlist_get(lines, 3), "Minimal.")); + tt_str_op(smartlist_get(lines, 4), OP_EQ, ""); + tt_assert(!strcmpstart(smartlist_get(lines, 5), "==============")); + tt_str_op(smartlist_get(lines, 6), OP_EQ, "Testing any attempt to manually log from a signal."); done: tor_free(content); + SMARTLIST_FOREACH(lines, char *, x, tor_free(x)); smartlist_free(lines); } diff --git a/src/test/test_mainloop.c b/src/test/test_mainloop.c index 92ce2e9918..d797417912 100644 --- a/src/test/test_mainloop.c +++ b/src/test/test_mainloop.c @@ -6,11 +6,23 @@ * \brief Tests for functions closely related to the Tor main loop */ +#define CONFIG_PRIVATE +#define MAINLOOP_PRIVATE +#define STATEFILE_PRIVATE + #include "test/test.h" #include "test/log_test_helpers.h" #include "core/or/or.h" +#include "core/mainloop/connection.h" #include "core/mainloop/mainloop.h" +#include "core/mainloop/netstatus.h" + +#include "feature/hs/hs_service.h" + +#include "app/config/config.h" +#include "app/config/statefile.h" +#include "app/config/or_state_st.h" static const uint64_t BILLION = 1000000000; @@ -131,12 +143,219 @@ test_mainloop_update_time_jumps(void *arg) monotime_disable_test_mocking(); } +static int schedule_rescan_called = 0; +static void +mock_schedule_rescan_periodic_events(void) +{ + ++schedule_rescan_called; +} + +static void +test_mainloop_user_activity(void *arg) +{ + (void)arg; + const time_t start = 1542658829; + update_approx_time(start); + + MOCK(schedule_rescan_periodic_events, mock_schedule_rescan_periodic_events); + + reset_user_activity(start); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start); + + set_network_participation(false); + + // reset can move backwards and forwards, but does not change network + // participation. + reset_user_activity(start-10); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start-10); + reset_user_activity(start+10); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start+10); + + tt_int_op(schedule_rescan_called, OP_EQ, 0); + tt_int_op(false, OP_EQ, is_participating_on_network()); + + // "note" can only move forward. Calling it from a non-participating + // state makes us rescan the periodic callbacks and set participation. + note_user_activity(start+20); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start+20); + tt_int_op(true, OP_EQ, is_participating_on_network()); + tt_int_op(schedule_rescan_called, OP_EQ, 1); + + // Calling it again will move us forward, but not call rescan again. + note_user_activity(start+25); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start+25); + tt_int_op(true, OP_EQ, is_participating_on_network()); + tt_int_op(schedule_rescan_called, OP_EQ, 1); + + // We won't move backwards. + note_user_activity(start+20); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start+25); + tt_int_op(true, OP_EQ, is_participating_on_network()); + tt_int_op(schedule_rescan_called, OP_EQ, 1); + + // We _will_ adjust if the clock jumps though. + netstatus_note_clock_jumped(500); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start+525); + + netstatus_note_clock_jumped(-400); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start+125); + + done: + UNMOCK(schedule_rescan_periodic_events); +} + +static unsigned int +mock_get_num_services(void) +{ + return 1; +} + +static connection_t * +mock_connection_gbtu(int type) +{ + (void) type; + return (void *)"hello fellow connections"; +} + +static void +test_mainloop_check_participation(void *arg) +{ + (void)arg; + or_options_t *options = options_new(); + const time_t start = 1542658829; + const time_t ONE_DAY = 24*60*60; + + // Suppose we've been idle for a day or two + reset_user_activity(start - 2*ONE_DAY); + set_network_participation(true); + check_network_participation_callback(start, options); + tt_int_op(is_participating_on_network(), OP_EQ, false); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start-2*ONE_DAY); + + // suppose we've been idle for 2 days... but we are a server. + reset_user_activity(start - 2*ONE_DAY); + options->ORPort_set = 1; + set_network_participation(true); + check_network_participation_callback(start+2, options); + tt_int_op(is_participating_on_network(), OP_EQ, true); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start+2); + options->ORPort_set = 0; + + // idle for 2 days, but we have a hidden service. + reset_user_activity(start - 2*ONE_DAY); + set_network_participation(true); + MOCK(hs_service_get_num_services, mock_get_num_services); + check_network_participation_callback(start+3, options); + tt_int_op(is_participating_on_network(), OP_EQ, true); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start+3); + UNMOCK(hs_service_get_num_services); + + // idle for 2 days but we have at least one user connection + MOCK(connection_get_by_type_nonlinked, mock_connection_gbtu); + reset_user_activity(start - 2*ONE_DAY); + set_network_participation(true); + options->DormantTimeoutDisabledByIdleStreams = 1; + check_network_participation_callback(start+10, options); + tt_int_op(is_participating_on_network(), OP_EQ, true); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start+10); + + // as above, but DormantTimeoutDisabledByIdleStreams is not set + reset_user_activity(start - 2*ONE_DAY); + set_network_participation(true); + options->DormantTimeoutDisabledByIdleStreams = 0; + check_network_participation_callback(start+13, options); + tt_int_op(is_participating_on_network(), OP_EQ, false); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start-2*ONE_DAY); + UNMOCK(connection_get_by_type_nonlinked); + options->DormantTimeoutDisabledByIdleStreams = 1; + + // idle for 2 days but DormantClientTimeout is 3 days + reset_user_activity(start - 2*ONE_DAY); + set_network_participation(true); + options->DormantClientTimeout = ONE_DAY * 3; + check_network_participation_callback(start+30, options); + tt_int_op(is_participating_on_network(), OP_EQ, true); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start-2*ONE_DAY); + + done: + or_options_free(options); + UNMOCK(hs_service_get_num_services); + UNMOCK(connection_get_by_type_nonlinked); +} + +static void +test_mainloop_dormant_load_state(void *arg) +{ + (void)arg; + or_state_t *state = or_state_new(); + const time_t start = 1543956575; + + reset_user_activity(0); + set_network_participation(false); + + // When we construct a new state, it starts out in "auto" mode. + tt_int_op(state->Dormant, OP_EQ, -1); + + // Initializing from "auto" makes us start out (by default) non-Dormant, + // with activity right now. + netstatus_load_from_state(state, start); + tt_assert(is_participating_on_network()); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start); + + // Initializing from dormant clears the last user activity time, and + // makes us dormant. + state->Dormant = 1; + netstatus_load_from_state(state, start); + tt_assert(! is_participating_on_network()); + tt_i64_op(get_last_user_activity_time(), OP_EQ, 0); + + // Initializing from non-dormant sets the last user activity time, and + // makes us non-dormant. + state->Dormant = 0; + state->MinutesSinceUserActivity = 123; + netstatus_load_from_state(state, start); + tt_assert(is_participating_on_network()); + tt_i64_op(get_last_user_activity_time(), OP_EQ, start - 123*60); + + done: + or_state_free(state); +} + +static void +test_mainloop_dormant_save_state(void *arg) +{ + (void)arg; + or_state_t *state = or_state_new(); + const time_t start = 1543956575; + + // Can we save a non-dormant state correctly? + reset_user_activity(start - 1000); + set_network_participation(true); + netstatus_flush_to_state(state, start); + + tt_int_op(state->Dormant, OP_EQ, 0); + tt_int_op(state->MinutesSinceUserActivity, OP_EQ, 1000 / 60); + + // Can we save a dormant state correctly? + set_network_participation(false); + netstatus_flush_to_state(state, start); + + tt_int_op(state->Dormant, OP_EQ, 1); + tt_int_op(state->MinutesSinceUserActivity, OP_EQ, 0); + + done: + or_state_free(state); +} + #define MAINLOOP_TEST(name) \ { #name, test_mainloop_## name , TT_FORK, NULL, NULL } struct testcase_t mainloop_tests[] = { MAINLOOP_TEST(update_time_normal), MAINLOOP_TEST(update_time_jumps), + MAINLOOP_TEST(user_activity), + MAINLOOP_TEST(check_participation), + MAINLOOP_TEST(dormant_load_state), + MAINLOOP_TEST(dormant_save_state), END_OF_TESTCASES }; - diff --git a/src/test/test_microdesc.c b/src/test/test_microdesc.c index 8ede2690ec..fd79aee6be 100644 --- a/src/test/test_microdesc.c +++ b/src/test/test_microdesc.c @@ -11,6 +11,7 @@ #include "feature/dirparse/routerparse.h" #include "feature/nodelist/microdesc.h" #include "feature/nodelist/networkstatus.h" +#include "feature/nodelist/nodefamily.h" #include "feature/nodelist/routerlist.h" #include "feature/nodelist/torcert.h" @@ -70,6 +71,7 @@ test_md_cache(void *data) const char *test_md3_noannotation = strchr(test_md3, '\n')+1; time_t time1, time2, time3; char *fn = NULL, *s = NULL; + char *encoded_family = NULL; (void)data; options = get_options_mutable(); @@ -172,8 +174,9 @@ test_md_cache(void *data) tt_ptr_op(md1->family, OP_EQ, NULL); tt_ptr_op(md3->family, OP_NE, NULL); - tt_int_op(smartlist_len(md3->family), OP_EQ, 3); - tt_str_op(smartlist_get(md3->family, 0), OP_EQ, "nodeX"); + + encoded_family = nodefamily_format(md3->family); + tt_str_op(encoded_family, OP_EQ, "nodex nodey nodez"); /* Now rebuild the cache! */ tt_int_op(microdesc_cache_rebuild(mc, 1), OP_EQ, 0); @@ -254,6 +257,7 @@ test_md_cache(void *data) smartlist_free(wanted); tor_free(s); tor_free(fn); + tor_free(encoded_family); } static const char truncated_md[] = @@ -417,6 +421,28 @@ static const char test_md2_21[] = "ntor-onion-key hbxdRnfVUJJY7+KcT4E3Rs7/zuClbN3hJrjSBiEGMgI=\n" "id ed25519 wqfLzgfCtRfYNg88LsL1QpzxS0itapJ1aj6TbnByx/Q\n"; +static const char test_md2_withfamily_28[] = + "onion-key\n" + "-----BEGIN RSA PUBLIC KEY-----\n" + "MIGJAoGBAL2R8EfubUcahxha4u02P4VAR0llQIMwFAmrHPjzcK7apcQgDOf2ovOA\n" + "+YQnJFxlpBmCoCZC6ssCi+9G0mqo650lFuTMP5I90BdtjotfzESfTykHLiChyvhd\n" + "l0dlqclb2SU/GKem/fLRXH16aNi72CdSUu/1slKs/70ILi34QixRAgMBAAE=\n" + "-----END RSA PUBLIC KEY-----\n" + "ntor-onion-key hbxdRnfVUJJY7+KcT4E3Rs7/zuClbN3hJrjSBiEGMgI=\n" + "family OtherNode !Strange\n" + "id ed25519 wqfLzgfCtRfYNg88LsL1QpzxS0itapJ1aj6TbnByx/Q\n"; + +static const char test_md2_withfamily_29[] = + "onion-key\n" + "-----BEGIN RSA PUBLIC KEY-----\n" + "MIGJAoGBAL2R8EfubUcahxha4u02P4VAR0llQIMwFAmrHPjzcK7apcQgDOf2ovOA\n" + "+YQnJFxlpBmCoCZC6ssCi+9G0mqo650lFuTMP5I90BdtjotfzESfTykHLiChyvhd\n" + "l0dlqclb2SU/GKem/fLRXH16aNi72CdSUu/1slKs/70ILi34QixRAgMBAAE=\n" + "-----END RSA PUBLIC KEY-----\n" + "ntor-onion-key hbxdRnfVUJJY7+KcT4E3Rs7/zuClbN3hJrjSBiEGMgI=\n" + "family !Strange $B7E27F104213C36F13E7E9829182845E495997A0 othernode\n" + "id ed25519 wqfLzgfCtRfYNg88LsL1QpzxS0itapJ1aj6TbnByx/Q\n"; + static void test_md_generate(void *arg) { @@ -447,6 +473,17 @@ test_md_generate(void *arg) tt_assert(ed25519_pubkey_eq(md->ed25519_identity_pkey, &ri->cache_info.signing_key_cert->signing_key)); + // Try family encoding. + microdesc_free(md); + ri->declared_family = smartlist_new(); + smartlist_add_strdup(ri->declared_family, "OtherNode !Strange"); + md = dirvote_create_microdescriptor(ri, 28); + tt_str_op(md->body, OP_EQ, test_md2_withfamily_28); + + microdesc_free(md); + md = dirvote_create_microdescriptor(ri, 29); + tt_str_op(md->body, OP_EQ, test_md2_withfamily_29); + done: microdesc_free(md); routerinfo_free(ri); diff --git a/src/test/test_nodelist.c b/src/test/test_nodelist.c index 1af6db68ec..ed919f4edf 100644 --- a/src/test/test_nodelist.c +++ b/src/test/test_nodelist.c @@ -6,15 +6,19 @@ * \brief Unit tests for nodelist related functions. **/ +#define NODELIST_PRIVATE + #include "core/or/or.h" #include "lib/crypt_ops/crypto_rand.h" #include "feature/nodelist/networkstatus.h" +#include "feature/nodelist/nodefamily.h" #include "feature/nodelist/nodelist.h" #include "feature/nodelist/torcert.h" #include "feature/nodelist/microdesc_st.h" #include "feature/nodelist/networkstatus_st.h" #include "feature/nodelist/node_st.h" +#include "feature/nodelist/nodefamily_st.h" #include "feature/nodelist/routerinfo_st.h" #include "feature/nodelist/routerstatus_st.h" @@ -231,6 +235,411 @@ test_nodelist_ed_id(void *arg) #undef N_NODES } +static void +test_nodelist_nodefamily(void *arg) +{ + (void)arg; + /* hex ID digests */ + const char h1[] = "5B435D6869206861206C65207363617270652070"; + const char h2[] = "75C3B220616E6461726520696E206769726F2061"; + const char h3[] = "2074726F766172206461206D616E67696172652C"; + const char h4[] = "206D656E747265206E6F6E2076616C65206C2769"; + const char h5[] = "6E766572736F2E202D2D5072696D6F204C657669"; + + /* binary ID digests */ + uint8_t d1[DIGEST_LEN], d2[DIGEST_LEN], d3[DIGEST_LEN], d4[DIGEST_LEN], + d5[DIGEST_LEN]; + base16_decode((char*)d1, sizeof(d1), h1, strlen(h1)); + base16_decode((char*)d2, sizeof(d2), h2, strlen(h2)); + base16_decode((char*)d3, sizeof(d3), h3, strlen(h3)); + base16_decode((char*)d4, sizeof(d4), h4, strlen(h4)); + base16_decode((char*)d5, sizeof(d5), h5, strlen(h5)); + + char *enc=NULL, *enc2=NULL; + + nodefamily_t *nf1 = NULL; + nodefamily_t *nf2 = NULL; + nodefamily_t *nf3 = NULL; + + enc = nodefamily_format(NULL); + tt_str_op(enc, OP_EQ, ""); + tor_free(enc); + + /* Make sure that sorting and de-duplication work. */ + tor_asprintf(&enc, "$%s hello", h1); + nf1 = nodefamily_parse(enc, NULL, 0); + tt_assert(nf1); + tor_free(enc); + + tor_asprintf(&enc, "hello hello $%s hello", h1); + nf2 = nodefamily_parse(enc, NULL, 0); + tt_assert(nf2); + tt_ptr_op(nf1, OP_EQ, nf2); + tor_free(enc); + + tor_asprintf(&enc, "%s $%s hello", h1, h1); + nf3 = nodefamily_parse(enc, NULL, 0); + tt_assert(nf3); + tt_ptr_op(nf1, OP_EQ, nf3); + tor_free(enc); + + tt_assert(nodefamily_contains_rsa_id(nf1, d1)); + tt_assert(! nodefamily_contains_rsa_id(nf1, d2)); + tt_assert(nodefamily_contains_nickname(nf1, "hello")); + tt_assert(nodefamily_contains_nickname(nf1, "HELLO")); + tt_assert(! nodefamily_contains_nickname(nf1, "goodbye")); + + tt_int_op(nf1->refcnt, OP_EQ, 3); + nodefamily_free(nf3); + tt_int_op(nf1->refcnt, OP_EQ, 2); + + /* Try parsing with a provided self RSA digest. */ + nf3 = nodefamily_parse("hello ", d1, 0); + tt_assert(nf3); + tt_ptr_op(nf1, OP_EQ, nf3); + + /* Do we get the expected result when we re-encode? */ + tor_asprintf(&enc, "$%s hello", h1); + enc2 = nodefamily_format(nf1); + tt_str_op(enc2, OP_EQ, enc); + tor_free(enc2); + tor_free(enc); + + /* Make sure that we get a different result if we give a different digest. */ + nodefamily_free(nf3); + tor_asprintf(&enc, "hello $%s hello", h3); + nf3 = nodefamily_parse(enc, NULL, 0); + tt_assert(nf3); + tt_ptr_op(nf1, OP_NE, nf3); + tor_free(enc); + + tt_assert(nodefamily_contains_rsa_id(nf3, d3)); + tt_assert(! nodefamily_contains_rsa_id(nf3, d2)); + tt_assert(! nodefamily_contains_rsa_id(nf3, d1)); + tt_assert(nodefamily_contains_nickname(nf3, "hello")); + tt_assert(! nodefamily_contains_nickname(nf3, "goodbye")); + + nodefamily_free(nf1); + nodefamily_free(nf2); + nodefamily_free(nf3); + + /* Try one with several digests, all with nicknames appended, in different + formats. */ + tor_asprintf(&enc, "%s $%s $%s=res $%s~ist", h1, h2, h3, h4); + nf1 = nodefamily_parse(enc, d5, 0); + tt_assert(nf1); + tt_assert(nodefamily_contains_rsa_id(nf1, d1)); + tt_assert(nodefamily_contains_rsa_id(nf1, d2)); + tt_assert(nodefamily_contains_rsa_id(nf1, d3)); + tt_assert(nodefamily_contains_rsa_id(nf1, d4)); + tt_assert(nodefamily_contains_rsa_id(nf1, d5)); + /* Nicknames aren't preserved when ids are present, since node naming is + * deprecated */ + tt_assert(! nodefamily_contains_nickname(nf3, "res")); + tor_free(enc); + tor_asprintf(&enc, "$%s $%s $%s $%s $%s", h4, h3, h1, h5, h2); + enc2 = nodefamily_format(nf1); + tt_str_op(enc, OP_EQ, enc2); + tor_free(enc); + tor_free(enc2); + + /* Try ones where we parse the empty string. */ + nf2 = nodefamily_parse("", NULL, 0); + nf3 = nodefamily_parse("", d4, 0); + tt_assert(nf2); + tt_assert(nf3); + tt_ptr_op(nf2, OP_NE, nf3); + + tt_assert(! nodefamily_contains_rsa_id(nf2, d4)); + tt_assert(nodefamily_contains_rsa_id(nf3, d4)); + tt_assert(! nodefamily_contains_rsa_id(nf2, d5)); + tt_assert(! nodefamily_contains_rsa_id(nf3, d5)); + tt_assert(! nodefamily_contains_nickname(nf2, "fred")); + tt_assert(! nodefamily_contains_nickname(nf3, "bosco")); + + /* The NULL family should contain nothing. */ + tt_assert(! nodefamily_contains_rsa_id(NULL, d4)); + tt_assert(! nodefamily_contains_rsa_id(NULL, d5)); + + done: + tor_free(enc); + tor_free(enc2); + nodefamily_free(nf1); + nodefamily_free(nf2); + nodefamily_free(nf3); + nodefamily_free_all(); +} + +static void +test_nodelist_nodefamily_parse_err(void *arg) +{ + (void)arg; + nodefamily_t *nf1 = NULL; + char *enc = NULL; + const char *semibogus = + "sdakljfdslkfjdsaklfjdkl9sdf " // too long for nickname + "$jkASDFLkjsadfjhkl " // not hex + "$7468696e67732d696e2d7468656d73656c766573 " // ok + "reticulatogranulate "// ok + "$73656d69616e7468726f706f6c6f676963616c6c79 " // too long for hex + "$616273656e746d696e6465646e6573736573" // too short for hex + ; + + setup_capture_of_logs(LOG_WARN); + + // We only get two items when we parse this. + for (int reject = 0; reject <= 1; ++reject) { + for (int log_at_warn = 0; log_at_warn <= 1; ++log_at_warn) { + unsigned flags = log_at_warn ? NF_WARN_MALFORMED : 0; + flags |= reject ? NF_REJECT_MALFORMED : 0; + nf1 = nodefamily_parse(semibogus, NULL, flags); + if (reject) { + tt_assert(nf1 == NULL); + } else { + tt_assert(nf1); + enc = nodefamily_format(nf1); + tt_str_op(enc, OP_EQ, + "$7468696E67732D696E2D7468656D73656C766573 " + "reticulatogranulate"); + tor_free(enc); + } + + if (log_at_warn) { + expect_log_msg_containing("$616273656e746d696e6465646e6573736573"); + expect_log_msg_containing("sdakljfdslkfjdsaklfjdkl9sdf"); + } else { + tt_int_op(mock_saved_log_n_entries(), OP_EQ, 0); + } + mock_clean_saved_logs(); + } + } + + done: + tor_free(enc); + nodefamily_free(nf1); + teardown_capture_of_logs(); +} + +static const node_t * +mock_node_get_by_id(const char *id) +{ + if (fast_memeq(id, "!!!!!!!!!!!!!!!!!!!!", DIGEST_LEN)) + return NULL; + + // use tor_free, not node_free. + node_t *fake_node = tor_malloc_zero(sizeof(node_t)); + memcpy(fake_node->identity, id, DIGEST_LEN); + return fake_node; +} + +static const node_t * +mock_node_get_by_nickname(const char *nn, unsigned flags) +{ + (void)flags; + if (!strcmp(nn, "nonesuch")) + return NULL; + + // use tor_free, not node_free. + node_t *fake_node = tor_malloc_zero(sizeof(node_t)); + strlcpy(fake_node->identity, nn, DIGEST_LEN); + return fake_node; +} + +static void +test_nodelist_nodefamily_lookup(void *arg) +{ + (void)arg; + MOCK(node_get_by_nickname, mock_node_get_by_nickname); + MOCK(node_get_by_id, mock_node_get_by_id); + smartlist_t *sl = smartlist_new(); + nodefamily_t *nf1 = NULL; + char *mem_op_hex_tmp = NULL; + + // 'null' is allowed. + nodefamily_add_nodes_to_smartlist(NULL, sl); + tt_int_op(smartlist_len(sl), OP_EQ, 0); + + // Try a real family + nf1 = nodefamily_parse("$EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE " + "$2121212121212121212121212121212121212121 " + "$3333333333333333333333333333333333333333 " + "erewhon nonesuch", NULL, 0); + tt_assert(nf1); + nodefamily_add_nodes_to_smartlist(nf1, sl); + // There were 5 elements; 2 were dropped because the mocked lookup failed. + tt_int_op(smartlist_len(sl), OP_EQ, 3); + + const node_t *n = smartlist_get(sl, 0); + test_memeq_hex(n->identity, "3333333333333333333333333333333333333333"); + n = smartlist_get(sl, 1); + test_memeq_hex(n->identity, "EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE"); + n = smartlist_get(sl, 2); + tt_str_op(n->identity, OP_EQ, "erewhon"); + + done: + UNMOCK(node_get_by_nickname); + UNMOCK(node_get_by_id); + SMARTLIST_FOREACH(sl, node_t *, fake_node, tor_free(fake_node)); + smartlist_free(sl); + nodefamily_free(nf1); + tor_free(mem_op_hex_tmp); +} + +static void +test_nodelist_nickname_matches(void *arg) +{ + (void)arg; + node_t mock_node; + routerstatus_t mock_rs; + memset(&mock_node, 0, sizeof(mock_node)); + memset(&mock_rs, 0, sizeof(mock_rs)); + + strlcpy(mock_rs.nickname, "evilgeniuses", sizeof(mock_rs.nickname)); + mock_node.rs = &mock_rs; + memcpy(mock_node.identity, ".forabettertomorrow.", DIGEST_LEN); + +#define match(x) tt_assert(node_nickname_matches(&mock_node, (x))) +#define no_match(x) tt_assert(! node_nickname_matches(&mock_node, (x))) + + match("evilgeniuses"); + match("EvilGeniuses"); + match("EvilGeniuses"); + match("2e666f7261626574746572746f6d6f72726f772e"); + match("2E666F7261626574746572746F6D6F72726F772E"); + match("$2e666f7261626574746572746f6d6f72726f772e"); + match("$2E666F7261626574746572746F6D6F72726F772E"); + match("$2E666F7261626574746572746F6D6F72726F772E~evilgeniuses"); + match("$2E666F7261626574746572746F6D6F72726F772E~EVILGENIUSES"); + + no_match("evilgenius"); + no_match("evilgeniuseses"); + no_match("evil.genius"); + no_match("$2E666F7261626574746572746F6D6F72726FFFFF"); + no_match("2E666F7261626574746572746F6D6F72726FFFFF"); + no_match("$2E666F7261626574746572746F6D6F72726F772E~fred"); + no_match("$2E666F7261626574746572746F6D6F72726F772E=EVILGENIUSES"); + done: + ; +} + +static void +test_nodelist_node_nodefamily(void *arg) +{ + (void)arg; + node_t mock_node1; + routerstatus_t mock_rs; + microdesc_t mock_md; + + node_t mock_node2; + routerinfo_t mock_ri; + + smartlist_t *nodes=smartlist_new(); + + memset(&mock_node1, 0, sizeof(mock_node1)); + memset(&mock_node2, 0, sizeof(mock_node2)); + memset(&mock_rs, 0, sizeof(mock_rs)); + memset(&mock_md, 0, sizeof(mock_md)); + memset(&mock_ri, 0, sizeof(mock_ri)); + + mock_node1.rs = &mock_rs; + mock_node1.md = &mock_md; + + mock_node2.ri = &mock_ri; + + strlcpy(mock_rs.nickname, "nodeone", sizeof(mock_rs.nickname)); + mock_ri.nickname = tor_strdup("nodetwo"); + + memcpy(mock_node1.identity, "NodeOneNode1NodeOne1", DIGEST_LEN); + memcpy(mock_node2.identity, "SecondNodeWe'reTestn", DIGEST_LEN); + + // empty families. + tt_assert(! node_family_contains(&mock_node1, &mock_node2)); + tt_assert(! node_family_contains(&mock_node2, &mock_node1)); + + // Families contain nodes, but not these nodes + mock_ri.declared_family = smartlist_new(); + smartlist_add(mock_ri.declared_family, (char*)"NodeThree"); + mock_md.family = nodefamily_parse("NodeFour", NULL, 0); + tt_assert(! node_family_contains(&mock_node1, &mock_node2)); + tt_assert(! node_family_contains(&mock_node2, &mock_node1)); + + // Families contain one another. + smartlist_add(mock_ri.declared_family, (char*) + "4e6f64654f6e654e6f6465314e6f64654f6e6531"); + tt_assert(! node_family_contains(&mock_node1, &mock_node2)); + tt_assert(node_family_contains(&mock_node2, &mock_node1)); + + nodefamily_free(mock_md.family); + mock_md.family = nodefamily_parse( + "NodeFour " + "5365636f6e644e6f64655765277265546573746e", NULL, 0); + tt_assert(node_family_contains(&mock_node1, &mock_node2)); + tt_assert(node_family_contains(&mock_node2, &mock_node1)); + + // Try looking up families now. + MOCK(node_get_by_nickname, mock_node_get_by_nickname); + MOCK(node_get_by_id, mock_node_get_by_id); + + node_lookup_declared_family(nodes, &mock_node1); + tt_int_op(smartlist_len(nodes), OP_EQ, 2); + const node_t *n = smartlist_get(nodes, 0); + tt_mem_op(n->identity, OP_EQ, "SecondNodeWe'reTestn", DIGEST_LEN); + n = smartlist_get(nodes, 1); + tt_str_op(n->identity, OP_EQ, "nodefour"); + + // free, try the other one. + SMARTLIST_FOREACH(nodes, node_t *, x, tor_free(x)); + smartlist_clear(nodes); + + node_lookup_declared_family(nodes, &mock_node2); + tt_int_op(smartlist_len(nodes), OP_EQ, 2); + n = smartlist_get(nodes, 0); + // This gets a truncated hex hex ID since it was looked up by name + tt_str_op(n->identity, OP_EQ, "NodeThree"); + n = smartlist_get(nodes, 1); + tt_str_op(n->identity, OP_EQ, "4e6f64654f6e654e6f6"); + + done: + UNMOCK(node_get_by_nickname); + UNMOCK(node_get_by_id); + smartlist_free(mock_ri.declared_family); + nodefamily_free(mock_md.family); + tor_free(mock_ri.nickname); + // use tor_free, these aren't real nodes + SMARTLIST_FOREACH(nodes, node_t *, x, tor_free(x)); + smartlist_free(nodes); +} + +static void +test_nodelist_nodefamily_canonicalize(void *arg) +{ + (void)arg; + char *c = NULL; + + c = nodefamily_canonicalize("", NULL, 0); + tt_str_op(c, OP_EQ, ""); + tor_free(c); + + uint8_t own_id[20]; + memset(own_id, 0, sizeof(own_id)); + c = nodefamily_canonicalize( + "alice BOB caroL %potrzebie !!!@#@# " + "$bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb=fred " + "ffffffffffffffffffffffffffffffffffffffff " + "$cccccccccccccccccccccccccccccccccccccccc ", own_id, 0); + tt_str_op(c, OP_EQ, + "!!!@#@# " + "$0000000000000000000000000000000000000000 " + "$BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB " + "$CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC " + "$FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF " + "%potrzebie " + "alice bob carol"); + + done: + tor_free(c); +} + #define NODE(name, flags) \ { #name, test_nodelist_##name, (flags), NULL, NULL } @@ -239,6 +648,11 @@ struct testcase_t nodelist_tests[] = { NODE(node_get_verbose_nickname_not_named, TT_FORK), NODE(node_is_dir, TT_FORK), NODE(ed_id, TT_FORK), + NODE(nodefamily, TT_FORK), + NODE(nodefamily_parse_err, TT_FORK), + NODE(nodefamily_lookup, TT_FORK), + NODE(nickname_matches, 0), + NODE(node_nodefamily, TT_FORK), + NODE(nodefamily_canonicalize, 0), END_OF_TESTCASES }; - diff --git a/src/test/test_oom.c b/src/test/test_oom.c index 313a6b3114..f84dc0764b 100644 --- a/src/test/test_oom.c +++ b/src/test/test_oom.c @@ -8,7 +8,7 @@ #define CIRCUITLIST_PRIVATE #define CONNECTION_PRIVATE #include "core/or/or.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "core/or/circuitlist.h" #include "lib/evloop/compat_libevent.h" #include "core/mainloop/connection.h" diff --git a/src/test/test_options.c b/src/test/test_options.c index f14e620eeb..376d77626f 100644 --- a/src/test/test_options.c +++ b/src/test/test_options.c @@ -425,6 +425,7 @@ get_options_test_data(const char *conf) // with options_init(), but about a dozen tests break when I do that. // Being kinda lame and just fixing the immedate breakage for now.. result->opt->ConnectionPadding = -1; // default must be "auto" + result->opt->DormantClientTimeout = 1800; // must be over 600. rv = config_get_lines(conf, &cl, 1); tt_int_op(rv, OP_EQ, 0); diff --git a/src/test/test_parsecommon.c b/src/test/test_parsecommon.c index 6da125dd0a..8e74fcdb4d 100644 --- a/src/test/test_parsecommon.c +++ b/src/test/test_parsecommon.c @@ -300,8 +300,8 @@ test_parsecommon_get_next_token_parse_keys(void *arg) tt_int_op(token->tp, OP_EQ, R_IPO_ONION_KEY); tt_int_op(token->n_args, OP_EQ, 0); tt_str_op(token->object_type, OP_EQ, "RSA PUBLIC KEY"); - tt_int_op(token->object_size, OP_EQ, 0); - tt_assert(!token->object_body); + tt_int_op(token->object_size, OP_EQ, 140); + tt_assert(token->object_body); tt_assert(token->key); tt_assert(!token->error); @@ -335,8 +335,8 @@ test_parsecommon_get_next_token_parse_keys(void *arg) tt_int_op(token2->tp, OP_EQ, C_CLIENT_KEY); tt_int_op(token2->n_args, OP_EQ, 0); tt_str_op(token2->object_type, OP_EQ, "RSA PRIVATE KEY"); - tt_int_op(token2->object_size, OP_EQ, 0); - tt_assert(!token2->object_body); + tt_int_op(token2->object_size, OP_EQ, 608); + tt_assert(token2->object_body); tt_assert(token2->key); tt_assert(!token->error); diff --git a/src/test/test_periodic_event.c b/src/test/test_periodic_event.c index 86dedd85d8..f3d518eb7b 100644 --- a/src/test/test_periodic_event.c +++ b/src/test/test_periodic_event.c @@ -19,6 +19,7 @@ #include "feature/hibernate/hibernate.h" #include "feature/hs/hs_service.h" #include "core/mainloop/mainloop.h" +#include "core/mainloop/netstatus.h" #include "core/mainloop/periodic.h" /** Helper function: This is replaced in some tests for the event callbacks so @@ -50,6 +51,8 @@ test_pe_initialize(void *arg) * need to run the main loop and then wait for a second delaying the unit * tests. Instead, we'll test the callback work indepedently elsewhere. */ initialize_periodic_events(); + set_network_participation(false); + rescan_periodic_events(get_options()); /* Validate that all events have been set up. */ for (int i = 0; periodic_events[i].name; ++i) { @@ -59,7 +62,9 @@ test_pe_initialize(void *arg) tt_u64_op(item->last_action_time, OP_EQ, 0); /* Every event must have role(s) assign to it. This is done statically. */ tt_u64_op(item->roles, OP_NE, 0); - tt_uint_op(periodic_event_is_enabled(item), OP_EQ, 0); + int should_be_enabled = (item->roles & PERIODIC_EVENT_ROLE_ALL) && + !(item->flags & PERIODIC_EVENT_FLAG_NEED_NET); + tt_uint_op(periodic_event_is_enabled(item), OP_EQ, should_be_enabled); } done: @@ -79,6 +84,8 @@ test_pe_launch(void *arg) * network gets enabled. */ consider_hibernation(time(NULL)); + set_network_participation(true); + /* Hack: We'll set a dumb fn() of each events so they don't get called when * dispatching them. We just want to test the state of the callbacks, not * the whole code path. */ @@ -90,6 +97,7 @@ test_pe_launch(void *arg) options = get_options_mutable(); options->SocksPort_set = 1; periodic_events_on_new_options(options); + #if 0 /* Lets make sure that before intialization, we can't scan the periodic * events list and launch them. Lets try by being a Client. */ @@ -106,13 +114,12 @@ test_pe_launch(void *arg) /* Now that we've initialized, rescan the list to launch. */ periodic_events_on_new_options(options); + int mask = PERIODIC_EVENT_ROLE_CLIENT|PERIODIC_EVENT_ROLE_ALL| + PERIODIC_EVENT_ROLE_NET_PARTICIPANT; for (int i = 0; periodic_events[i].name; ++i) { periodic_event_item_t *item = &periodic_events[i]; - if (item->roles & PERIODIC_EVENT_ROLE_CLIENT) { - tt_int_op(periodic_event_is_enabled(item), OP_EQ, 1); - } else { - tt_int_op(periodic_event_is_enabled(item), OP_EQ, 0); - } + int should_be_enabled = !!(item->roles & mask); + tt_int_op(periodic_event_is_enabled(item), OP_EQ, should_be_enabled); // enabled or not, the event has not yet been run. tt_u64_op(item->last_action_time, OP_EQ, 0); } @@ -124,7 +131,8 @@ test_pe_launch(void *arg) unsigned roles = get_my_roles(options); tt_uint_op(roles, OP_EQ, - PERIODIC_EVENT_ROLE_RELAY|PERIODIC_EVENT_ROLE_DIRSERVER); + PERIODIC_EVENT_ROLE_RELAY|PERIODIC_EVENT_ROLE_DIRSERVER| + PERIODIC_EVENT_ROLE_ALL|PERIODIC_EVENT_ROLE_NET_PARTICIPANT); for (int i = 0; periodic_events[i].name; ++i) { periodic_event_item_t *item = &periodic_events[i]; @@ -144,17 +152,23 @@ test_pe_launch(void *arg) /* Disable everything and we'll enable them ALL. */ options->SocksPort_set = 0; options->ORPort_set = 0; + options->DisableNetwork = 1; + set_network_participation(false); periodic_events_on_new_options(options); for (int i = 0; periodic_events[i].name; ++i) { periodic_event_item_t *item = &periodic_events[i]; - tt_int_op(periodic_event_is_enabled(item), OP_EQ, 0); + int should_be_enabled = (item->roles & PERIODIC_EVENT_ROLE_ALL) && + !(item->flags & PERIODIC_EVENT_FLAG_NEED_NET); + tt_int_op(periodic_event_is_enabled(item), OP_EQ, should_be_enabled); } /* Enable everything. */ options->SocksPort_set = 1; options->ORPort_set = 1; options->BridgeRelay = 1; options->AuthoritativeDir = 1; options->V3AuthoritativeDir = 1; options->BridgeAuthoritativeDir = 1; + options->DisableNetwork = 0; + set_network_participation(true); register_dummy_hidden_service(&service); periodic_events_on_new_options(options); /* Note down the reference because we need to remove this service from the @@ -165,7 +179,8 @@ test_pe_launch(void *arg) for (int i = 0; periodic_events[i].name; ++i) { periodic_event_item_t *item = &periodic_events[i]; - tt_int_op(periodic_event_is_enabled(item), OP_EQ, 1); + tt_int_op(periodic_event_is_enabled(item), OP_EQ, + (item->roles != PERIODIC_EVENT_ROLE_CONTROLEV)); } done: @@ -187,42 +202,49 @@ test_pe_get_roles(void *arg) or_options_t *options = get_options_mutable(); tt_assert(options); + set_network_participation(true); + + const int ALL = PERIODIC_EVENT_ROLE_ALL | + PERIODIC_EVENT_ROLE_NET_PARTICIPANT; /* Nothing configured, should be no roles. */ + tt_assert(net_is_disabled()); roles = get_my_roles(options); - tt_int_op(roles, OP_EQ, 0); + tt_int_op(roles, OP_EQ, ALL); /* Indicate we have a SocksPort, roles should be come Client. */ options->SocksPort_set = 1; roles = get_my_roles(options); - tt_int_op(roles, OP_EQ, PERIODIC_EVENT_ROLE_CLIENT); + tt_int_op(roles, OP_EQ, PERIODIC_EVENT_ROLE_CLIENT|ALL); /* Now, we'll add a ORPort so should now be a Relay + Client. */ options->ORPort_set = 1; roles = get_my_roles(options); tt_int_op(roles, OP_EQ, (PERIODIC_EVENT_ROLE_CLIENT | PERIODIC_EVENT_ROLE_RELAY | - PERIODIC_EVENT_ROLE_DIRSERVER)); + PERIODIC_EVENT_ROLE_DIRSERVER | ALL)); /* Now add a Bridge. */ options->BridgeRelay = 1; roles = get_my_roles(options); tt_int_op(roles, OP_EQ, (PERIODIC_EVENT_ROLE_CLIENT | PERIODIC_EVENT_ROLE_RELAY | - PERIODIC_EVENT_ROLE_BRIDGE | PERIODIC_EVENT_ROLE_DIRSERVER)); + PERIODIC_EVENT_ROLE_BRIDGE | PERIODIC_EVENT_ROLE_DIRSERVER | + ALL)); tt_assert(roles & PERIODIC_EVENT_ROLE_ROUTER); /* Unset client so we can solely test Router role. */ options->SocksPort_set = 0; roles = get_my_roles(options); tt_int_op(roles, OP_EQ, - PERIODIC_EVENT_ROLE_ROUTER | PERIODIC_EVENT_ROLE_DIRSERVER); + PERIODIC_EVENT_ROLE_ROUTER | PERIODIC_EVENT_ROLE_DIRSERVER | + ALL); /* Reset options so we can test authorities. */ options->SocksPort_set = 0; options->ORPort_set = 0; options->BridgeRelay = 0; roles = get_my_roles(options); - tt_int_op(roles, OP_EQ, 0); + tt_int_op(roles, OP_EQ, ALL); /* Now upgrade to Dirauth. */ options->DirPort_set = 1; @@ -230,7 +252,7 @@ test_pe_get_roles(void *arg) options->V3AuthoritativeDir = 1; roles = get_my_roles(options); tt_int_op(roles, OP_EQ, - PERIODIC_EVENT_ROLE_DIRAUTH|PERIODIC_EVENT_ROLE_DIRSERVER); + PERIODIC_EVENT_ROLE_DIRAUTH|PERIODIC_EVENT_ROLE_DIRSERVER|ALL); tt_assert(roles & PERIODIC_EVENT_ROLE_AUTHORITIES); /* Now Bridge Authority. */ @@ -238,7 +260,7 @@ test_pe_get_roles(void *arg) options->BridgeAuthoritativeDir = 1; roles = get_my_roles(options); tt_int_op(roles, OP_EQ, - PERIODIC_EVENT_ROLE_BRIDGEAUTH|PERIODIC_EVENT_ROLE_DIRSERVER); + PERIODIC_EVENT_ROLE_BRIDGEAUTH|PERIODIC_EVENT_ROLE_DIRSERVER|ALL); tt_assert(roles & PERIODIC_EVENT_ROLE_AUTHORITIES); /* Move that bridge auth to become a relay. */ @@ -246,7 +268,7 @@ test_pe_get_roles(void *arg) roles = get_my_roles(options); tt_int_op(roles, OP_EQ, (PERIODIC_EVENT_ROLE_BRIDGEAUTH | PERIODIC_EVENT_ROLE_RELAY - | PERIODIC_EVENT_ROLE_DIRSERVER)); + | PERIODIC_EVENT_ROLE_DIRSERVER|ALL)); tt_assert(roles & PERIODIC_EVENT_ROLE_AUTHORITIES); /* And now an Hidden service. */ @@ -257,7 +279,8 @@ test_pe_get_roles(void *arg) remove_service(get_hs_service_map(), &service); tt_int_op(roles, OP_EQ, (PERIODIC_EVENT_ROLE_BRIDGEAUTH | PERIODIC_EVENT_ROLE_RELAY | - PERIODIC_EVENT_ROLE_HS_SERVICE | PERIODIC_EVENT_ROLE_DIRSERVER)); + PERIODIC_EVENT_ROLE_HS_SERVICE | PERIODIC_EVENT_ROLE_DIRSERVER | + ALL)); tt_assert(roles & PERIODIC_EVENT_ROLE_AUTHORITIES); done: diff --git a/src/test/test_policy.c b/src/test/test_policy.c index afe608f5f7..3820c6c1db 100644 --- a/src/test/test_policy.c +++ b/src/test/test_policy.c @@ -2024,6 +2024,20 @@ test_policies_fascist_firewall_allows_address(void *arg) expect_ap); \ STMT_END +/** Mock the preferred address function to return zero (prefer IPv4). */ +static int +mock_fascist_firewall_rand_prefer_ipv6_addr_use_ipv4(void) +{ + return 0; +} + +/** Mock the preferred address function to return one (prefer IPv6). */ +static int +mock_fascist_firewall_rand_prefer_ipv6_addr_use_ipv6(void) +{ + return 1; +} + /** Run unit tests for fascist_firewall_choose_address */ static void test_policies_fascist_firewall_choose_address(void *arg) @@ -2422,6 +2436,42 @@ test_policies_fascist_firewall_choose_address(void *arg) CHECK_CHOSEN_ADDR_RN(fake_rs, fake_node, FIREWALL_DIR_CONNECTION, 1, 1, ipv4_dir_ap); + /* Test ClientAutoIPv6ORPort and pretend we prefer IPv4. */ + memset(&mock_options, 0, sizeof(or_options_t)); + mock_options.ClientAutoIPv6ORPort = 1; + mock_options.ClientUseIPv4 = 1; + mock_options.ClientUseIPv6 = 1; + MOCK(fascist_firewall_rand_prefer_ipv6_addr, + mock_fascist_firewall_rand_prefer_ipv6_addr_use_ipv4); + /* Simulate the initialisation of fake_node.ipv6_preferred */ + fake_node.ipv6_preferred = fascist_firewall_prefer_ipv6_orport( + &mock_options); + + CHECK_CHOSEN_ADDR_RN(fake_rs, fake_node, FIREWALL_OR_CONNECTION, 0, 1, + ipv4_or_ap); + CHECK_CHOSEN_ADDR_RN(fake_rs, fake_node, FIREWALL_OR_CONNECTION, 1, 1, + ipv4_or_ap); + + UNMOCK(fascist_firewall_rand_prefer_ipv6_addr); + + /* Test ClientAutoIPv6ORPort and pretend we prefer IPv6. */ + memset(&mock_options, 0, sizeof(or_options_t)); + mock_options.ClientAutoIPv6ORPort = 1; + mock_options.ClientUseIPv4 = 1; + mock_options.ClientUseIPv6 = 1; + MOCK(fascist_firewall_rand_prefer_ipv6_addr, + mock_fascist_firewall_rand_prefer_ipv6_addr_use_ipv6); + /* Simulate the initialisation of fake_node.ipv6_preferred */ + fake_node.ipv6_preferred = fascist_firewall_prefer_ipv6_orport( + &mock_options); + + CHECK_CHOSEN_ADDR_RN(fake_rs, fake_node, FIREWALL_OR_CONNECTION, 0, 1, + ipv6_or_ap); + CHECK_CHOSEN_ADDR_RN(fake_rs, fake_node, FIREWALL_OR_CONNECTION, 1, 1, + ipv6_or_ap); + + UNMOCK(fascist_firewall_rand_prefer_ipv6_addr); + done: UNMOCK(get_options); } diff --git a/src/test/test_process.c b/src/test/test_process.c new file mode 100644 index 0000000000..9b62862f04 --- /dev/null +++ b/src/test/test_process.c @@ -0,0 +1,696 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file test_process.c + * \brief Test cases for the Process API. + */ + +#include "orconfig.h" +#include "core/or/or.h" +#include "test/test.h" +#include "lib/process/env.h" + +#define PROCESS_PRIVATE +#include "lib/process/process.h" +#define PROCESS_UNIX_PRIVATE +#include "lib/process/process_unix.h" +#define PROCESS_WIN32_PRIVATE +#include "lib/process/process_win32.h" + +static const char *stdout_read_buffer; +static const char *stderr_read_buffer; + +struct process_data_t { + smartlist_t *stdout_data; + smartlist_t *stderr_data; + smartlist_t *stdin_data; + process_exit_code_t exit_code; +}; + +typedef struct process_data_t process_data_t; + +static process_data_t * +process_data_new(void) +{ + process_data_t *process_data = tor_malloc_zero(sizeof(process_data_t)); + process_data->stdout_data = smartlist_new(); + process_data->stderr_data = smartlist_new(); + process_data->stdin_data = smartlist_new(); + return process_data; +} + +static void +process_data_free(process_data_t *process_data) +{ + if (process_data == NULL) + return; + + SMARTLIST_FOREACH(process_data->stdout_data, char *, x, tor_free(x)); + SMARTLIST_FOREACH(process_data->stderr_data, char *, x, tor_free(x)); + SMARTLIST_FOREACH(process_data->stdin_data, char *, x, tor_free(x)); + + smartlist_free(process_data->stdout_data); + smartlist_free(process_data->stderr_data); + smartlist_free(process_data->stdin_data); + tor_free(process_data); +} + +static int +process_mocked_read_stdout(process_t *process, buf_t *buffer) +{ + (void)process; + + if (stdout_read_buffer != NULL) { + buf_add_string(buffer, stdout_read_buffer); + stdout_read_buffer = NULL; + } + + return (int)buf_datalen(buffer); +} + +static int +process_mocked_read_stderr(process_t *process, buf_t *buffer) +{ + (void)process; + + if (stderr_read_buffer != NULL) { + buf_add_string(buffer, stderr_read_buffer); + stderr_read_buffer = NULL; + } + + return (int)buf_datalen(buffer); +} + +static void +process_mocked_write_stdin(process_t *process, buf_t *buffer) +{ + const size_t size = buf_datalen(buffer); + + if (size == 0) + return; + + char *data = tor_malloc_zero(size + 1); + process_data_t *process_data = process_get_data(process); + + buf_get_bytes(buffer, data, size); + smartlist_add(process_data->stdin_data, data); +} + +static void +process_stdout_callback(process_t *process, const char *data, size_t size) +{ + tt_ptr_op(process, OP_NE, NULL); + tt_ptr_op(data, OP_NE, NULL); + tt_int_op(strlen(data), OP_EQ, size); + + process_data_t *process_data = process_get_data(process); + smartlist_add(process_data->stdout_data, tor_strdup(data)); + + done: + return; +} + +static void +process_stderr_callback(process_t *process, const char *data, size_t size) +{ + tt_ptr_op(process, OP_NE, NULL); + tt_ptr_op(data, OP_NE, NULL); + tt_int_op(strlen(data), OP_EQ, size); + + process_data_t *process_data = process_get_data(process); + smartlist_add(process_data->stderr_data, tor_strdup(data)); + + done: + return; +} + +static bool +process_exit_callback(process_t *process, process_exit_code_t exit_code) +{ + tt_ptr_op(process, OP_NE, NULL); + + process_data_t *process_data = process_get_data(process); + process_data->exit_code = exit_code; + + done: + /* Do not free up our process_t. */ + return false; +} + +static void +test_default_values(void *arg) +{ + (void)arg; + process_init(); + + process_t *process = process_new("/path/to/nothing"); + + /* We are not running by default. */ + tt_int_op(PROCESS_STATUS_NOT_RUNNING, OP_EQ, process_get_status(process)); + + /* We use the line protocol by default. */ + tt_int_op(PROCESS_PROTOCOL_LINE, OP_EQ, process_get_protocol(process)); + + /* We don't set any custom data by default. */ + tt_ptr_op(NULL, OP_EQ, process_get_data(process)); + + /* Our command was given to the process_t's constructor in process_new(). */ + tt_str_op("/path/to/nothing", OP_EQ, process_get_command(process)); + + /* Make sure we are listed in the list of proccesses. */ + tt_assert(smartlist_contains(process_get_all_processes(), + process)); + + /* Default PID is 0. */ + tt_int_op(0, OP_EQ, process_get_pid(process)); + + /* Our arguments should be empty. */ + tt_int_op(0, OP_EQ, + smartlist_len(process_get_arguments(process))); + + done: + process_free(process); + process_free_all(); +} + +static void +test_environment(void *arg) +{ + (void)arg; + process_init(); + + process_t *process = process_new(""); + process_environment_t *env = NULL; + + process_set_environment(process, "E", "F"); + process_set_environment(process, "C", "D"); + process_set_environment(process, "A", "B"); + + env = process_get_environment(process); + tt_mem_op(env->windows_environment_block, OP_EQ, + "A=B\0C=D\0E=F\0", 12); + tt_str_op(env->unixoid_environment_block[0], OP_EQ, + "A=B"); + tt_str_op(env->unixoid_environment_block[1], OP_EQ, + "C=D"); + tt_str_op(env->unixoid_environment_block[2], OP_EQ, + "E=F"); + tt_ptr_op(env->unixoid_environment_block[3], OP_EQ, + NULL); + process_environment_free(env); + + /* Reset our environment. */ + smartlist_t *new_env = smartlist_new(); + smartlist_add(new_env, (char *)"FOO=bar"); + smartlist_add(new_env, (char *)"HELLO=world"); + + process_reset_environment(process, new_env); + smartlist_free(new_env); + + env = process_get_environment(process); + tt_mem_op(env->windows_environment_block, OP_EQ, + "FOO=bar\0HELLO=world\0", 20); + tt_str_op(env->unixoid_environment_block[0], OP_EQ, + "FOO=bar"); + tt_str_op(env->unixoid_environment_block[1], OP_EQ, + "HELLO=world"); + tt_ptr_op(env->unixoid_environment_block[2], OP_EQ, + NULL); + + done: + process_environment_free(env); + process_free(process); + process_free_all(); +} + +static void +test_stringified_types(void *arg) +{ + (void)arg; + + /* process_protocol_t values. */ + tt_str_op("Raw", OP_EQ, process_protocol_to_string(PROCESS_PROTOCOL_RAW)); + tt_str_op("Line", OP_EQ, process_protocol_to_string(PROCESS_PROTOCOL_LINE)); + + /* process_status_t values. */ + tt_str_op("not running", OP_EQ, + process_status_to_string(PROCESS_STATUS_NOT_RUNNING)); + tt_str_op("running", OP_EQ, + process_status_to_string(PROCESS_STATUS_RUNNING)); + tt_str_op("error", OP_EQ, + process_status_to_string(PROCESS_STATUS_ERROR)); + + done: + return; +} + +static void +test_line_protocol_simple(void *arg) +{ + (void)arg; + process_init(); + + process_data_t *process_data = process_data_new(); + + process_t *process = process_new(""); + process_set_data(process, process_data); + + process_set_stdout_read_callback(process, process_stdout_callback); + process_set_stderr_read_callback(process, process_stderr_callback); + + MOCK(process_read_stdout, process_mocked_read_stdout); + MOCK(process_read_stderr, process_mocked_read_stderr); + + /* Make sure we are running with the line protocol. */ + tt_int_op(PROCESS_PROTOCOL_LINE, OP_EQ, process_get_protocol(process)); + + tt_int_op(0, OP_EQ, smartlist_len(process_data->stdout_data)); + tt_int_op(0, OP_EQ, smartlist_len(process_data->stderr_data)); + + stdout_read_buffer = "Hello stdout\n"; + process_notify_event_stdout(process); + tt_ptr_op(NULL, OP_EQ, stdout_read_buffer); + + stderr_read_buffer = "Hello stderr\r\n"; + process_notify_event_stderr(process); + tt_ptr_op(NULL, OP_EQ, stderr_read_buffer); + + /* Data should be ready. */ + tt_int_op(1, OP_EQ, smartlist_len(process_data->stdout_data)); + tt_int_op(1, OP_EQ, smartlist_len(process_data->stderr_data)); + + /* Check if the data is correct. */ + tt_str_op(smartlist_get(process_data->stdout_data, 0), OP_EQ, + "Hello stdout"); + tt_str_op(smartlist_get(process_data->stderr_data, 0), OP_EQ, + "Hello stderr"); + + done: + process_data_free(process_data); + process_free(process); + process_free_all(); + + UNMOCK(process_read_stdout); + UNMOCK(process_read_stderr); +} + +static void +test_line_protocol_multi(void *arg) +{ + (void)arg; + process_init(); + + process_data_t *process_data = process_data_new(); + + process_t *process = process_new(""); + process_set_data(process, process_data); + process_set_stdout_read_callback(process, process_stdout_callback); + process_set_stderr_read_callback(process, process_stderr_callback); + + MOCK(process_read_stdout, process_mocked_read_stdout); + MOCK(process_read_stderr, process_mocked_read_stderr); + + /* Make sure we are running with the line protocol. */ + tt_int_op(PROCESS_PROTOCOL_LINE, OP_EQ, process_get_protocol(process)); + + tt_int_op(0, OP_EQ, smartlist_len(process_data->stdout_data)); + tt_int_op(0, OP_EQ, smartlist_len(process_data->stderr_data)); + + stdout_read_buffer = "Hello stdout\r\nOnion Onion Onion\nA B C D\r\n\r\n"; + process_notify_event_stdout(process); + tt_ptr_op(NULL, OP_EQ, stdout_read_buffer); + + stderr_read_buffer = "Hello stderr\nFoo bar baz\nOnion Onion Onion\n"; + process_notify_event_stderr(process); + tt_ptr_op(NULL, OP_EQ, stderr_read_buffer); + + /* Data should be ready. */ + tt_int_op(4, OP_EQ, smartlist_len(process_data->stdout_data)); + tt_int_op(3, OP_EQ, smartlist_len(process_data->stderr_data)); + + /* Check if the data is correct. */ + tt_str_op(smartlist_get(process_data->stdout_data, 0), OP_EQ, + "Hello stdout"); + tt_str_op(smartlist_get(process_data->stdout_data, 1), OP_EQ, + "Onion Onion Onion"); + tt_str_op(smartlist_get(process_data->stdout_data, 2), OP_EQ, + "A B C D"); + tt_str_op(smartlist_get(process_data->stdout_data, 3), OP_EQ, + ""); + + tt_str_op(smartlist_get(process_data->stderr_data, 0), OP_EQ, + "Hello stderr"); + tt_str_op(smartlist_get(process_data->stderr_data, 1), OP_EQ, + "Foo bar baz"); + tt_str_op(smartlist_get(process_data->stderr_data, 2), OP_EQ, + "Onion Onion Onion"); + + done: + process_data_free(process_data); + process_free(process); + process_free_all(); + + UNMOCK(process_read_stdout); + UNMOCK(process_read_stderr); +} + +static void +test_line_protocol_partial(void *arg) +{ + (void)arg; + process_init(); + + process_data_t *process_data = process_data_new(); + + process_t *process = process_new(""); + process_set_data(process, process_data); + process_set_stdout_read_callback(process, process_stdout_callback); + process_set_stderr_read_callback(process, process_stderr_callback); + + MOCK(process_read_stdout, process_mocked_read_stdout); + MOCK(process_read_stderr, process_mocked_read_stderr); + + /* Make sure we are running with the line protocol. */ + tt_int_op(PROCESS_PROTOCOL_LINE, OP_EQ, process_get_protocol(process)); + + tt_int_op(0, OP_EQ, smartlist_len(process_data->stdout_data)); + tt_int_op(0, OP_EQ, smartlist_len(process_data->stderr_data)); + + stdout_read_buffer = "Hello stdout this is a partial line ..."; + process_notify_event_stdout(process); + tt_ptr_op(NULL, OP_EQ, stdout_read_buffer); + + stderr_read_buffer = "Hello stderr this is a partial line ..."; + process_notify_event_stderr(process); + tt_ptr_op(NULL, OP_EQ, stderr_read_buffer); + + /* Data should NOT be ready. */ + tt_int_op(0, OP_EQ, smartlist_len(process_data->stdout_data)); + tt_int_op(0, OP_EQ, smartlist_len(process_data->stderr_data)); + + stdout_read_buffer = " the end\nAnother partial string goes here ..."; + process_notify_event_stdout(process); + tt_ptr_op(NULL, OP_EQ, stdout_read_buffer); + + stderr_read_buffer = " the end\nAnother partial string goes here ..."; + process_notify_event_stderr(process); + tt_ptr_op(NULL, OP_EQ, stderr_read_buffer); + + /* Some data should be ready. */ + tt_int_op(1, OP_EQ, smartlist_len(process_data->stdout_data)); + tt_int_op(1, OP_EQ, smartlist_len(process_data->stderr_data)); + + stdout_read_buffer = " the end\nFoo bar baz\n"; + process_notify_event_stdout(process); + tt_ptr_op(NULL, OP_EQ, stdout_read_buffer); + + stderr_read_buffer = " the end\nFoo bar baz\n"; + process_notify_event_stderr(process); + tt_ptr_op(NULL, OP_EQ, stderr_read_buffer); + + /* Some data should be ready. */ + tt_int_op(3, OP_EQ, smartlist_len(process_data->stdout_data)); + tt_int_op(3, OP_EQ, smartlist_len(process_data->stderr_data)); + + /* Check if the data is correct. */ + tt_str_op(smartlist_get(process_data->stdout_data, 0), OP_EQ, + "Hello stdout this is a partial line ... the end"); + tt_str_op(smartlist_get(process_data->stdout_data, 1), OP_EQ, + "Another partial string goes here ... the end"); + tt_str_op(smartlist_get(process_data->stdout_data, 2), OP_EQ, + "Foo bar baz"); + + tt_str_op(smartlist_get(process_data->stderr_data, 0), OP_EQ, + "Hello stderr this is a partial line ... the end"); + tt_str_op(smartlist_get(process_data->stderr_data, 1), OP_EQ, + "Another partial string goes here ... the end"); + tt_str_op(smartlist_get(process_data->stderr_data, 2), OP_EQ, + "Foo bar baz"); + + done: + process_data_free(process_data); + process_free(process); + process_free_all(); + + UNMOCK(process_read_stdout); + UNMOCK(process_read_stderr); +} + +static void +test_raw_protocol_simple(void *arg) +{ + (void)arg; + process_init(); + + process_data_t *process_data = process_data_new(); + + process_t *process = process_new(""); + process_set_data(process, process_data); + process_set_protocol(process, PROCESS_PROTOCOL_RAW); + + process_set_stdout_read_callback(process, process_stdout_callback); + process_set_stderr_read_callback(process, process_stderr_callback); + + MOCK(process_read_stdout, process_mocked_read_stdout); + MOCK(process_read_stderr, process_mocked_read_stderr); + + /* Make sure we are running with the raw protocol. */ + tt_int_op(PROCESS_PROTOCOL_RAW, OP_EQ, process_get_protocol(process)); + + tt_int_op(0, OP_EQ, smartlist_len(process_data->stdout_data)); + tt_int_op(0, OP_EQ, smartlist_len(process_data->stderr_data)); + + stdout_read_buffer = "Hello stdout\n"; + process_notify_event_stdout(process); + tt_ptr_op(NULL, OP_EQ, stdout_read_buffer); + + stderr_read_buffer = "Hello stderr\n"; + process_notify_event_stderr(process); + tt_ptr_op(NULL, OP_EQ, stderr_read_buffer); + + /* Data should be ready. */ + tt_int_op(1, OP_EQ, smartlist_len(process_data->stdout_data)); + tt_int_op(1, OP_EQ, smartlist_len(process_data->stderr_data)); + + stdout_read_buffer = "Hello, again, stdout\nThis contains multiple lines"; + process_notify_event_stdout(process); + tt_ptr_op(NULL, OP_EQ, stdout_read_buffer); + + stderr_read_buffer = "Hello, again, stderr\nThis contains multiple lines"; + process_notify_event_stderr(process); + tt_ptr_op(NULL, OP_EQ, stderr_read_buffer); + + /* Data should be ready. */ + tt_int_op(2, OP_EQ, smartlist_len(process_data->stdout_data)); + tt_int_op(2, OP_EQ, smartlist_len(process_data->stderr_data)); + + /* Check if the data is correct. */ + tt_str_op(smartlist_get(process_data->stdout_data, 0), OP_EQ, + "Hello stdout\n"); + tt_str_op(smartlist_get(process_data->stdout_data, 1), OP_EQ, + "Hello, again, stdout\nThis contains multiple lines"); + + tt_str_op(smartlist_get(process_data->stderr_data, 0), OP_EQ, + "Hello stderr\n"); + tt_str_op(smartlist_get(process_data->stderr_data, 1), OP_EQ, + "Hello, again, stderr\nThis contains multiple lines"); + + done: + process_data_free(process_data); + process_free(process); + process_free_all(); + + UNMOCK(process_read_stdout); + UNMOCK(process_read_stderr); +} + +static void +test_write_simple(void *arg) +{ + (void)arg; + + process_init(); + + process_data_t *process_data = process_data_new(); + + process_t *process = process_new(""); + process_set_data(process, process_data); + + MOCK(process_write_stdin, process_mocked_write_stdin); + + process_write(process, (uint8_t *)"Hello world\n", 12); + process_notify_event_stdin(process); + tt_int_op(1, OP_EQ, smartlist_len(process_data->stdin_data)); + + process_printf(process, "Hello %s !\n", "moon"); + process_notify_event_stdin(process); + tt_int_op(2, OP_EQ, smartlist_len(process_data->stdin_data)); + + done: + process_data_free(process_data); + process_free(process); + process_free_all(); + + UNMOCK(process_write_stdin); +} + +static void +test_exit_simple(void *arg) +{ + (void)arg; + + process_init(); + + process_data_t *process_data = process_data_new(); + + process_t *process = process_new(""); + process_set_data(process, process_data); + process_set_exit_callback(process, process_exit_callback); + + /* Our default is 0. */ + tt_int_op(0, OP_EQ, process_data->exit_code); + + /* Fake that we are a running process. */ + process_set_status(process, PROCESS_STATUS_RUNNING); + tt_int_op(process_get_status(process), OP_EQ, PROCESS_STATUS_RUNNING); + + /* Fake an exit. */ + process_notify_event_exit(process, 1337); + + /* Check if our state changed and if our callback fired. */ + tt_int_op(process_get_status(process), OP_EQ, PROCESS_STATUS_NOT_RUNNING); + tt_int_op(1337, OP_EQ, process_data->exit_code); + + done: + process_set_data(process, process_data); + process_data_free(process_data); + process_free(process); + process_free_all(); +} + +static void +test_argv_simple(void *arg) +{ + (void)arg; + process_init(); + + process_t *process = process_new("/bin/cat"); + char **argv = NULL; + + /* Setup some arguments. */ + process_append_argument(process, "foo"); + process_append_argument(process, "bar"); + process_append_argument(process, "baz"); + + /* Check the number of elements. */ + tt_int_op(3, OP_EQ, + smartlist_len(process_get_arguments(process))); + + /* Let's try to convert it into a Unix style char **argv. */ + argv = process_get_argv(process); + + /* Check our values. */ + tt_str_op(argv[0], OP_EQ, "/bin/cat"); + tt_str_op(argv[1], OP_EQ, "foo"); + tt_str_op(argv[2], OP_EQ, "bar"); + tt_str_op(argv[3], OP_EQ, "baz"); + tt_ptr_op(argv[4], OP_EQ, NULL); + + done: + tor_free(argv); + process_free(process); + process_free_all(); +} + +static void +test_unix(void *arg) +{ + (void)arg; +#ifndef _WIN32 + process_init(); + + process_t *process = process_new(""); + + /* On Unix all processes should have a Unix process handle. */ + tt_ptr_op(NULL, OP_NE, process_get_unix_process(process)); + + done: + process_free(process); + process_free_all(); +#endif +} + +static void +test_win32(void *arg) +{ + (void)arg; +#ifdef _WIN32 + process_init(); + + process_t *process = process_new(""); + char *joined_argv = NULL; + + /* On Win32 all processes should have a Win32 process handle. */ + tt_ptr_op(NULL, OP_NE, process_get_win32_process(process)); + + /* Based on some test cases from "Parsing C++ Command-Line Arguments" in + * MSDN but we don't exercise all quoting rules because tor_join_win_cmdline + * will try to only generate simple cases for the child process to parse; + * i.e. we never embed quoted strings in arguments. */ + + const char *argvs[][4] = { + {"a", "bb", "CCC", NULL}, // Normal + {NULL, NULL, NULL, NULL}, // Empty argument list + {"", NULL, NULL, NULL}, // Empty argument + {"\"a", "b\"b", "CCC\"", NULL}, // Quotes + {"a\tbc", "dd dd", "E", NULL}, // Whitespace + {"a\\\\\\b", "de fg", "H", NULL}, // Backslashes + {"a\\\"b", "\\c", "D\\", NULL}, // Backslashes before quote + {"a\\\\b c", "d", "E", NULL}, // Backslashes not before quote + { NULL } // Terminator + }; + + const char *cmdlines[] = { + "a bb CCC", + "", + "\"\"", + "\\\"a b\\\"b CCC\\\"", + "\"a\tbc\" \"dd dd\" E", + "a\\\\\\b \"de fg\" H", + "a\\\\\\\"b \\c D\\", + "\"a\\\\b c\" d E", + NULL // Terminator + }; + + int i; + + for (i=0; cmdlines[i]!=NULL; i++) { + log_info(LD_GENERAL, "Joining argvs[%d], expecting <%s>", i, cmdlines[i]); + joined_argv = tor_join_win_cmdline(argvs[i]); + tt_str_op(cmdlines[i],OP_EQ, joined_argv); + tor_free(joined_argv); + } + + done: + tor_free(joined_argv); + process_free(process); + process_free_all(); +#endif +} + +struct testcase_t process_tests[] = { + { "default_values", test_default_values, TT_FORK, NULL, NULL }, + { "environment", test_environment, TT_FORK, NULL, NULL }, + { "stringified_types", test_stringified_types, TT_FORK, NULL, NULL }, + { "line_protocol_simple", test_line_protocol_simple, TT_FORK, NULL, NULL }, + { "line_protocol_multi", test_line_protocol_multi, TT_FORK, NULL, NULL }, + { "line_protocol_partial", test_line_protocol_partial, TT_FORK, NULL, NULL }, + { "raw_protocol_simple", test_raw_protocol_simple, TT_FORK, NULL, NULL }, + { "write_simple", test_write_simple, TT_FORK, NULL, NULL }, + { "exit_simple", test_exit_simple, TT_FORK, NULL, NULL }, + { "argv_simple", test_argv_simple, TT_FORK, NULL, NULL }, + { "unix", test_unix, TT_FORK, NULL, NULL }, + { "win32", test_win32, TT_FORK, NULL, NULL }, + END_OF_TESTCASES +}; diff --git a/src/test/test_process_slow.c b/src/test/test_process_slow.c new file mode 100644 index 0000000000..a1f99bff0f --- /dev/null +++ b/src/test/test_process_slow.c @@ -0,0 +1,342 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +/** + * \file test_process_slow.c + * \brief Slow test cases for the Process API. + */ + +#define MAINLOOP_PRIVATE +#include "orconfig.h" +#include "core/or/or.h" +#include "core/mainloop/mainloop.h" +#include "lib/evloop/compat_libevent.h" +#include "lib/process/process.h" +#include "lib/process/waitpid.h" +#include "test/test.h" + +#ifndef BUILDDIR +#define BUILDDIR "." +#endif + +#ifdef _WIN32 +#define TEST_PROCESS "test-process.exe" +#else +#define TEST_PROCESS BUILDDIR "/src/test/test-process" +#endif /* defined(_WIN32) */ + +/** Timer that ticks once a second and stop the event loop after 5 ticks. */ +static periodic_timer_t *main_loop_timeout_timer; + +/** How many times have our timer ticked? */ +static int timer_tick_count; + +struct process_data_t { + smartlist_t *stdout_data; + smartlist_t *stderr_data; + smartlist_t *stdin_data; + process_exit_code_t exit_code; + bool did_exit; +}; + +typedef struct process_data_t process_data_t; + +static process_data_t * +process_data_new(void) +{ + process_data_t *process_data = tor_malloc_zero(sizeof(process_data_t)); + process_data->stdout_data = smartlist_new(); + process_data->stderr_data = smartlist_new(); + process_data->stdin_data = smartlist_new(); + return process_data; +} + +static void +process_data_free(process_data_t *process_data) +{ + if (process_data == NULL) + return; + + SMARTLIST_FOREACH(process_data->stdout_data, char *, x, tor_free(x)); + SMARTLIST_FOREACH(process_data->stderr_data, char *, x, tor_free(x)); + SMARTLIST_FOREACH(process_data->stdin_data, char *, x, tor_free(x)); + + smartlist_free(process_data->stdout_data); + smartlist_free(process_data->stderr_data); + smartlist_free(process_data->stdin_data); + tor_free(process_data); +} + +static void +process_stdout_callback(process_t *process, const char *data, size_t size) +{ + tt_ptr_op(process, OP_NE, NULL); + tt_ptr_op(data, OP_NE, NULL); + tt_int_op(strlen(data), OP_EQ, size); + + process_data_t *process_data = process_get_data(process); + smartlist_add(process_data->stdout_data, tor_strdup(data)); + + done: + return; +} + +static void +process_stderr_callback(process_t *process, const char *data, size_t size) +{ + tt_ptr_op(process, OP_NE, NULL); + tt_ptr_op(data, OP_NE, NULL); + tt_int_op(strlen(data), OP_EQ, size); + + process_data_t *process_data = process_get_data(process); + smartlist_add(process_data->stderr_data, tor_strdup(data)); + + done: + return; +} + +static bool +process_exit_callback(process_t *process, process_exit_code_t exit_code) +{ + process_status_t status; + + tt_ptr_op(process, OP_NE, NULL); + + process_data_t *process_data = process_get_data(process); + process_data->exit_code = exit_code; + process_data->did_exit = true; + + /* Check if our process is still running? */ + status = process_get_status(process); + tt_int_op(status, OP_EQ, PROCESS_STATUS_NOT_RUNNING); + + done: + /* Do not free up our process_t. */ + return false; +} + +#ifdef _WIN32 +static const char * +get_win32_test_binary_path(void) +{ + static char buffer[MAX_PATH]; + + /* Get the absolute path of our binary: \path\to\test-slow.exe. */ + GetModuleFileNameA(GetModuleHandle(0), buffer, sizeof(buffer)); + + /* Find our process name. */ + char *offset = strstr(buffer, "test-slow.exe"); + tt_ptr_op(offset, OP_NE, NULL); + + /* Change test-slow.exe to test-process.exe. */ + memcpy(offset, TEST_PROCESS, strlen(TEST_PROCESS)); + + return buffer; + done: + return NULL; +} +#endif + +static void +main_loop_timeout_cb(periodic_timer_t *timer, void *data) +{ + /* Sanity check. */ + tt_ptr_op(timer, OP_EQ, main_loop_timeout_timer); + tt_ptr_op(data, OP_NE, NULL); + + /* Our process data. */ + process_data_t *process_data = data; + + /* Our process did exit. */ + if (process_data->did_exit) + tor_shutdown_event_loop_and_exit(0); + + /* Have we been called 10 times we exit the main loop. */ + timer_tick_count++; + + tt_int_op(timer_tick_count, OP_LT, 10); + +#ifndef _WIN32 + /* Call waitpid callbacks. */ + notify_pending_waitpid_callbacks(); +#endif + + return; + done: + /* Exit with an error. */ + tor_shutdown_event_loop_and_exit(-1); +} + +static void +run_main_loop(process_data_t *process_data) +{ + int ret; + + /* Wake up after 1 seconds. */ + static const struct timeval interval = {1, 0}; + + timer_tick_count = 0; + main_loop_timeout_timer = periodic_timer_new(tor_libevent_get_base(), + &interval, + main_loop_timeout_cb, + process_data); + + /* Run our main loop. */ + ret = run_main_loop_until_done(); + + /* Clean up our main loop timeout timer. */ + tt_int_op(ret, OP_EQ, 0); + + done: + periodic_timer_free(main_loop_timeout_timer); +} + +static void +test_callbacks(void *arg) +{ + (void)arg; + const char *filename = NULL; + +#ifdef _WIN32 + filename = get_win32_test_binary_path(); +#else + filename = TEST_PROCESS; +#endif + + /* Initialize Process subsystem. */ + process_init(); + + /* Process callback data. */ + process_data_t *process_data = process_data_new(); + + /* Setup our process. */ + process_t *process = process_new(filename); + process_set_data(process, process_data); + process_set_stdout_read_callback(process, process_stdout_callback); + process_set_stderr_read_callback(process, process_stderr_callback); + process_set_exit_callback(process, process_exit_callback); + + /* Set environment variable. */ + process_set_environment(process, "TOR_TEST_ENV", "Hello, from Tor!"); + + /* Add some arguments. */ + process_append_argument(process, "This is the first one"); + process_append_argument(process, "Second one"); + process_append_argument(process, "Third: Foo bar baz"); + + /* Run our process. */ + process_status_t status; + + status = process_exec(process); + tt_int_op(status, OP_EQ, PROCESS_STATUS_RUNNING); + + /* Write some lines to stdin. */ + process_printf(process, "Hi process!\r\n"); + process_printf(process, "Can you read more than one line?\n"); + process_printf(process, "Can you read partial ..."); + process_printf(process, " lines?\r\n"); + + /* Start our main loop. */ + run_main_loop(process_data); + + /* We returned. Let's see what our event loop said. */ + tt_int_op(smartlist_len(process_data->stdout_data), OP_EQ, 12); + tt_int_op(smartlist_len(process_data->stderr_data), OP_EQ, 3); + tt_int_op(process_data->exit_code, OP_EQ, 0); + + /* Check stdout output. */ + char argv0_expected[256]; + tor_snprintf(argv0_expected, sizeof(argv0_expected), + "argv[0] = '%s'", filename); + + tt_str_op(smartlist_get(process_data->stdout_data, 0), OP_EQ, + argv0_expected); + tt_str_op(smartlist_get(process_data->stdout_data, 1), OP_EQ, + "argv[1] = 'This is the first one'"); + tt_str_op(smartlist_get(process_data->stdout_data, 2), OP_EQ, + "argv[2] = 'Second one'"); + tt_str_op(smartlist_get(process_data->stdout_data, 3), OP_EQ, + "argv[3] = 'Third: Foo bar baz'"); + tt_str_op(smartlist_get(process_data->stdout_data, 4), OP_EQ, + "Environment variable TOR_TEST_ENV = 'Hello, from Tor!'"); + tt_str_op(smartlist_get(process_data->stdout_data, 5), OP_EQ, + "Output on stdout"); + tt_str_op(smartlist_get(process_data->stdout_data, 6), OP_EQ, + "This is a new line"); + tt_str_op(smartlist_get(process_data->stdout_data, 7), OP_EQ, + "Partial line on stdout ...end of partial line on stdout"); + tt_str_op(smartlist_get(process_data->stdout_data, 8), OP_EQ, + "Read line from stdin: 'Hi process!'"); + tt_str_op(smartlist_get(process_data->stdout_data, 9), OP_EQ, + "Read line from stdin: 'Can you read more than one line?'"); + tt_str_op(smartlist_get(process_data->stdout_data, 10), OP_EQ, + "Read line from stdin: 'Can you read partial ... lines?'"); + tt_str_op(smartlist_get(process_data->stdout_data, 11), OP_EQ, + "We are done for here, thank you!"); + + /* Check stderr output. */ + tt_str_op(smartlist_get(process_data->stderr_data, 0), OP_EQ, + "Output on stderr"); + tt_str_op(smartlist_get(process_data->stderr_data, 1), OP_EQ, + "This is a new line"); + tt_str_op(smartlist_get(process_data->stderr_data, 2), OP_EQ, + "Partial line on stderr ...end of partial line on stderr"); + + done: + process_data_free(process_data); + process_free(process); + process_free_all(); +} + +static void +test_callbacks_terminate(void *arg) +{ + (void)arg; + const char *filename = NULL; + +#ifdef _WIN32 + filename = get_win32_test_binary_path(); +#else + filename = TEST_PROCESS; +#endif + + /* Initialize Process subsystem. */ + process_init(); + + /* Process callback data. */ + process_data_t *process_data = process_data_new(); + + /* Setup our process. */ + process_t *process = process_new(filename); + process_set_data(process, process_data); + process_set_exit_callback(process, process_exit_callback); + + /* Run our process. */ + process_status_t status; + + status = process_exec(process); + tt_int_op(status, OP_EQ, PROCESS_STATUS_RUNNING); + + /* Zap our process. */ + bool success; + + success = process_terminate(process); + tt_assert(success); + + /* Start our main loop. */ + run_main_loop(process_data); + + /* Check if we did exit. */ + tt_assert(process_data->did_exit); + + done: + process_data_free(process_data); + process_free(process); + process_free_all(); +} + +struct testcase_t slow_process_tests[] = { + { "callbacks", test_callbacks, 0, NULL, NULL }, + { "callbacks_terminate", test_callbacks_terminate, 0, NULL, NULL }, + END_OF_TESTCASES +}; diff --git a/src/test/test_proto_http.c b/src/test/test_proto_http.c index 1cfa0a752c..b4e8278423 100644 --- a/src/test/test_proto_http.c +++ b/src/test/test_proto_http.c @@ -8,7 +8,7 @@ #include "core/or/or.h" #include "test/test.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "core/proto/proto_http.h" #include "test/log_test_helpers.h" diff --git a/src/test/test_proto_misc.c b/src/test/test_proto_misc.c index 1fcb763421..f7f6f69667 100644 --- a/src/test/test_proto_misc.c +++ b/src/test/test_proto_misc.c @@ -8,7 +8,7 @@ #include "core/or/or.h" #include "test/test.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "core/or/connection_or.h" #include "feature/relay/ext_orport.h" #include "core/proto/proto_cell.h" diff --git a/src/test/test_pt.c b/src/test/test_pt.c index d0160d1148..8fcdd5c1e8 100644 --- a/src/test/test_pt.c +++ b/src/test/test_pt.c @@ -8,7 +8,7 @@ #define UTIL_PRIVATE #define STATEFILE_PRIVATE #define CONTROL_PRIVATE -#define SUBPROCESS_PRIVATE +#define PROCESS_PRIVATE #include "core/or/or.h" #include "app/config/config.h" #include "app/config/confparse.h" @@ -17,9 +17,9 @@ #include "core/or/circuitbuild.h" #include "app/config/statefile.h" #include "test/test.h" -#include "lib/process/subprocess.h" #include "lib/encoding/confline.h" #include "lib/net/resolve.h" +#include "lib/process/process.h" #include "app/config/or_state_st.h" @@ -151,6 +151,8 @@ test_pt_get_transport_options(void *arg) config_line_t *cl = NULL; (void)arg; + process_init(); + execve_args = tor_malloc(sizeof(char*)*2); execve_args[0] = tor_strdup("cheeseshop"); execve_args[1] = NULL; @@ -190,6 +192,7 @@ test_pt_get_transport_options(void *arg) config_free_lines(cl); managed_proxy_destroy(mp, 0); smartlist_free(transport_list); + process_free_all(); } static void @@ -253,6 +256,8 @@ test_pt_get_extrainfo_string(void *arg) char *s = NULL; (void) arg; + process_init(); + argv1 = tor_malloc_zero(sizeof(char*)*3); argv1[0] = tor_strdup("ewige"); argv1[1] = tor_strdup("Blumenkraft"); @@ -286,43 +291,30 @@ test_pt_get_extrainfo_string(void *arg) smartlist_free(t1); smartlist_free(t2); tor_free(s); + process_free_all(); } -#ifdef _WIN32 -#define STDIN_HANDLE HANDLE* -#else -#define STDIN_HANDLE int -#endif - -static smartlist_t * -tor_get_lines_from_handle_replacement(STDIN_HANDLE handle, - enum stream_status *stream_status_out) +static int +process_read_stdout_replacement(process_t *process, buf_t *buffer) { + (void)process; static int times_called = 0; - smartlist_t *retval_sl = smartlist_new(); - - (void) handle; - (void) stream_status_out; /* Generate some dummy CMETHOD lines the first 5 times. The 6th time, send 'CMETHODS DONE' to finish configuring the proxy. */ - if (times_called++ != 5) { - smartlist_add_asprintf(retval_sl, "SMETHOD mock%d 127.0.0.1:555%d", + times_called++; + + if (times_called <= 5) { + buf_add_printf(buffer, "SMETHOD mock%d 127.0.0.1:555%d\n", times_called, times_called); - } else { - smartlist_add_strdup(retval_sl, "SMETHODS DONE"); + } else if (times_called <= 6) { + buf_add_string(buffer, "SMETHODS DONE\n"); + } else if (times_called <= 7) { + buf_add_string(buffer, "LOG Oh noes, something bad happened. " + "What do we do!?\n"); } - return retval_sl; -} - -/* NOP mock */ -static void -tor_process_handle_destroy_replacement(process_handle_t *process_handle, - int also_terminate_process) -{ - (void) process_handle; - (void) also_terminate_process; + return (int)buf_datalen(buffer); } static or_state_t *dummy_state = NULL; @@ -355,12 +347,11 @@ test_pt_configure_proxy(void *arg) managed_proxy_t *mp = NULL; (void) arg; + process_init(); + dummy_state = tor_malloc_zero(sizeof(or_state_t)); - MOCK(tor_get_lines_from_handle, - tor_get_lines_from_handle_replacement); - MOCK(tor_process_handle_destroy, - tor_process_handle_destroy_replacement); + MOCK(process_read_stdout, process_read_stdout_replacement); MOCK(get_or_state, get_or_state_replacement); MOCK(queue_control_event_string, @@ -372,24 +363,34 @@ test_pt_configure_proxy(void *arg) mp->conf_state = PT_PROTO_ACCEPTING_METHODS; mp->transports = smartlist_new(); mp->transports_to_launch = smartlist_new(); - mp->process_handle = tor_malloc_zero(sizeof(process_handle_t)); mp->argv = tor_malloc_zero(sizeof(char*)*2); mp->argv[0] = tor_strdup("<testcase>"); mp->is_server = 1; + /* Configure the process. */ + mp->process = process_new(""); + process_set_stdout_read_callback(mp->process, managed_proxy_stdout_callback); + process_set_data(mp->process, mp); + /* Test the return value of configure_proxy() by calling it some times while it is uninitialized and then finally finalizing its configuration. */ for (i = 0 ; i < 5 ; i++) { + /* force a read from our mocked stdout reader. */ + process_notify_event_stdout(mp->process); + /* try to configure our proxy. */ retval = configure_proxy(mp); /* retval should be zero because proxy hasn't finished configuring yet */ tt_int_op(retval, OP_EQ, 0); /* check the number of registered transports */ - tt_assert(smartlist_len(mp->transports) == i+1); + tt_int_op(smartlist_len(mp->transports), OP_EQ, i+1); /* check that the mp is still waiting for transports */ tt_assert(mp->conf_state == PT_PROTO_ACCEPTING_METHODS); } + /* Get the SMETHOD DONE written to the process. */ + process_notify_event_stdout(mp->process); + /* this last configure_proxy() should finalize the proxy configuration. */ retval = configure_proxy(mp); /* retval should be 1 since the proxy finished configuring */ @@ -412,6 +413,16 @@ test_pt_configure_proxy(void *arg) tt_str_op(smartlist_get(controlevent_msgs, 4), OP_EQ, "650 TRANSPORT_LAUNCHED server mock5 127.0.0.1 5555\r\n"); + /* Get the log message out. */ + process_notify_event_stdout(mp->process); + + tt_int_op(controlevent_n, OP_EQ, 6); + tt_int_op(controlevent_event, OP_EQ, EVENT_PT_LOG); + tt_int_op(smartlist_len(controlevent_msgs), OP_EQ, 6); + tt_str_op(smartlist_get(controlevent_msgs, 5), OP_EQ, + "650 PT_LOG <testcase> Oh noes, something bad happened. " + "What do we do!?\r\n"); + { /* check that the transport info were saved properly in the tor state */ config_line_t *transport_in_state = NULL; smartlist_t *transport_info_sl = smartlist_new(); @@ -435,8 +446,7 @@ test_pt_configure_proxy(void *arg) done: or_state_free(dummy_state); - UNMOCK(tor_get_lines_from_handle); - UNMOCK(tor_process_handle_destroy); + UNMOCK(process_read_stdout); UNMOCK(get_or_state); UNMOCK(queue_control_event_string); if (controlevent_msgs) { @@ -449,10 +459,11 @@ test_pt_configure_proxy(void *arg) smartlist_free(mp->transports); } smartlist_free(mp->transports_to_launch); - tor_free(mp->process_handle); + process_free(mp->process); tor_free(mp->argv[0]); tor_free(mp->argv); tor_free(mp); + process_free_all(); } /* Test the get_pt_proxy_uri() function. */ diff --git a/src/test/test_rebind.py b/src/test/test_rebind.py index 7ba3a5796d..65feedd243 100644 --- a/src/test/test_rebind.py +++ b/src/test/test_rebind.py @@ -1,25 +1,43 @@ from __future__ import print_function -import sys -import subprocess -import socket +import errno +import logging import os -import time import random +import socket +import subprocess +import sys +import time + +LOG_TIMEOUT = 60.0 +LOG_WAIT = 0.1 + +def fail(msg): + logging.error('FAIL') + sys.exit(msg) def try_connecting_to_socksport(): socks_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - if socks_socket.connect_ex(('127.0.0.1', socks_port)): + e = socks_socket.connect_ex(('127.0.0.1', socks_port)) + if e: tor_process.terminate() - print('FAIL') - sys.exit('Cannot connect to SOCKSPort') + fail('Cannot connect to SOCKSPort: error ' + os.strerror(e)) socks_socket.close() def wait_for_log(s): - while True: + cutoff = time.time() + LOG_TIMEOUT + while time.time() < cutoff: l = tor_process.stdout.readline() - if s in l.decode('utf8'): + l = l.decode('utf8') + if s in l: + logging.info('Tor logged: "{}"'.format(l.strip())) return + logging.info('Tor logged: "{}", waiting for "{}"'.format(l.strip(), s)) + # readline() returns a blank string when there is no output + # avoid busy-waiting + if len(s) == 0: + time.sleep(LOG_WAIT) + fail('Could not find "{}" in logs after {} seconds'.format(s, LOG_TIMEOUT)) def pick_random_port(): port = 0 @@ -33,13 +51,20 @@ def pick_random_port(): else: break + if port == 0: + fail('Could not find a random free port between 10000 and 60000') + return port +logging.basicConfig(level=logging.DEBUG, + format='%(asctime)s.%(msecs)03d %(message)s', + datefmt='%Y-%m-%d %H:%M:%S') + if sys.hexversion < 0x02070000: - sys.exit("ERROR: unsupported Python version (should be >= 2.7)") + fail("ERROR: unsupported Python version (should be >= 2.7)") if sys.hexversion > 0x03000000 and sys.hexversion < 0x03010000: - sys.exit("ERROR: unsupported Python3 version (should be >= 3.1)") + fail("ERROR: unsupported Python3 version (should be >= 3.1)") control_port = pick_random_port() socks_port = pick_random_port() @@ -47,23 +72,29 @@ socks_port = pick_random_port() assert control_port != 0 assert socks_port != 0 +if len(sys.argv) < 3: + fail('Usage: %s <path-to-tor> <data-dir>' % sys.argv[0]) + if not os.path.exists(sys.argv[1]): - sys.exit('ERROR: cannot find tor at %s' % sys.argv[1]) + fail('ERROR: cannot find tor at %s' % sys.argv[1]) +if not os.path.exists(sys.argv[2]): + fail('ERROR: cannot find datadir at %s' % sys.argv[2]) tor_path = sys.argv[1] +data_dir = sys.argv[2] tor_process = subprocess.Popen([tor_path, + '-DataDirectory', data_dir, '-ControlPort', '127.0.0.1:{}'.format(control_port), '-SOCKSPort', '127.0.0.1:{}'.format(socks_port), + '-Log', 'debug stdout', + '-LogTimeGranularity', '1', '-FetchServerDescriptors', '0'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) if tor_process == None: - sys.exit('ERROR: running tor failed') - -if len(sys.argv) < 2: - sys.exit('Usage: %s <path-to-tor>' % sys.argv[0]) + fail('ERROR: running tor failed') wait_for_log('Opened Control listener on') @@ -72,8 +103,7 @@ try_connecting_to_socksport() control_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) if control_socket.connect_ex(('127.0.0.1', control_port)): tor_process.terminate() - print('FAIL') - sys.exit('Cannot connect to ControlPort') + fail('Cannot connect to ControlPort') control_socket.sendall('AUTHENTICATE \r\n'.encode('utf8')) control_socket.sendall('SETCONF SOCKSPort=0.0.0.0:{}\r\n'.format(socks_port).encode('utf8')) @@ -88,6 +118,14 @@ try_connecting_to_socksport() control_socket.sendall('SIGNAL HALT\r\n'.encode('utf8')) -time.sleep(0.1) -print('OK') -tor_process.terminate() +wait_for_log('exiting cleanly') +logging.info('OK') + +try: + tor_process.terminate() +except OSError as e: + if e.errno == errno.ESRCH: # errno 3: No such process + # assume tor has already exited due to SIGNAL HALT + logging.warn("Tor has already exited") + else: + raise diff --git a/src/test/test_rebind.sh b/src/test/test_rebind.sh index 76eb9f2e4d..498072de35 100755 --- a/src/test/test_rebind.sh +++ b/src/test/test_rebind.sh @@ -14,6 +14,19 @@ fi exitcode=0 -"${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/test_rebind.py" "${TESTING_TOR_BINARY}" || exitcode=1 +tmpdir= +clean () { test -n "$tmpdir" && test -d "$tmpdir" && rm -rf "$tmpdir" || :; } +trap clean EXIT HUP INT TERM + +tmpdir="`mktemp -d -t tor_rebind_test.XXXXXX`" +if [ -z "$tmpdir" ]; then + echo >&2 mktemp failed + exit 2 +elif [ ! -d "$tmpdir" ]; then + echo >&2 mktemp failed to make a directory + exit 3 +fi + +"${PYTHON:-python}" "${abs_top_srcdir:-.}/src/test/test_rebind.py" "${TESTING_TOR_BINARY}" "$tmpdir" || exitcode=1 exit ${exitcode} diff --git a/src/test/test_rendcache.c b/src/test/test_rendcache.c index 394e28d785..2ace45d085 100644 --- a/src/test/test_rendcache.c +++ b/src/test/test_rendcache.c @@ -788,7 +788,9 @@ test_rend_cache_clean(void *data) desc_two->pk = pk_generate(1); strmap_set_lc(rend_cache, "foo1", one); + rend_cache_increment_allocation(rend_cache_entry_allocation(one)); strmap_set_lc(rend_cache, "foo2", two); + rend_cache_increment_allocation(rend_cache_entry_allocation(two)); rend_cache_clean(time(NULL), REND_CACHE_TYPE_CLIENT); tt_int_op(strmap_size(rend_cache), OP_EQ, 0); @@ -806,7 +808,9 @@ test_rend_cache_clean(void *data) desc_one->pk = pk_generate(0); desc_two->pk = pk_generate(1); + rend_cache_increment_allocation(rend_cache_entry_allocation(one)); strmap_set_lc(rend_cache, "foo1", one); + rend_cache_increment_allocation(rend_cache_entry_allocation(two)); strmap_set_lc(rend_cache, "foo2", two); rend_cache_clean(time(NULL), REND_CACHE_TYPE_CLIENT); diff --git a/src/test/test_router.c b/src/test/test_router.c index 921ec42904..91cdd2c064 100644 --- a/src/test/test_router.c +++ b/src/test/test_router.c @@ -7,16 +7,25 @@ * \brief Unittests for code in router.c **/ +#define CONFIG_PRIVATE +#define ROUTER_PRIVATE + #include "core/or/or.h" #include "app/config/config.h" #include "core/mainloop/mainloop.h" #include "feature/hibernate/hibernate.h" +#include "feature/nodelist/networkstatus.h" +#include "feature/nodelist/networkstatus_st.h" +#include "feature/nodelist/node_st.h" +#include "feature/nodelist/nodelist.h" #include "feature/nodelist/routerinfo_st.h" #include "feature/nodelist/routerlist.h" +#include "feature/nodelist/routerstatus_st.h" #include "feature/relay/router.h" #include "feature/stats/rephist.h" #include "lib/crypt_ops/crypto_curve25519.h" #include "lib/crypt_ops/crypto_ed25519.h" +#include "lib/encoding/confline.h" /* Test suite stuff */ #include "test/test.h" @@ -231,11 +240,254 @@ test_router_check_descriptor_bandwidth_changed(void *arg) UNMOCK(we_are_hibernating); } +static networkstatus_t *mock_ns = NULL; +static networkstatus_t * +mock_networkstatus_get_live_consensus(time_t now) +{ + (void)now; + return mock_ns; +} + +static routerstatus_t *mock_rs = NULL; +static const routerstatus_t * +mock_networkstatus_vote_find_entry(networkstatus_t *ns, const char *digest) +{ + (void)ns; + (void)digest; + return mock_rs; +} + +static void +test_router_mark_if_too_old(void *arg) +{ + (void)arg; + time_t now = approx_time(); + MOCK(networkstatus_get_live_consensus, + mock_networkstatus_get_live_consensus); + MOCK(networkstatus_vote_find_entry, mock_networkstatus_vote_find_entry); + + routerstatus_t rs; + networkstatus_t ns; + memset(&rs, 0, sizeof(rs)); + memset(&ns, 0, sizeof(ns)); + mock_ns = &ns; + mock_ns->valid_after = now-3600; + mock_rs = &rs; + mock_rs->published_on = now - 10; + + // no reason to mark this time. + desc_clean_since = now-10; + desc_dirty_reason = NULL; + mark_my_descriptor_dirty_if_too_old(now); + tt_i64_op(desc_clean_since, OP_EQ, now-10); + + // Doesn't appear in consensus? Still don't mark it. + mock_ns = NULL; + mark_my_descriptor_dirty_if_too_old(now); + tt_i64_op(desc_clean_since, OP_EQ, now-10); + mock_ns = &ns; + + // No new descriptor in a long time? Mark it. + desc_clean_since = now - 3600 * 96; + mark_my_descriptor_dirty_if_too_old(now); + tt_i64_op(desc_clean_since, OP_EQ, 0); + tt_str_op(desc_dirty_reason, OP_EQ, "time for new descriptor"); + + // Version in consensus published a long time ago? We won't mark it + // if it's been clean for only a short time. + desc_clean_since = now - 10; + desc_dirty_reason = NULL; + mock_rs->published_on = now - 3600 * 96; + mark_my_descriptor_dirty_if_too_old(now); + tt_i64_op(desc_clean_since, OP_EQ, now - 10); + + // ... but if it's been clean a while, we mark. + desc_clean_since = now - 2 * 3600; + mark_my_descriptor_dirty_if_too_old(now); + tt_i64_op(desc_clean_since, OP_EQ, 0); + tt_str_op(desc_dirty_reason, OP_EQ, + "version listed in consensus is quite old"); + + // same deal if we're marked stale. + desc_clean_since = now - 2 * 3600; + desc_dirty_reason = NULL; + mock_rs->published_on = now - 10; + mock_rs->is_staledesc = 1; + mark_my_descriptor_dirty_if_too_old(now); + tt_i64_op(desc_clean_since, OP_EQ, 0); + tt_str_op(desc_dirty_reason, OP_EQ, + "listed as stale in consensus"); + + // same deal if we're absent from the consensus. + desc_clean_since = now - 2 * 3600; + desc_dirty_reason = NULL; + mock_rs = NULL; + mark_my_descriptor_dirty_if_too_old(now); + tt_i64_op(desc_clean_since, OP_EQ, 0); + tt_str_op(desc_dirty_reason, OP_EQ, + "not listed in consensus"); + + done: + UNMOCK(networkstatus_get_live_consensus); + UNMOCK(networkstatus_vote_find_entry); +} + +static node_t fake_node; +static const node_t * +mock_node_get_by_nickname(const char *name, unsigned flags) +{ + (void)flags; + if (!strcasecmp(name, "crumpet")) + return &fake_node; + else + return NULL; +} + +static void +test_router_get_my_family(void *arg) +{ + (void)arg; + or_options_t *options = options_new(); + smartlist_t *sl = NULL; + char *join = NULL; + // Overwrite the result of router_get_my_identity_digest(). This + // happens to be okay, but only for testing. + set_server_identity_key_digest_testing( + (const uint8_t*)"holeinthebottomofthe"); + + setup_capture_of_logs(LOG_WARN); + + // No family listed -- so there's no list. + sl = get_my_declared_family(options); + tt_ptr_op(sl, OP_EQ, NULL); + expect_no_log_entry(); + +#define CLEAR() do { \ + if (sl) { \ + SMARTLIST_FOREACH(sl, char *, cp, tor_free(cp)); \ + smartlist_free(sl); \ + } \ + tor_free(join); \ + mock_clean_saved_logs(); \ + } while (0) + + // Add a single nice friendly hex member. This should be enough + // to have our own ID added. + tt_ptr_op(options->MyFamily, OP_EQ, NULL); + config_line_append(&options->MyFamily, "MyFamily", + "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); + + sl = get_my_declared_family(options); + tt_ptr_op(sl, OP_NE, NULL); + tt_int_op(smartlist_len(sl), OP_EQ, 2); + join = smartlist_join_strings(sl, " ", 0, NULL); + tt_str_op(join, OP_EQ, + "$686F6C65696E746865626F74746F6D6F66746865 " + "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); + expect_no_log_entry(); + CLEAR(); + + // Add a hex member with a ~. The ~ part should get removed. + config_line_append(&options->MyFamily, "MyFamily", + "$0123456789abcdef0123456789abcdef01234567~Muffin"); + sl = get_my_declared_family(options); + tt_ptr_op(sl, OP_NE, NULL); + tt_int_op(smartlist_len(sl), OP_EQ, 3); + join = smartlist_join_strings(sl, " ", 0, NULL); + tt_str_op(join, OP_EQ, + "$0123456789ABCDEF0123456789ABCDEF01234567 " + "$686F6C65696E746865626F74746F6D6F66746865 " + "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"); + expect_no_log_entry(); + CLEAR(); + + // Nickname lookup will fail, so a nickname will appear verbatim. + config_line_append(&options->MyFamily, "MyFamily", + "BAGEL"); + sl = get_my_declared_family(options); + tt_ptr_op(sl, OP_NE, NULL); + tt_int_op(smartlist_len(sl), OP_EQ, 4); + join = smartlist_join_strings(sl, " ", 0, NULL); + tt_str_op(join, OP_EQ, + "$0123456789ABCDEF0123456789ABCDEF01234567 " + "$686F6C65696E746865626F74746F6D6F66746865 " + "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA " + "bagel"); + expect_single_log_msg_containing( + "There is a router named \"BAGEL\" in my declared family, but " + "I have no descriptor for it."); + CLEAR(); + + // A bogus digest should fail entirely. + config_line_append(&options->MyFamily, "MyFamily", + "$painauchocolat"); + sl = get_my_declared_family(options); + tt_ptr_op(sl, OP_NE, NULL); + tt_int_op(smartlist_len(sl), OP_EQ, 4); + join = smartlist_join_strings(sl, " ", 0, NULL); + tt_str_op(join, OP_EQ, + "$0123456789ABCDEF0123456789ABCDEF01234567 " + "$686F6C65696E746865626F74746F6D6F66746865 " + "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA " + "bagel"); + // "BAGEL" is still there, but it won't make a warning, because we already + // warned about it. + expect_single_log_msg_containing( + "There is a router named \"$painauchocolat\" in my declared " + "family, but that isn't a legal digest or nickname. Skipping it."); + CLEAR(); + + // Let's introduce a node we can look up by nickname + memset(&fake_node, 0, sizeof(fake_node)); + memcpy(fake_node.identity, "whydoyouasknonononon", DIGEST_LEN); + MOCK(node_get_by_nickname, mock_node_get_by_nickname); + + config_line_append(&options->MyFamily, "MyFamily", + "CRUmpeT"); + sl = get_my_declared_family(options); + tt_ptr_op(sl, OP_NE, NULL); + tt_int_op(smartlist_len(sl), OP_EQ, 5); + join = smartlist_join_strings(sl, " ", 0, NULL); + tt_str_op(join, OP_EQ, + "$0123456789ABCDEF0123456789ABCDEF01234567 " + "$686F6C65696E746865626F74746F6D6F66746865 " + "$776879646F796F7561736B6E6F6E6F6E6F6E6F6E " + "$AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA " + "bagel"); + // "BAGEL" is still there, but it won't make a warning, because we already + // warned about it. Some with "$painauchocolat". + expect_single_log_msg_containing( + "There is a router named \"CRUmpeT\" in my declared " + "family, but it wasn't listed by digest. Please consider saying " + "$776879646F796F7561736B6E6F6E6F6E6F6E6F6E instead, if that's " + "what you meant."); + CLEAR(); + UNMOCK(node_get_by_nickname); + + // Try a singleton list containing only us: It should give us NULL. + config_free_lines(options->MyFamily); + config_line_append(&options->MyFamily, "MyFamily", + "$686F6C65696E746865626F74746F6D6F66746865"); + sl = get_my_declared_family(options); + tt_ptr_op(sl, OP_EQ, NULL); + expect_no_log_entry(); + + done: + or_options_free(options); + teardown_capture_of_logs(); + CLEAR(); + UNMOCK(node_get_by_nickname); + +#undef CLEAR +} + #define ROUTER_TEST(name, flags) \ { #name, test_router_ ## name, flags, NULL, NULL } struct testcase_t router_tests[] = { ROUTER_TEST(check_descriptor_bandwidth_changed, TT_FORK), ROUTER_TEST(dump_router_to_string_no_bridge_distribution_method, TT_FORK), + ROUTER_TEST(mark_if_too_old, TT_FORK), + ROUTER_TEST(get_my_family, TT_FORK), END_OF_TESTCASES }; diff --git a/src/test/test_routerlist.c b/src/test/test_routerlist.c index 67af2fd484..167b7a35ce 100644 --- a/src/test/test_routerlist.c +++ b/src/test/test_routerlist.c @@ -46,7 +46,7 @@ #include "feature/nodelist/routerstatus_st.h" #include "lib/encoding/confline.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "test/test.h" #include "test/test_dir_common.h" @@ -265,7 +265,9 @@ test_router_pick_directory_server_impl(void *arg) /* Init SR subsystem. */ MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m); - mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL); + mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, + strlen(AUTHORITY_CERT_1), + NULL); sr_init(0); UNMOCK(get_my_v3_authority_cert); @@ -275,7 +277,9 @@ test_router_pick_directory_server_impl(void *arg) construct_consensus(&consensus_text_md, now); tt_assert(consensus_text_md); - con_md = networkstatus_parse_vote_from_string(consensus_text_md, NULL, + con_md = networkstatus_parse_vote_from_string(consensus_text_md, + strlen(consensus_text_md), + NULL, NS_TYPE_CONSENSUS); tt_assert(con_md); tt_int_op(con_md->flavor,OP_EQ, FLAV_MICRODESC); @@ -475,7 +479,9 @@ test_directory_guard_fetch_with_no_dirinfo(void *arg) /* Initialize the SRV subsystem */ MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m); - mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL); + mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, + strlen(AUTHORITY_CERT_1), + NULL); sr_init(0); UNMOCK(get_my_v3_authority_cert); @@ -648,7 +654,9 @@ test_skew_common(void *arg, time_t now, unsigned long *offset) /* Initialize the SRV subsystem */ MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m); - mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL); + mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, + strlen(AUTHORITY_CERT_1), + NULL); sr_init(0); UNMOCK(get_my_v3_authority_cert); @@ -662,7 +670,8 @@ test_skew_common(void *arg, time_t now, unsigned long *offset) MOCK(clock_skew_warning, mock_clock_skew_warning); /* Caller will call teardown_capture_of_logs() */ setup_capture_of_logs(LOG_WARN); - retval = networkstatus_set_current_consensus(consensus, "microdesc", 0, + retval = networkstatus_set_current_consensus(consensus, strlen(consensus), + "microdesc", 0, NULL); done: diff --git a/src/test/test_rust.sh b/src/test/test_rust.sh index a1a56af480..00b3e88d37 100755 --- a/src/test/test_rust.sh +++ b/src/test/test_rust.sh @@ -5,12 +5,20 @@ set -e export LSAN_OPTIONS=suppressions=${abs_top_srcdir:-../../..}/src/test/rust_supp.txt +# When testing Cargo we pass a number of very specific linker flags down +# through Cargo. We do not, however, want these flags to affect things like +# build scripts, only the tests that we're compiling. To ensure this happens +# we unconditionally pass `--target` into Cargo, ensuring that `RUSTFLAGS` in +# the environment won't make their way into build scripts. +rustc_host=$(rustc -vV | grep host | sed 's/host: //') + for cargo_toml_dir in "${abs_top_srcdir:-../../..}"/src/rust/*; do if [ -e "${cargo_toml_dir}/Cargo.toml" ]; then cd "${abs_top_builddir:-../../..}/src/rust" && \ CARGO_TARGET_DIR="${abs_top_builddir:-../../..}/src/rust/target" \ "${CARGO:-cargo}" test ${CARGO_ONLINE-"--frozen"} \ - --features "test_linking_hack" \ + --features "test_linking_hack" \ + --target $rustc_host \ ${EXTRA_CARGO_OPTIONS} \ --manifest-path "${cargo_toml_dir}/Cargo.toml" || exitcode=1 fi diff --git a/src/test/test_shared_random.c b/src/test/test_shared_random.c index 8a7fb95cc1..433661f128 100644 --- a/src/test/test_shared_random.c +++ b/src/test/test_shared_random.c @@ -65,7 +65,9 @@ init_authority_state(void) MOCK(get_my_v3_authority_cert, get_my_v3_authority_cert_m); or_options_t *options = get_options_mutable(); - mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL); + mock_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, + strlen(AUTHORITY_CERT_1), + NULL); tt_assert(mock_cert); options->AuthoritativeDir = 1; tt_int_op(load_ed_keys(options, time(NULL)), OP_GE, 0); @@ -421,7 +423,9 @@ test_sr_commit(void *arg) { /* Setup a minimal dirauth environment for this test */ or_options_t *options = get_options_mutable(); - auth_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL); + auth_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, + strlen(AUTHORITY_CERT_1), + NULL); tt_assert(auth_cert); options->AuthoritativeDir = 1; @@ -824,7 +828,9 @@ test_sr_setup_commits(void) { /* Setup a minimal dirauth environment for this test */ or_options_t *options = get_options_mutable(); - auth_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, NULL); + auth_cert = authority_cert_parse_from_string(AUTHORITY_CERT_1, + strlen(AUTHORITY_CERT_1), + NULL); tt_assert(auth_cert); options->AuthoritativeDir = 1; diff --git a/src/test/test_slow.c b/src/test/test_slow.c index 0b665363ab..97c2912af6 100644 --- a/src/test/test_slow.c +++ b/src/test/test_slow.c @@ -20,7 +20,7 @@ struct testgroup_t testgroups[] = { { "slow/crypto/", slow_crypto_tests }, - { "slow/util/", slow_util_tests }, + { "slow/process/", slow_process_tests }, END_OF_GROUPS }; diff --git a/src/test/test_socks.c b/src/test/test_socks.c index 7f6d8a48f1..d430f4329b 100644 --- a/src/test/test_socks.c +++ b/src/test/test_socks.c @@ -4,7 +4,7 @@ /* See LICENSE for licensing information */ #include "core/or/or.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "app/config/config.h" #include "core/mainloop/connection.h" #include "core/proto/proto_socks.h" diff --git a/src/test/test_util.c b/src/test/test_util.c index 7bc1b7921a..b983cbb0bf 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -10,10 +10,10 @@ #define UTIL_PRIVATE #define UTIL_MALLOC_PRIVATE #define SOCKET_PRIVATE -#define SUBPROCESS_PRIVATE +#define PROCESS_WIN32_PRIVATE #include "lib/testsupport/testsupport.h" #include "core/or/or.h" -#include "lib/container/buffers.h" +#include "lib/buf/buffers.h" #include "app/config/config.h" #include "feature/control/control.h" #include "feature/client/transports.h" @@ -22,6 +22,7 @@ #include "test/test.h" #include "lib/memarea/memarea.h" #include "lib/process/waitpid.h" +#include "lib/process/process_win32.h" #include "test/log_test_helpers.h" #include "lib/compress/compress.h" #include "lib/compress/compress_zstd.h" @@ -30,7 +31,6 @@ #include "lib/fs/winlib.h" #include "lib/process/env.h" #include "lib/process/pidfile.h" -#include "lib/process/subprocess.h" #include "lib/intmath/weakrng.h" #include "lib/thread/numcpus.h" #include "lib/math/fp.h" @@ -4024,6 +4024,13 @@ test_util_string_is_utf8(void *ptr) tt_int_op(1, OP_EQ, string_is_utf8("ascii\x7f\n", 7)); tt_int_op(1, OP_EQ, string_is_utf8("Risqu\u00e9=1", 9)); + /* Test the utf8_no_bom function */ + tt_int_op(0, OP_EQ, string_is_utf8_no_bom("\uFEFF", 3)); + tt_int_op(0, OP_EQ, string_is_utf8_no_bom("\uFFFE", 3)); + tt_int_op(0, OP_EQ, string_is_utf8_no_bom("\uFEFFlove", 7)); + tt_int_op(1, OP_EQ, string_is_utf8_no_bom("loveandrespect", + strlen("loveandrespect"))); + // Validate exactly 'len' bytes. tt_int_op(0, OP_EQ, string_is_utf8("\0\x80", 2)); tt_int_op(0, OP_EQ, string_is_utf8("Risqu\u00e9=1", 6)); @@ -4294,204 +4301,6 @@ test_util_load_win_lib(void *ptr) } #endif /* defined(_WIN32) */ -#ifndef _WIN32 -static void -clear_hex_errno(char *hex_errno) -{ - memset(hex_errno, '\0', HEX_ERRNO_SIZE + 1); -} - -static void -test_util_exit_status(void *ptr) -{ - /* Leave an extra byte for a \0 so we can do string comparison */ - char hex_errno[HEX_ERRNO_SIZE + 1]; - int n; - - (void)ptr; - - clear_hex_errno(hex_errno); - tt_str_op("",OP_EQ, hex_errno); - - clear_hex_errno(hex_errno); - n = format_helper_exit_status(0, 0, hex_errno); - tt_str_op("0/0\n",OP_EQ, hex_errno); - tt_int_op(n,OP_EQ, strlen(hex_errno)); - -#if SIZEOF_INT == 4 - - clear_hex_errno(hex_errno); - n = format_helper_exit_status(0, 0x7FFFFFFF, hex_errno); - tt_str_op("0/7FFFFFFF\n",OP_EQ, hex_errno); - tt_int_op(n,OP_EQ, strlen(hex_errno)); - - clear_hex_errno(hex_errno); - n = format_helper_exit_status(0xFF, -0x80000000, hex_errno); - tt_str_op("FF/-80000000\n",OP_EQ, hex_errno); - tt_int_op(n,OP_EQ, strlen(hex_errno)); - tt_int_op(n,OP_EQ, HEX_ERRNO_SIZE); - -#elif SIZEOF_INT == 8 - - clear_hex_errno(hex_errno); - n = format_helper_exit_status(0, 0x7FFFFFFFFFFFFFFF, hex_errno); - tt_str_op("0/7FFFFFFFFFFFFFFF\n",OP_EQ, hex_errno); - tt_int_op(n,OP_EQ, strlen(hex_errno)); - - clear_hex_errno(hex_errno); - n = format_helper_exit_status(0xFF, -0x8000000000000000, hex_errno); - tt_str_op("FF/-8000000000000000\n",OP_EQ, hex_errno); - tt_int_op(n,OP_EQ, strlen(hex_errno)); - tt_int_op(n,OP_EQ, HEX_ERRNO_SIZE); - -#endif /* SIZEOF_INT == 4 || ... */ - - clear_hex_errno(hex_errno); - n = format_helper_exit_status(0x7F, 0, hex_errno); - tt_str_op("7F/0\n",OP_EQ, hex_errno); - tt_int_op(n,OP_EQ, strlen(hex_errno)); - - clear_hex_errno(hex_errno); - n = format_helper_exit_status(0x08, -0x242, hex_errno); - tt_str_op("8/-242\n",OP_EQ, hex_errno); - tt_int_op(n,OP_EQ, strlen(hex_errno)); - - clear_hex_errno(hex_errno); - tt_str_op("",OP_EQ, hex_errno); - - done: - ; -} -#endif /* !defined(_WIN32) */ - -#ifndef _WIN32 -static void -test_util_string_from_pipe(void *ptr) -{ - int test_pipe[2] = {-1, -1}; - int retval = 0; - enum stream_status status = IO_STREAM_TERM; - ssize_t retlen; - char buf[4] = { 0 }; - - (void)ptr; - - errno = 0; - - /* Set up a pipe to test on */ - retval = pipe(test_pipe); - tt_int_op(retval, OP_EQ, 0); - - /* Send in a string. */ - retlen = write(test_pipe[1], "ABC", 3); - tt_int_op(retlen, OP_EQ, 3); - - status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1); - tt_int_op(errno, OP_EQ, 0); - tt_int_op(status, OP_EQ, IO_STREAM_OKAY); - tt_str_op(buf, OP_EQ, "ABC"); - errno = 0; - - /* Send in a string that contains a nul. */ - retlen = write(test_pipe[1], "AB\0", 3); - tt_int_op(retlen, OP_EQ, 3); - - status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1); - tt_int_op(errno, OP_EQ, 0); - tt_int_op(status, OP_EQ, IO_STREAM_OKAY); - tt_str_op(buf, OP_EQ, "AB"); - errno = 0; - - /* Send in a string that contains a nul only. */ - retlen = write(test_pipe[1], "\0", 1); - tt_int_op(retlen, OP_EQ, 1); - - status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1); - tt_int_op(errno, OP_EQ, 0); - tt_int_op(status, OP_EQ, IO_STREAM_OKAY); - tt_str_op(buf, OP_EQ, ""); - errno = 0; - - /* Send in a string that contains a trailing newline. */ - retlen = write(test_pipe[1], "AB\n", 3); - tt_int_op(retlen, OP_EQ, 3); - - status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1); - tt_int_op(errno, OP_EQ, 0); - tt_int_op(status, OP_EQ, IO_STREAM_OKAY); - tt_str_op(buf, OP_EQ, "AB"); - errno = 0; - - /* Send in a string that contains a newline only. */ - retlen = write(test_pipe[1], "\n", 1); - tt_int_op(retlen, OP_EQ, 1); - - status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1); - tt_int_op(errno, OP_EQ, 0); - tt_int_op(status, OP_EQ, IO_STREAM_OKAY); - tt_str_op(buf, OP_EQ, ""); - errno = 0; - - /* Send in a string and check that we nul terminate return values. */ - retlen = write(test_pipe[1], "AAA", 3); - tt_int_op(retlen, OP_EQ, 3); - - status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1); - tt_int_op(errno, OP_EQ, 0); - tt_int_op(status, OP_EQ, IO_STREAM_OKAY); - tt_str_op(buf, OP_EQ, "AAA"); - tt_mem_op(buf, OP_EQ, "AAA\0", sizeof(buf)); - errno = 0; - - retlen = write(test_pipe[1], "B", 1); - tt_int_op(retlen, OP_EQ, 1); - - memset(buf, '\xff', sizeof(buf)); - status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1); - tt_int_op(errno, OP_EQ, 0); - tt_int_op(status, OP_EQ, IO_STREAM_OKAY); - tt_str_op(buf, OP_EQ, "B"); - tt_mem_op(buf, OP_EQ, "B\0\xff\xff", sizeof(buf)); - errno = 0; - - /* Send in multiple lines. */ - retlen = write(test_pipe[1], "A\nB", 3); - tt_int_op(retlen, OP_EQ, 3); - - status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1); - tt_int_op(errno, OP_EQ, 0); - tt_int_op(status, OP_EQ, IO_STREAM_OKAY); - tt_str_op(buf, OP_EQ, "A\nB"); - errno = 0; - - /* Send in a line and close */ - retlen = write(test_pipe[1], "AB", 2); - tt_int_op(retlen, OP_EQ, 2); - retval = close(test_pipe[1]); - tt_int_op(retval, OP_EQ, 0); - test_pipe[1] = -1; - - status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1); - tt_int_op(errno, OP_EQ, 0); - tt_int_op(status, OP_EQ, IO_STREAM_OKAY); - tt_str_op(buf, OP_EQ, "AB"); - errno = 0; - - /* Check for EOF */ - status = get_string_from_pipe(test_pipe[0], buf, sizeof(buf)-1); - tt_int_op(errno, OP_EQ, 0); - tt_int_op(status, OP_EQ, IO_STREAM_CLOSED); - errno = 0; - - done: - if (test_pipe[0] != -1) - close(test_pipe[0]); - if (test_pipe[1] != -1) - close(test_pipe[1]); -} - -#endif /* !defined(_WIN32) */ - /** * Test for format_hex_number_sigsafe() */ @@ -4586,57 +4395,6 @@ test_util_format_dec_number(void *ptr) return; } -/** - * Test that we can properly format a Windows command line - */ -static void -test_util_join_win_cmdline(void *ptr) -{ - /* Based on some test cases from "Parsing C++ Command-Line Arguments" in - * MSDN but we don't exercise all quoting rules because tor_join_win_cmdline - * will try to only generate simple cases for the child process to parse; - * i.e. we never embed quoted strings in arguments. */ - - const char *argvs[][4] = { - {"a", "bb", "CCC", NULL}, // Normal - {NULL, NULL, NULL, NULL}, // Empty argument list - {"", NULL, NULL, NULL}, // Empty argument - {"\"a", "b\"b", "CCC\"", NULL}, // Quotes - {"a\tbc", "dd dd", "E", NULL}, // Whitespace - {"a\\\\\\b", "de fg", "H", NULL}, // Backslashes - {"a\\\"b", "\\c", "D\\", NULL}, // Backslashes before quote - {"a\\\\b c", "d", "E", NULL}, // Backslashes not before quote - { NULL } // Terminator - }; - - const char *cmdlines[] = { - "a bb CCC", - "", - "\"\"", - "\\\"a b\\\"b CCC\\\"", - "\"a\tbc\" \"dd dd\" E", - "a\\\\\\b \"de fg\" H", - "a\\\\\\\"b \\c D\\", - "\"a\\\\b c\" d E", - NULL // Terminator - }; - - int i; - char *joined_argv = NULL; - - (void)ptr; - - for (i=0; cmdlines[i]!=NULL; i++) { - log_info(LD_GENERAL, "Joining argvs[%d], expecting <%s>", i, cmdlines[i]); - joined_argv = tor_join_win_cmdline(argvs[i]); - tt_str_op(cmdlines[i],OP_EQ, joined_argv); - tor_free(joined_argv); - } - - done: - tor_free(joined_argv); -} - #define MAX_SPLIT_LINE_COUNT 4 struct split_lines_test_t { const char *orig_line; // Line to be split (may contain \0's) @@ -4644,67 +4402,6 @@ struct split_lines_test_t { const char *split_line[MAX_SPLIT_LINE_COUNT]; // Split lines }; -/** - * Test that we properly split a buffer into lines - */ -static void -test_util_split_lines(void *ptr) -{ - /* Test cases. orig_line of last test case must be NULL. - * The last element of split_line[i] must be NULL. */ - struct split_lines_test_t tests[] = { - {"", 0, {NULL}}, - {"foo", 3, {"foo", NULL}}, - {"\n\rfoo\n\rbar\r\n", 12, {"foo", "bar", NULL}}, - {"fo o\r\nb\tar", 10, {"fo o", "b.ar", NULL}}, - {"\x0f""f\0o\0\n\x01""b\0r\0\r", 12, {".f.o.", ".b.r.", NULL}}, - {"line 1\r\nline 2", 14, {"line 1", "line 2", NULL}}, - {"line 1\r\n\r\nline 2", 16, {"line 1", "line 2", NULL}}, - {"line 1\r\n\r\r\r\nline 2", 18, {"line 1", "line 2", NULL}}, - {"line 1\r\n\n\n\n\rline 2", 18, {"line 1", "line 2", NULL}}, - {"line 1\r\n\r\t\r\nline 3", 18, {"line 1", ".", "line 3", NULL}}, - {"\n\t\r\t\nline 3", 11, {".", ".", "line 3", NULL}}, - {NULL, 0, { NULL }} - }; - - int i, j; - char *orig_line=NULL; - smartlist_t *sl=NULL; - - (void)ptr; - - for (i=0; tests[i].orig_line; i++) { - sl = smartlist_new(); - /* Allocate space for string and trailing NULL */ - orig_line = tor_memdup(tests[i].orig_line, tests[i].orig_length + 1); - tor_split_lines(sl, orig_line, tests[i].orig_length); - - j = 0; - log_info(LD_GENERAL, "Splitting test %d of length %d", - i, tests[i].orig_length); - SMARTLIST_FOREACH_BEGIN(sl, const char *, line) { - /* Check we have not got too many lines */ - tt_int_op(MAX_SPLIT_LINE_COUNT, OP_GT, j); - /* Check that there actually should be a line here */ - tt_ptr_op(tests[i].split_line[j], OP_NE, NULL); - log_info(LD_GENERAL, "Line %d of test %d, should be <%s>", - j, i, tests[i].split_line[j]); - /* Check that the line is as expected */ - tt_str_op(line,OP_EQ, tests[i].split_line[j]); - j++; - } SMARTLIST_FOREACH_END(line); - /* Check that we didn't miss some lines */ - tt_ptr_op(NULL,OP_EQ, tests[i].split_line[j]); - tor_free(orig_line); - smartlist_free(sl); - sl = NULL; - } - - done: - tor_free(orig_line); - smartlist_free(sl); -} - static void test_util_di_ops(void *arg) { @@ -5808,6 +5505,18 @@ test_util_ipv4_validation(void *arg) } static void +test_util_ipv6_validation(void *arg) +{ + (void)arg; + + tt_assert(string_is_valid_ipv6_address("2a00:1450:401b:800::200e")); + tt_assert(!string_is_valid_ipv6_address("11:22::33:44:")); + + done: + return; +} + +static void test_util_writepid(void *arg) { (void) arg; @@ -6464,12 +6173,8 @@ struct testcase_t util_tests[] = { UTIL_TEST(nowrap_math, 0), UTIL_TEST(num_cpus, 0), UTIL_TEST_WIN_ONLY(load_win_lib, 0), - UTIL_TEST_NO_WIN(exit_status, 0), - UTIL_TEST_NO_WIN(string_from_pipe, 0), UTIL_TEST(format_hex_number, 0), UTIL_TEST(format_dec_number, 0), - UTIL_TEST(join_win_cmdline, 0), - UTIL_TEST(split_lines, 0), UTIL_TEST(n_bits_set, 0), UTIL_TEST(eat_whitespace, 0), UTIL_TEST(sl_new_from_text_lines, 0), @@ -6498,6 +6203,7 @@ struct testcase_t util_tests[] = { UTIL_TEST(hostname_validation, 0), UTIL_TEST(dest_validation_edgecase, 0), UTIL_TEST(ipv4_validation, 0), + UTIL_TEST(ipv6_validation, 0), UTIL_TEST(writepid, 0), UTIL_TEST(get_avail_disk_space, 0), UTIL_TEST(touch_file, 0), diff --git a/src/test/test_util_format.c b/src/test/test_util_format.c index 85d8a8e62e..fd57125b86 100644 --- a/src/test/test_util_format.c +++ b/src/test/test_util_format.c @@ -392,10 +392,13 @@ test_util_format_encoded_size(void *arg) base64_encode(outbuf, sizeof(outbuf), (char *)inbuf, i, 0); tt_int_op(strlen(outbuf), OP_EQ, base64_encode_size(i, 0)); + tt_int_op(i, OP_LE, base64_decode_maxsize(strlen(outbuf))); + base64_encode(outbuf, sizeof(outbuf), (char *)inbuf, i, BASE64_ENCODE_MULTILINE); tt_int_op(strlen(outbuf), OP_EQ, base64_encode_size(i, BASE64_ENCODE_MULTILINE)); + tt_int_op(i, OP_LE, base64_decode_maxsize(strlen(outbuf))); } done: @@ -417,4 +420,3 @@ struct testcase_t util_format_tests[] = { { "encoded_size", test_util_format_encoded_size, 0, NULL, NULL }, END_OF_TESTCASES }; - diff --git a/src/test/test_util_slow.c b/src/test/test_util_slow.c deleted file mode 100644 index c7b3e3e2a4..0000000000 --- a/src/test/test_util_slow.c +++ /dev/null @@ -1,396 +0,0 @@ -/* Copyright (c) 2001-2004, Roger Dingledine. - * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson. - * Copyright (c) 2007-2018, The Tor Project, Inc. */ -/* See LICENSE for licensing information */ - -#include "orconfig.h" -#define UTIL_PRIVATE -#define SUBPROCESS_PRIVATE -#include "lib/crypt_ops/crypto_cipher.h" -#include "lib/log/log.h" -#include "lib/process/subprocess.h" -#include "lib/process/waitpid.h" -#include "lib/string/printf.h" -#include "lib/time/compat_time.h" -#include "test/test.h" - -#include <errno.h> -#include <string.h> - -#ifndef BUILDDIR -#define BUILDDIR "." -#endif - -#ifdef _WIN32 -#define notify_pending_waitpid_callbacks() STMT_NIL -#define TEST_CHILD "test-child.exe" -#define EOL "\r\n" -#else -#define TEST_CHILD (BUILDDIR "/src/test/test-child") -#define EOL "\n" -#endif /* defined(_WIN32) */ - -#ifdef _WIN32 -/* I've assumed Windows doesn't have the gap between fork and exec - * that causes the race condition on unix-like platforms */ -#define MATCH_PROCESS_STATUS(s1,s2) ((s1) == (s2)) - -#else /* !(defined(_WIN32)) */ -/* work around a race condition of the timing of SIGCHLD handler updates - * to the process_handle's fields, and checks of those fields - * - * TODO: Once we can signal failure to exec, change PROCESS_STATUS_RUNNING to - * PROCESS_STATUS_ERROR (and similarly with *_OR_NOTRUNNING) */ -#define PROCESS_STATUS_RUNNING_OR_NOTRUNNING (PROCESS_STATUS_RUNNING+1) -#define IS_RUNNING_OR_NOTRUNNING(s) \ - ((s) == PROCESS_STATUS_RUNNING || (s) == PROCESS_STATUS_NOTRUNNING) -/* well, this is ugly */ -#define MATCH_PROCESS_STATUS(s1,s2) \ - ( (s1) == (s2) \ - ||((s1) == PROCESS_STATUS_RUNNING_OR_NOTRUNNING \ - && IS_RUNNING_OR_NOTRUNNING(s2)) \ - ||((s2) == PROCESS_STATUS_RUNNING_OR_NOTRUNNING \ - && IS_RUNNING_OR_NOTRUNNING(s1))) - -#endif /* defined(_WIN32) */ - -/** Helper function for testing tor_spawn_background */ -static void -run_util_spawn_background(const char *argv[], const char *expected_out, - const char *expected_err, int expected_exit, - int expected_status) -{ - int retval, exit_code; - ssize_t pos; - process_handle_t *process_handle=NULL; - char stdout_buf[100], stderr_buf[100]; - int status; - - /* Start the program */ -#ifdef _WIN32 - status = tor_spawn_background(NULL, argv, NULL, &process_handle); -#else - status = tor_spawn_background(argv[0], argv, NULL, &process_handle); -#endif - - notify_pending_waitpid_callbacks(); - - /* the race condition doesn't affect status, - * because status isn't updated by the SIGCHLD handler, - * but we still need to handle PROCESS_STATUS_RUNNING_OR_NOTRUNNING */ - tt_assert(MATCH_PROCESS_STATUS(expected_status, status)); - if (status == PROCESS_STATUS_ERROR) { - tt_ptr_op(process_handle, OP_EQ, NULL); - return; - } - - tt_ptr_op(process_handle, OP_NE, NULL); - - /* When a spawned process forks, fails, then exits very quickly, - * (this typically occurs when exec fails) - * there is a race condition between the SIGCHLD handler - * updating the process_handle's fields, and this test - * checking the process status in those fields. - * The SIGCHLD update can occur before or after the code below executes. - * This causes intermittent failures in spawn_background_fail(), - * typically when the machine is under load. - * We use PROCESS_STATUS_RUNNING_OR_NOTRUNNING to avoid this issue. */ - - /* the race condition affects the change in - * process_handle->status from RUNNING to NOTRUNNING */ - tt_assert(MATCH_PROCESS_STATUS(expected_status, process_handle->status)); - -#ifndef _WIN32 - notify_pending_waitpid_callbacks(); - /* the race condition affects the change in - * process_handle->waitpid_cb to NULL, - * so we skip the check if expected_status is ambiguous, - * that is, PROCESS_STATUS_RUNNING_OR_NOTRUNNING */ - tt_assert(process_handle->waitpid_cb != NULL - || expected_status == PROCESS_STATUS_RUNNING_OR_NOTRUNNING); -#endif /* !defined(_WIN32) */ - -#ifdef _WIN32 - tt_assert(process_handle->stdout_pipe != INVALID_HANDLE_VALUE); - tt_assert(process_handle->stderr_pipe != INVALID_HANDLE_VALUE); - tt_assert(process_handle->stdin_pipe != INVALID_HANDLE_VALUE); -#else - tt_assert(process_handle->stdout_pipe >= 0); - tt_assert(process_handle->stderr_pipe >= 0); - tt_assert(process_handle->stdin_pipe >= 0); -#endif /* defined(_WIN32) */ - - /* Check stdout */ - pos = tor_read_all_from_process_stdout(process_handle, stdout_buf, - sizeof(stdout_buf) - 1); - tt_assert(pos >= 0); - stdout_buf[pos] = '\0'; - tt_int_op(strlen(expected_out),OP_EQ, pos); - tt_str_op(expected_out,OP_EQ, stdout_buf); - - notify_pending_waitpid_callbacks(); - - /* Check it terminated correctly */ - retval = tor_get_exit_code(process_handle, 1, &exit_code); - tt_int_op(PROCESS_EXIT_EXITED,OP_EQ, retval); - tt_int_op(expected_exit,OP_EQ, exit_code); - // TODO: Make test-child exit with something other than 0 - -#ifndef _WIN32 - notify_pending_waitpid_callbacks(); - tt_ptr_op(process_handle->waitpid_cb, OP_EQ, NULL); -#endif - - /* Check stderr */ - pos = tor_read_all_from_process_stderr(process_handle, stderr_buf, - sizeof(stderr_buf) - 1); - tt_assert(pos >= 0); - stderr_buf[pos] = '\0'; - tt_str_op(expected_err,OP_EQ, stderr_buf); - tt_int_op(strlen(expected_err),OP_EQ, pos); - - notify_pending_waitpid_callbacks(); - - done: - if (process_handle) - tor_process_handle_destroy(process_handle, 1); -} - -/** Check that we can launch a process and read the output */ -static void -test_util_spawn_background_ok(void *ptr) -{ - const char *argv[] = {TEST_CHILD, "--test", NULL}; - const char *expected_out = "OUT"EOL "--test"EOL "SLEEPING"EOL "DONE" EOL; - const char *expected_err = "ERR"EOL; - - (void)ptr; - - run_util_spawn_background(argv, expected_out, expected_err, 0, - PROCESS_STATUS_RUNNING); -} - -/** Check that failing to find the executable works as expected */ -static void -test_util_spawn_background_fail(void *ptr) -{ - const char *argv[] = {BUILDDIR "/src/test/no-such-file", "--test", NULL}; - const char *expected_err = ""; - char expected_out[1024]; - char code[32]; -#ifdef _WIN32 - const int expected_status = PROCESS_STATUS_ERROR; -#else - /* TODO: Once we can signal failure to exec, set this to be - * PROCESS_STATUS_RUNNING_OR_ERROR */ - const int expected_status = PROCESS_STATUS_RUNNING_OR_NOTRUNNING; -#endif /* defined(_WIN32) */ - - memset(expected_out, 0xf0, sizeof(expected_out)); - memset(code, 0xf0, sizeof(code)); - - (void)ptr; - - tor_snprintf(code, sizeof(code), "%x/%x", - 9 /* CHILD_STATE_FAILEXEC */ , ENOENT); - tor_snprintf(expected_out, sizeof(expected_out), - "ERR: Failed to spawn background process - code %s\n", code); - - run_util_spawn_background(argv, expected_out, expected_err, 255, - expected_status); -} - -/** Test that reading from a handle returns a partial read rather than - * blocking */ -static void -test_util_spawn_background_partial_read_impl(int exit_early) -{ - const int expected_exit = 0; - const int expected_status = PROCESS_STATUS_RUNNING; - - int retval, exit_code; - ssize_t pos = -1; - process_handle_t *process_handle=NULL; - int status; - char stdout_buf[100], stderr_buf[100]; - - const char *argv[] = {TEST_CHILD, "--test", NULL}; - const char *expected_out[] = { "OUT" EOL "--test" EOL "SLEEPING" EOL, - "DONE" EOL, - NULL }; - const char *expected_err = "ERR" EOL; - -#ifndef _WIN32 - int eof = 0; -#endif - int expected_out_ctr; - - if (exit_early) { - argv[1] = "--hang"; - expected_out[0] = "OUT"EOL "--hang"EOL "SLEEPING" EOL; - } - - /* Start the program */ -#ifdef _WIN32 - status = tor_spawn_background(NULL, argv, NULL, &process_handle); -#else - status = tor_spawn_background(argv[0], argv, NULL, &process_handle); -#endif - tt_int_op(expected_status,OP_EQ, status); - tt_assert(process_handle); - tt_int_op(expected_status,OP_EQ, process_handle->status); - - /* Check stdout */ - for (expected_out_ctr = 0; expected_out[expected_out_ctr] != NULL;) { -#ifdef _WIN32 - pos = tor_read_all_handle(process_handle->stdout_pipe, stdout_buf, - sizeof(stdout_buf) - 1, NULL); -#else - /* Check that we didn't read the end of file last time */ - tt_assert(!eof); - pos = tor_read_all_handle(process_handle->stdout_pipe, stdout_buf, - sizeof(stdout_buf) - 1, NULL, &eof); -#endif /* defined(_WIN32) */ - log_info(LD_GENERAL, "tor_read_all_handle() returned %d", (int)pos); - - /* We would have blocked, keep on trying */ - if (0 == pos) - continue; - - tt_assert(pos > 0); - stdout_buf[pos] = '\0'; - tt_str_op(expected_out[expected_out_ctr],OP_EQ, stdout_buf); - tt_int_op(strlen(expected_out[expected_out_ctr]),OP_EQ, pos); - expected_out_ctr++; - } - - if (exit_early) { - tor_process_handle_destroy(process_handle, 1); - process_handle = NULL; - goto done; - } - - /* The process should have exited without writing more */ -#ifdef _WIN32 - pos = tor_read_all_handle(process_handle->stdout_pipe, stdout_buf, - sizeof(stdout_buf) - 1, - process_handle); - tt_int_op(0,OP_EQ, pos); -#else /* !(defined(_WIN32)) */ - if (!eof) { - /* We should have got all the data, but maybe not the EOF flag */ - pos = tor_read_all_handle(process_handle->stdout_pipe, stdout_buf, - sizeof(stdout_buf) - 1, - process_handle, &eof); - tt_int_op(0,OP_EQ, pos); - tt_assert(eof); - } - /* Otherwise, we got the EOF on the last read */ -#endif /* defined(_WIN32) */ - - /* Check it terminated correctly */ - retval = tor_get_exit_code(process_handle, 1, &exit_code); - tt_int_op(PROCESS_EXIT_EXITED,OP_EQ, retval); - tt_int_op(expected_exit,OP_EQ, exit_code); - - // TODO: Make test-child exit with something other than 0 - - /* Check stderr */ - pos = tor_read_all_from_process_stderr(process_handle, stderr_buf, - sizeof(stderr_buf) - 1); - tt_assert(pos >= 0); - stderr_buf[pos] = '\0'; - tt_str_op(expected_err,OP_EQ, stderr_buf); - tt_int_op(strlen(expected_err),OP_EQ, pos); - - done: - tor_process_handle_destroy(process_handle, 1); -} - -static void -test_util_spawn_background_partial_read(void *arg) -{ - (void)arg; - test_util_spawn_background_partial_read_impl(0); -} - -static void -test_util_spawn_background_exit_early(void *arg) -{ - (void)arg; - test_util_spawn_background_partial_read_impl(1); -} - -static void -test_util_spawn_background_waitpid_notify(void *arg) -{ - int retval, exit_code; - process_handle_t *process_handle=NULL; - int status; - int ms_timer; - - const char *argv[] = {TEST_CHILD, "--fast", NULL}; - - (void) arg; - -#ifdef _WIN32 - status = tor_spawn_background(NULL, argv, NULL, &process_handle); -#else - status = tor_spawn_background(argv[0], argv, NULL, &process_handle); -#endif - - tt_int_op(status, OP_EQ, PROCESS_STATUS_RUNNING); - tt_ptr_op(process_handle, OP_NE, NULL); - - /* We're not going to look at the stdout/stderr output this time. Instead, - * we're testing whether notify_pending_waitpid_calbacks() can report the - * process exit (on unix) and/or whether tor_get_exit_code() can notice it - * (on windows) */ - -#ifndef _WIN32 - ms_timer = 30*1000; - tt_ptr_op(process_handle->waitpid_cb, OP_NE, NULL); - while (process_handle->waitpid_cb && ms_timer > 0) { - tor_sleep_msec(100); - ms_timer -= 100; - notify_pending_waitpid_callbacks(); - } - tt_int_op(ms_timer, OP_GT, 0); - tt_ptr_op(process_handle->waitpid_cb, OP_EQ, NULL); -#endif /* !defined(_WIN32) */ - - ms_timer = 30*1000; - while (((retval = tor_get_exit_code(process_handle, 0, &exit_code)) - == PROCESS_EXIT_RUNNING) && ms_timer > 0) { - tor_sleep_msec(100); - ms_timer -= 100; - } - tt_int_op(ms_timer, OP_GT, 0); - - tt_int_op(retval, OP_EQ, PROCESS_EXIT_EXITED); - - done: - tor_process_handle_destroy(process_handle, 1); -} - -#undef TEST_CHILD -#undef EOL - -#undef MATCH_PROCESS_STATUS - -#ifndef _WIN32 -#undef PROCESS_STATUS_RUNNING_OR_NOTRUNNING -#undef IS_RUNNING_OR_NOTRUNNING -#endif - -#define UTIL_TEST(name, flags) \ - { #name, test_util_ ## name, flags, NULL, NULL } - -struct testcase_t slow_util_tests[] = { - UTIL_TEST(spawn_background_ok, 0), - UTIL_TEST(spawn_background_fail, 0), - UTIL_TEST(spawn_background_partial_read, 0), - UTIL_TEST(spawn_background_exit_early, 0), - UTIL_TEST(spawn_background_waitpid_notify, 0), - END_OF_TESTCASES -}; diff --git a/src/test/test_voting_flags.c b/src/test/test_voting_flags.c new file mode 100644 index 0000000000..0c4cedb516 --- /dev/null +++ b/src/test/test_voting_flags.c @@ -0,0 +1,192 @@ +/* Copyright (c) 2018, The Tor Project, Inc. */ +/* See LICENSE for licensing information */ + +#include "orconfig.h" + +#define VOTEFLAGS_PRIVATE + +#include "core/or/or.h" + +#include "feature/dirauth/voteflags.h" +#include "feature/nodelist/node_st.h" +#include "feature/nodelist/routerstatus_st.h" +#include "feature/nodelist/routerinfo_st.h" + +#include "app/config/config.h" + +#include "test/test.h" + +typedef struct { + time_t now; + routerinfo_t ri; + node_t node; + + routerstatus_t expected; +} flag_vote_test_cfg_t; + +static void +setup_cfg(flag_vote_test_cfg_t *c) +{ + memset(c, 0, sizeof(*c)); + + c->now = approx_time(); + + c->ri.nickname = (char *) "testing100"; + strlcpy(c->expected.nickname, "testing100", sizeof(c->expected.nickname)); + + memset(c->ri.cache_info.identity_digest, 0xff, DIGEST_LEN); + memset(c->ri.cache_info.signed_descriptor_digest, 0xee, DIGEST256_LEN); + + c->ri.cache_info.published_on = c->now - 100; + c->expected.published_on = c->now - 100; + + c->ri.addr = 0x7f010105; + c->expected.addr = 0x7f010105; + c->ri.or_port = 9090; + c->expected.or_port = 9090; + + tor_addr_make_null(&c->ri.ipv6_addr, AF_INET6); + tor_addr_make_null(&c->expected.ipv6_addr, AF_INET6); + + // By default we have no loaded information about stability or speed, + // so we'll default to voting "yeah sure." on these two. + c->expected.is_fast = 1; + c->expected.is_stable = 1; +} + +static bool +check_result(flag_vote_test_cfg_t *c) +{ + bool result = false; + routerstatus_t rs; + memset(&rs, 0, sizeof(rs)); + set_routerstatus_from_routerinfo(&rs, &c->node, &c->ri, c->now, 0); + + tt_i64_op(rs.published_on, OP_EQ, c->expected.published_on); + tt_str_op(rs.nickname, OP_EQ, c->expected.nickname); + + // identity_digest and descriptor_digest are not set here. + + tt_uint_op(rs.addr, OP_EQ, c->expected.addr); + tt_uint_op(rs.or_port, OP_EQ, c->expected.or_port); + tt_uint_op(rs.dir_port, OP_EQ, c->expected.dir_port); + + tt_assert(tor_addr_eq(&rs.ipv6_addr, &c->expected.ipv6_addr)); + tt_uint_op(rs.ipv6_orport, OP_EQ, c->expected.ipv6_orport); + +#define FLAG(flagname) \ + tt_uint_op(rs.flagname, OP_EQ, c->expected.flagname) + + FLAG(is_authority); + FLAG(is_exit); + FLAG(is_stable); + FLAG(is_fast); + FLAG(is_flagged_running); + FLAG(is_named); + FLAG(is_unnamed); + FLAG(is_valid); + FLAG(is_possible_guard); + FLAG(is_bad_exit); + FLAG(is_hs_dir); + FLAG(is_v2_dir); + FLAG(is_staledesc); + FLAG(has_bandwidth); + FLAG(has_exitsummary); + FLAG(bw_is_unmeasured); + + result = true; + + done: + return result; +} + +static void +test_voting_flags_minimal(void *arg) +{ + flag_vote_test_cfg_t *cfg = arg; + check_result(cfg); +} + +static void +test_voting_flags_ipv6(void *arg) +{ + flag_vote_test_cfg_t *cfg = arg; + + tt_assert(tor_addr_parse(&cfg->ri.ipv6_addr, "f00::b42") == AF_INET6); + cfg->ri.ipv6_orport = 9091; + // no change in expected results, since we aren't set up with ipv6 + // connectivity. + if (!check_result(cfg)) + goto done; + + get_options_mutable()->AuthDirHasIPv6Connectivity = 1; + // no change in expected results, since last_reachable6 won't be set. + if (!check_result(cfg)) + goto done; + + cfg->node.last_reachable6 = cfg->now - 10; + // now that lastreachable6 is set, we expect to see the result. + tt_assert(tor_addr_parse(&cfg->expected.ipv6_addr, "f00::b42") == AF_INET6); + cfg->expected.ipv6_orport = 9091; + if (!check_result(cfg)) + goto done; + done: + ; +} + +static void +test_voting_flags_staledesc(void *arg) +{ + flag_vote_test_cfg_t *cfg = arg; + time_t now = cfg->now; + + cfg->ri.cache_info.published_on = now - DESC_IS_STALE_INTERVAL + 10; + cfg->expected.published_on = now - DESC_IS_STALE_INTERVAL + 10; + // no change in expectations for is_staledesc + if (!check_result(cfg)) + goto done; + + cfg->ri.cache_info.published_on = now - DESC_IS_STALE_INTERVAL - 10; + cfg->expected.published_on = now - DESC_IS_STALE_INTERVAL - 10; + cfg->expected.is_staledesc = 1; + if (!check_result(cfg)) + goto done; + + done: + ; +} + +static void * +setup_voting_flags_test(const struct testcase_t *testcase) +{ + (void)testcase; + flag_vote_test_cfg_t *cfg = tor_malloc_zero(sizeof(*cfg)); + setup_cfg(cfg); + return cfg; +} + +static int +teardown_voting_flags_test(const struct testcase_t *testcase, void *arg) +{ + (void)testcase; + flag_vote_test_cfg_t *cfg = arg; + tor_free(cfg); + return 1; +} + +static const struct testcase_setup_t voting_flags_setup = { + .setup_fn = setup_voting_flags_test, + .cleanup_fn = teardown_voting_flags_test, +}; + +#define T(name,flags) \ + { #name, test_voting_flags_##name, (flags), &voting_flags_setup, NULL } + +struct testcase_t voting_flags_tests[] = { + T(minimal, 0), + T(ipv6, TT_FORK), + // TODO: Add more of these tests. + T(staledesc, TT_FORK), + END_OF_TESTCASES +}; + diff --git a/src/test/testing_common.c b/src/test/testing_common.c index c52683afca..6d2db28f15 100644 --- a/src/test/testing_common.c +++ b/src/test/testing_common.c @@ -25,6 +25,8 @@ #include "lib/compress/compress.h" #include "lib/evloop/compat_libevent.h" #include "lib/crypt_ops/crypto_init.h" +#include "lib/version/torversion.h" +#include "app/main/subsysmgr.h" #include <stdio.h> #ifdef HAVE_FCNTL_H @@ -230,12 +232,12 @@ void tinytest_prefork(void) { free_pregenerated_keys(); - crypto_prefork(); + subsystems_prefork(); } void tinytest_postfork(void) { - crypto_postfork(); + subsystems_postfork(); init_pregenerated_keys(); } @@ -250,24 +252,15 @@ main(int c, const char **v) int loglevel = LOG_ERR; int accel_crypto = 0; - /* We must initialise logs before we call tor_assert() */ - init_logging(1); + subsystems_init_upto(SUBSYS_LEVEL_LIBS); - update_approx_time(time(NULL)); options = options_new(); - tor_threads_init(); - tor_compress_init(); - - network_init(); - - monotime_init(); struct tor_libevent_cfg cfg; memset(&cfg, 0, sizeof(cfg)); tor_libevent_initialize(&cfg); control_initialize_event_queue(); - configure_backtrace_handler(get_version()); for (i_out = i = 1; i < c; ++i) { if (!strcmp(v[i], "--warn")) { @@ -294,6 +287,7 @@ main(int c, const char **v) s.masks[LOG_WARN-LOG_ERR] |= LD_BUG; add_stream_log(&s, "", fileno(stdout)); } + flush_log_messages_from_startup(); init_protocol_warning_severity_level(); options->command = CMD_RUN_UNITTESTS; @@ -334,8 +328,6 @@ main(int c, const char **v) free_pregenerated_keys(); - crypto_global_cleanup(); - if (have_failed) return 1; else diff --git a/src/tools/include.am b/src/tools/include.am index 73ec86935f..72dfe6017c 100644 --- a/src/tools/include.am +++ b/src/tools/include.am @@ -5,9 +5,11 @@ noinst_PROGRAMS+= src/tools/tor-cov-resolve endif src_tools_tor_resolve_SOURCES = src/tools/tor-resolve.c -src_tools_tor_resolve_LDFLAGS = +src_tools_tor_resolve_LDFLAGS = @TOR_LDFLAGS_openssl@ src_tools_tor_resolve_LDADD = \ + src/trunnel/libor-trunnel.a \ $(TOR_UTIL_LIBS) \ + $(TOR_CRYPTO_LIBS) $(TOR_LIBS_CRYPTLIB)\ $(rust_ldadd) \ @TOR_LIB_MATH@ @TOR_LIB_WS32@ @TOR_LIB_IPHLPAPI@ @TOR_LIB_USERENV@ @@ -15,8 +17,11 @@ if COVERAGE_ENABLED src_tools_tor_cov_resolve_SOURCES = src/tools/tor-resolve.c src_tools_tor_cov_resolve_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_CPPFLAGS) src_tools_tor_cov_resolve_CFLAGS = $(AM_CFLAGS) $(TEST_CFLAGS) +src_tools_tor_cov_resolve_LDFLAGS = @TOR_LDFLAGS_openssl@ src_tools_tor_cov_resolve_LDADD = \ + src/trunnel/libor-trunnel.a \ $(TOR_UTIL_TESTING_LIBS) \ + $(TOR_CRYPTO_TESTING_LIBS) $(TOR_LIBS_CRYPTLIB) \ @TOR_LIB_MATH@ @TOR_LIB_WS32@ endif @@ -41,7 +46,7 @@ src_tools_tor_print_ed_signing_cert_LDADD = \ $(TOR_CRYPTO_LIBS) \ $(TOR_UTIL_LIBS) \ @TOR_LIB_MATH@ $(TOR_LIBS_CRYPTLIB) \ - @TOR_LIB_WS32@ @TOR_LIB_USERENV@ + @TOR_LIB_WS32@ @TOR_LIB_USERENV@ @TOR_LIB_GDI@ if USE_NSS # ... diff --git a/src/tools/tor-resolve.c b/src/tools/tor-resolve.c index 95411d173d..803ed26b3b 100644 --- a/src/tools/tor-resolve.c +++ b/src/tools/tor-resolve.c @@ -15,6 +15,7 @@ #include "lib/string/util_string.h" #include "lib/net/socks5_status.h" +#include "trunnel/socks5.h" #include <stdio.h> #include <stdlib.h> @@ -49,68 +50,204 @@ static void usage(void) ATTR_NORETURN; +/** + * Set <b>out</b> to a pointer to newly allocated buffer containing + * SOCKS4a RESOLVE request with <b>username</b> and <b>hostname</b>. + * Return number of bytes in the buffer if succeeded or -1 if failed. + */ +static ssize_t +build_socks4a_resolve_request(uint8_t **out, + const char *username, + const char *hostname) +{ + tor_assert(out); + tor_assert(username); + tor_assert(hostname); + + const char *errmsg = NULL; + uint8_t *output = NULL; + socks4_client_request_t *rq = socks4_client_request_new(); + + socks4_client_request_set_version(rq, 4); + socks4_client_request_set_command(rq, CMD_RESOLVE); + socks4_client_request_set_port(rq, 0); + socks4_client_request_set_addr(rq, 0x00000001u); + socks4_client_request_set_username(rq, username); + socks4_client_request_set_socks4a_addr_hostname(rq, hostname); + + errmsg = socks4_client_request_check(rq); + if (errmsg) { + goto cleanup; + } + + ssize_t encoded_len = socks4_client_request_encoded_len(rq); + if (encoded_len <= 0) { + errmsg = "socks4_client_request_encoded_len failed"; + goto cleanup; + } + + output = tor_malloc(encoded_len); + memset(output, 0, encoded_len); + + encoded_len = socks4_client_request_encode(output, encoded_len, rq); + if (encoded_len <= 0) { + errmsg = "socks4_client_request_encode failed"; + goto cleanup; + } + + *out = output; + + cleanup: + socks4_client_request_free(rq); + if (errmsg) { + log_err(LD_NET, "build_socks4a_resolve_request failed: %s", errmsg); + *out = NULL; + tor_free(output); + } + return errmsg ? -1 : encoded_len; +} + +#define SOCKS5_ATYPE_HOSTNAME 0x03 +#define SOCKS5_ATYPE_IPV4 0x01 +#define SOCKS5_ATYPE_IPV6 0x04 + +/** + * Set <b>out</b> to pointer to newly allocated buffer containing + * SOCKS5 RESOLVE/RESOLVE_PTR request with given <b>hostname<b>. + * Generate a reverse request if <b>reverse</b> is true. + * Return the number of bytes in the buffer if succeeded or -1 if failed. + */ +static ssize_t +build_socks5_resolve_request(uint8_t **out, + const char *hostname, + int reverse) +{ + const char *errmsg = NULL; + uint8_t *outbuf = NULL; + int is_ip_address; + tor_addr_t addr; + size_t addrlen; + int ipv6; + is_ip_address = tor_addr_parse(&addr, hostname) != -1; + if (!is_ip_address && reverse) { + log_err(LD_GENERAL, "Tried to do a reverse lookup on a non-IP!"); + return -1; + } + ipv6 = reverse && tor_addr_family(&addr) == AF_INET6; + addrlen = reverse ? (ipv6 ? 16 : 4) : 1 + strlen(hostname); + if (addrlen > UINT8_MAX) { + log_err(LD_GENERAL, "Hostname is too long!"); + return -1; + } + + socks5_client_request_t *rq = socks5_client_request_new(); + + socks5_client_request_set_version(rq, 5); + /* RESOLVE_PTR or RESOLVE */ + socks5_client_request_set_command(rq, reverse ? CMD_RESOLVE_PTR : + CMD_RESOLVE); + socks5_client_request_set_reserved(rq, 0); + + uint8_t atype = SOCKS5_ATYPE_HOSTNAME; + if (reverse) + atype = ipv6 ? SOCKS5_ATYPE_IPV6 : SOCKS5_ATYPE_IPV4; + + socks5_client_request_set_atype(rq, atype); + + switch (atype) { + case SOCKS5_ATYPE_IPV4: { + socks5_client_request_set_dest_addr_ipv4(rq, + tor_addr_to_ipv4h(&addr)); + } break; + case SOCKS5_ATYPE_IPV6: { + uint8_t *ipv6_array = + socks5_client_request_getarray_dest_addr_ipv6(rq); + + tor_assert(ipv6_array); + + memcpy(ipv6_array, tor_addr_to_in6_addr8(&addr), 16); + } break; + + case SOCKS5_ATYPE_HOSTNAME: { + domainname_t *dn = domainname_new(); + domainname_set_len(dn, addrlen - 1); + domainname_setlen_name(dn, addrlen - 1); + char *dn_buf = domainname_getarray_name(dn); + memcpy(dn_buf, hostname, addrlen - 1); + + errmsg = domainname_check(dn); + + if (errmsg) { + domainname_free(dn); + goto cleanup; + } else { + socks5_client_request_set_dest_addr_domainname(rq, dn); + } + } break; + default: + tor_assert_unreached(); + break; + } + + socks5_client_request_set_dest_port(rq, 0); + + errmsg = socks5_client_request_check(rq); + if (errmsg) { + goto cleanup; + } + + ssize_t encoded_len = socks5_client_request_encoded_len(rq); + if (encoded_len < 0) { + errmsg = "Cannot predict encoded length"; + goto cleanup; + } + + outbuf = tor_malloc(encoded_len); + memset(outbuf, 0, encoded_len); + + encoded_len = socks5_client_request_encode(outbuf, encoded_len, rq); + if (encoded_len < 0) { + errmsg = "encoding failed"; + goto cleanup; + } + + *out = outbuf; + + cleanup: + socks5_client_request_free(rq); + if (errmsg) { + tor_free(outbuf); + log_err(LD_NET, "build_socks5_resolve_request failed with error: %s", + errmsg); + } + + return errmsg ? -1 : encoded_len; +} + /** Set *<b>out</b> to a newly allocated SOCKS4a resolve request with * <b>username</b> and <b>hostname</b> as provided. Return the number * of bytes in the request. */ static ssize_t -build_socks_resolve_request(char **out, +build_socks_resolve_request(uint8_t **out, const char *username, const char *hostname, int reverse, int version) { - size_t len = 0; tor_assert(out); tor_assert(username); tor_assert(hostname); + tor_assert(version == 4 || version == 5); + if (version == 4) { - len = 8 + strlen(username) + 1 + strlen(hostname) + 1; - *out = tor_malloc(len); - (*out)[0] = 4; /* SOCKS version 4 */ - (*out)[1] = '\xF0'; /* Command: resolve. */ - set_uint16((*out)+2, htons(0)); /* port: 0. */ - set_uint32((*out)+4, htonl(0x00000001u)); /* addr: 0.0.0.1 */ - memcpy((*out)+8, username, strlen(username)+1); - memcpy((*out)+8+strlen(username)+1, hostname, strlen(hostname)+1); + return build_socks4a_resolve_request(out, username, hostname); } else if (version == 5) { - int is_ip_address; - tor_addr_t addr; - size_t addrlen; - int ipv6; - is_ip_address = tor_addr_parse(&addr, hostname) != -1; - if (!is_ip_address && reverse) { - log_err(LD_GENERAL, "Tried to do a reverse lookup on a non-IP!"); - return -1; - } - ipv6 = reverse && tor_addr_family(&addr) == AF_INET6; - addrlen = reverse ? (ipv6 ? 16 : 4) : 1 + strlen(hostname); - if (addrlen > UINT8_MAX) { - log_err(LD_GENERAL, "Hostname is too long!"); - return -1; - } - len = 6 + addrlen; - *out = tor_malloc(len); - (*out)[0] = 5; /* SOCKS version 5 */ - (*out)[1] = reverse ? '\xF1' : '\xF0'; /* RESOLVE_PTR or RESOLVE */ - (*out)[2] = 0; /* reserved. */ - if (reverse) { - (*out)[3] = ipv6 ? 4 : 1; - if (ipv6) - memcpy((*out)+4, tor_addr_to_in6_addr8(&addr), 16); - else - set_uint32((*out)+4, tor_addr_to_ipv4n(&addr)); - } else { - (*out)[3] = 3; - (*out)[4] = (char)(uint8_t)(addrlen - 1); - memcpy((*out)+5, hostname, addrlen - 1); - } - set_uint16((*out)+4+addrlen, 0); /* port */ - } else { - tor_assert(0); + return build_socks5_resolve_request(out, hostname, reverse); } - return len; + tor_assert_unreached(); + return -1; } static void @@ -134,34 +271,50 @@ parse_socks4a_resolve_response(const char *hostname, const char *response, size_t len, tor_addr_t *addr_out) { + int result = 0; uint8_t status; tor_assert(response); tor_assert(addr_out); - if (len < RESPONSE_LEN_4) { + socks4_server_reply_t *reply; + + ssize_t parsed = socks4_server_reply_parse(&reply, + (const uint8_t *)response, + len); + + if (parsed == -1) { + log_warn(LD_PROTOCOL, "Failed parsing SOCKS4a response"); + result = -1; goto cleanup; + } + + if (parsed == -2) { log_warn(LD_PROTOCOL,"Truncated socks response."); - return -1; + result = -1; goto cleanup; } - if (((uint8_t)response[0])!=0) { /* version: 0 */ + + if (socks4_server_reply_get_version(reply) != 0) { /* version: 0 */ log_warn(LD_PROTOCOL,"Nonzero version in socks response: bad format."); - return -1; + result = -1; goto cleanup; } - status = (uint8_t)response[1]; - if (get_uint16(response+2)!=0) { /* port: 0 */ + if (socks4_server_reply_get_port(reply) != 0) { /* port: 0 */ log_warn(LD_PROTOCOL,"Nonzero port in socks response: bad format."); - return -1; + result = -1; goto cleanup; } + status = socks4_server_reply_get_status(reply); if (status != 90) { log_warn(LD_NET,"Got status response '%d': socks request failed.", status); if (!strcasecmpend(hostname, ".onion")) { onion_warning(hostname); - return -1; + result = -1; goto cleanup; } - return -1; + result = -1; goto cleanup; } - tor_addr_from_ipv4n(addr_out, get_uint32(response+4)); - return 0; + tor_addr_from_ipv4h(addr_out, socks4_server_reply_get_addr(reply)); + + cleanup: + socks4_server_reply_free(reply); + return result; } /* It would be nice to let someone know what SOCKS5 issue a user may have */ @@ -205,7 +358,7 @@ do_resolve(const char *hostname, int s = -1; struct sockaddr_storage ss; socklen_t socklen; - char *req = NULL; + uint8_t *req = NULL; ssize_t len = 0; tor_assert(hostname); @@ -230,23 +383,57 @@ do_resolve(const char *hostname, } if (version == 5) { - char method_buf[2]; - if (write_all_to_socket(s, "\x05\x01\x00", 3) != 3) { + socks5_client_version_t *v = socks5_client_version_new(); + + socks5_client_version_set_version(v, 5); + socks5_client_version_set_n_methods(v, 1); + socks5_client_version_setlen_methods(v, 1); + socks5_client_version_set_methods(v, 0, 0x00); + + tor_assert(!socks5_client_version_check(v)); + ssize_t encoded_len = socks5_client_version_encoded_len(v); + tor_assert(encoded_len > 0); + + uint8_t *buf = tor_malloc(encoded_len); + encoded_len = socks5_client_version_encode(buf, encoded_len, v); + tor_assert(encoded_len > 0); + + socks5_client_version_free(v); + + if (write_all_to_socket(s, (const char *)buf, + encoded_len) != encoded_len) { log_err(LD_NET, "Error sending SOCKS5 method list."); + tor_free(buf); + goto err; } - if (read_all_from_socket(s, method_buf, 2) != 2) { + + tor_free(buf); + + uint8_t method_buf[2]; + + if (read_all_from_socket(s, (char *)method_buf, 2) != 2) { log_err(LD_NET, "Error reading SOCKS5 methods."); goto err; } - if (method_buf[0] != '\x05') { - log_err(LD_NET, "Unrecognized socks version: %u", - (unsigned)method_buf[0]); + + socks5_server_method_t *m; + ssize_t parsed = socks5_server_method_parse(&m, method_buf, + sizeof(method_buf)); + + if (parsed < 2) { + log_err(LD_NET, "Failed to parse SOCKS5 method selection " + "message"); goto err; } - if (method_buf[1] != '\x00') { + + uint8_t method = socks5_server_method_get_method(m); + + socks5_server_method_free(m); + + if (method != 0x00) { log_err(LD_NET, "Unrecognized socks authentication method: %u", - (unsigned)method_buf[1]); + (unsigned)method); goto err; } } @@ -257,7 +444,7 @@ do_resolve(const char *hostname, tor_assert(!req); goto err; } - if (write_all_to_socket(s, req, len) != len) { + if (write_all_to_socket(s, (const char *)req, len) != len) { log_sock_error("sending SOCKS request", s); tor_free(req); goto err; @@ -276,55 +463,59 @@ do_resolve(const char *hostname, goto err; } } else { - char reply_buf[16]; - if (read_all_from_socket(s, reply_buf, 4) != 4) { - log_err(LD_NET, "Error reading SOCKS5 response."); + uint8_t reply_buf[512]; + + len = read_all_from_socket(s, (char *)reply_buf, + sizeof(reply_buf)); + + socks5_server_reply_t *reply; + + ssize_t parsed = socks5_server_reply_parse(&reply, + reply_buf, + len); + if (parsed == -1) { + log_err(LD_NET, "Failed parsing SOCKS5 response"); goto err; } - if (reply_buf[0] != 5) { - log_err(LD_NET, "Bad SOCKS5 reply version."); + + if (parsed == -2) { + log_err(LD_NET, "Truncated SOCKS5 response"); goto err; } + /* Give a user some useful feedback about SOCKS5 errors */ - if (reply_buf[1] != 0) { + uint8_t reply_field = socks5_server_reply_get_reply(reply); + if (reply_field != 0) { log_warn(LD_NET,"Got SOCKS5 status response '%u': %s", - (unsigned)reply_buf[1], - socks5_reason_to_string(reply_buf[1])); - if (reply_buf[1] == 4 && !strcasecmpend(hostname, ".onion")) { + (unsigned)reply_field, + socks5_reason_to_string(reply_field)); + if (reply_field == 4 && !strcasecmpend(hostname, ".onion")) { onion_warning(hostname); } + + socks5_server_reply_free(reply); goto err; } - if (reply_buf[3] == 1) { + + uint8_t atype = socks5_server_reply_get_atype(reply); + + if (atype == SOCKS5_ATYPE_IPV4) { /* IPv4 address */ - if (read_all_from_socket(s, reply_buf, 4) != 4) { - log_err(LD_NET, "Error reading address in socks5 response."); - goto err; - } - tor_addr_from_ipv4n(result_addr, get_uint32(reply_buf)); - } else if (reply_buf[3] == 4) { + tor_addr_from_ipv4h(result_addr, + socks5_server_reply_get_bind_addr_ipv4(reply)); + } else if (atype == SOCKS5_ATYPE_IPV6) { /* IPv6 address */ - if (read_all_from_socket(s, reply_buf, 16) != 16) { - log_err(LD_NET, "Error reading address in socks5 response."); - goto err; - } - tor_addr_from_ipv6_bytes(result_addr, reply_buf); - } else if (reply_buf[3] == 3) { + tor_addr_from_ipv6_bytes(result_addr, + (const char *)socks5_server_reply_getarray_bind_addr_ipv6(reply)); + } else if (atype == SOCKS5_ATYPE_HOSTNAME) { /* Domain name */ - size_t result_len; - if (read_all_from_socket(s, reply_buf, 1) != 1) { - log_err(LD_NET, "Error reading address_length in socks5 response."); - goto err; - } - result_len = *(uint8_t*)(reply_buf); - *result_hostname = tor_malloc(result_len+1); - if (read_all_from_socket(s, *result_hostname, result_len) - != (int) result_len) { - log_err(LD_NET, "Error reading hostname in socks5 response."); - goto err; - } - (*result_hostname)[result_len] = '\0'; + domainname_t *dn = + socks5_server_reply_get_bind_addr_domainname(reply); + + *result_hostname = tor_strdup(domainname_getstr_name(dn)); } + + socks5_server_reply_free(reply); } tor_close_socket(s); diff --git a/src/tools/tor_runner.c b/src/tools/tor_runner.c index b07b72a095..d962e5abc7 100644 --- a/src/tools/tor_runner.c +++ b/src/tools/tor_runner.c @@ -86,6 +86,7 @@ tor_run_main(const tor_main_configuration_t *cfg) /* circumlocution to avoid getting warned about calling calloc instead of * tor_calloc. */ #define real_calloc calloc +#define real_free free static void child(const tor_main_configuration_t *cfg) @@ -103,6 +104,7 @@ child(const tor_main_configuration_t *cfg) int rv = execv(BINDIR "/tor", args); if (rv < 0) { + real_free(args); exit(254); } else { abort(); /* Unreachable */ diff --git a/src/trunnel/socks5.c b/src/trunnel/socks5.c index 9e5f6fcfed..057a52b042 100644 --- a/src/trunnel/socks5.c +++ b/src/trunnel/socks5.c @@ -1694,7 +1694,6 @@ socks4_server_reply_new(void) socks4_server_reply_t *val = trunnel_calloc(1, sizeof(socks4_server_reply_t)); if (NULL == val) return NULL; - val->version = 4; return val; } @@ -1724,7 +1723,7 @@ socks4_server_reply_get_version(const socks4_server_reply_t *inp) int socks4_server_reply_set_version(socks4_server_reply_t *inp, uint8_t val) { - if (! ((val == 4))) { + if (! ((val == 0 || val == 4))) { TRUNNEL_SET_ERROR_CODE(inp); return -1; } @@ -1771,7 +1770,7 @@ socks4_server_reply_check(const socks4_server_reply_t *obj) return "Object was NULL"; if (obj->trunnel_error_code_) return "A set function failed on this object"; - if (! (obj->version == 4)) + if (! (obj->version == 0 || obj->version == 4)) return "Integer out of bounds"; return NULL; } @@ -1785,7 +1784,7 @@ socks4_server_reply_encoded_len(const socks4_server_reply_t *obj) return -1; - /* Length of u8 version IN [4] */ + /* Length of u8 version IN [0, 4] */ result += 1; /* Length of u8 status */ @@ -1823,7 +1822,7 @@ socks4_server_reply_encode(uint8_t *output, const size_t avail, const socks4_ser trunnel_assert(encoded_len >= 0); #endif - /* Encode u8 version IN [4] */ + /* Encode u8 version IN [0, 4] */ trunnel_assert(written <= avail); if (avail - written < 1) goto truncated; @@ -1886,11 +1885,11 @@ socks4_server_reply_parse_into(socks4_server_reply_t *obj, const uint8_t *input, ssize_t result = 0; (void)result; - /* Parse u8 version IN [4] */ + /* Parse u8 version IN [0, 4] */ CHECK_REMAINING(1, truncated); obj->version = (trunnel_get_uint8(ptr)); remaining -= 1; ptr += 1; - if (! (obj->version == 4)) + if (! (obj->version == 0 || obj->version == 4)) goto fail; /* Parse u8 status */ diff --git a/src/trunnel/socks5.trunnel b/src/trunnel/socks5.trunnel index b86ec03b9d..17fa2ed996 100644 --- a/src/trunnel/socks5.trunnel +++ b/src/trunnel/socks5.trunnel @@ -86,7 +86,7 @@ struct socks4_client_request { } struct socks4_server_reply { - u8 version IN [4]; + u8 version IN [0,4]; u8 status; u16 port; u32 addr; diff --git a/src/win32/orconfig.h b/src/win32/orconfig.h index de3bf09282..cfc3bc9e9e 100644 --- a/src/win32/orconfig.h +++ b/src/win32/orconfig.h @@ -218,7 +218,7 @@ #define USING_TWOS_COMPLEMENT /* Version number of package */ -#define VERSION "0.3.6.0-alpha-dev" +#define VERSION "0.4.0.0-alpha-dev" |